Files
presentations.kfitz.info/.obsidian/plugins/vscode-editor/main.js
Kathleen Fitzpatrick 0f57f997be first commit
2024-04-15 08:53:29 -04:00

1369 lines
5.4 MiB
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf;var __hasOwnProp=Object.prototype.hasOwnProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:true,configurable:true,writable:true,value:value}):obj[key]=value;var __esm=(fn,res)=>function __init(){return fn&&(res=(0,fn[__getOwnPropNames(fn)[0]])(fn=0)),res};var __commonJS=(cb,mod)=>function __require2(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:true})};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames(from))if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable})}return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:true}):target,mod));var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:true}),mod);var __publicField=(obj,key,value)=>{__defNormalProp(obj,typeof key!=="symbol"?key+"":key,value);return value};function tail(array2,n=0){return array2[array2.length-(1+n)]}function tail2(arr){if(arr.length===0){throw new Error("Invalid tail call")}return[arr.slice(0,arr.length-1),arr[arr.length-1]]}function equals(one,other,itemEquals=((a,b)=>a===b)){if(one===other){return true}if(!one||!other){return false}if(one.length!==other.length){return false}for(let i=0,len=one.length;i<len;i++){if(!itemEquals(one[i],other[i])){return false}}return true}function removeFastWithoutKeepingOrder(array2,index){const last=array2.length-1;if(index<last){array2[index]=array2[last]}array2.pop()}function binarySearch(array2,key,comparator){return binarySearch2(array2.length,(i=>comparator(array2[i],key)))}function binarySearch2(length2,compareToKey){let low=0,high=length2-1;while(low<=high){const mid=(low+high)/2|0;const comp=compareToKey(mid);if(comp<0){low=mid+1}else if(comp>0){high=mid-1}else{return mid}}return-(low+1)}function findFirstInSorted(array2,p){let low=0,high=array2.length;if(high===0){return 0}while(low<high){const mid=Math.floor((low+high)/2);if(p(array2[mid])){high=mid}else{low=mid+1}}return low}function quickSelect(nth,data,compare2){nth=nth|0;if(nth>=data.length){throw new TypeError("invalid index")}const pivotValue=data[Math.floor(data.length*Math.random())];const lower=[];const higher=[];const pivots=[];for(const value of data){const val=compare2(value,pivotValue);if(val<0){lower.push(value)}else if(val>0){higher.push(value)}else{pivots.push(value)}}if(nth<lower.length){return quickSelect(nth,lower,compare2)}else if(nth<lower.length+pivots.length){return pivots[0]}else{return quickSelect(nth-(lower.length+pivots.length),higher,compare2)}}function groupBy(data,compare2){const result=[];let currentGroup=void 0;for(const element of data.slice(0).sort(compare2)){if(!currentGroup||compare2(currentGroup[0],element)!==0){currentGroup=[element];result.push(currentGroup)}else{currentGroup.push(element)}}return result}function coalesce(array2){return array2.filter((e=>!!e))}function coalesceInPlace(array2){let to=0;for(let i=0;i<array2.length;i++){if(!!array2[i]){array2[to]=array2[i];to+=1}}array2.length=to}function isFalsyOrEmpty(obj){return!Array.isArray(obj)||obj.length===0}function isNonEmptyArray(obj){return Array.isArray(obj)&&obj.length>0}function distinct(array2,keyFn=(value=>value)){const seen=new Set;return array2.filter((element=>{const key=keyFn(element);if(seen.has(key)){return false}seen.add(key);return true}))}function findLast(arr,predicate){const idx=findLastIndex(arr,predicate);if(idx===-1){return void 0}return arr[idx]}function findLastIndex(array2,fn){for(let i=array2.length-1;i>=0;i--){const element=array2[i];if(fn(element)){return i}}return-1}function firstOrDefault(array2,notFoundValue){return array2.length>0?array2[0]:notFoundValue}function range(arg,to){let from=typeof to==="number"?arg:0;if(typeof to==="number"){from=arg}else{from=0;to=arg}const result=[];if(from<=to){for(let i=from;i<to;i++){result.push(i)}}else{for(let i=from;i>to;i--){result.push(i)}}return result}function arrayInsert(target,insertIndex,insertArr){const before=target.slice(0,insertIndex);const after=target.slice(insertIndex);return before.concat(insertArr,after)}function pushToStart(arr,value){const index=arr.indexOf(value);if(index>-1){arr.splice(index,1);arr.unshift(value)}}function pushToEnd(arr,value){const index=arr.indexOf(value);if(index>-1){arr.splice(index,1);arr.push(value)}}function pushMany(arr,items){for(const item of items){arr.push(item)}}function asArray(x){return Array.isArray(x)?x:[x]}function mapFind(array2,mapFn){for(const value of array2){const mapped=mapFn(value);if(mapped!==void 0){return mapped}}return void 0}function insertInto(array2,start,newItems){const startIdx=getActualStartIndex(array2,start);const originalLength=array2.length;const newItemsLength=newItems.length;array2.length=originalLength+newItemsLength;for(let i=originalLength-1;i>=startIdx;i--){array2[i+newItemsLength]=array2[i]}for(let i=0;i<newItemsLength;i++){array2[i+startIdx]=newItems[i]}}function splice(array2,start,deleteCount,newItems){const index=getActualStartIndex(array2,start);const result=array2.splice(index,deleteCount);insertInto(array2,index,newItems);return result}function getActualStartIndex(array2,start){return start<0?Math.max(start+array2.length,0):Math.min(start,array2.length)}function compareBy(selector,comparator){return(a,b)=>comparator(selector(a),selector(b))}function tieBreakComparators(...comparators){return(item1,item2)=>{for(const comparator of comparators){const result=comparator(item1,item2);if(!CompareResult.isNeitherLessOrGreaterThan(result)){return result}}return CompareResult.neitherLessOrGreaterThan}}function reverseOrder(comparator){return(a,b)=>-comparator(a,b)}function findMaxBy(items,comparator){if(items.length===0){return void 0}let max=items[0];for(let i=1;i<items.length;i++){const item=items[i];if(comparator(item,max)>0){max=item}}return max}function findLastMaxBy(items,comparator){if(items.length===0){return void 0}let max=items[0];for(let i=1;i<items.length;i++){const item=items[i];if(comparator(item,max)>=0){max=item}}return max}function findMinBy(items,comparator){return findMaxBy(items,((a,b)=>-comparator(a,b)))}function findMaxIdxBy(items,comparator){if(items.length===0){return-1}let maxIdx=0;for(let i=1;i<items.length;i++){const item=items[i];if(comparator(item,items[maxIdx])>0){maxIdx=i}}return maxIdx}var CompareResult,numberComparator,booleanComparator,ArrayQueue,CallbackIterable;var init_arrays=__esm({"node_modules/monaco-editor/esm/vs/base/common/arrays.js"(){(function(CompareResult2){function isLessThan(result){return result<0}CompareResult2.isLessThan=isLessThan;function isLessThanOrEqual(result){return result<=0}CompareResult2.isLessThanOrEqual=isLessThanOrEqual;function isGreaterThan(result){return result>0}CompareResult2.isGreaterThan=isGreaterThan;function isNeitherLessOrGreaterThan(result){return result===0}CompareResult2.isNeitherLessOrGreaterThan=isNeitherLessOrGreaterThan;CompareResult2.greaterThan=1;CompareResult2.lessThan=-1;CompareResult2.neitherLessOrGreaterThan=0})(CompareResult||(CompareResult={}));numberComparator=(a,b)=>a-b;booleanComparator=(a,b)=>numberComparator(a?1:0,b?1:0);ArrayQueue=class{constructor(items){this.items=items;this.firstIdx=0;this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(predicate){let startIdx=this.firstIdx;while(startIdx<this.items.length&&predicate(this.items[startIdx])){startIdx++}const result=startIdx===this.firstIdx?null:this.items.slice(this.firstIdx,startIdx);this.firstIdx=startIdx;return result}takeFromEndWhile(predicate){let endIdx=this.lastIdx;while(endIdx>=0&&predicate(this.items[endIdx])){endIdx--}const result=endIdx===this.lastIdx?null:this.items.slice(endIdx+1,this.lastIdx+1);this.lastIdx=endIdx;return result}peek(){if(this.length===0){return void 0}return this.items[this.firstIdx]}dequeue(){const result=this.items[this.firstIdx];this.firstIdx++;return result}takeCount(count){const result=this.items.slice(this.firstIdx,this.firstIdx+count);this.firstIdx+=count;return result}};CallbackIterable=class{constructor(iterate){this.iterate=iterate}toArray(){const result=[];this.iterate((item=>{result.push(item);return true}));return result}filter(predicate){return new CallbackIterable((cb=>this.iterate((item=>predicate(item)?cb(item):true))))}map(mapFn){return new CallbackIterable((cb=>this.iterate((item=>cb(mapFn(item))))))}findLast(predicate){let result;this.iterate((item=>{if(predicate(item)){result=item}return true}));return result}findLastMaxBy(comparator){let result;let first2=true;this.iterate((item=>{if(first2||CompareResult.isGreaterThan(comparator(item,result))){first2=false;result=item}return true}));return result}};CallbackIterable.empty=new CallbackIterable((_callback=>{}))}});function isString(str){return typeof str==="string"}function isObject(obj){return typeof obj==="object"&&obj!==null&&!Array.isArray(obj)&&!(obj instanceof RegExp)&&!(obj instanceof Date)}function isTypedArray(obj){const TypedArray=Object.getPrototypeOf(Uint8Array);return typeof obj==="object"&&obj instanceof TypedArray}function isNumber(obj){return typeof obj==="number"&&!isNaN(obj)}function isIterable(obj){return!!obj&&typeof obj[Symbol.iterator]==="function"}function isBoolean(obj){return obj===true||obj===false}function isUndefined(obj){return typeof obj==="undefined"}function isDefined(arg){return!isUndefinedOrNull(arg)}function isUndefinedOrNull(obj){return isUndefined(obj)||obj===null}function assertType(condition,type){if(!condition){throw new Error(type?`Unexpected type, expected '${type}'`:"Unexpected type")}}function assertIsDefined(arg){if(isUndefinedOrNull(arg)){throw new Error("Assertion Failed: argument is undefined or null")}return arg}function isFunction(obj){return typeof obj==="function"}function validateConstraints(args,constraints){const len=Math.min(args.length,constraints.length);for(let i=0;i<len;i++){validateConstraint(args[i],constraints[i])}}function validateConstraint(arg,constraint){if(isString(constraint)){if(typeof arg!==constraint){throw new Error(`argument does not match constraint: typeof ${constraint}`)}}else if(isFunction(constraint)){try{if(arg instanceof constraint){return}}catch(_a6){}if(!isUndefinedOrNull(arg)&&arg.constructor===constraint){return}if(constraint.length===1&&constraint.call(void 0,arg)===true){return}throw new Error(`argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true`)}}var init_types=__esm({"node_modules/monaco-editor/esm/vs/base/common/types.js"(){}});function deepClone(obj){if(!obj||typeof obj!=="object"){return obj}if(obj instanceof RegExp){return obj}const result=Array.isArray(obj)?[]:{};Object.entries(obj).forEach((([key,value])=>{result[key]=value&&typeof value==="object"?deepClone(value):value}));return result}function deepFreeze(obj){if(!obj||typeof obj!=="object"){return obj}const stack=[obj];while(stack.length>0){const obj2=stack.shift();Object.freeze(obj2);for(const key in obj2){if(_hasOwnProperty.call(obj2,key)){const prop=obj2[key];if(typeof prop==="object"&&!Object.isFrozen(prop)&&!isTypedArray(prop)){stack.push(prop)}}}}return obj}function cloneAndChange(obj,changer){return _cloneAndChange(obj,changer,new Set)}function _cloneAndChange(obj,changer,seen){if(isUndefinedOrNull(obj)){return obj}const changed=changer(obj);if(typeof changed!=="undefined"){return changed}if(Array.isArray(obj)){const r1=[];for(const e of obj){r1.push(_cloneAndChange(e,changer,seen))}return r1}if(isObject(obj)){if(seen.has(obj)){throw new Error("Cannot clone recursive data-structure")}seen.add(obj);const r2={};for(const i2 in obj){if(_hasOwnProperty.call(obj,i2)){r2[i2]=_cloneAndChange(obj[i2],changer,seen)}}seen.delete(obj);return r2}return obj}function mixin(destination,source,overwrite=true){if(!isObject(destination)){return source}if(isObject(source)){Object.keys(source).forEach((key=>{if(key in destination){if(overwrite){if(isObject(destination[key])&&isObject(source[key])){mixin(destination[key],source[key],overwrite)}else{destination[key]=source[key]}}}else{destination[key]=source[key]}}))}return destination}function equals2(one,other){if(one===other){return true}if(one===null||one===void 0||other===null||other===void 0){return false}if(typeof one!==typeof other){return false}if(typeof one!=="object"){return false}if(Array.isArray(one)!==Array.isArray(other)){return false}let i;let key;if(Array.isArray(one)){if(one.length!==other.length){return false}for(i=0;i<one.length;i++){if(!equals2(one[i],other[i])){return false}}}else{const oneKeys=[];for(key in one){oneKeys.push(key)}oneKeys.sort();const otherKeys=[];for(key in other){otherKeys.push(key)}otherKeys.sort();if(!equals2(oneKeys,otherKeys)){return false}for(i=0;i<oneKeys.length;i++){if(!equals2(one[oneKeys[i]],other[oneKeys[i]])){return false}}}return true}function getAllPropertyNames(obj){let res=[];while(Object.prototype!==obj){res=res.concat(Object.getOwnPropertyNames(obj));obj=Object.getPrototypeOf(obj)}return res}function getAllMethodNames(obj){const methods=[];for(const prop of getAllPropertyNames(obj)){if(typeof obj[prop]==="function"){methods.push(prop)}}return methods}function createProxyObject(methodNames,invoke){const createProxyMethod=method=>function(){const args=Array.prototype.slice.call(arguments,0);return invoke(method,args)};const result={};for(const methodName of methodNames){result[methodName]=createProxyMethod(methodName)}return result}var _hasOwnProperty;var init_objects=__esm({"node_modules/monaco-editor/esm/vs/base/common/objects.js"(){init_types();_hasOwnProperty=Object.prototype.hasOwnProperty}});function _format(message,args){let result;if(args.length===0){result=message}else{result=message.replace(/\{(\d+)\}/g,((match2,rest)=>{const index=rest[0];const arg=args[index];let result2=match2;if(typeof arg==="string"){result2=arg}else if(typeof arg==="number"||typeof arg==="boolean"||arg===void 0||arg===null){result2=String(arg)}return result2}))}if(isPseudo){result=""+result.replace(/[aouei]/g,"$&$&")+""}return result}function localize(data,message,...args){return _format(message,args)}function getConfiguredDefaultLocale(_){return void 0}var isPseudo;var init_nls=__esm({"node_modules/monaco-editor/esm/vs/nls.js"(){isPseudo=typeof document!=="undefined"&&document.location&&document.location.hash.indexOf("pseudo=true")>=0}});function isLittleEndian(){if(!_isLittleEndianComputed){_isLittleEndianComputed=true;const test=new Uint8Array(2);test[0]=1;test[1]=2;const view=new Uint16Array(test.buffer);_isLittleEndian=view[0]===(2<<8)+1}return _isLittleEndian}var _a,LANGUAGE_DEFAULT,_isWindows,_isMacintosh,_isLinux,_isLinuxSnap,_isNative,_isWeb,_isElectron,_isIOS,_isCI,_isMobile,_locale,_language,_platformLocale,_translationsConfigFile,_userAgent,globals,nodeProcess,isElectronProcess,isElectronRenderer,_platform,isWindows,isMacintosh,isLinux,isNative,isWeb,isWebWorker,isIOS,isMobile,userAgent,language,setTimeout0IsFaster,setTimeout0,OS,_isLittleEndian,_isLittleEndianComputed,isChrome,isFirefox,isSafari,isEdge,isAndroid;var init_platform=__esm({"node_modules/monaco-editor/esm/vs/base/common/platform.js"(){init_nls();LANGUAGE_DEFAULT="en";_isWindows=false;_isMacintosh=false;_isLinux=false;_isLinuxSnap=false;_isNative=false;_isWeb=false;_isElectron=false;_isIOS=false;_isCI=false;_isMobile=false;_locale=void 0;_language=LANGUAGE_DEFAULT;_platformLocale=LANGUAGE_DEFAULT;_translationsConfigFile=void 0;_userAgent=void 0;globals=typeof self==="object"?self:typeof global==="object"?global:{};nodeProcess=void 0;if(typeof globals.vscode!=="undefined"&&typeof globals.vscode.process!=="undefined"){nodeProcess=globals.vscode.process}else if(typeof process!=="undefined"){nodeProcess=process}isElectronProcess=typeof((_a=nodeProcess===null||nodeProcess===void 0?void 0:nodeProcess.versions)===null||_a===void 0?void 0:_a.electron)==="string";isElectronRenderer=isElectronProcess&&(nodeProcess===null||nodeProcess===void 0?void 0:nodeProcess.type)==="renderer";if(typeof navigator==="object"&&!isElectronRenderer){_userAgent=navigator.userAgent;_isWindows=_userAgent.indexOf("Windows")>=0;_isMacintosh=_userAgent.indexOf("Macintosh")>=0;_isIOS=(_userAgent.indexOf("Macintosh")>=0||_userAgent.indexOf("iPad")>=0||_userAgent.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0;_isLinux=_userAgent.indexOf("Linux")>=0;_isMobile=(_userAgent===null||_userAgent===void 0?void 0:_userAgent.indexOf("Mobi"))>=0;_isWeb=true;const configuredLocale=getConfiguredDefaultLocale(localize({key:"ensureLoaderPluginIsLoaded",comment:["{Locked}"]},"_"));_locale=configuredLocale||LANGUAGE_DEFAULT;_language=_locale;_platformLocale=navigator.language}else if(typeof nodeProcess==="object"){_isWindows=nodeProcess.platform==="win32";_isMacintosh=nodeProcess.platform==="darwin";_isLinux=nodeProcess.platform==="linux";_isLinuxSnap=_isLinux&&!!nodeProcess.env["SNAP"]&&!!nodeProcess.env["SNAP_REVISION"];_isElectron=isElectronProcess;_isCI=!!nodeProcess.env["CI"]||!!nodeProcess.env["BUILD_ARTIFACTSTAGINGDIRECTORY"];_locale=LANGUAGE_DEFAULT;_language=LANGUAGE_DEFAULT;const rawNlsConfig=nodeProcess.env["VSCODE_NLS_CONFIG"];if(rawNlsConfig){try{const nlsConfig=JSON.parse(rawNlsConfig);const resolved=nlsConfig.availableLanguages["*"];_locale=nlsConfig.locale;_platformLocale=nlsConfig.osLocale;_language=resolved?resolved:LANGUAGE_DEFAULT;_translationsConfigFile=nlsConfig._translationsConfigFile}catch(e){}}_isNative=true}else{console.error("Unable to resolve platform.")}_platform=0;if(_isMacintosh){_platform=1}else if(_isWindows){_platform=3}else if(_isLinux){_platform=2}isWindows=_isWindows;isMacintosh=_isMacintosh;isLinux=_isLinux;isNative=_isNative;isWeb=_isWeb;isWebWorker=_isWeb&&typeof globals.importScripts==="function";isIOS=_isIOS;isMobile=_isMobile;userAgent=_userAgent;language=_language;setTimeout0IsFaster=typeof globals.postMessage==="function"&&!globals.importScripts;setTimeout0=(()=>{if(setTimeout0IsFaster){const pending=[];globals.addEventListener("message",(e=>{if(e.data&&e.data.vscodeScheduleAsyncWork){for(let i=0,len=pending.length;i<len;i++){const candidate=pending[i];if(candidate.id===e.data.vscodeScheduleAsyncWork){pending.splice(i,1);candidate.callback();return}}}}));let lastId=0;return callback=>{const myId=++lastId;pending.push({id:myId,callback:callback});globals.postMessage({vscodeScheduleAsyncWork:myId},"*")}}return callback=>setTimeout(callback)})();OS=_isMacintosh||_isIOS?2:_isWindows?1:3;_isLittleEndian=true;_isLittleEndianComputed=false;isChrome=!!(userAgent&&userAgent.indexOf("Chrome")>=0);isFirefox=!!(userAgent&&userAgent.indexOf("Firefox")>=0);isSafari=!!(!isChrome&&(userAgent&&userAgent.indexOf("Safari")>=0));isEdge=!!(userAgent&&userAgent.indexOf("Edg/")>=0);isAndroid=!!(userAgent&&userAgent.indexOf("Android")>=0)}});var EDITOR_MODEL_DEFAULTS;var init_textModelDefaults=__esm({"node_modules/monaco-editor/esm/vs/editor/common/core/textModelDefaults.js"(){EDITOR_MODEL_DEFAULTS={tabSize:4,indentSize:4,insertSpaces:true,detectIndentation:true,trimAutoWhitespace:true,largeFileOptimizations:true,bracketPairColorizationOptions:{enabled:true,independentColorPoolPerBracketType:false}}}});var Iterable;var init_iterator=__esm({"node_modules/monaco-editor/esm/vs/base/common/iterator.js"(){(function(Iterable2){function is(thing){return thing&&typeof thing==="object"&&typeof thing[Symbol.iterator]==="function"}Iterable2.is=is;const _empty2=Object.freeze([]);function empty2(){return _empty2}Iterable2.empty=empty2;function*single(element){yield element}Iterable2.single=single;function wrap(iterableOrElement){if(is(iterableOrElement)){return iterableOrElement}else{return single(iterableOrElement)}}Iterable2.wrap=wrap;function from(iterable){return iterable||_empty2}Iterable2.from=from;function isEmpty(iterable){return!iterable||iterable[Symbol.iterator]().next().done===true}Iterable2.isEmpty=isEmpty;function first2(iterable){return iterable[Symbol.iterator]().next().value}Iterable2.first=first2;function some(iterable,predicate){for(const element of iterable){if(predicate(element)){return true}}return false}Iterable2.some=some;function find(iterable,predicate){for(const element of iterable){if(predicate(element)){return element}}return void 0}Iterable2.find=find;function*filter(iterable,predicate){for(const element of iterable){if(predicate(element)){yield element}}}Iterable2.filter=filter;function*map(iterable,fn){let index=0;for(const element of iterable){yield fn(element,index++)}}Iterable2.map=map;function*concat3(...iterables){for(const iterable of iterables){for(const element of iterable){yield element}}}Iterable2.concat=concat3;function reduce(iterable,reducer,initialValue){let value=initialValue;for(const element of iterable){value=reducer(value,element)}return value}Iterable2.reduce=reduce;function*slice(arr,from2,to=arr.length){if(from2<0){from2+=arr.length}if(to<0){to+=arr.length}else if(to>arr.length){to=arr.length}for(;from2<to;from2++){yield arr[from2]}}Iterable2.slice=slice;function consume(iterable,atMost=Number.POSITIVE_INFINITY){const consumed=[];if(atMost===0){return[consumed,iterable]}const iterator=iterable[Symbol.iterator]();for(let i=0;i<atMost;i++){const next=iterator.next();if(next.done){return[consumed,Iterable2.empty()]}consumed.push(next.value)}return[consumed,{[Symbol.iterator](){return iterator}}]}Iterable2.consume=consume})(Iterable||(Iterable={}))}});var Node2,LinkedList;var init_linkedList=__esm({"node_modules/monaco-editor/esm/vs/base/common/linkedList.js"(){Node2=class{constructor(element){this.element=element;this.next=Node2.Undefined;this.prev=Node2.Undefined}};Node2.Undefined=new Node2(void 0);LinkedList=class{constructor(){this._first=Node2.Undefined;this._last=Node2.Undefined;this._size=0}get size(){return this._size}isEmpty(){return this._first===Node2.Undefined}clear(){let node=this._first;while(node!==Node2.Undefined){const next=node.next;node.prev=Node2.Undefined;node.next=Node2.Undefined;node=next}this._first=Node2.Undefined;this._last=Node2.Undefined;this._size=0}unshift(element){return this._insert(element,false)}push(element){return this._insert(element,true)}_insert(element,atTheEnd){const newNode=new Node2(element);if(this._first===Node2.Undefined){this._first=newNode;this._last=newNode}else if(atTheEnd){const oldLast=this._last;this._last=newNode;newNode.prev=oldLast;oldLast.next=newNode}else{const oldFirst=this._first;this._first=newNode;newNode.next=oldFirst;oldFirst.prev=newNode}this._size+=1;let didRemove=false;return()=>{if(!didRemove){didRemove=true;this._remove(newNode)}}}shift(){if(this._first===Node2.Undefined){return void 0}else{const res=this._first.element;this._remove(this._first);return res}}pop(){if(this._last===Node2.Undefined){return void 0}else{const res=this._last.element;this._remove(this._last);return res}}_remove(node){if(node.prev!==Node2.Undefined&&node.next!==Node2.Undefined){const anchor=node.prev;anchor.next=node.next;node.next.prev=anchor}else if(node.prev===Node2.Undefined&&node.next===Node2.Undefined){this._first=Node2.Undefined;this._last=Node2.Undefined}else if(node.next===Node2.Undefined){this._last=this._last.prev;this._last.next=Node2.Undefined}else if(node.prev===Node2.Undefined){this._first=this._first.next;this._first.prev=Node2.Undefined}this._size-=1}*[Symbol.iterator](){let node=this._first;while(node!==Node2.Undefined){yield node.element;node=node.next}}}}});function createWordRegExp(allowInWords=""){let source="(-?\\d*\\.\\d\\w*)|([^";for(const sep2 of USUAL_WORD_SEPARATORS){if(allowInWords.indexOf(sep2)>=0){continue}source+="\\"+sep2}source+="\\s]+)";return new RegExp(source,"g")}function ensureValidWordDefinition(wordDefinition){let result=DEFAULT_WORD_REGEXP;if(wordDefinition&&wordDefinition instanceof RegExp){if(!wordDefinition.global){let flags="g";if(wordDefinition.ignoreCase){flags+="i"}if(wordDefinition.multiline){flags+="m"}if(wordDefinition.unicode){flags+="u"}result=new RegExp(wordDefinition.source,flags)}else{result=wordDefinition}}result.lastIndex=0;return result}function getWordAtText(column,wordDefinition,text2,textOffset,config){if(!config){config=Iterable.first(_defaultConfig)}if(text2.length>config.maxLen){let start=column-config.maxLen/2;if(start<0){start=0}else{textOffset+=start}text2=text2.substring(start,column+config.maxLen/2);return getWordAtText(column,wordDefinition,text2,textOffset,config)}const t1=Date.now();const pos=column-1-textOffset;let prevRegexIndex=-1;let match2=null;for(let i=1;;i++){if(Date.now()-t1>=config.timeBudget){break}const regexIndex=pos-config.windowSize*i;wordDefinition.lastIndex=Math.max(0,regexIndex);const thisMatch=_findRegexMatchEnclosingPosition(wordDefinition,text2,pos,prevRegexIndex);if(!thisMatch&&match2){break}match2=thisMatch;if(regexIndex<=0){break}prevRegexIndex=regexIndex}if(match2){const result={word:match2[0],startColumn:textOffset+1+match2.index,endColumn:textOffset+1+match2.index+match2[0].length};wordDefinition.lastIndex=0;return result}return null}function _findRegexMatchEnclosingPosition(wordDefinition,text2,pos,stopPos){let match2;while(match2=wordDefinition.exec(text2)){const matchIndex=match2.index||0;if(matchIndex<=pos&&wordDefinition.lastIndex>=pos){return match2}else if(stopPos>0&&matchIndex>stopPos){return null}}return null}var USUAL_WORD_SEPARATORS,DEFAULT_WORD_REGEXP,_defaultConfig;var init_wordHelper=__esm({"node_modules/monaco-editor/esm/vs/editor/common/core/wordHelper.js"(){init_iterator();init_linkedList();USUAL_WORD_SEPARATORS="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";DEFAULT_WORD_REGEXP=createWordRegExp();_defaultConfig=new LinkedList;_defaultConfig.unshift({maxLen:1e3,windowSize:15,timeBudget:150})}});function applyUpdate(value,update){if(typeof value!=="object"||typeof update!=="object"||!value||!update){return new ApplyUpdateResult(update,value!==update)}if(Array.isArray(value)||Array.isArray(update)){const arrayEquals=Array.isArray(value)&&Array.isArray(update)&&equals(value,update);return new ApplyUpdateResult(update,!arrayEquals)}let didChange=false;for(const key in update){if(update.hasOwnProperty(key)){const result=applyUpdate(value[key],update[key]);if(result.didChange){value[key]=result.newValue;didChange=true}}}return new ApplyUpdateResult(value,didChange)}function boolean(value,defaultValue){if(typeof value==="undefined"){return defaultValue}if(value==="false"){return false}return Boolean(value)}function clampedInt(value,defaultValue,minimum,maximum){if(typeof value==="undefined"){return defaultValue}let r=parseInt(value,10);if(isNaN(r)){return defaultValue}r=Math.max(minimum,r);r=Math.min(maximum,r);return r|0}function clampedFloat(value,defaultValue,minimum,maximum){if(typeof value==="undefined"){return defaultValue}const r=EditorFloatOption.float(value,defaultValue);return EditorFloatOption.clamp(r,minimum,maximum)}function stringSet(value,defaultValue,allowedValues,renamedValues){if(typeof value!=="string"){return defaultValue}if(renamedValues&&value in renamedValues){return renamedValues[value]}if(allowedValues.indexOf(value)===-1){return defaultValue}return value}function _autoIndentFromString(autoIndent){switch(autoIndent){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}function _cursorBlinkingStyleFromString(cursorBlinkingStyle){switch(cursorBlinkingStyle){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}function _cursorStyleFromString(cursorStyle){switch(cursorStyle){case"line":return TextEditorCursorStyle.Line;case"block":return TextEditorCursorStyle.Block;case"underline":return TextEditorCursorStyle.Underline;case"line-thin":return TextEditorCursorStyle.LineThin;case"block-outline":return TextEditorCursorStyle.BlockOutline;case"underline-thin":return TextEditorCursorStyle.UnderlineThin}}function _multiCursorModifierFromString(multiCursorModifier){if(multiCursorModifier==="ctrlCmd"){return isMacintosh?"metaKey":"ctrlKey"}return"altKey"}function filterValidationDecorations(options2){const renderValidationDecorations=options2.get(96);if(renderValidationDecorations==="editable"){return options2.get(89)}return renderValidationDecorations==="on"?false:true}function _scrollbarVisibilityFromString(visibility,defaultValue){if(typeof visibility!=="string"){return defaultValue}switch(visibility){case"hidden":return 2;case"visible":return 3;default:return 1}}function primitiveSet(value,defaultValue,allowedValues){const idx=allowedValues.indexOf(value);if(idx===-1){return defaultValue}return allowedValues[idx]}function register(option){editorOptionsRegistry[option.id]=option;return option}var MINIMAP_GUTTER_WIDTH,ConfigurationChangedEvent,ComputeOptionsMemory,BaseEditorOption,ApplyUpdateResult,ComputedEditorOption,SimpleEditorOption,EditorBooleanOption,EditorIntOption,EditorFloatOption,EditorStringOption,EditorStringEnumOption,EditorEnumOption,EditorAccessibilitySupport,EditorComments,TextEditorCursorStyle,EditorClassName,EditorEmptySelectionClipboard,EditorFind,EditorFontLigatures,EditorFontVariations,EditorFontInfo,EditorFontSize,EditorFontWeight,EditorGoToLocation,EditorHover,EditorLayoutInfoComputer,WrappingStrategy,EditorLightbulb,EditorStickyScroll,EditorInlayHints,EditorLineDecorationsWidth,EditorLineHeight,EditorMinimap,EditorPadding,EditorParameterHints,EditorPixelRatio,EditorQuickSuggestions,EditorRenderLineNumbersOption,EditorRulers,ReadonlyMessage,EditorScrollbar,inUntrustedWorkspace,unicodeHighlightConfigKeys,UnicodeHighlight,InlineEditorSuggest,BracketPairColorization,GuideOptions,EditorSuggest,SmartSelect,WrappingIndentOption,EditorWrappingInfoComputer,EditorDropIntoEditor,EditorPasteAs,DEFAULT_WINDOWS_FONT_FAMILY,DEFAULT_MAC_FONT_FAMILY,DEFAULT_LINUX_FONT_FAMILY,EDITOR_FONT_DEFAULTS,editorOptionsRegistry,EditorOptions;var init_editorOptions=__esm({"node_modules/monaco-editor/esm/vs/editor/common/config/editorOptions.js"(){init_arrays();init_objects();init_platform();init_textModelDefaults();init_wordHelper();init_nls();MINIMAP_GUTTER_WIDTH=8;ConfigurationChangedEvent=class{constructor(values){this._values=values}hasChanged(id){return this._values[id]}};ComputeOptionsMemory=class{constructor(){this.stableMinimapLayoutInput=null;this.stableFitMaxMinimapScale=0;this.stableFitRemainingWidth=0}};BaseEditorOption=class{constructor(id,name,defaultValue,schema){this.id=id;this.name=name;this.defaultValue=defaultValue;this.schema=schema}applyUpdate(value,update){return applyUpdate(value,update)}compute(env2,options2,value){return value}};ApplyUpdateResult=class{constructor(newValue,didChange){this.newValue=newValue;this.didChange=didChange}};ComputedEditorOption=class{constructor(id){this.schema=void 0;this.id=id;this.name="_never_";this.defaultValue=void 0}applyUpdate(value,update){return applyUpdate(value,update)}validate(input){return this.defaultValue}};SimpleEditorOption=class{constructor(id,name,defaultValue,schema){this.id=id;this.name=name;this.defaultValue=defaultValue;this.schema=schema}applyUpdate(value,update){return applyUpdate(value,update)}validate(input){if(typeof input==="undefined"){return this.defaultValue}return input}compute(env2,options2,value){return value}};EditorBooleanOption=class extends SimpleEditorOption{constructor(id,name,defaultValue,schema=void 0){if(typeof schema!=="undefined"){schema.type="boolean";schema.default=defaultValue}super(id,name,defaultValue,schema)}validate(input){return boolean(input,this.defaultValue)}};EditorIntOption=class extends SimpleEditorOption{static clampedInt(value,defaultValue,minimum,maximum){return clampedInt(value,defaultValue,minimum,maximum)}constructor(id,name,defaultValue,minimum,maximum,schema=void 0){if(typeof schema!=="undefined"){schema.type="integer";schema.default=defaultValue;schema.minimum=minimum;schema.maximum=maximum}super(id,name,defaultValue,schema);this.minimum=minimum;this.maximum=maximum}validate(input){return EditorIntOption.clampedInt(input,this.defaultValue,this.minimum,this.maximum)}};EditorFloatOption=class extends SimpleEditorOption{static clamp(n,min,max){if(n<min){return min}if(n>max){return max}return n}static float(value,defaultValue){if(typeof value==="number"){return value}if(typeof value==="undefined"){return defaultValue}const r=parseFloat(value);return isNaN(r)?defaultValue:r}constructor(id,name,defaultValue,validationFn,schema){if(typeof schema!=="undefined"){schema.type="number";schema.default=defaultValue}super(id,name,defaultValue,schema);this.validationFn=validationFn}validate(input){return this.validationFn(EditorFloatOption.float(input,this.defaultValue))}};EditorStringOption=class extends SimpleEditorOption{static string(value,defaultValue){if(typeof value!=="string"){return defaultValue}return value}constructor(id,name,defaultValue,schema=void 0){if(typeof schema!=="undefined"){schema.type="string";schema.default=defaultValue}super(id,name,defaultValue,schema)}validate(input){return EditorStringOption.string(input,this.defaultValue)}};EditorStringEnumOption=class extends SimpleEditorOption{constructor(id,name,defaultValue,allowedValues,schema=void 0){if(typeof schema!=="undefined"){schema.type="string";schema.enum=allowedValues;schema.default=defaultValue}super(id,name,defaultValue,schema);this._allowedValues=allowedValues}validate(input){return stringSet(input,this.defaultValue,this._allowedValues)}};EditorEnumOption=class extends BaseEditorOption{constructor(id,name,defaultValue,defaultStringValue,allowedValues,convert,schema=void 0){if(typeof schema!=="undefined"){schema.type="string";schema.enum=allowedValues;schema.default=defaultStringValue}super(id,name,defaultValue,schema);this._allowedValues=allowedValues;this._convert=convert}validate(input){if(typeof input!=="string"){return this.defaultValue}if(this._allowedValues.indexOf(input)===-1){return this.defaultValue}return this._convert(input)}};EditorAccessibilitySupport=class extends BaseEditorOption{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[localize("accessibilitySupport.auto","Use platform APIs to detect when a Screen Reader is attached"),localize("accessibilitySupport.on","Optimize for usage with a Screen Reader"),localize("accessibilitySupport.off","Assume a screen reader is not attached")],default:"auto",tags:["accessibility"],description:localize("accessibilitySupport","Controls if the UI should run in a mode where it is optimized for screen readers.")})}validate(input){switch(input){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(env2,options2,value){if(value===0){return env2.accessibilitySupport}return value}};EditorComments=class extends BaseEditorOption{constructor(){const defaults={insertSpace:true,ignoreEmptyLines:true};super(22,"comments",defaults,{"editor.comments.insertSpace":{type:"boolean",default:defaults.insertSpace,description:localize("comments.insertSpace","Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:defaults.ignoreEmptyLines,description:localize("comments.ignoreEmptyLines","Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(_input){if(!_input||typeof _input!=="object"){return this.defaultValue}const input=_input;return{insertSpace:boolean(input.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:boolean(input.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}};(function(TextEditorCursorStyle3){TextEditorCursorStyle3[TextEditorCursorStyle3["Line"]=1]="Line";TextEditorCursorStyle3[TextEditorCursorStyle3["Block"]=2]="Block";TextEditorCursorStyle3[TextEditorCursorStyle3["Underline"]=3]="Underline";TextEditorCursorStyle3[TextEditorCursorStyle3["LineThin"]=4]="LineThin";TextEditorCursorStyle3[TextEditorCursorStyle3["BlockOutline"]=5]="BlockOutline";TextEditorCursorStyle3[TextEditorCursorStyle3["UnderlineThin"]=6]="UnderlineThin"})(TextEditorCursorStyle||(TextEditorCursorStyle={}));EditorClassName=class extends ComputedEditorOption{constructor(){super(139)}compute(env2,options2,_){const classNames=["monaco-editor"];if(options2.get(38)){classNames.push(options2.get(38))}if(env2.extraEditorClassName){classNames.push(env2.extraEditorClassName)}if(options2.get(72)==="default"){classNames.push("mouse-default")}else if(options2.get(72)==="copy"){classNames.push("mouse-copy")}if(options2.get(109)){classNames.push("showUnused")}if(options2.get(137)){classNames.push("showDeprecated")}return classNames.join(" ")}};EditorEmptySelectionClipboard=class extends EditorBooleanOption{constructor(){super(36,"emptySelectionClipboard",true,{description:localize("emptySelectionClipboard","Controls whether copying without a selection copies the current line.")})}compute(env2,options2,value){return value&&env2.emptySelectionClipboard}};EditorFind=class extends BaseEditorOption{constructor(){const defaults={cursorMoveOnType:true,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:false,addExtraSpaceOnTop:true,loop:true};super(40,"find",defaults,{"editor.find.cursorMoveOnType":{type:"boolean",default:defaults.cursorMoveOnType,description:localize("find.cursorMoveOnType","Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:defaults.seedSearchStringFromSelection,enumDescriptions:[localize("editor.find.seedSearchStringFromSelection.never","Never seed search string from the editor selection."),localize("editor.find.seedSearchStringFromSelection.always","Always seed search string from the editor selection, including word at cursor position."),localize("editor.find.seedSearchStringFromSelection.selection","Only seed search string from the editor selection.")],description:localize("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:defaults.autoFindInSelection,enumDescriptions:[localize("editor.find.autoFindInSelection.never","Never turn on Find in Selection automatically (default)."),localize("editor.find.autoFindInSelection.always","Always turn on Find in Selection automatically."),localize("editor.find.autoFindInSelection.multiline","Turn on Find in Selection automatically when multiple lines of content are selected.")],description:localize("find.autoFindInSelection","Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:defaults.globalFindClipboard,description:localize("find.globalFindClipboard","Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:isMacintosh},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:defaults.addExtraSpaceOnTop,description:localize("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:defaults.loop,description:localize("find.loop","Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")}})}validate(_input){if(!_input||typeof _input!=="object"){return this.defaultValue}const input=_input;return{cursorMoveOnType:boolean(input.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:typeof _input.seedSearchStringFromSelection==="boolean"?_input.seedSearchStringFromSelection?"always":"never":stringSet(input.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:typeof _input.autoFindInSelection==="boolean"?_input.autoFindInSelection?"always":"never":stringSet(input.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:boolean(input.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:boolean(input.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:boolean(input.loop,this.defaultValue.loop)}}};EditorFontLigatures=class extends BaseEditorOption{constructor(){super(50,"fontLigatures",EditorFontLigatures.OFF,{anyOf:[{type:"boolean",description:localize("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:localize("fontFeatureSettings","Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:localize("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:false})}validate(input){if(typeof input==="undefined"){return this.defaultValue}if(typeof input==="string"){if(input==="false"){return EditorFontLigatures.OFF}if(input==="true"){return EditorFontLigatures.ON}return input}if(Boolean(input)){return EditorFontLigatures.ON}return EditorFontLigatures.OFF}};EditorFontLigatures.OFF='"liga" off, "calt" off';EditorFontLigatures.ON='"liga" on, "calt" on';EditorFontVariations=class extends BaseEditorOption{constructor(){super(53,"fontVariations",EditorFontVariations.OFF,{anyOf:[{type:"boolean",description:localize("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:localize("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:localize("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:false})}validate(input){if(typeof input==="undefined"){return this.defaultValue}if(typeof input==="string"){if(input==="false"){return EditorFontVariations.OFF}if(input==="true"){return EditorFontVariations.TRANSLATE}return input}if(Boolean(input)){return EditorFontVariations.TRANSLATE}return EditorFontVariations.OFF}compute(env2,options2,value){return env2.fontInfo.fontVariationSettings}};EditorFontVariations.OFF="normal";EditorFontVariations.TRANSLATE="translate";EditorFontInfo=class extends ComputedEditorOption{constructor(){super(49)}compute(env2,options2,_){return env2.fontInfo}};EditorFontSize=class extends SimpleEditorOption{constructor(){super(51,"fontSize",EDITOR_FONT_DEFAULTS.fontSize,{type:"number",minimum:6,maximum:100,default:EDITOR_FONT_DEFAULTS.fontSize,description:localize("fontSize","Controls the font size in pixels.")})}validate(input){const r=EditorFloatOption.float(input,this.defaultValue);if(r===0){return EDITOR_FONT_DEFAULTS.fontSize}return EditorFloatOption.clamp(r,6,100)}compute(env2,options2,value){return env2.fontInfo.fontSize}};EditorFontWeight=class extends BaseEditorOption{constructor(){super(52,"fontWeight",EDITOR_FONT_DEFAULTS.fontWeight,{anyOf:[{type:"number",minimum:EditorFontWeight.MINIMUM_VALUE,maximum:EditorFontWeight.MAXIMUM_VALUE,errorMessage:localize("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:EditorFontWeight.SUGGESTION_VALUES}],default:EDITOR_FONT_DEFAULTS.fontWeight,description:localize("fontWeight",'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(input){if(input==="normal"||input==="bold"){return input}return String(EditorIntOption.clampedInt(input,EDITOR_FONT_DEFAULTS.fontWeight,EditorFontWeight.MINIMUM_VALUE,EditorFontWeight.MAXIMUM_VALUE))}};EditorFontWeight.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"];EditorFontWeight.MINIMUM_VALUE=1;EditorFontWeight.MAXIMUM_VALUE=1e3;EditorGoToLocation=class extends BaseEditorOption{constructor(){const defaults={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:""};const jsonSubset={type:"string",enum:["peek","gotoAndPeek","goto"],default:defaults.multiple,enumDescriptions:[localize("editor.gotoLocation.multiple.peek","Show Peek view of the results (default)"),localize("editor.gotoLocation.multiple.gotoAndPeek","Go to the primary result and show a Peek view"),localize("editor.gotoLocation.multiple.goto","Go to the primary result and enable Peek-less navigation to others")]};const alternativeCommandOptions=["","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(57,"gotoLocation",defaults,{"editor.gotoLocation.multiple":{deprecationMessage:localize("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:localize("editor.editor.gotoLocation.multipleDefinitions","Controls the behavior the 'Go to Definition'-command when multiple target locations exist.")},jsonSubset),"editor.gotoLocation.multipleTypeDefinitions":Object.assign({description:localize("editor.editor.gotoLocation.multipleTypeDefinitions","Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist.")},jsonSubset),"editor.gotoLocation.multipleDeclarations":Object.assign({description:localize("editor.editor.gotoLocation.multipleDeclarations","Controls the behavior the 'Go to Declaration'-command when multiple target locations exist.")},jsonSubset),"editor.gotoLocation.multipleImplementations":Object.assign({description:localize("editor.editor.gotoLocation.multipleImplemenattions","Controls the behavior the 'Go to Implementations'-command when multiple target locations exist.")},jsonSubset),"editor.gotoLocation.multipleReferences":Object.assign({description:localize("editor.editor.gotoLocation.multipleReferences","Controls the behavior the 'Go to References'-command when multiple target locations exist.")},jsonSubset),"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:defaults.alternativeDefinitionCommand,enum:alternativeCommandOptions,description:localize("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:defaults.alternativeTypeDefinitionCommand,enum:alternativeCommandOptions,description:localize("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:defaults.alternativeDeclarationCommand,enum:alternativeCommandOptions,description:localize("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:defaults.alternativeImplementationCommand,enum:alternativeCommandOptions,description:localize("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:defaults.alternativeReferenceCommand,enum:alternativeCommandOptions,description:localize("alternativeReferenceCommand","Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(_input){var _a6,_b3,_c2,_d2,_e2;if(!_input||typeof _input!=="object"){return this.defaultValue}const input=_input;return{multiple:stringSet(input.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:(_a6=input.multipleDefinitions)!==null&&_a6!==void 0?_a6:stringSet(input.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:(_b3=input.multipleTypeDefinitions)!==null&&_b3!==void 0?_b3:stringSet(input.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:(_c2=input.multipleDeclarations)!==null&&_c2!==void 0?_c2:stringSet(input.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:(_d2=input.multipleImplementations)!==null&&_d2!==void 0?_d2:stringSet(input.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:(_e2=input.multipleReferences)!==null&&_e2!==void 0?_e2:stringSet(input.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:EditorStringOption.string(input.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:EditorStringOption.string(input.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:EditorStringOption.string(input.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:EditorStringOption.string(input.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:EditorStringOption.string(input.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand)}}};EditorHover=class extends BaseEditorOption{constructor(){const defaults={enabled:true,delay:300,sticky:true,above:true};super(59,"hover",defaults,{"editor.hover.enabled":{type:"boolean",default:defaults.enabled,description:localize("hover.enabled","Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:defaults.delay,minimum:0,maximum:1e4,description:localize("hover.delay","Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:defaults.sticky,description:localize("hover.sticky","Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.above":{type:"boolean",default:defaults.above,description:localize("hover.above","Prefer showing hovers above the line, if there's space.")}})}validate(_input){if(!_input||typeof _input!=="object"){return this.defaultValue}const input=_input;return{enabled:boolean(input.enabled,this.defaultValue.enabled),delay:EditorIntOption.clampedInt(input.delay,this.defaultValue.delay,0,1e4),sticky:boolean(input.sticky,this.defaultValue.sticky),above:boolean(input.above,this.defaultValue.above)}}};EditorLayoutInfoComputer=class extends ComputedEditorOption{constructor(){super(142)}compute(env2,options2,_){return EditorLayoutInfoComputer.computeLayout(options2,{memory:env2.memory,outerWidth:env2.outerWidth,outerHeight:env2.outerHeight,isDominatedByLongLines:env2.isDominatedByLongLines,lineHeight:env2.fontInfo.lineHeight,viewLineCount:env2.viewLineCount,lineNumbersDigitCount:env2.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:env2.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:env2.fontInfo.maxDigitWidth,pixelRatio:env2.pixelRatio,glyphMarginDecorationLaneCount:env2.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(input){const typicalViewportLineCount=input.height/input.lineHeight;const extraLinesBeforeFirstLine=Math.floor(input.paddingTop/input.lineHeight);let extraLinesBeyondLastLine=Math.floor(input.paddingBottom/input.lineHeight);if(input.scrollBeyondLastLine){extraLinesBeyondLastLine=Math.max(extraLinesBeyondLastLine,typicalViewportLineCount-1)}const desiredRatio=(extraLinesBeforeFirstLine+input.viewLineCount+extraLinesBeyondLastLine)/(input.pixelRatio*input.height);const minimapLineCount=Math.floor(input.viewLineCount/desiredRatio);return{typicalViewportLineCount:typicalViewportLineCount,extraLinesBeforeFirstLine:extraLinesBeforeFirstLine,extraLinesBeyondLastLine:extraLinesBeyondLastLine,desiredRatio:desiredRatio,minimapLineCount:minimapLineCount}}static _computeMinimapLayout(input,memory){const outerWidth=input.outerWidth;const outerHeight=input.outerHeight;const pixelRatio=input.pixelRatio;if(!input.minimap.enabled){return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:false,minimapIsSampling:false,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(pixelRatio*outerHeight),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:outerHeight}}const stableMinimapLayoutInput=memory.stableMinimapLayoutInput;const couldUseMemory=stableMinimapLayoutInput&&input.outerHeight===stableMinimapLayoutInput.outerHeight&&input.lineHeight===stableMinimapLayoutInput.lineHeight&&input.typicalHalfwidthCharacterWidth===stableMinimapLayoutInput.typicalHalfwidthCharacterWidth&&input.pixelRatio===stableMinimapLayoutInput.pixelRatio&&input.scrollBeyondLastLine===stableMinimapLayoutInput.scrollBeyondLastLine&&input.paddingTop===stableMinimapLayoutInput.paddingTop&&input.paddingBottom===stableMinimapLayoutInput.paddingBottom&&input.minimap.enabled===stableMinimapLayoutInput.minimap.enabled&&input.minimap.side===stableMinimapLayoutInput.minimap.side&&input.minimap.size===stableMinimapLayoutInput.minimap.size&&input.minimap.showSlider===stableMinimapLayoutInput.minimap.showSlider&&input.minimap.renderCharacters===stableMinimapLayoutInput.minimap.renderCharacters&&input.minimap.maxColumn===stableMinimapLayoutInput.minimap.maxColumn&&input.minimap.scale===stableMinimapLayoutInput.minimap.scale&&input.verticalScrollbarWidth===stableMinimapLayoutInput.verticalScrollbarWidth&&input.isViewportWrapping===stableMinimapLayoutInput.isViewportWrapping;const lineHeight=input.lineHeight;const typicalHalfwidthCharacterWidth=input.typicalHalfwidthCharacterWidth;const scrollBeyondLastLine=input.scrollBeyondLastLine;const minimapRenderCharacters=input.minimap.renderCharacters;let minimapScale=pixelRatio>=2?Math.round(input.minimap.scale*2):input.minimap.scale;const minimapMaxColumn=input.minimap.maxColumn;const minimapSize=input.minimap.size;const minimapSide=input.minimap.side;const verticalScrollbarWidth=input.verticalScrollbarWidth;const viewLineCount=input.viewLineCount;const remainingWidth=input.remainingWidth;const isViewportWrapping=input.isViewportWrapping;const baseCharHeight=minimapRenderCharacters?2:3;let minimapCanvasInnerHeight=Math.floor(pixelRatio*outerHeight);const minimapCanvasOuterHeight=minimapCanvasInnerHeight/pixelRatio;let minimapHeightIsEditorHeight=false;let minimapIsSampling=false;let minimapLineHeight=baseCharHeight*minimapScale;let minimapCharWidth=minimapScale/pixelRatio;let minimapWidthMultiplier=1;if(minimapSize==="fill"||minimapSize==="fit"){const{typicalViewportLineCount:typicalViewportLineCount,extraLinesBeforeFirstLine:extraLinesBeforeFirstLine,extraLinesBeyondLastLine:extraLinesBeyondLastLine,desiredRatio:desiredRatio,minimapLineCount:minimapLineCount}=EditorLayoutInfoComputer.computeContainedMinimapLineCount({viewLineCount:viewLineCount,scrollBeyondLastLine:scrollBeyondLastLine,paddingTop:input.paddingTop,paddingBottom:input.paddingBottom,height:outerHeight,lineHeight:lineHeight,pixelRatio:pixelRatio});const ratio=viewLineCount/minimapLineCount;if(ratio>1){minimapHeightIsEditorHeight=true;minimapIsSampling=true;minimapScale=1;minimapLineHeight=1;minimapCharWidth=minimapScale/pixelRatio}else{let fitBecomesFill=false;let maxMinimapScale=minimapScale+1;if(minimapSize==="fit"){const effectiveMinimapHeight=Math.ceil((extraLinesBeforeFirstLine+viewLineCount+extraLinesBeyondLastLine)*minimapLineHeight);if(isViewportWrapping&&couldUseMemory&&remainingWidth<=memory.stableFitRemainingWidth){fitBecomesFill=true;maxMinimapScale=memory.stableFitMaxMinimapScale}else{fitBecomesFill=effectiveMinimapHeight>minimapCanvasInnerHeight}}if(minimapSize==="fill"||fitBecomesFill){minimapHeightIsEditorHeight=true;const configuredMinimapScale=minimapScale;minimapLineHeight=Math.min(lineHeight*pixelRatio,Math.max(1,Math.floor(1/desiredRatio)));if(isViewportWrapping&&couldUseMemory&&remainingWidth<=memory.stableFitRemainingWidth){maxMinimapScale=memory.stableFitMaxMinimapScale}minimapScale=Math.min(maxMinimapScale,Math.max(1,Math.floor(minimapLineHeight/baseCharHeight)));if(minimapScale>configuredMinimapScale){minimapWidthMultiplier=Math.min(2,minimapScale/configuredMinimapScale)}minimapCharWidth=minimapScale/pixelRatio/minimapWidthMultiplier;minimapCanvasInnerHeight=Math.ceil(Math.max(typicalViewportLineCount,extraLinesBeforeFirstLine+viewLineCount+extraLinesBeyondLastLine)*minimapLineHeight);if(isViewportWrapping){memory.stableMinimapLayoutInput=input;memory.stableFitRemainingWidth=remainingWidth;memory.stableFitMaxMinimapScale=minimapScale}else{memory.stableMinimapLayoutInput=null;memory.stableFitRemainingWidth=0}}}}const minimapMaxWidth=Math.floor(minimapMaxColumn*minimapCharWidth);const minimapWidth=Math.min(minimapMaxWidth,Math.max(0,Math.floor((remainingWidth-verticalScrollbarWidth-2)*minimapCharWidth/(typicalHalfwidthCharacterWidth+minimapCharWidth)))+MINIMAP_GUTTER_WIDTH);let minimapCanvasInnerWidth=Math.floor(pixelRatio*minimapWidth);const minimapCanvasOuterWidth=minimapCanvasInnerWidth/pixelRatio;minimapCanvasInnerWidth=Math.floor(minimapCanvasInnerWidth*minimapWidthMultiplier);const renderMinimap=minimapRenderCharacters?1:2;const minimapLeft=minimapSide==="left"?0:outerWidth-minimapWidth-verticalScrollbarWidth;return{renderMinimap:renderMinimap,minimapLeft:minimapLeft,minimapWidth:minimapWidth,minimapHeightIsEditorHeight:minimapHeightIsEditorHeight,minimapIsSampling:minimapIsSampling,minimapScale:minimapScale,minimapLineHeight:minimapLineHeight,minimapCanvasInnerWidth:minimapCanvasInnerWidth,minimapCanvasInnerHeight:minimapCanvasInnerHeight,minimapCanvasOuterWidth:minimapCanvasOuterWidth,minimapCanvasOuterHeight:minimapCanvasOuterHeight}}static computeLayout(options2,env2){const outerWidth=env2.outerWidth|0;const outerHeight=env2.outerHeight|0;const lineHeight=env2.lineHeight|0;const lineNumbersDigitCount=env2.lineNumbersDigitCount|0;const typicalHalfwidthCharacterWidth=env2.typicalHalfwidthCharacterWidth;const maxDigitWidth=env2.maxDigitWidth;const pixelRatio=env2.pixelRatio;const viewLineCount=env2.viewLineCount;const wordWrapOverride2=options2.get(134);const wordWrapOverride1=wordWrapOverride2==="inherit"?options2.get(133):wordWrapOverride2;const wordWrap=wordWrapOverride1==="inherit"?options2.get(129):wordWrapOverride1;const wordWrapColumn=options2.get(132);const isDominatedByLongLines=env2.isDominatedByLongLines;const showGlyphMargin=options2.get(56);const showLineNumbers=options2.get(66).renderType!==0;const lineNumbersMinChars=options2.get(67);const scrollBeyondLastLine=options2.get(103);const padding=options2.get(82);const minimap=options2.get(71);const scrollbar=options2.get(101);const verticalScrollbarWidth=scrollbar.verticalScrollbarSize;const verticalScrollbarHasArrows=scrollbar.verticalHasArrows;const scrollbarArrowSize=scrollbar.arrowSize;const horizontalScrollbarHeight=scrollbar.horizontalScrollbarSize;const folding=options2.get(42);const showFoldingDecoration=options2.get(108)!=="never";let lineDecorationsWidth=options2.get(64);if(folding&&showFoldingDecoration){lineDecorationsWidth+=16}let lineNumbersWidth=0;if(showLineNumbers){const digitCount2=Math.max(lineNumbersDigitCount,lineNumbersMinChars);lineNumbersWidth=Math.round(digitCount2*maxDigitWidth)}let glyphMarginWidth=0;if(showGlyphMargin){glyphMarginWidth=lineHeight*env2.glyphMarginDecorationLaneCount}let glyphMarginLeft=0;let lineNumbersLeft=glyphMarginLeft+glyphMarginWidth;let decorationsLeft=lineNumbersLeft+lineNumbersWidth;let contentLeft=decorationsLeft+lineDecorationsWidth;const remainingWidth=outerWidth-glyphMarginWidth-lineNumbersWidth-lineDecorationsWidth;let isWordWrapMinified=false;let isViewportWrapping=false;let wrappingColumn=-1;if(wordWrapOverride1==="inherit"&&isDominatedByLongLines){isWordWrapMinified=true;isViewportWrapping=true}else if(wordWrap==="on"||wordWrap==="bounded"){isViewportWrapping=true}else if(wordWrap==="wordWrapColumn"){wrappingColumn=wordWrapColumn}const minimapLayout=EditorLayoutInfoComputer._computeMinimapLayout({outerWidth:outerWidth,outerHeight:outerHeight,lineHeight:lineHeight,typicalHalfwidthCharacterWidth:typicalHalfwidthCharacterWidth,pixelRatio:pixelRatio,scrollBeyondLastLine:scrollBeyondLastLine,paddingTop:padding.top,paddingBottom:padding.bottom,minimap:minimap,verticalScrollbarWidth:verticalScrollbarWidth,viewLineCount:viewLineCount,remainingWidth:remainingWidth,isViewportWrapping:isViewportWrapping},env2.memory||new ComputeOptionsMemory);if(minimapLayout.renderMinimap!==0&&minimapLayout.minimapLeft===0){glyphMarginLeft+=minimapLayout.minimapWidth;lineNumbersLeft+=minimapLayout.minimapWidth;decorationsLeft+=minimapLayout.minimapWidth;contentLeft+=minimapLayout.minimapWidth}const contentWidth=remainingWidth-minimapLayout.minimapWidth;const viewportColumn=Math.max(1,Math.floor((contentWidth-verticalScrollbarWidth-2)/typicalHalfwidthCharacterWidth));const verticalArrowSize=verticalScrollbarHasArrows?scrollbarArrowSize:0;if(isViewportWrapping){wrappingColumn=Math.max(1,viewportColumn);if(wordWrap==="bounded"){wrappingColumn=Math.min(wrappingColumn,wordWrapColumn)}}return{width:outerWidth,height:outerHeight,glyphMarginLeft:glyphMarginLeft,glyphMarginWidth:glyphMarginWidth,glyphMarginDecorationLaneCount:env2.glyphMarginDecorationLaneCount,lineNumbersLeft:lineNumbersLeft,lineNumbersWidth:lineNumbersWidth,decorationsLeft:decorationsLeft,decorationsWidth:lineDecorationsWidth,contentLeft:contentLeft,contentWidth:contentWidth,minimap:minimapLayout,viewportColumn:viewportColumn,isWordWrapMinified:isWordWrapMinified,isViewportWrapping:isViewportWrapping,wrappingColumn:wrappingColumn,verticalScrollbarWidth:verticalScrollbarWidth,horizontalScrollbarHeight:horizontalScrollbarHeight,overviewRuler:{top:verticalArrowSize,width:verticalScrollbarWidth,height:outerHeight-2*verticalArrowSize,right:0}}}};WrappingStrategy=class extends BaseEditorOption{constructor(){super(136,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[localize("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."),localize("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:localize("wrappingStrategy","Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.")}})}validate(input){return stringSet(input,"simple",["simple","advanced"])}compute(env2,options2,value){const accessibilitySupport=options2.get(2);if(accessibilitySupport===2){return"advanced"}return value}};EditorLightbulb=class extends BaseEditorOption{constructor(){const defaults={enabled:true};super(63,"lightbulb",defaults,{"editor.lightbulb.enabled":{type:"boolean",default:defaults.enabled,description:localize("codeActions","Enables the Code Action lightbulb in the editor.")}})}validate(_input){if(!_input||typeof _input!=="object"){return this.defaultValue}const input=_input;return{enabled:boolean(input.enabled,this.defaultValue.enabled)}}};EditorStickyScroll=class extends BaseEditorOption{constructor(){const defaults={enabled:false,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:true};super(113,"stickyScroll",defaults,{"editor.stickyScroll.enabled":{type:"boolean",default:defaults.enabled,description:localize("editor.stickyScroll.enabled","Shows the nested current scopes during the scroll at the top of the editor.")},"editor.stickyScroll.maxLineCount":{type:"number",default:defaults.maxLineCount,minimum:1,maximum:10,description:localize("editor.stickyScroll.maxLineCount","Defines the maximum number of sticky lines to show.")},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:defaults.defaultModel,description:localize("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.")},"editor.stickyScroll.scrollWithEditor":{type:"boolean",default:defaults.scrollWithEditor,description:localize("editor.stickyScroll.scrollWithEditor","Enable scrolling of the sticky scroll widget with the editor's horizontal scrollbar.")}})}validate(_input){if(!_input||typeof _input!=="object"){return this.defaultValue}const input=_input;return{enabled:boolean(input.enabled,this.defaultValue.enabled),maxLineCount:EditorIntOption.clampedInt(input.maxLineCount,this.defaultValue.maxLineCount,1,10),defaultModel:stringSet(input.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:boolean(input.scrollWithEditor,this.defaultValue.scrollWithEditor)}}};EditorInlayHints=class extends BaseEditorOption{constructor(){const defaults={enabled:"on",fontSize:0,fontFamily:"",padding:false};super(138,"inlayHints",defaults,{"editor.inlayHints.enabled":{type:"string",default:defaults.enabled,description:localize("inlayHints.enable","Enables the inlay hints in the editor."),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[localize("editor.inlayHints.on","Inlay hints are enabled"),localize("editor.inlayHints.onUnlessPressed","Inlay hints are showing by default and hide when holding {0}",isMacintosh?`Ctrl+Option`:`Ctrl+Alt`),localize("editor.inlayHints.offUnlessPressed","Inlay hints are hidden by default and show when holding {0}",isMacintosh?`Ctrl+Option`:`Ctrl+Alt`),localize("editor.inlayHints.off","Inlay hints are disabled")]},"editor.inlayHints.fontSize":{type:"number",default:defaults.fontSize,markdownDescription:localize("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:defaults.fontFamily,markdownDescription:localize("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:defaults.padding,description:localize("inlayHints.padding","Enables the padding around the inlay hints in the editor.")}})}validate(_input){if(!_input||typeof _input!=="object"){return this.defaultValue}const input=_input;if(typeof input.enabled==="boolean"){input.enabled=input.enabled?"on":"off"}return{enabled:stringSet(input.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:EditorIntOption.clampedInt(input.fontSize,this.defaultValue.fontSize,0,100),fontFamily:EditorStringOption.string(input.fontFamily,this.defaultValue.fontFamily),padding:boolean(input.padding,this.defaultValue.padding)}}};EditorLineDecorationsWidth=class extends BaseEditorOption{constructor(){super(64,"lineDecorationsWidth",10)}validate(input){if(typeof input==="string"&&/^\d+(\.\d+)?ch$/.test(input)){const multiple=parseFloat(input.substring(0,input.length-2));return-multiple}else{return EditorIntOption.clampedInt(input,this.defaultValue,0,1e3)}}compute(env2,options2,value){if(value<0){return EditorIntOption.clampedInt(-value*env2.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3)}else{return value}}};EditorLineHeight=class extends EditorFloatOption{constructor(){super(65,"lineHeight",EDITOR_FONT_DEFAULTS.lineHeight,(x=>EditorFloatOption.clamp(x,0,150)),{markdownDescription:localize("lineHeight","Controls the line height. \n - Use 0 to automatically compute the line height from the font size.\n - Values between 0 and 8 will be used as a multiplier with the font size.\n - Values greater than or equal to 8 will be used as effective values.")})}compute(env2,options2,value){return env2.fontInfo.lineHeight}};EditorMinimap=class extends BaseEditorOption{constructor(){const defaults={enabled:true,size:"proportional",side:"right",showSlider:"mouseover",autohide:false,renderCharacters:true,maxColumn:120,scale:1};super(71,"minimap",defaults,{"editor.minimap.enabled":{type:"boolean",default:defaults.enabled,description:localize("minimap.enabled","Controls whether the minimap is shown.")},"editor.minimap.autohide":{type:"boolean",default:defaults.autohide,description:localize("minimap.autohide","Controls whether the minimap is hidden automatically.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[localize("minimap.size.proportional","The minimap has the same size as the editor contents (and might scroll)."),localize("minimap.size.fill","The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),localize("minimap.size.fit","The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:defaults.size,description:localize("minimap.size","Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:defaults.side,description:localize("minimap.side","Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:defaults.showSlider,description:localize("minimap.showSlider","Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:defaults.scale,minimum:1,maximum:3,enum:[1,2,3],description:localize("minimap.scale","Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:defaults.renderCharacters,description:localize("minimap.renderCharacters","Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:defaults.maxColumn,description:localize("minimap.maxColumn","Limit the width of the minimap to render at most a certain number of columns.")}})}validate(_input){if(!_input||typeof _input!=="object"){return this.defaultValue}const input=_input;return{enabled:boolean(input.enabled,this.defaultValue.enabled),autohide:boolean(input.autohide,this.defaultValue.autohide),size:stringSet(input.size,this.defaultValue.size,["proportional","fill","fit"]),side:stringSet(input.side,this.defaultValue.side,["right","left"]),showSlider:stringSet(input.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:boolean(input.renderCharacters,this.defaultValue.renderCharacters),scale:EditorIntOption.clampedInt(input.scale,1,1,3),maxColumn:EditorIntOption.clampedInt(input.maxColumn,this.defaultValue.maxColumn,1,1e4)}}};EditorPadding=class extends BaseEditorOption{constructor(){super(82,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:localize("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:localize("padding.bottom","Controls the amount of space between the bottom edge of the editor and the last line.")}})}validate(_input){if(!_input||typeof _input!=="object"){return this.defaultValue}const input=_input;return{top:EditorIntOption.clampedInt(input.top,0,0,1e3),bottom:EditorIntOption.clampedInt(input.bottom,0,0,1e3)}}};EditorParameterHints=class extends BaseEditorOption{constructor(){const defaults={enabled:true,cycle:true};super(84,"parameterHints",defaults,{"editor.parameterHints.enabled":{type:"boolean",default:defaults.enabled,description:localize("parameterHints.enabled","Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:defaults.cycle,description:localize("parameterHints.cycle","Controls whether the parameter hints menu cycles or closes when reaching the end of the list.")}})}validate(_input){if(!_input||typeof _input!=="object"){return this.defaultValue}const input=_input;return{enabled:boolean(input.enabled,this.defaultValue.enabled),cycle:boolean(input.cycle,this.defaultValue.cycle)}}};EditorPixelRatio=class extends ComputedEditorOption{constructor(){super(140)}compute(env2,options2,_){return env2.pixelRatio}};EditorQuickSuggestions=class extends BaseEditorOption{constructor(){const defaults={other:"on",comments:"off",strings:"off"};const types=[{type:"boolean"},{type:"string",enum:["on","inline","off"],enumDescriptions:[localize("on","Quick suggestions show inside the suggest widget"),localize("inline","Quick suggestions show as ghost text"),localize("off","Quick suggestions are disabled")]}];super(87,"quickSuggestions",defaults,{type:"object",additionalProperties:false,properties:{strings:{anyOf:types,default:defaults.strings,description:localize("quickSuggestions.strings","Enable quick suggestions inside strings.")},comments:{anyOf:types,default:defaults.comments,description:localize("quickSuggestions.comments","Enable quick suggestions inside comments.")},other:{anyOf:types,default:defaults.other,description:localize("quickSuggestions.other","Enable quick suggestions outside of strings and comments.")}},default:defaults,markdownDescription:localize("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=defaults}validate(input){if(typeof input==="boolean"){const value=input?"on":"off";return{comments:value,strings:value,other:value}}if(!input||typeof input!=="object"){return this.defaultValue}const{other:other,comments:comments,strings:strings}=input;const allowedValues=["on","inline","off"];let validatedOther;let validatedComments;let validatedStrings;if(typeof other==="boolean"){validatedOther=other?"on":"off"}else{validatedOther=stringSet(other,this.defaultValue.other,allowedValues)}if(typeof comments==="boolean"){validatedComments=comments?"on":"off"}else{validatedComments=stringSet(comments,this.defaultValue.comments,allowedValues)}if(typeof strings==="boolean"){validatedStrings=strings?"on":"off"}else{validatedStrings=stringSet(strings,this.defaultValue.strings,allowedValues)}return{other:validatedOther,comments:validatedComments,strings:validatedStrings}}};EditorRenderLineNumbersOption=class extends BaseEditorOption{constructor(){super(66,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[localize("lineNumbers.off","Line numbers are not rendered."),localize("lineNumbers.on","Line numbers are rendered as absolute number."),localize("lineNumbers.relative","Line numbers are rendered as distance in lines to cursor position."),localize("lineNumbers.interval","Line numbers are rendered every 10 lines.")],default:"on",description:localize("lineNumbers","Controls the display of line numbers.")})}validate(lineNumbers){let renderType=this.defaultValue.renderType;let renderFn=this.defaultValue.renderFn;if(typeof lineNumbers!=="undefined"){if(typeof lineNumbers==="function"){renderType=4;renderFn=lineNumbers}else if(lineNumbers==="interval"){renderType=3}else if(lineNumbers==="relative"){renderType=2}else if(lineNumbers==="on"){renderType=1}else{renderType=0}}return{renderType:renderType,renderFn:renderFn}}};EditorRulers=class extends BaseEditorOption{constructor(){const defaults=[];const columnSchema={type:"number",description:localize("rulers.size","Number of monospace characters at which this editor ruler will render.")};super(100,"rulers",defaults,{type:"array",items:{anyOf:[columnSchema,{type:["object"],properties:{column:columnSchema,color:{type:"string",description:localize("rulers.color","Color of this editor ruler."),format:"color-hex"}}}]},default:defaults,description:localize("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(input){if(Array.isArray(input)){const rulers=[];for(const _element of input){if(typeof _element==="number"){rulers.push({column:EditorIntOption.clampedInt(_element,0,0,1e4),color:null})}else if(_element&&typeof _element==="object"){const element=_element;rulers.push({column:EditorIntOption.clampedInt(element.column,0,0,1e4),color:element.color})}}rulers.sort(((a,b)=>a.column-b.column));return rulers}return this.defaultValue}};ReadonlyMessage=class extends BaseEditorOption{constructor(){const defaults=void 0;super(90,"readOnlyMessage",defaults)}validate(_input){if(!_input||typeof _input!=="object"){return this.defaultValue}return _input}};EditorScrollbar=class extends BaseEditorOption{constructor(){const defaults={vertical:1,horizontal:1,arrowSize:11,useShadows:true,verticalHasArrows:false,horizontalHasArrows:false,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:true,alwaysConsumeMouseWheel:true,scrollByPage:false};super(101,"scrollbar",defaults,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[localize("scrollbar.vertical.auto","The vertical scrollbar will be visible only when necessary."),localize("scrollbar.vertical.visible","The vertical scrollbar will always be visible."),localize("scrollbar.vertical.fit","The vertical scrollbar will always be hidden.")],default:"auto",description:localize("scrollbar.vertical","Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[localize("scrollbar.horizontal.auto","The horizontal scrollbar will be visible only when necessary."),localize("scrollbar.horizontal.visible","The horizontal scrollbar will always be visible."),localize("scrollbar.horizontal.fit","The horizontal scrollbar will always be hidden.")],default:"auto",description:localize("scrollbar.horizontal","Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:defaults.verticalScrollbarSize,description:localize("scrollbar.verticalScrollbarSize","The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:defaults.horizontalScrollbarSize,description:localize("scrollbar.horizontalScrollbarSize","The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:defaults.scrollByPage,description:localize("scrollbar.scrollByPage","Controls whether clicks scroll by page or jump to click position.")}})}validate(_input){if(!_input||typeof _input!=="object"){return this.defaultValue}const input=_input;const horizontalScrollbarSize=EditorIntOption.clampedInt(input.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3);const verticalScrollbarSize=EditorIntOption.clampedInt(input.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:EditorIntOption.clampedInt(input.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:_scrollbarVisibilityFromString(input.vertical,this.defaultValue.vertical),horizontal:_scrollbarVisibilityFromString(input.horizontal,this.defaultValue.horizontal),useShadows:boolean(input.useShadows,this.defaultValue.useShadows),verticalHasArrows:boolean(input.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:boolean(input.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:boolean(input.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:boolean(input.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:horizontalScrollbarSize,horizontalSliderSize:EditorIntOption.clampedInt(input.horizontalSliderSize,horizontalScrollbarSize,0,1e3),verticalScrollbarSize:verticalScrollbarSize,verticalSliderSize:EditorIntOption.clampedInt(input.verticalSliderSize,verticalScrollbarSize,0,1e3),scrollByPage:boolean(input.scrollByPage,this.defaultValue.scrollByPage)}}};inUntrustedWorkspace="inUntrustedWorkspace";unicodeHighlightConfigKeys={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"};UnicodeHighlight=class extends BaseEditorOption{constructor(){const defaults={nonBasicASCII:inUntrustedWorkspace,invisibleCharacters:true,ambiguousCharacters:true,includeComments:inUntrustedWorkspace,includeStrings:true,allowedCharacters:{},allowedLocales:{_os:true,_vscode:true}};super(123,"unicodeHighlight",defaults,{[unicodeHighlightConfigKeys.nonBasicASCII]:{restricted:true,type:["boolean","string"],enum:[true,false,inUntrustedWorkspace],default:defaults.nonBasicASCII,description:localize("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.")},[unicodeHighlightConfigKeys.invisibleCharacters]:{restricted:true,type:"boolean",default:defaults.invisibleCharacters,description:localize("unicodeHighlight.invisibleCharacters","Controls whether characters that just reserve space or have no width at all are highlighted.")},[unicodeHighlightConfigKeys.ambiguousCharacters]:{restricted:true,type:"boolean",default:defaults.ambiguousCharacters,description:localize("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.")},[unicodeHighlightConfigKeys.includeComments]:{restricted:true,type:["boolean","string"],enum:[true,false,inUntrustedWorkspace],default:defaults.includeComments,description:localize("unicodeHighlight.includeComments","Controls whether characters in comments should also be subject to Unicode highlighting.")},[unicodeHighlightConfigKeys.includeStrings]:{restricted:true,type:["boolean","string"],enum:[true,false,inUntrustedWorkspace],default:defaults.includeStrings,description:localize("unicodeHighlight.includeStrings","Controls whether characters in strings should also be subject to Unicode highlighting.")},[unicodeHighlightConfigKeys.allowedCharacters]:{restricted:true,type:"object",default:defaults.allowedCharacters,description:localize("unicodeHighlight.allowedCharacters","Defines allowed characters that are not being highlighted."),additionalProperties:{type:"boolean"}},[unicodeHighlightConfigKeys.allowedLocales]:{restricted:true,type:"object",additionalProperties:{type:"boolean"},default:defaults.allowedLocales,description:localize("unicodeHighlight.allowedLocales","Unicode characters that are common in allowed locales are not being highlighted.")}})}applyUpdate(value,update){let didChange=false;if(update.allowedCharacters&&value){if(!equals2(value.allowedCharacters,update.allowedCharacters)){value=Object.assign(Object.assign({},value),{allowedCharacters:update.allowedCharacters});didChange=true}}if(update.allowedLocales&&value){if(!equals2(value.allowedLocales,update.allowedLocales)){value=Object.assign(Object.assign({},value),{allowedLocales:update.allowedLocales});didChange=true}}const result=super.applyUpdate(value,update);if(didChange){return new ApplyUpdateResult(result.newValue,true)}return result}validate(_input){if(!_input||typeof _input!=="object"){return this.defaultValue}const input=_input;return{nonBasicASCII:primitiveSet(input.nonBasicASCII,inUntrustedWorkspace,[true,false,inUntrustedWorkspace]),invisibleCharacters:boolean(input.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:boolean(input.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:primitiveSet(input.includeComments,inUntrustedWorkspace,[true,false,inUntrustedWorkspace]),includeStrings:primitiveSet(input.includeStrings,inUntrustedWorkspace,[true,false,inUntrustedWorkspace]),allowedCharacters:this.validateBooleanMap(_input.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(_input.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(map,defaultValue){if(typeof map!=="object"||!map){return defaultValue}const result={};for(const[key,value]of Object.entries(map)){if(value===true){result[key]=true}}return result}};InlineEditorSuggest=class extends BaseEditorOption{constructor(){const defaults={enabled:true,mode:"subwordSmart",showToolbar:"onHover",suppressSuggestions:false,keepOnBlur:false};super(61,"inlineSuggest",defaults,{"editor.inlineSuggest.enabled":{type:"boolean",default:defaults.enabled,description:localize("inlineSuggest.enabled","Controls whether to automatically show inline suggestions in the editor.")},"editor.inlineSuggest.showToolbar":{type:"string",default:defaults.showToolbar,enum:["always","onHover"],enumDescriptions:[localize("inlineSuggest.showToolbar.always","Show the inline suggestion toolbar whenever an inline suggestion is shown."),localize("inlineSuggest.showToolbar.onHover","Show the inline suggestion toolbar when hovering over an inline suggestion.")],description:localize("inlineSuggest.showToolbar","Controls when to show the inline suggestion toolbar.")},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:defaults.suppressSuggestions,description:localize("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(_input){if(!_input||typeof _input!=="object"){return this.defaultValue}const input=_input;return{enabled:boolean(input.enabled,this.defaultValue.enabled),mode:stringSet(input.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:stringSet(input.showToolbar,this.defaultValue.showToolbar,["always","onHover"]),suppressSuggestions:boolean(input.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:boolean(input.keepOnBlur,this.defaultValue.keepOnBlur)}}};BracketPairColorization=class extends BaseEditorOption{constructor(){const defaults={enabled:EDITOR_MODEL_DEFAULTS.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:EDITOR_MODEL_DEFAULTS.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(14,"bracketPairColorization",defaults,{"editor.bracketPairColorization.enabled":{type:"boolean",default:defaults.enabled,markdownDescription:localize("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:defaults.independentColorPoolPerBracketType,description:localize("bracketPairColorization.independentColorPoolPerBracketType","Controls whether each bracket type has its own independent color pool.")}})}validate(_input){if(!_input||typeof _input!=="object"){return this.defaultValue}const input=_input;return{enabled:boolean(input.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:boolean(input.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}};GuideOptions=class extends BaseEditorOption{constructor(){const defaults={bracketPairs:false,bracketPairsHorizontal:"active",highlightActiveBracketPair:true,indentation:true,highlightActiveIndentation:true};super(15,"guides",defaults,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[true,"active",false],enumDescriptions:[localize("editor.guides.bracketPairs.true","Enables bracket pair guides."),localize("editor.guides.bracketPairs.active","Enables bracket pair guides only for the active bracket pair."),localize("editor.guides.bracketPairs.false","Disables bracket pair guides.")],default:defaults.bracketPairs,description:localize("editor.guides.bracketPairs","Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[true,"active",false],enumDescriptions:[localize("editor.guides.bracketPairsHorizontal.true","Enables horizontal guides as addition to vertical bracket pair guides."),localize("editor.guides.bracketPairsHorizontal.active","Enables horizontal guides only for the active bracket pair."),localize("editor.guides.bracketPairsHorizontal.false","Disables horizontal bracket pair guides.")],default:defaults.bracketPairsHorizontal,description:localize("editor.guides.bracketPairsHorizontal","Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:defaults.highlightActiveBracketPair,description:localize("editor.guides.highlightActiveBracketPair","Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:defaults.indentation,description:localize("editor.guides.indentation","Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[true,"always",false],enumDescriptions:[localize("editor.guides.highlightActiveIndentation.true","Highlights the active indent guide."),localize("editor.guides.highlightActiveIndentation.always","Highlights the active indent guide even if bracket guides are highlighted."),localize("editor.guides.highlightActiveIndentation.false","Do not highlight the active indent guide.")],default:defaults.highlightActiveIndentation,description:localize("editor.guides.highlightActiveIndentation","Controls whether the editor should highlight the active indent guide.")}})}validate(_input){if(!_input||typeof _input!=="object"){return this.defaultValue}const input=_input;return{bracketPairs:primitiveSet(input.bracketPairs,this.defaultValue.bracketPairs,[true,false,"active"]),bracketPairsHorizontal:primitiveSet(input.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[true,false,"active"]),highlightActiveBracketPair:boolean(input.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:boolean(input.indentation,this.defaultValue.indentation),highlightActiveIndentation:primitiveSet(input.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[true,false,"always"])}}};EditorSuggest=class extends BaseEditorOption{constructor(){const defaults={insertMode:"insert",filterGraceful:true,snippetsPreventQuickSuggestions:false,localityBonus:false,shareSuggestSelections:false,selectionMode:"always",showIcons:true,showStatusBar:false,preview:false,previewMode:"subwordSmart",showInlineDetails:true,showMethods:true,showFunctions:true,showConstructors:true,showDeprecated:true,matchOnWordStartOnly:true,showFields:true,showVariables:true,showClasses:true,showStructs:true,showInterfaces:true,showModules:true,showProperties:true,showEvents:true,showOperators:true,showUnits:true,showValues:true,showConstants:true,showEnums:true,showEnumMembers:true,showKeywords:true,showWords:true,showColors:true,showFiles:true,showReferences:true,showFolders:true,showTypeParameters:true,showSnippets:true,showUsers:true,showIssues:true};super(116,"suggest",defaults,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[localize("suggest.insertMode.insert","Insert suggestion without overwriting text right of the cursor."),localize("suggest.insertMode.replace","Insert suggestion and overwrite text right of the cursor.")],default:defaults.insertMode,description:localize("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:defaults.filterGraceful,description:localize("suggest.filterGraceful","Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:defaults.localityBonus,description:localize("suggest.localityBonus","Controls whether sorting favors words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:defaults.shareSuggestSelections,markdownDescription:localize("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:[localize("suggest.insertMode.always","Always select a suggestion when automatically triggering IntelliSense."),localize("suggest.insertMode.never","Never select a suggestion when automatically triggering IntelliSense."),localize("suggest.insertMode.whenTriggerCharacter","Select a suggestion only when triggering IntelliSense from a trigger character."),localize("suggest.insertMode.whenQuickSuggestion","Select a suggestion only when triggering IntelliSense as you type.")],default:defaults.selectionMode,markdownDescription:localize("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:defaults.snippetsPreventQuickSuggestions,description:localize("suggest.snippetsPreventQuickSuggestions","Controls whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:defaults.showIcons,description:localize("suggest.showIcons","Controls whether to show or hide icons in suggestions.")},"editor.suggest.showStatusBar":{type:"boolean",default:defaults.showStatusBar,description:localize("suggest.showStatusBar","Controls the visibility of the status bar at the bottom of the suggest widget.")},"editor.suggest.preview":{type:"boolean",default:defaults.preview,description:localize("suggest.preview","Controls whether to preview the suggestion outcome in the editor.")},"editor.suggest.showInlineDetails":{type:"boolean",default:defaults.showInlineDetails,description:localize("suggest.showInlineDetails","Controls whether suggest details show inline with the label or only in the details widget.")},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:localize("suggest.maxVisibleSuggestions.dep","This setting is deprecated. The suggest widget can now be resized.")},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:localize("deprecated","This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.")},"editor.suggest.showMethods":{type:"boolean",default:true,markdownDescription:localize("editor.suggest.showMethods","When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:"boolean",default:true,markdownDescription:localize("editor.suggest.showFunctions","When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:"boolean",default:true,markdownDescription:localize("editor.suggest.showConstructors","When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:"boolean",default:true,markdownDescription:localize("editor.suggest.showDeprecated","When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:true,markdownDescription:localize("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:true,markdownDescription:localize("editor.suggest.showFields","When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:"boolean",default:true,markdownDescription:localize("editor.suggest.showVariables","When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:"boolean",default:true,markdownDescription:localize("editor.suggest.showClasss","When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:"boolean",default:true,markdownDescription:localize("editor.suggest.showStructs","When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:"boolean",default:true,markdownDescription:localize("editor.suggest.showInterfaces","When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:"boolean",default:true,markdownDescription:localize("editor.suggest.showModules","When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:"boolean",default:true,markdownDescription:localize("editor.suggest.showPropertys","When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:"boolean",default:true,markdownDescription:localize("editor.suggest.showEvents","When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:"boolean",default:true,markdownDescription:localize("editor.suggest.showOperators","When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:"boolean",default:true,markdownDescription:localize("editor.suggest.showUnits","When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:"boolean",default:true,markdownDescription:localize("editor.suggest.showValues","When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:"boolean",default:true,markdownDescription:localize("editor.suggest.showConstants","When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:"boolean",default:true,markdownDescription:localize("editor.suggest.showEnums","When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:"boolean",default:true,markdownDescription:localize("editor.suggest.showEnumMembers","When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:"boolean",default:true,markdownDescription:localize("editor.suggest.showKeywords","When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:"boolean",default:true,markdownDescription:localize("editor.suggest.showTexts","When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:"boolean",default:true,markdownDescription:localize("editor.suggest.showColors","When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:"boolean",default:true,markdownDescription:localize("editor.suggest.showFiles","When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:"boolean",default:true,markdownDescription:localize("editor.suggest.showReferences","When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:"boolean",default:true,markdownDescription:localize("editor.suggest.showCustomcolors","When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:"boolean",default:true,markdownDescription:localize("editor.suggest.showFolders","When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:"boolean",default:true,markdownDescription:localize("editor.suggest.showTypeParameters","When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:"boolean",default:true,markdownDescription:localize("editor.suggest.showSnippets","When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:"boolean",default:true,markdownDescription:localize("editor.suggest.showUsers","When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:"boolean",default:true,markdownDescription:localize("editor.suggest.showIssues","When enabled IntelliSense shows `issues`-suggestions.")}})}validate(_input){if(!_input||typeof _input!=="object"){return this.defaultValue}const input=_input;return{insertMode:stringSet(input.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:boolean(input.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:boolean(input.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:boolean(input.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:boolean(input.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:stringSet(input.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:boolean(input.showIcons,this.defaultValue.showIcons),showStatusBar:boolean(input.showStatusBar,this.defaultValue.showStatusBar),preview:boolean(input.preview,this.defaultValue.preview),previewMode:stringSet(input.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:boolean(input.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:boolean(input.showMethods,this.defaultValue.showMethods),showFunctions:boolean(input.showFunctions,this.defaultValue.showFunctions),showConstructors:boolean(input.showConstructors,this.defaultValue.showConstructors),showDeprecated:boolean(input.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:boolean(input.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:boolean(input.showFields,this.defaultValue.showFields),showVariables:boolean(input.showVariables,this.defaultValue.showVariables),showClasses:boolean(input.showClasses,this.defaultValue.showClasses),showStructs:boolean(input.showStructs,this.defaultValue.showStructs),showInterfaces:boolean(input.showInterfaces,this.defaultValue.showInterfaces),showModules:boolean(input.showModules,this.defaultValue.showModules),showProperties:boolean(input.showProperties,this.defaultValue.showProperties),showEvents:boolean(input.showEvents,this.defaultValue.showEvents),showOperators:boolean(input.showOperators,this.defaultValue.showOperators),showUnits:boolean(input.showUnits,this.defaultValue.showUnits),showValues:boolean(input.showValues,this.defaultValue.showValues),showConstants:boolean(input.showConstants,this.defaultValue.showConstants),showEnums:boolean(input.showEnums,this.defaultValue.showEnums),showEnumMembers:boolean(input.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:boolean(input.showKeywords,this.defaultValue.showKeywords),showWords:boolean(input.showWords,this.defaultValue.showWords),showColors:boolean(input.showColors,this.defaultValue.showColors),showFiles:boolean(input.showFiles,this.defaultValue.showFiles),showReferences:boolean(input.showReferences,this.defaultValue.showReferences),showFolders:boolean(input.showFolders,this.defaultValue.showFolders),showTypeParameters:boolean(input.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:boolean(input.showSnippets,this.defaultValue.showSnippets),showUsers:boolean(input.showUsers,this.defaultValue.showUsers),showIssues:boolean(input.showIssues,this.defaultValue.showIssues)}}};SmartSelect=class extends BaseEditorOption{constructor(){super(111,"smartSelect",{selectLeadingAndTrailingWhitespace:true,selectSubwords:true},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:localize("selectLeadingAndTrailingWhitespace","Whether leading and trailing whitespace should always be selected."),default:true,type:"boolean"},"editor.smartSelect.selectSubwords":{description:localize("selectSubwords","Whether subwords (like 'foo' in 'fooBar' or 'foo_bar') should be selected."),default:true,type:"boolean"}})}validate(input){if(!input||typeof input!=="object"){return this.defaultValue}return{selectLeadingAndTrailingWhitespace:boolean(input.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:boolean(input.selectSubwords,this.defaultValue.selectSubwords)}}};WrappingIndentOption=class extends BaseEditorOption{constructor(){super(135,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[localize("wrappingIndent.none","No indentation. Wrapped lines begin at column 1."),localize("wrappingIndent.same","Wrapped lines get the same indentation as the parent."),localize("wrappingIndent.indent","Wrapped lines get +1 indentation toward the parent."),localize("wrappingIndent.deepIndent","Wrapped lines get +2 indentation toward the parent.")],description:localize("wrappingIndent","Controls the indentation of wrapped lines."),default:"same"}})}validate(input){switch(input){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}return 1}compute(env2,options2,value){const accessibilitySupport=options2.get(2);if(accessibilitySupport===2){return 0}return value}};EditorWrappingInfoComputer=class extends ComputedEditorOption{constructor(){super(143)}compute(env2,options2,_){const layoutInfo=options2.get(142);return{isDominatedByLongLines:env2.isDominatedByLongLines,isWordWrapMinified:layoutInfo.isWordWrapMinified,isViewportWrapping:layoutInfo.isViewportWrapping,wrappingColumn:layoutInfo.wrappingColumn}}};EditorDropIntoEditor=class extends BaseEditorOption{constructor(){const defaults={enabled:true,showDropSelector:"afterDrop"};super(35,"dropIntoEditor",defaults,{"editor.dropIntoEditor.enabled":{type:"boolean",default:defaults.enabled,markdownDescription:localize("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).")},"editor.dropIntoEditor.showDropSelector":{type:"string",markdownDescription:localize("dropIntoEditor.showDropSelector","Controls if a widget is shown when dropping files into the editor. This widget lets you control how the file is dropped."),enum:["afterDrop","never"],enumDescriptions:[localize("dropIntoEditor.showDropSelector.afterDrop","Show the drop selector widget after a file is dropped into the editor."),localize("dropIntoEditor.showDropSelector.never","Never show the drop selector widget. Instead the default drop provider is always used.")],default:"afterDrop"}})}validate(_input){if(!_input||typeof _input!=="object"){return this.defaultValue}const input=_input;return{enabled:boolean(input.enabled,this.defaultValue.enabled),showDropSelector:stringSet(input.showDropSelector,this.defaultValue.showDropSelector,["afterDrop","never"])}}};EditorPasteAs=class extends BaseEditorOption{constructor(){const defaults={enabled:true,showPasteSelector:"afterPaste"};super(83,"pasteAs",defaults,{"editor.pasteAs.enabled":{type:"boolean",default:defaults.enabled,markdownDescription:localize("pasteAs.enabled","Controls whether you can paste content in different ways.")},"editor.pasteAs.showPasteSelector":{type:"string",markdownDescription:localize("pasteAs.showPasteSelector","Controls if a widget is shown when pasting content in to the editor. This widget lets you control how the file is pasted."),enum:["afterPaste","never"],enumDescriptions:[localize("pasteAs.showPasteSelector.afterPaste","Show the paste selector widget after content is pasted into the editor."),localize("pasteAs.showPasteSelector.never","Never show the paste selector widget. Instead the default pasting behavior is always used.")],default:"afterPaste"}})}validate(_input){if(!_input||typeof _input!=="object"){return this.defaultValue}const input=_input;return{enabled:boolean(input.enabled,this.defaultValue.enabled),showPasteSelector:stringSet(input.showPasteSelector,this.defaultValue.showPasteSelector,["afterPaste","never"])}}};DEFAULT_WINDOWS_FONT_FAMILY="Consolas, 'Courier New', monospace";DEFAULT_MAC_FONT_FAMILY="Menlo, Monaco, 'Courier New', monospace";DEFAULT_LINUX_FONT_FAMILY="'Droid Sans Mono', 'monospace', monospace";EDITOR_FONT_DEFAULTS={fontFamily:isMacintosh?DEFAULT_MAC_FONT_FAMILY:isLinux?DEFAULT_LINUX_FONT_FAMILY:DEFAULT_WINDOWS_FONT_FAMILY,fontWeight:"normal",fontSize:isMacintosh?12:14,lineHeight:0,letterSpacing:0};editorOptionsRegistry=[];EditorOptions={acceptSuggestionOnCommitCharacter:register(new EditorBooleanOption(0,"acceptSuggestionOnCommitCharacter",true,{markdownDescription:localize("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:register(new EditorStringEnumOption(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",localize("acceptSuggestionOnEnterSmart","Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:localize("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:register(new EditorAccessibilitySupport),accessibilityPageSize:register(new EditorIntOption(3,"accessibilityPageSize",10,1,1073741824,{description:localize("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:register(new EditorStringOption(4,"ariaLabel",localize("editorViewAccessibleLabel","Editor content"))),ariaRequired:register(new EditorBooleanOption(5,"ariaRequired",false,void 0)),screenReaderAnnounceInlineSuggestion:register(new EditorBooleanOption(7,"screenReaderAnnounceInlineSuggestion",true,{description:localize("screenReaderAnnounceInlineSuggestion","Control whether inline suggestions are announced by a screen reader."),tags:["accessibility"]})),autoClosingBrackets:register(new EditorStringEnumOption(6,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",localize("editor.autoClosingBrackets.languageDefined","Use language configurations to determine when to autoclose brackets."),localize("editor.autoClosingBrackets.beforeWhitespace","Autoclose brackets only when the cursor is to the left of whitespace."),""],description:localize("autoClosingBrackets","Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingDelete:register(new EditorStringEnumOption(8,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",localize("editor.autoClosingDelete.auto","Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:localize("autoClosingDelete","Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:register(new EditorStringEnumOption(9,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",localize("editor.autoClosingOvertype.auto","Type over closing quotes or brackets only if they were automatically inserted."),""],description:localize("autoClosingOvertype","Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:register(new EditorStringEnumOption(10,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",localize("editor.autoClosingQuotes.languageDefined","Use language configurations to determine when to autoclose quotes."),localize("editor.autoClosingQuotes.beforeWhitespace","Autoclose quotes only when the cursor is to the left of whitespace."),""],description:localize("autoClosingQuotes","Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:register(new EditorEnumOption(11,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],_autoIndentFromString,{enumDescriptions:[localize("editor.autoIndent.none","The editor will not insert indentation automatically."),localize("editor.autoIndent.keep","The editor will keep the current line's indentation."),localize("editor.autoIndent.brackets","The editor will keep the current line's indentation and honor language defined brackets."),localize("editor.autoIndent.advanced","The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),localize("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:localize("autoIndent","Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),automaticLayout:register(new EditorBooleanOption(12,"automaticLayout",false)),autoSurround:register(new EditorStringEnumOption(13,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[localize("editor.autoSurround.languageDefined","Use language configurations to determine when to automatically surround selections."),localize("editor.autoSurround.quotes","Surround with quotes but not brackets."),localize("editor.autoSurround.brackets","Surround with brackets but not quotes."),""],description:localize("autoSurround","Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:register(new BracketPairColorization),bracketPairGuides:register(new GuideOptions),stickyTabStops:register(new EditorBooleanOption(114,"stickyTabStops",false,{description:localize("stickyTabStops","Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.")})),codeLens:register(new EditorBooleanOption(16,"codeLens",true,{description:localize("codeLens","Controls whether the editor shows CodeLens.")})),codeLensFontFamily:register(new EditorStringOption(17,"codeLensFontFamily","",{description:localize("codeLensFontFamily","Controls the font family for CodeLens.")})),codeLensFontSize:register(new EditorIntOption(18,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:localize("codeLensFontSize","Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.")})),colorDecorators:register(new EditorBooleanOption(19,"colorDecorators",true,{description:localize("colorDecorators","Controls whether the editor should render the inline color decorators and color picker.")})),colorDecoratorActivatedOn:register(new EditorStringEnumOption(145,"colorDecoratorsActivatedOn","clickAndHover",["clickAndHover","hover","click"],{enumDescriptions:[localize("editor.colorDecoratorActivatedOn.clickAndHover","Make the color picker appear both on click and hover of the color decorator"),localize("editor.colorDecoratorActivatedOn.hover","Make the color picker appear on hover of the color decorator"),localize("editor.colorDecoratorActivatedOn.click","Make the color picker appear on click of the color decorator")],description:localize("colorDecoratorActivatedOn","Controls the condition to make a color picker appear from a color decorator")})),colorDecoratorsLimit:register(new EditorIntOption(20,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:localize("colorDecoratorsLimit","Controls the max number of color decorators that can be rendered in an editor at once.")})),columnSelection:register(new EditorBooleanOption(21,"columnSelection",false,{description:localize("columnSelection","Enable that the selection with the mouse and keys is doing column selection.")})),comments:register(new EditorComments),contextmenu:register(new EditorBooleanOption(23,"contextmenu",true)),copyWithSyntaxHighlighting:register(new EditorBooleanOption(24,"copyWithSyntaxHighlighting",true,{description:localize("copyWithSyntaxHighlighting","Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:register(new EditorEnumOption(25,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],_cursorBlinkingStyleFromString,{description:localize("cursorBlinking","Control the cursor animation style.")})),cursorSmoothCaretAnimation:register(new EditorStringEnumOption(26,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[localize("cursorSmoothCaretAnimation.off","Smooth caret animation is disabled."),localize("cursorSmoothCaretAnimation.explicit","Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture."),localize("cursorSmoothCaretAnimation.on","Smooth caret animation is always enabled.")],description:localize("cursorSmoothCaretAnimation","Controls whether the smooth caret animation should be enabled.")})),cursorStyle:register(new EditorEnumOption(27,"cursorStyle",TextEditorCursorStyle.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],_cursorStyleFromString,{description:localize("cursorStyle","Controls the cursor style.")})),cursorSurroundingLines:register(new EditorIntOption(28,"cursorSurroundingLines",0,0,1073741824,{description:localize("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:register(new EditorStringEnumOption(29,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[localize("cursorSurroundingLinesStyle.default","`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),localize("cursorSurroundingLinesStyle.all","`cursorSurroundingLines` is enforced always.")],description:localize("cursorSurroundingLinesStyle","Controls when `cursorSurroundingLines` should be enforced.")})),cursorWidth:register(new EditorIntOption(30,"cursorWidth",0,0,1073741824,{markdownDescription:localize("cursorWidth","Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:register(new EditorBooleanOption(31,"disableLayerHinting",false)),disableMonospaceOptimizations:register(new EditorBooleanOption(32,"disableMonospaceOptimizations",false)),domReadOnly:register(new EditorBooleanOption(33,"domReadOnly",false)),dragAndDrop:register(new EditorBooleanOption(34,"dragAndDrop",true,{description:localize("dragAndDrop","Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:register(new EditorEmptySelectionClipboard),dropIntoEditor:register(new EditorDropIntoEditor),stickyScroll:register(new EditorStickyScroll),experimentalWhitespaceRendering:register(new EditorStringEnumOption(37,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[localize("experimentalWhitespaceRendering.svg","Use a new rendering method with svgs."),localize("experimentalWhitespaceRendering.font","Use a new rendering method with font characters."),localize("experimentalWhitespaceRendering.off","Use the stable rendering method.")],description:localize("experimentalWhitespaceRendering","Controls whether whitespace is rendered with a new, experimental method.")})),extraEditorClassName:register(new EditorStringOption(38,"extraEditorClassName","")),fastScrollSensitivity:register(new EditorFloatOption(39,"fastScrollSensitivity",5,(x=>x<=0?5:x),{markdownDescription:localize("fastScrollSensitivity","Scrolling speed multiplier when pressing `Alt`.")})),find:register(new EditorFind),fixedOverflowWidgets:register(new EditorBooleanOption(41,"fixedOverflowWidgets",false)),folding:register(new EditorBooleanOption(42,"folding",true,{description:localize("folding","Controls whether the editor has code folding enabled.")})),foldingStrategy:register(new EditorStringEnumOption(43,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[localize("foldingStrategy.auto","Use a language-specific folding strategy if available, else the indentation-based one."),localize("foldingStrategy.indentation","Use the indentation-based folding strategy.")],description:localize("foldingStrategy","Controls the strategy for computing folding ranges.")})),foldingHighlight:register(new EditorBooleanOption(44,"foldingHighlight",true,{description:localize("foldingHighlight","Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:register(new EditorBooleanOption(45,"foldingImportsByDefault",false,{description:localize("foldingImportsByDefault","Controls whether the editor automatically collapses import ranges.")})),foldingMaximumRegions:register(new EditorIntOption(46,"foldingMaximumRegions",5e3,10,65e3,{description:localize("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:register(new EditorBooleanOption(47,"unfoldOnClickAfterEndOfLine",false,{description:localize("unfoldOnClickAfterEndOfLine","Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:register(new EditorStringOption(48,"fontFamily",EDITOR_FONT_DEFAULTS.fontFamily,{description:localize("fontFamily","Controls the font family.")})),fontInfo:register(new EditorFontInfo),fontLigatures2:register(new EditorFontLigatures),fontSize:register(new EditorFontSize),fontWeight:register(new EditorFontWeight),fontVariations:register(new EditorFontVariations),formatOnPaste:register(new EditorBooleanOption(54,"formatOnPaste",false,{description:localize("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:register(new EditorBooleanOption(55,"formatOnType",false,{description:localize("formatOnType","Controls whether the editor should automatically format the line after typing.")})),glyphMargin:register(new EditorBooleanOption(56,"glyphMargin",true,{description:localize("glyphMargin","Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:register(new EditorGoToLocation),hideCursorInOverviewRuler:register(new EditorBooleanOption(58,"hideCursorInOverviewRuler",false,{description:localize("hideCursorInOverviewRuler","Controls whether the cursor should be hidden in the overview ruler.")})),hover:register(new EditorHover),inDiffEditor:register(new EditorBooleanOption(60,"inDiffEditor",false)),letterSpacing:register(new EditorFloatOption(62,"letterSpacing",EDITOR_FONT_DEFAULTS.letterSpacing,(x=>EditorFloatOption.clamp(x,-5,20)),{description:localize("letterSpacing","Controls the letter spacing in pixels.")})),lightbulb:register(new EditorLightbulb),lineDecorationsWidth:register(new EditorLineDecorationsWidth),lineHeight:register(new EditorLineHeight),lineNumbers:register(new EditorRenderLineNumbersOption),lineNumbersMinChars:register(new EditorIntOption(67,"lineNumbersMinChars",5,1,300)),linkedEditing:register(new EditorBooleanOption(68,"linkedEditing",false,{description:localize("linkedEditing","Controls whether the editor has linked editing enabled. Depending on the language, related symbols such as HTML tags, are updated while editing.")})),links:register(new EditorBooleanOption(69,"links",true,{description:localize("links","Controls whether the editor should detect links and make them clickable.")})),matchBrackets:register(new EditorStringEnumOption(70,"matchBrackets","always",["always","near","never"],{description:localize("matchBrackets","Highlight matching brackets.")})),minimap:register(new EditorMinimap),mouseStyle:register(new EditorStringEnumOption(72,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:register(new EditorFloatOption(73,"mouseWheelScrollSensitivity",1,(x=>x===0?1:x),{markdownDescription:localize("mouseWheelScrollSensitivity","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:register(new EditorBooleanOption(74,"mouseWheelZoom",false,{markdownDescription:localize("mouseWheelZoom","Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:register(new EditorBooleanOption(75,"multiCursorMergeOverlapping",true,{description:localize("multiCursorMergeOverlapping","Merge multiple cursors when they are overlapping.")})),multiCursorModifier:register(new EditorEnumOption(76,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],_multiCursorModifierFromString,{markdownEnumDescriptions:[localize("multiCursorModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),localize("multiCursorModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:localize({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:register(new EditorStringEnumOption(77,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[localize("multiCursorPaste.spread","Each cursor pastes a single line of the text."),localize("multiCursorPaste.full","Each cursor pastes the full text.")],markdownDescription:localize("multiCursorPaste","Controls pasting when the line count of the pasted text matches the cursor count.")})),multiCursorLimit:register(new EditorIntOption(78,"multiCursorLimit",1e4,1,1e5,{markdownDescription:localize("multiCursorLimit","Controls the max number of cursors that can be in an active editor at once.")})),occurrencesHighlight:register(new EditorBooleanOption(79,"occurrencesHighlight",true,{description:localize("occurrencesHighlight","Controls whether the editor should highlight semantic symbol occurrences.")})),overviewRulerBorder:register(new EditorBooleanOption(80,"overviewRulerBorder",true,{description:localize("overviewRulerBorder","Controls whether a border should be drawn around the overview ruler.")})),overviewRulerLanes:register(new EditorIntOption(81,"overviewRulerLanes",3,0,3)),padding:register(new EditorPadding),pasteAs:register(new EditorPasteAs),parameterHints:register(new EditorParameterHints),peekWidgetDefaultFocus:register(new EditorStringEnumOption(85,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[localize("peekWidgetDefaultFocus.tree","Focus the tree when opening peek"),localize("peekWidgetDefaultFocus.editor","Focus the editor when opening peek")],description:localize("peekWidgetDefaultFocus","Controls whether to focus the inline editor or the tree in the peek widget.")})),definitionLinkOpensInPeek:register(new EditorBooleanOption(86,"definitionLinkOpensInPeek",false,{description:localize("definitionLinkOpensInPeek","Controls whether the Go to Definition mouse gesture always opens the peek widget.")})),quickSuggestions:register(new EditorQuickSuggestions),quickSuggestionsDelay:register(new EditorIntOption(88,"quickSuggestionsDelay",10,0,1073741824,{description:localize("quickSuggestionsDelay","Controls the delay in milliseconds after which quick suggestions will show up.")})),readOnly:register(new EditorBooleanOption(89,"readOnly",false)),readOnlyMessage:register(new ReadonlyMessage),renameOnType:register(new EditorBooleanOption(91,"renameOnType",false,{description:localize("renameOnType","Controls whether the editor auto renames on type."),markdownDeprecationMessage:localize("renameOnTypeDeprecate","Deprecated, use `editor.linkedEditing` instead.")})),renderControlCharacters:register(new EditorBooleanOption(92,"renderControlCharacters",true,{description:localize("renderControlCharacters","Controls whether the editor should render control characters."),restricted:true})),renderFinalNewline:register(new EditorStringEnumOption(93,"renderFinalNewline",isLinux?"dimmed":"on",["off","on","dimmed"],{description:localize("renderFinalNewline","Render last line number when the file ends with a newline.")})),renderLineHighlight:register(new EditorStringEnumOption(94,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",localize("renderLineHighlight.all","Highlights both the gutter and the current line.")],description:localize("renderLineHighlight","Controls how the editor should render the current line highlight.")})),renderLineHighlightOnlyWhenFocus:register(new EditorBooleanOption(95,"renderLineHighlightOnlyWhenFocus",false,{description:localize("renderLineHighlightOnlyWhenFocus","Controls if the editor should render the current line highlight only when the editor is focused.")})),renderValidationDecorations:register(new EditorStringEnumOption(96,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:register(new EditorStringEnumOption(97,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",localize("renderWhitespace.boundary","Render whitespace characters except for single spaces between words."),localize("renderWhitespace.selection","Render whitespace characters only on selected text."),localize("renderWhitespace.trailing","Render only trailing whitespace characters."),""],description:localize("renderWhitespace","Controls how the editor should render whitespace characters.")})),revealHorizontalRightPadding:register(new EditorIntOption(98,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:register(new EditorBooleanOption(99,"roundedSelection",true,{description:localize("roundedSelection","Controls whether selections should have rounded corners.")})),rulers:register(new EditorRulers),scrollbar:register(new EditorScrollbar),scrollBeyondLastColumn:register(new EditorIntOption(102,"scrollBeyondLastColumn",4,0,1073741824,{description:localize("scrollBeyondLastColumn","Controls the number of extra characters beyond which the editor will scroll horizontally.")})),scrollBeyondLastLine:register(new EditorBooleanOption(103,"scrollBeyondLastLine",true,{description:localize("scrollBeyondLastLine","Controls whether the editor will scroll beyond the last line.")})),scrollPredominantAxis:register(new EditorBooleanOption(104,"scrollPredominantAxis",true,{description:localize("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:register(new EditorBooleanOption(105,"selectionClipboard",true,{description:localize("selectionClipboard","Controls whether the Linux primary clipboard should be supported."),included:isLinux})),selectionHighlight:register(new EditorBooleanOption(106,"selectionHighlight",true,{description:localize("selectionHighlight","Controls whether the editor should highlight matches similar to the selection.")})),selectOnLineNumbers:register(new EditorBooleanOption(107,"selectOnLineNumbers",true)),showFoldingControls:register(new EditorStringEnumOption(108,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[localize("showFoldingControls.always","Always show the folding controls."),localize("showFoldingControls.never","Never show the folding controls and reduce the gutter size."),localize("showFoldingControls.mouseover","Only show the folding controls when the mouse is over the gutter.")],description:localize("showFoldingControls","Controls when the folding controls on the gutter are shown.")})),showUnused:register(new EditorBooleanOption(109,"showUnused",true,{description:localize("showUnused","Controls fading out of unused code.")})),showDeprecated:register(new EditorBooleanOption(137,"showDeprecated",true,{description:localize("showDeprecated","Controls strikethrough deprecated variables.")})),inlayHints:register(new EditorInlayHints),snippetSuggestions:register(new EditorStringEnumOption(110,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[localize("snippetSuggestions.top","Show snippet suggestions on top of other suggestions."),localize("snippetSuggestions.bottom","Show snippet suggestions below other suggestions."),localize("snippetSuggestions.inline","Show snippets suggestions with other suggestions."),localize("snippetSuggestions.none","Do not show snippet suggestions.")],description:localize("snippetSuggestions","Controls whether snippets are shown with other suggestions and how they are sorted.")})),smartSelect:register(new SmartSelect),smoothScrolling:register(new EditorBooleanOption(112,"smoothScrolling",false,{description:localize("smoothScrolling","Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:register(new EditorIntOption(115,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:register(new EditorSuggest),inlineSuggest:register(new InlineEditorSuggest),inlineCompletionsAccessibilityVerbose:register(new EditorBooleanOption(146,"inlineCompletionsAccessibilityVerbose",false,{description:localize("inlineCompletionsAccessibilityVerbose","Controls whether the accessibility hint should be provided to screen reader users when an inline completion is shown.")})),suggestFontSize:register(new EditorIntOption(117,"suggestFontSize",0,0,1e3,{markdownDescription:localize("suggestFontSize","Font size for the suggest widget. When set to {0}, the value of {1} is used.","`0`","`#editor.fontSize#`")})),suggestLineHeight:register(new EditorIntOption(118,"suggestLineHeight",0,0,1e3,{markdownDescription:localize("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:register(new EditorBooleanOption(119,"suggestOnTriggerCharacters",true,{description:localize("suggestOnTriggerCharacters","Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:register(new EditorStringEnumOption(120,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[localize("suggestSelection.first","Always select the first suggestion."),localize("suggestSelection.recentlyUsed","Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),localize("suggestSelection.recentlyUsedByPrefix","Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:localize("suggestSelection","Controls how suggestions are pre-selected when showing the suggest list.")})),tabCompletion:register(new EditorStringEnumOption(121,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[localize("tabCompletion.on","Tab complete will insert the best matching suggestion when pressing tab."),localize("tabCompletion.off","Disable tab completions."),localize("tabCompletion.onlySnippets","Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:localize("tabCompletion","Enables tab completions.")})),tabIndex:register(new EditorIntOption(122,"tabIndex",0,-1,1073741824)),unicodeHighlight:register(new UnicodeHighlight),unusualLineTerminators:register(new EditorStringEnumOption(124,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[localize("unusualLineTerminators.auto","Unusual line terminators are automatically removed."),localize("unusualLineTerminators.off","Unusual line terminators are ignored."),localize("unusualLineTerminators.prompt","Unusual line terminators prompt to be removed.")],description:localize("unusualLineTerminators","Remove unusual line terminators that might cause problems.")})),useShadowDOM:register(new EditorBooleanOption(125,"useShadowDOM",true)),useTabStops:register(new EditorBooleanOption(126,"useTabStops",true,{description:localize("useTabStops","Inserting and deleting whitespace follows tab stops.")})),wordBreak:register(new EditorStringEnumOption(127,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[localize("wordBreak.normal","Use the default line break rule."),localize("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:localize("wordBreak","Controls the word break rules used for Chinese/Japanese/Korean (CJK) text.")})),wordSeparators:register(new EditorStringOption(128,"wordSeparators",USUAL_WORD_SEPARATORS,{description:localize("wordSeparators","Characters that will be used as word separators when doing word related navigations or operations.")})),wordWrap:register(new EditorStringEnumOption(129,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[localize("wordWrap.off","Lines will never wrap."),localize("wordWrap.on","Lines will wrap at the viewport width."),localize({key:"wordWrap.wordWrapColumn",comment:["- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at `#editor.wordWrapColumn#`."),localize({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:localize({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:register(new EditorStringOption(130,"wordWrapBreakAfterCharacters"," \t})]?|/&.,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」")),wordWrapBreakBeforeCharacters:register(new EditorStringOption(131,"wordWrapBreakBeforeCharacters","([{‘“〈《「『【〔([{「£¥$£¥+")),wordWrapColumn:register(new EditorIntOption(132,"wordWrapColumn",80,1,1073741824,{markdownDescription:localize({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:register(new EditorStringEnumOption(133,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:register(new EditorStringEnumOption(134,"wordWrapOverride2","inherit",["off","on","inherit"])),editorClassName:register(new EditorClassName),defaultColorDecorators:register(new EditorBooleanOption(144,"defaultColorDecorators",false,{markdownDescription:localize("defaultColorDecorators","Controls whether inline color decorations should be shown using the default document color provider")})),pixelRatio:register(new EditorPixelRatio),tabFocusMode:register(new EditorBooleanOption(141,"tabFocusMode",false,{markdownDescription:localize("tabFocusMode","Controls whether the editor receives tabs or defers them to the workbench for navigation.")})),layoutInfo:register(new EditorLayoutInfoComputer),wrappingInfo:register(new EditorWrappingInfoComputer),wrappingIndent:register(new WrappingIndentOption),wrappingStrategy:register(new WrappingStrategy)}}});function onUnexpectedError(e){if(!isCancellationError(e)){errorHandler.onUnexpectedError(e)}return void 0}function onUnexpectedExternalError(e){if(!isCancellationError(e)){errorHandler.onUnexpectedExternalError(e)}return void 0}function transformErrorForSerialization(error){if(error instanceof Error){const{name:name,message:message}=error;const stack=error.stacktrace||error.stack;return{$isError:true,name:name,message:message,stack:stack,noTelemetry:ErrorNoTelemetry.isErrorNoTelemetry(error)}}return error}function isCancellationError(error){if(error instanceof CancellationError){return true}return error instanceof Error&&error.name===canceledName&&error.message===canceledName}function canceled(){const error=new Error(canceledName);error.name=error.message;return error}function illegalArgument(name){if(name){return new Error(`Illegal argument: ${name}`)}else{return new Error("Illegal argument")}}function illegalState(name){if(name){return new Error(`Illegal state: ${name}`)}else{return new Error("Illegal state")}}var ErrorHandler,errorHandler,canceledName,CancellationError,NotSupportedError,ErrorNoTelemetry,BugIndicatingError;var init_errors=__esm({"node_modules/monaco-editor/esm/vs/base/common/errors.js"(){ErrorHandler=class{constructor(){this.listeners=[];this.unexpectedErrorHandler=function(e){setTimeout((()=>{if(e.stack){if(ErrorNoTelemetry.isErrorNoTelemetry(e)){throw new ErrorNoTelemetry(e.message+"\n\n"+e.stack)}throw new Error(e.message+"\n\n"+e.stack)}throw e}),0)}}emit(e){this.listeners.forEach((listener=>{listener(e)}))}onUnexpectedError(e){this.unexpectedErrorHandler(e);this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};errorHandler=new ErrorHandler;canceledName="Canceled";CancellationError=class extends Error{constructor(){super(canceledName);this.name=this.message}};NotSupportedError=class extends Error{constructor(message){super("NotSupported");if(message){this.message=message}}};ErrorNoTelemetry=class extends Error{constructor(msg){super(msg);this.name="CodeExpectedError"}static fromError(err){if(err instanceof ErrorNoTelemetry){return err}const result=new ErrorNoTelemetry;result.message=err.message;result.stack=err.stack;return result}static isErrorNoTelemetry(err){return err.name==="CodeExpectedError"}};BugIndicatingError=class extends Error{constructor(message){super(message||"An unexpected bug occurred.");Object.setPrototypeOf(this,BugIndicatingError.prototype)}}}});function once(fn){const _this=this;let didCall=false;let result;return function(){if(didCall){return result}didCall=true;result=fn.apply(_this,arguments);return result}}var init_functional=__esm({"node_modules/monaco-editor/esm/vs/base/common/functional.js"(){}});function setDisposableTracker(tracker){disposableTracker=tracker}function trackDisposable(x){disposableTracker===null||disposableTracker===void 0?void 0:disposableTracker.trackDisposable(x);return x}function markAsDisposed(disposable){disposableTracker===null||disposableTracker===void 0?void 0:disposableTracker.markAsDisposed(disposable)}function setParentOfDisposable(child,parent){disposableTracker===null||disposableTracker===void 0?void 0:disposableTracker.setParent(child,parent)}function setParentOfDisposables(children,parent){if(!disposableTracker){return}for(const child of children){disposableTracker.setParent(child,parent)}}function markAsSingleton(singleton){disposableTracker===null||disposableTracker===void 0?void 0:disposableTracker.markAsSingleton(singleton);return singleton}function isDisposable(thing){return typeof thing.dispose==="function"&&thing.dispose.length===0}function dispose(arg){if(Iterable.is(arg)){const errors=[];for(const d of arg){if(d){try{d.dispose()}catch(e){errors.push(e)}}}if(errors.length===1){throw errors[0]}else if(errors.length>1){throw new AggregateError(errors,"Encountered errors while disposing of store")}return Array.isArray(arg)?[]:arg}else if(arg){arg.dispose();return arg}}function combinedDisposable(...disposables){const parent=toDisposable((()=>dispose(disposables)));setParentOfDisposables(disposables,parent);return parent}function toDisposable(fn){const self2=trackDisposable({dispose:once((()=>{markAsDisposed(self2);fn()}))});return self2}var TRACK_DISPOSABLES,disposableTracker,DisposableStore,Disposable,MutableDisposable,RefCountedDisposable,ImmortalReference,DisposableMap;var init_lifecycle=__esm({"node_modules/monaco-editor/esm/vs/base/common/lifecycle.js"(){init_functional();init_iterator();TRACK_DISPOSABLES=false;disposableTracker=null;if(TRACK_DISPOSABLES){const __is_disposable_tracked__="__is_disposable_tracked__";setDisposableTracker(new class{trackDisposable(x){const stack=new Error("Potentially leaked disposable").stack;setTimeout((()=>{if(!x[__is_disposable_tracked__]){console.log(stack)}}),3e3)}setParent(child,parent){if(child&&child!==Disposable.None){try{child[__is_disposable_tracked__]=true}catch(_a6){}}}markAsDisposed(disposable){if(disposable&&disposable!==Disposable.None){try{disposable[__is_disposable_tracked__]=true}catch(_a6){}}}markAsSingleton(disposable){}})}DisposableStore=class{constructor(){this._toDispose=new Set;this._isDisposed=false;trackDisposable(this)}dispose(){if(this._isDisposed){return}markAsDisposed(this);this._isDisposed=true;this.clear()}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size===0){return}try{dispose(this._toDispose)}finally{this._toDispose.clear()}}add(o){if(!o){return o}if(o===this){throw new Error("Cannot register a disposable on itself!")}setParentOfDisposable(o,this);if(this._isDisposed){if(!DisposableStore.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)}}else{this._toDispose.add(o)}return o}};DisposableStore.DISABLE_DISPOSED_WARNING=false;Disposable=class{constructor(){this._store=new DisposableStore;trackDisposable(this);setParentOfDisposable(this._store,this)}dispose(){markAsDisposed(this);this._store.dispose()}_register(o){if(o===this){throw new Error("Cannot register a disposable on itself!")}return this._store.add(o)}};Disposable.None=Object.freeze({dispose(){}});MutableDisposable=class{constructor(){this._isDisposed=false;trackDisposable(this)}get value(){return this._isDisposed?void 0:this._value}set value(value){var _a6;if(this._isDisposed||value===this._value){return}(_a6=this._value)===null||_a6===void 0?void 0:_a6.dispose();if(value){setParentOfDisposable(value,this)}this._value=value}clear(){this.value=void 0}dispose(){var _a6;this._isDisposed=true;markAsDisposed(this);(_a6=this._value)===null||_a6===void 0?void 0:_a6.dispose();this._value=void 0}};RefCountedDisposable=class{constructor(_disposable){this._disposable=_disposable;this._counter=1}acquire(){this._counter++;return this}release(){if(--this._counter===0){this._disposable.dispose()}return this}};ImmortalReference=class{constructor(object){this.object=object}dispose(){}};DisposableMap=class{constructor(){this._store=new Map;this._isDisposed=false;trackDisposable(this)}dispose(){markAsDisposed(this);this._isDisposed=true;this.clearAndDisposeAll()}clearAndDisposeAll(){if(!this._store.size){return}try{dispose(this._store.values())}finally{this._store.clear()}}get(key){return this._store.get(key)}set(key,value,skipDisposeOnOverwrite=false){var _a6;if(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)}if(!skipDisposeOnOverwrite){(_a6=this._store.get(key))===null||_a6===void 0?void 0:_a6.dispose()}this._store.set(key,value)}deleteAndDispose(key){var _a6;(_a6=this._store.get(key))===null||_a6===void 0?void 0:_a6.dispose();this._store.delete(key)}[Symbol.iterator](){return this._store[Symbol.iterator]()}}}});var hasPerformanceNow,StopWatch;var init_stopwatch=__esm({"node_modules/monaco-editor/esm/vs/base/common/stopwatch.js"(){hasPerformanceNow=globalThis.performance&&typeof globalThis.performance.now==="function";StopWatch=class{static create(highResolution){return new StopWatch(highResolution)}constructor(highResolution){this._now=hasPerformanceNow&&highResolution===false?Date.now:globalThis.performance.now.bind(globalThis.performance);this._startTime=this._now();this._stopTime=-1}stop(){this._stopTime=this._now()}elapsed(){if(this._stopTime!==-1){return this._stopTime-this._startTime}return this._now()-this._startTime}}}});var _enableDisposeWithListenerWarning,_enableSnapshotPotentialLeakWarning,Event,EventProfiling,_globalLeakWarningThreshold,LeakageMonitor,Stacktrace,UniqueContainer,compactionThreshold,forEachListener,Emitter,createEventDeliveryQueue,EventDeliveryQueuePrivate,PauseableEmitter,DebounceEmitter,MicrotaskEmitter,EventMultiplexer,EventBufferer,Relay;var init_event=__esm({"node_modules/monaco-editor/esm/vs/base/common/event.js"(){init_errors();init_functional();init_lifecycle();init_linkedList();init_stopwatch();_enableDisposeWithListenerWarning=false;_enableSnapshotPotentialLeakWarning=false;(function(Event2){Event2.None=()=>Disposable.None;function _addLeakageTraceLogic(options2){if(_enableSnapshotPotentialLeakWarning){const{onDidAddListener:origListenerDidAdd}=options2;const stack=Stacktrace.create();let count=0;options2.onDidAddListener=()=>{if(++count===2){console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here");stack.print()}origListenerDidAdd===null||origListenerDidAdd===void 0?void 0:origListenerDidAdd()}}}function defer(event,disposable){return debounce(event,(()=>void 0),0,void 0,true,void 0,disposable)}Event2.defer=defer;function once3(event){return(listener,thisArgs=null,disposables)=>{let didFire=false;let result=void 0;result=event((e=>{if(didFire){return}else if(result){result.dispose()}else{didFire=true}return listener.call(thisArgs,e)}),null,disposables);if(didFire){result.dispose()}return result}}Event2.once=once3;function map(event,map2,disposable){return snapshot(((listener,thisArgs=null,disposables)=>event((i=>listener.call(thisArgs,map2(i))),null,disposables)),disposable)}Event2.map=map;function forEach(event,each,disposable){return snapshot(((listener,thisArgs=null,disposables)=>event((i=>{each(i);listener.call(thisArgs,i)}),null,disposables)),disposable)}Event2.forEach=forEach;function filter(event,filter2,disposable){return snapshot(((listener,thisArgs=null,disposables)=>event((e=>filter2(e)&&listener.call(thisArgs,e)),null,disposables)),disposable)}Event2.filter=filter;function signal(event){return event}Event2.signal=signal;function any(...events){return(listener,thisArgs=null,disposables)=>combinedDisposable(...events.map((event=>event((e=>listener.call(thisArgs,e)),null,disposables))))}Event2.any=any;function reduce(event,merge,initial,disposable){let output=initial;return map(event,(e=>{output=merge(output,e);return output}),disposable)}Event2.reduce=reduce;function snapshot(event,disposable){let listener;const options2={onWillAddFirstListener(){listener=event(emitter.fire,emitter)},onDidRemoveLastListener(){listener===null||listener===void 0?void 0:listener.dispose()}};if(!disposable){_addLeakageTraceLogic(options2)}const emitter=new Emitter(options2);disposable===null||disposable===void 0?void 0:disposable.add(emitter);return emitter.event}function debounce(event,merge,delay=100,leading=false,flushOnListenerRemove=false,leakWarningThreshold,disposable){let subscription;let output=void 0;let handle=void 0;let numDebouncedCalls=0;let doFire;const options2={leakWarningThreshold:leakWarningThreshold,onWillAddFirstListener(){subscription=event((cur=>{numDebouncedCalls++;output=merge(output,cur);if(leading&&!handle){emitter.fire(output);output=void 0}doFire=()=>{const _output=output;output=void 0;handle=void 0;if(!leading||numDebouncedCalls>1){emitter.fire(_output)}numDebouncedCalls=0};if(typeof delay==="number"){clearTimeout(handle);handle=setTimeout(doFire,delay)}else{if(handle===void 0){handle=0;queueMicrotask(doFire)}}}))},onWillRemoveListener(){if(flushOnListenerRemove&&numDebouncedCalls>0){doFire===null||doFire===void 0?void 0:doFire()}},onDidRemoveLastListener(){doFire=void 0;subscription.dispose()}};if(!disposable){_addLeakageTraceLogic(options2)}const emitter=new Emitter(options2);disposable===null||disposable===void 0?void 0:disposable.add(emitter);return emitter.event}Event2.debounce=debounce;function accumulate(event,delay=0,disposable){return Event2.debounce(event,((last,e)=>{if(!last){return[e]}last.push(e);return last}),delay,void 0,true,void 0,disposable)}Event2.accumulate=accumulate;function latch(event,equals4=((a,b)=>a===b),disposable){let firstCall=true;let cache;return filter(event,(value=>{const shouldEmit=firstCall||!equals4(value,cache);firstCall=false;cache=value;return shouldEmit}),disposable)}Event2.latch=latch;function split(event,isT,disposable){return[Event2.filter(event,isT,disposable),Event2.filter(event,(e=>!isT(e)),disposable)]}Event2.split=split;function buffer(event,flushAfterTimeout=false,_buffer=[]){let buffer2=_buffer.slice();let listener=event((e=>{if(buffer2){buffer2.push(e)}else{emitter.fire(e)}}));const flush=()=>{buffer2===null||buffer2===void 0?void 0:buffer2.forEach((e=>emitter.fire(e)));buffer2=null};const emitter=new Emitter({onWillAddFirstListener(){if(!listener){listener=event((e=>emitter.fire(e)))}},onDidAddFirstListener(){if(buffer2){if(flushAfterTimeout){setTimeout(flush)}else{flush()}}},onDidRemoveLastListener(){if(listener){listener.dispose()}listener=null}});return emitter.event}Event2.buffer=buffer;class ChainableEvent{constructor(event){this.event=event;this.disposables=new DisposableStore}map(fn){return new ChainableEvent(map(this.event,fn,this.disposables))}forEach(fn){return new ChainableEvent(forEach(this.event,fn,this.disposables))}filter(fn){return new ChainableEvent(filter(this.event,fn,this.disposables))}reduce(merge,initial){return new ChainableEvent(reduce(this.event,merge,initial,this.disposables))}latch(){return new ChainableEvent(latch(this.event,void 0,this.disposables))}debounce(merge,delay=100,leading=false,flushOnListenerRemove=false,leakWarningThreshold){return new ChainableEvent(debounce(this.event,merge,delay,leading,flushOnListenerRemove,leakWarningThreshold,this.disposables))}on(listener,thisArgs,disposables){return this.event(listener,thisArgs,disposables)}once(listener,thisArgs,disposables){return once3(this.event)(listener,thisArgs,disposables)}dispose(){this.disposables.dispose()}}function chain(event){return new ChainableEvent(event)}Event2.chain=chain;function fromNodeEventEmitter(emitter,eventName,map2=(id=>id)){const fn=(...args)=>result.fire(map2(...args));const onFirstListenerAdd=()=>emitter.on(eventName,fn);const onLastListenerRemove=()=>emitter.removeListener(eventName,fn);const result=new Emitter({onWillAddFirstListener:onFirstListenerAdd,onDidRemoveLastListener:onLastListenerRemove});return result.event}Event2.fromNodeEventEmitter=fromNodeEventEmitter;function fromDOMEventEmitter(emitter,eventName,map2=(id=>id)){const fn=(...args)=>result.fire(map2(...args));const onFirstListenerAdd=()=>emitter.addEventListener(eventName,fn);const onLastListenerRemove=()=>emitter.removeEventListener(eventName,fn);const result=new Emitter({onWillAddFirstListener:onFirstListenerAdd,onDidRemoveLastListener:onLastListenerRemove});return result.event}Event2.fromDOMEventEmitter=fromDOMEventEmitter;function toPromise(event){return new Promise((resolve2=>once3(event)(resolve2)))}Event2.toPromise=toPromise;function fromPromise(promise){const result=new Emitter;promise.then((res=>{result.fire(res)}),(()=>{result.fire(void 0)})).finally((()=>{result.dispose()}));return result.event}Event2.fromPromise=fromPromise;function runAndSubscribe(event,handler){handler(void 0);return event((e=>handler(e)))}Event2.runAndSubscribe=runAndSubscribe;function runAndSubscribeWithStore(event,handler){let store=null;function run(e){store===null||store===void 0?void 0:store.dispose();store=new DisposableStore;handler(e,store)}run(void 0);const disposable=event((e=>run(e)));return toDisposable((()=>{disposable.dispose();store===null||store===void 0?void 0:store.dispose()}))}Event2.runAndSubscribeWithStore=runAndSubscribeWithStore;class EmitterObserver{constructor(_observable,store){this._observable=_observable;this._counter=0;this._hasChanged=false;const options2={onWillAddFirstListener:()=>{_observable.addObserver(this)},onDidRemoveLastListener:()=>{_observable.removeObserver(this)}};if(!store){_addLeakageTraceLogic(options2)}this.emitter=new Emitter(options2);if(store){store.add(this.emitter)}}beginUpdate(_observable){this._counter++}handlePossibleChange(_observable){}handleChange(_observable,_change){this._hasChanged=true}endUpdate(_observable){this._counter--;if(this._counter===0){this._observable.reportChanges();if(this._hasChanged){this._hasChanged=false;this.emitter.fire(this._observable.get())}}}}function fromObservable(obs,store){const observer=new EmitterObserver(obs,store);return observer.emitter.event}Event2.fromObservable=fromObservable;function fromObservableLight(observable){return listener=>{let count=0;let didChange=false;const observer={beginUpdate(){count++},endUpdate(){count--;if(count===0){observable.reportChanges();if(didChange){didChange=false;listener()}}},handlePossibleChange(){},handleChange(){didChange=true}};observable.addObserver(observer);observable.reportChanges();return{dispose(){observable.removeObserver(observer)}}}}Event2.fromObservableLight=fromObservableLight})(Event||(Event={}));EventProfiling=class{constructor(name){this.listenerCount=0;this.invocationCount=0;this.elapsedOverall=0;this.durations=[];this.name=`${name}_${EventProfiling._idPool++}`;EventProfiling.all.add(this)}start(listenerCount){this._stopWatch=new StopWatch;this.listenerCount=listenerCount}stop(){if(this._stopWatch){const elapsed=this._stopWatch.elapsed();this.durations.push(elapsed);this.elapsedOverall+=elapsed;this.invocationCount+=1;this._stopWatch=void 0}}};EventProfiling.all=new Set;EventProfiling._idPool=0;_globalLeakWarningThreshold=-1;LeakageMonitor=class{constructor(threshold,name=Math.random().toString(18).slice(2,5)){this.threshold=threshold;this.name=name;this._warnCountdown=0}dispose(){var _a6;(_a6=this._stacks)===null||_a6===void 0?void 0:_a6.clear()}check(stack,listenerCount){const threshold=this.threshold;if(threshold<=0||listenerCount<threshold){return void 0}if(!this._stacks){this._stacks=new Map}const count=this._stacks.get(stack.value)||0;this._stacks.set(stack.value,count+1);this._warnCountdown-=1;if(this._warnCountdown<=0){this._warnCountdown=threshold*.5;let topStack;let topCount=0;for(const[stack2,count2]of this._stacks){if(!topStack||topCount<count2){topStack=stack2;topCount=count2}}console.warn(`[${this.name}] potential listener LEAK detected, having ${listenerCount} listeners already. MOST frequent listener (${topCount}):`);console.warn(topStack)}return()=>{const count2=this._stacks.get(stack.value)||0;this._stacks.set(stack.value,count2-1)}}};Stacktrace=class{static create(){var _a6;return new Stacktrace((_a6=(new Error).stack)!==null&&_a6!==void 0?_a6:"")}constructor(value){this.value=value}print(){console.warn(this.value.split("\n").slice(2).join("\n"))}};UniqueContainer=class{constructor(value){this.value=value}};compactionThreshold=2;forEachListener=(listeners,fn)=>{if(listeners instanceof UniqueContainer){fn(listeners)}else{for(let i=0;i<listeners.length;i++){const l=listeners[i];if(l){fn(l)}}}};Emitter=class{constructor(options2){var _a6,_b3,_c2,_d2,_e2;this._size=0;this._options=options2;this._leakageMon=_globalLeakWarningThreshold>0||((_a6=this._options)===null||_a6===void 0?void 0:_a6.leakWarningThreshold)?new LeakageMonitor((_c2=(_b3=this._options)===null||_b3===void 0?void 0:_b3.leakWarningThreshold)!==null&&_c2!==void 0?_c2:_globalLeakWarningThreshold):void 0;this._perfMon=((_d2=this._options)===null||_d2===void 0?void 0:_d2._profName)?new EventProfiling(this._options._profName):void 0;this._deliveryQueue=(_e2=this._options)===null||_e2===void 0?void 0:_e2.deliveryQueue}dispose(){var _a6,_b3,_c2,_d2;if(!this._disposed){this._disposed=true;if(((_a6=this._deliveryQueue)===null||_a6===void 0?void 0:_a6.current)===this){this._deliveryQueue.reset()}if(this._listeners){if(_enableDisposeWithListenerWarning){const listeners=this._listeners;queueMicrotask((()=>{forEachListener(listeners,(l=>{var _a7;return(_a7=l.stack)===null||_a7===void 0?void 0:_a7.print()}))}))}this._listeners=void 0;this._size=0}(_c2=(_b3=this._options)===null||_b3===void 0?void 0:_b3.onDidRemoveLastListener)===null||_c2===void 0?void 0:_c2.call(_b3);(_d2=this._leakageMon)===null||_d2===void 0?void 0:_d2.dispose()}}get event(){var _a6;(_a6=this._event)!==null&&_a6!==void 0?_a6:this._event=(callback,thisArgs,disposables)=>{var _a7,_b3,_c2,_d2,_e2;if(this._leakageMon&&this._size>this._leakageMon.threshold*3){console.warn(`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far`);return Disposable.None}if(this._disposed){return Disposable.None}if(thisArgs){callback=callback.bind(thisArgs)}const contained=new UniqueContainer(callback);let removeMonitor;let stack;if(this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)){contained.stack=Stacktrace.create();removeMonitor=this._leakageMon.check(contained.stack,this._size+1)}if(_enableDisposeWithListenerWarning){contained.stack=stack!==null&&stack!==void 0?stack:Stacktrace.create()}if(!this._listeners){(_b3=(_a7=this._options)===null||_a7===void 0?void 0:_a7.onWillAddFirstListener)===null||_b3===void 0?void 0:_b3.call(_a7,this);this._listeners=contained;(_d2=(_c2=this._options)===null||_c2===void 0?void 0:_c2.onDidAddFirstListener)===null||_d2===void 0?void 0:_d2.call(_c2,this)}else if(this._listeners instanceof UniqueContainer){(_e2=this._deliveryQueue)!==null&&_e2!==void 0?_e2:this._deliveryQueue=new EventDeliveryQueuePrivate;this._listeners=[this._listeners,contained]}else{this._listeners.push(contained)}this._size++;const result=toDisposable((()=>{removeMonitor===null||removeMonitor===void 0?void 0:removeMonitor();this._removeListener(contained)}));if(disposables instanceof DisposableStore){disposables.add(result)}else if(Array.isArray(disposables)){disposables.push(result)}return result};return this._event}_removeListener(listener){var _a6,_b3,_c2,_d2;(_b3=(_a6=this._options)===null||_a6===void 0?void 0:_a6.onWillRemoveListener)===null||_b3===void 0?void 0:_b3.call(_a6,this);if(!this._listeners){return}if(this._size===1){this._listeners=void 0;(_d2=(_c2=this._options)===null||_c2===void 0?void 0:_c2.onDidRemoveLastListener)===null||_d2===void 0?void 0:_d2.call(_c2,this);this._size=0;return}const listeners=this._listeners;const index=listeners.indexOf(listener);if(index===-1){console.log("disposed?",this._disposed);console.log("size?",this._size);console.log("arr?",JSON.stringify(this._listeners));throw new Error("Attempted to dispose unknown listener")}this._size--;listeners[index]=void 0;const adjustDeliveryQueue=this._deliveryQueue.current===this;if(this._size*compactionThreshold<=listeners.length){let n=0;for(let i=0;i<listeners.length;i++){if(listeners[i]){listeners[n++]=listeners[i]}else if(adjustDeliveryQueue){this._deliveryQueue.end--;if(n<this._deliveryQueue.i){this._deliveryQueue.i--}}}listeners.length=n}}_deliver(listener,value){var _a6;if(!listener){return}const errorHandler2=((_a6=this._options)===null||_a6===void 0?void 0:_a6.onListenerError)||onUnexpectedError;if(!errorHandler2){listener.value(value);return}try{listener.value(value)}catch(e){errorHandler2(e)}}_deliverQueue(dq){const listeners=dq.current._listeners;while(dq.i<dq.end){this._deliver(listeners[dq.i++],dq.value)}dq.reset()}fire(event){var _a6,_b3,_c2,_d2;if((_a6=this._deliveryQueue)===null||_a6===void 0?void 0:_a6.current){this._deliverQueue(this._deliveryQueue);(_b3=this._perfMon)===null||_b3===void 0?void 0:_b3.stop()}(_c2=this._perfMon)===null||_c2===void 0?void 0:_c2.start(this._size);if(!this._listeners){}else if(this._listeners instanceof UniqueContainer){this._deliver(this._listeners,event)}else{const dq=this._deliveryQueue;dq.enqueue(this,event,this._listeners.length);this._deliverQueue(dq)}(_d2=this._perfMon)===null||_d2===void 0?void 0:_d2.stop()}hasListeners(){return this._size>0}};createEventDeliveryQueue=()=>new EventDeliveryQueuePrivate;EventDeliveryQueuePrivate=class{constructor(){this.i=-1;this.end=0}enqueue(emitter,value,end){this.i=0;this.end=end;this.current=emitter;this.value=value}reset(){this.i=this.end;this.current=void 0;this.value=void 0}};PauseableEmitter=class extends Emitter{constructor(options2){super(options2);this._isPaused=0;this._eventQueue=new LinkedList;this._mergeFn=options2===null||options2===void 0?void 0:options2.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused===0){if(this._mergeFn){if(this._eventQueue.size>0){const events=Array.from(this._eventQueue);this._eventQueue.clear();super.fire(this._mergeFn(events))}}else{while(!this._isPaused&&this._eventQueue.size!==0){super.fire(this._eventQueue.shift())}}}}fire(event){if(this._size){if(this._isPaused!==0){this._eventQueue.push(event)}else{super.fire(event)}}}};DebounceEmitter=class extends PauseableEmitter{constructor(options2){var _a6;super(options2);this._delay=(_a6=options2.delay)!==null&&_a6!==void 0?_a6:100}fire(event){if(!this._handle){this.pause();this._handle=setTimeout((()=>{this._handle=void 0;this.resume()}),this._delay)}super.fire(event)}};MicrotaskEmitter=class extends Emitter{constructor(options2){super(options2);this._queuedEvents=[];this._mergeFn=options2===null||options2===void 0?void 0:options2.merge}fire(event){if(!this.hasListeners()){return}this._queuedEvents.push(event);if(this._queuedEvents.length===1){queueMicrotask((()=>{if(this._mergeFn){super.fire(this._mergeFn(this._queuedEvents))}else{this._queuedEvents.forEach((e=>super.fire(e)))}this._queuedEvents=[]}))}}};EventMultiplexer=class{constructor(){this.hasListeners=false;this.events=[];this.emitter=new Emitter({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(event){const e={event:event,listener:null};this.events.push(e);if(this.hasListeners){this.hook(e)}const dispose2=()=>{if(this.hasListeners){this.unhook(e)}const idx=this.events.indexOf(e);this.events.splice(idx,1)};return toDisposable(once(dispose2))}onFirstListenerAdd(){this.hasListeners=true;this.events.forEach((e=>this.hook(e)))}onLastListenerRemove(){this.hasListeners=false;this.events.forEach((e=>this.unhook(e)))}hook(e){e.listener=e.event((r=>this.emitter.fire(r)))}unhook(e){if(e.listener){e.listener.dispose()}e.listener=null}dispose(){this.emitter.dispose()}};EventBufferer=class{constructor(){this.buffers=[]}wrapEvent(event){return(listener,thisArgs,disposables)=>event((i=>{const buffer=this.buffers[this.buffers.length-1];if(buffer){buffer.push((()=>listener.call(thisArgs,i)))}else{listener.call(thisArgs,i)}}),void 0,disposables)}bufferEvents(fn){const buffer=[];this.buffers.push(buffer);const r=fn();this.buffers.pop();buffer.forEach((flush=>flush()));return r}};Relay=class{constructor(){this.listening=false;this.inputEvent=Event.None;this.inputEventListener=Disposable.None;this.emitter=new Emitter({onDidAddFirstListener:()=>{this.listening=true;this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=false;this.inputEventListener.dispose()}});this.event=this.emitter.event}set input(event){this.inputEvent=event;if(this.listening){this.inputEventListener.dispose();this.inputEventListener=event(this.emitter.fire,this.emitter)}}dispose(){this.inputEventListener.dispose();this.emitter.dispose()}}}});var shortcutEvent,CancellationToken,MutableToken,CancellationTokenSource;var init_cancellation=__esm({"node_modules/monaco-editor/esm/vs/base/common/cancellation.js"(){init_event();shortcutEvent=Object.freeze((function(callback,context){const handle=setTimeout(callback.bind(context),0);return{dispose(){clearTimeout(handle)}}}));(function(CancellationToken2){function isCancellationToken(thing){if(thing===CancellationToken2.None||thing===CancellationToken2.Cancelled){return true}if(thing instanceof MutableToken){return true}if(!thing||typeof thing!=="object"){return false}return typeof thing.isCancellationRequested==="boolean"&&typeof thing.onCancellationRequested==="function"}CancellationToken2.isCancellationToken=isCancellationToken;CancellationToken2.None=Object.freeze({isCancellationRequested:false,onCancellationRequested:Event.None});CancellationToken2.Cancelled=Object.freeze({isCancellationRequested:true,onCancellationRequested:shortcutEvent})})(CancellationToken||(CancellationToken={}));MutableToken=class{constructor(){this._isCancelled=false;this._emitter=null}cancel(){if(!this._isCancelled){this._isCancelled=true;if(this._emitter){this._emitter.fire(void 0);this.dispose()}}}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){if(this._isCancelled){return shortcutEvent}if(!this._emitter){this._emitter=new Emitter}return this._emitter.event}dispose(){if(this._emitter){this._emitter.dispose();this._emitter=null}}};CancellationTokenSource=class{constructor(parent){this._token=void 0;this._parentListener=void 0;this._parentListener=parent&&parent.onCancellationRequested(this.cancel,this)}get token(){if(!this._token){this._token=new MutableToken}return this._token}cancel(){if(!this._token){this._token=CancellationToken.Cancelled}else if(this._token instanceof MutableToken){this._token.cancel()}}dispose(cancel=false){var _a6;if(cancel){this.cancel()}(_a6=this._parentListener)===null||_a6===void 0?void 0:_a6.dispose();if(!this._token){this._token=CancellationToken.None}else if(this._token instanceof MutableToken){this._token.dispose()}}}}});function KeyChord(firstPart,secondPart){const chordPart=(secondPart&65535)<<16>>>0;return(firstPart|chordPart)>>>0}var KeyCodeStrMap,uiMap,userSettingsUSMap,userSettingsGeneralMap,EVENT_KEY_CODE_MAP,NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE,scanCodeIntToStr,scanCodeStrToInt,scanCodeLowerCaseStrToInt,IMMUTABLE_CODE_TO_KEY_CODE,IMMUTABLE_KEY_CODE_TO_CODE,KeyCodeUtils;var init_keyCodes=__esm({"node_modules/monaco-editor/esm/vs/base/common/keyCodes.js"(){KeyCodeStrMap=class{constructor(){this._keyCodeToStr=[];this._strToKeyCode=Object.create(null)}define(keyCode,str){this._keyCodeToStr[keyCode]=str;this._strToKeyCode[str.toLowerCase()]=keyCode}keyCodeToStr(keyCode){return this._keyCodeToStr[keyCode]}strToKeyCode(str){return this._strToKeyCode[str.toLowerCase()]||0}};uiMap=new KeyCodeStrMap;userSettingsUSMap=new KeyCodeStrMap;userSettingsGeneralMap=new KeyCodeStrMap;EVENT_KEY_CODE_MAP=new Array(230);NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE={};scanCodeIntToStr=[];scanCodeStrToInt=Object.create(null);scanCodeLowerCaseStrToInt=Object.create(null);IMMUTABLE_CODE_TO_KEY_CODE=[];IMMUTABLE_KEY_CODE_TO_CODE=[];for(let i=0;i<=193;i++){IMMUTABLE_CODE_TO_KEY_CODE[i]=-1}for(let i=0;i<=132;i++){IMMUTABLE_KEY_CODE_TO_CODE[i]=-1}(function(){const empty2="";const mappings=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN",empty2,empty2],[1,1,"Hyper",0,empty2,0,empty2,empty2,empty2],[1,2,"Super",0,empty2,0,empty2,empty2,empty2],[1,3,"Fn",0,empty2,0,empty2,empty2,empty2],[1,4,"FnLock",0,empty2,0,empty2,empty2,empty2],[1,5,"Suspend",0,empty2,0,empty2,empty2,empty2],[1,6,"Resume",0,empty2,0,empty2,empty2,empty2],[1,7,"Turbo",0,empty2,0,empty2,empty2,empty2],[1,8,"Sleep",0,empty2,0,"VK_SLEEP",empty2,empty2],[1,9,"WakeUp",0,empty2,0,empty2,empty2,empty2],[0,10,"KeyA",31,"A",65,"VK_A",empty2,empty2],[0,11,"KeyB",32,"B",66,"VK_B",empty2,empty2],[0,12,"KeyC",33,"C",67,"VK_C",empty2,empty2],[0,13,"KeyD",34,"D",68,"VK_D",empty2,empty2],[0,14,"KeyE",35,"E",69,"VK_E",empty2,empty2],[0,15,"KeyF",36,"F",70,"VK_F",empty2,empty2],[0,16,"KeyG",37,"G",71,"VK_G",empty2,empty2],[0,17,"KeyH",38,"H",72,"VK_H",empty2,empty2],[0,18,"KeyI",39,"I",73,"VK_I",empty2,empty2],[0,19,"KeyJ",40,"J",74,"VK_J",empty2,empty2],[0,20,"KeyK",41,"K",75,"VK_K",empty2,empty2],[0,21,"KeyL",42,"L",76,"VK_L",empty2,empty2],[0,22,"KeyM",43,"M",77,"VK_M",empty2,empty2],[0,23,"KeyN",44,"N",78,"VK_N",empty2,empty2],[0,24,"KeyO",45,"O",79,"VK_O",empty2,empty2],[0,25,"KeyP",46,"P",80,"VK_P",empty2,empty2],[0,26,"KeyQ",47,"Q",81,"VK_Q",empty2,empty2],[0,27,"KeyR",48,"R",82,"VK_R",empty2,empty2],[0,28,"KeyS",49,"S",83,"VK_S",empty2,empty2],[0,29,"KeyT",50,"T",84,"VK_T",empty2,empty2],[0,30,"KeyU",51,"U",85,"VK_U",empty2,empty2],[0,31,"KeyV",52,"V",86,"VK_V",empty2,empty2],[0,32,"KeyW",53,"W",87,"VK_W",empty2,empty2],[0,33,"KeyX",54,"X",88,"VK_X",empty2,empty2],[0,34,"KeyY",55,"Y",89,"VK_Y",empty2,empty2],[0,35,"KeyZ",56,"Z",90,"VK_Z",empty2,empty2],[0,36,"Digit1",22,"1",49,"VK_1",empty2,empty2],[0,37,"Digit2",23,"2",50,"VK_2",empty2,empty2],[0,38,"Digit3",24,"3",51,"VK_3",empty2,empty2],[0,39,"Digit4",25,"4",52,"VK_4",empty2,empty2],[0,40,"Digit5",26,"5",53,"VK_5",empty2,empty2],[0,41,"Digit6",27,"6",54,"VK_6",empty2,empty2],[0,42,"Digit7",28,"7",55,"VK_7",empty2,empty2],[0,43,"Digit8",29,"8",56,"VK_8",empty2,empty2],[0,44,"Digit9",30,"9",57,"VK_9",empty2,empty2],[0,45,"Digit0",21,"0",48,"VK_0",empty2,empty2],[1,46,"Enter",3,"Enter",13,"VK_RETURN",empty2,empty2],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE",empty2,empty2],[1,48,"Backspace",1,"Backspace",8,"VK_BACK",empty2,empty2],[1,49,"Tab",2,"Tab",9,"VK_TAB",empty2,empty2],[1,50,"Space",10,"Space",32,"VK_SPACE",empty2,empty2],[0,51,"Minus",88,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[0,52,"Equal",86,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[0,53,"BracketLeft",92,"[",219,"VK_OEM_4","[","OEM_4"],[0,54,"BracketRight",94,"]",221,"VK_OEM_6","]","OEM_6"],[0,55,"Backslash",93,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,56,"IntlHash",0,empty2,0,empty2,empty2,empty2],[0,57,"Semicolon",85,";",186,"VK_OEM_1",";","OEM_1"],[0,58,"Quote",95,"'",222,"VK_OEM_7","'","OEM_7"],[0,59,"Backquote",91,"`",192,"VK_OEM_3","`","OEM_3"],[0,60,"Comma",87,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[0,61,"Period",89,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[0,62,"Slash",90,"/",191,"VK_OEM_2","/","OEM_2"],[1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",empty2,empty2],[1,64,"F1",59,"F1",112,"VK_F1",empty2,empty2],[1,65,"F2",60,"F2",113,"VK_F2",empty2,empty2],[1,66,"F3",61,"F3",114,"VK_F3",empty2,empty2],[1,67,"F4",62,"F4",115,"VK_F4",empty2,empty2],[1,68,"F5",63,"F5",116,"VK_F5",empty2,empty2],[1,69,"F6",64,"F6",117,"VK_F6",empty2,empty2],[1,70,"F7",65,"F7",118,"VK_F7",empty2,empty2],[1,71,"F8",66,"F8",119,"VK_F8",empty2,empty2],[1,72,"F9",67,"F9",120,"VK_F9",empty2,empty2],[1,73,"F10",68,"F10",121,"VK_F10",empty2,empty2],[1,74,"F11",69,"F11",122,"VK_F11",empty2,empty2],[1,75,"F12",70,"F12",123,"VK_F12",empty2,empty2],[1,76,"PrintScreen",0,empty2,0,empty2,empty2,empty2],[1,77,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL",empty2,empty2],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",empty2,empty2],[1,79,"Insert",19,"Insert",45,"VK_INSERT",empty2,empty2],[1,80,"Home",14,"Home",36,"VK_HOME",empty2,empty2],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",empty2,empty2],[1,82,"Delete",20,"Delete",46,"VK_DELETE",empty2,empty2],[1,83,"End",13,"End",35,"VK_END",empty2,empty2],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT",empty2,empty2],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",empty2],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",empty2],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",empty2],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",empty2],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK",empty2,empty2],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE",empty2,empty2],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY",empty2,empty2],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT",empty2,empty2],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD",empty2,empty2],[1,94,"NumpadEnter",3,empty2,0,empty2,empty2,empty2],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1",empty2,empty2],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2",empty2,empty2],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3",empty2,empty2],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4",empty2,empty2],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5",empty2,empty2],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6",empty2,empty2],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7",empty2,empty2],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8",empty2,empty2],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9",empty2,empty2],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0",empty2,empty2],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL",empty2,empty2],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102",empty2,empty2],[1,107,"ContextMenu",58,"ContextMenu",93,empty2,empty2,empty2],[1,108,"Power",0,empty2,0,empty2,empty2,empty2],[1,109,"NumpadEqual",0,empty2,0,empty2,empty2,empty2],[1,110,"F13",71,"F13",124,"VK_F13",empty2,empty2],[1,111,"F14",72,"F14",125,"VK_F14",empty2,empty2],[1,112,"F15",73,"F15",126,"VK_F15",empty2,empty2],[1,113,"F16",74,"F16",127,"VK_F16",empty2,empty2],[1,114,"F17",75,"F17",128,"VK_F17",empty2,empty2],[1,115,"F18",76,"F18",129,"VK_F18",empty2,empty2],[1,116,"F19",77,"F19",130,"VK_F19",empty2,empty2],[1,117,"F20",78,"F20",131,"VK_F20",empty2,empty2],[1,118,"F21",79,"F21",132,"VK_F21",empty2,empty2],[1,119,"F22",80,"F22",133,"VK_F22",empty2,empty2],[1,120,"F23",81,"F23",134,"VK_F23",empty2,empty2],[1,121,"F24",82,"F24",135,"VK_F24",empty2,empty2],[1,122,"Open",0,empty2,0,empty2,empty2,empty2],[1,123,"Help",0,empty2,0,empty2,empty2,empty2],[1,124,"Select",0,empty2,0,empty2,empty2,empty2],[1,125,"Again",0,empty2,0,empty2,empty2,empty2],[1,126,"Undo",0,empty2,0,empty2,empty2,empty2],[1,127,"Cut",0,empty2,0,empty2,empty2,empty2],[1,128,"Copy",0,empty2,0,empty2,empty2,empty2],[1,129,"Paste",0,empty2,0,empty2,empty2,empty2],[1,130,"Find",0,empty2,0,empty2,empty2,empty2],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE",empty2,empty2],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP",empty2,empty2],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN",empty2,empty2],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR",empty2,empty2],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1",empty2,empty2],[1,136,"KanaMode",0,empty2,0,empty2,empty2,empty2],[0,137,"IntlYen",0,empty2,0,empty2,empty2,empty2],[1,138,"Convert",0,empty2,0,empty2,empty2,empty2],[1,139,"NonConvert",0,empty2,0,empty2,empty2,empty2],[1,140,"Lang1",0,empty2,0,empty2,empty2,empty2],[1,141,"Lang2",0,empty2,0,empty2,empty2,empty2],[1,142,"Lang3",0,empty2,0,empty2,empty2,empty2],[1,143,"Lang4",0,empty2,0,empty2,empty2,empty2],[1,144,"Lang5",0,empty2,0,empty2,empty2,empty2],[1,145,"Abort",0,empty2,0,empty2,empty2,empty2],[1,146,"Props",0,empty2,0,empty2,empty2,empty2],[1,147,"NumpadParenLeft",0,empty2,0,empty2,empty2,empty2],[1,148,"NumpadParenRight",0,empty2,0,empty2,empty2,empty2],[1,149,"NumpadBackspace",0,empty2,0,empty2,empty2,empty2],[1,150,"NumpadMemoryStore",0,empty2,0,empty2,empty2,empty2],[1,151,"NumpadMemoryRecall",0,empty2,0,empty2,empty2,empty2],[1,152,"NumpadMemoryClear",0,empty2,0,empty2,empty2,empty2],[1,153,"NumpadMemoryAdd",0,empty2,0,empty2,empty2,empty2],[1,154,"NumpadMemorySubtract",0,empty2,0,empty2,empty2,empty2],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR",empty2,empty2],[1,156,"NumpadClearEntry",0,empty2,0,empty2,empty2,empty2],[1,0,empty2,5,"Ctrl",17,"VK_CONTROL",empty2,empty2],[1,0,empty2,4,"Shift",16,"VK_SHIFT",empty2,empty2],[1,0,empty2,6,"Alt",18,"VK_MENU",empty2,empty2],[1,0,empty2,57,"Meta",91,"VK_COMMAND",empty2,empty2],[1,157,"ControlLeft",5,empty2,0,"VK_LCONTROL",empty2,empty2],[1,158,"ShiftLeft",4,empty2,0,"VK_LSHIFT",empty2,empty2],[1,159,"AltLeft",6,empty2,0,"VK_LMENU",empty2,empty2],[1,160,"MetaLeft",57,empty2,0,"VK_LWIN",empty2,empty2],[1,161,"ControlRight",5,empty2,0,"VK_RCONTROL",empty2,empty2],[1,162,"ShiftRight",4,empty2,0,"VK_RSHIFT",empty2,empty2],[1,163,"AltRight",6,empty2,0,"VK_RMENU",empty2,empty2],[1,164,"MetaRight",57,empty2,0,"VK_RWIN",empty2,empty2],[1,165,"BrightnessUp",0,empty2,0,empty2,empty2,empty2],[1,166,"BrightnessDown",0,empty2,0,empty2,empty2,empty2],[1,167,"MediaPlay",0,empty2,0,empty2,empty2,empty2],[1,168,"MediaRecord",0,empty2,0,empty2,empty2,empty2],[1,169,"MediaFastForward",0,empty2,0,empty2,empty2,empty2],[1,170,"MediaRewind",0,empty2,0,empty2,empty2,empty2],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",empty2,empty2],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",empty2,empty2],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP",empty2,empty2],[1,174,"Eject",0,empty2,0,empty2,empty2,empty2],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",empty2,empty2],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",empty2,empty2],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",empty2,empty2],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",empty2,empty2],[1,179,"LaunchApp1",0,empty2,0,"VK_MEDIA_LAUNCH_APP1",empty2,empty2],[1,180,"SelectTask",0,empty2,0,empty2,empty2,empty2],[1,181,"LaunchScreenSaver",0,empty2,0,empty2,empty2,empty2],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH",empty2,empty2],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME",empty2,empty2],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK",empty2,empty2],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD",empty2,empty2],[1,186,"BrowserStop",0,empty2,0,"VK_BROWSER_STOP",empty2,empty2],[1,187,"BrowserRefresh",0,empty2,0,"VK_BROWSER_REFRESH",empty2,empty2],[1,188,"BrowserFavorites",0,empty2,0,"VK_BROWSER_FAVORITES",empty2,empty2],[1,189,"ZoomToggle",0,empty2,0,empty2,empty2,empty2],[1,190,"MailReply",0,empty2,0,empty2,empty2,empty2],[1,191,"MailForward",0,empty2,0,empty2,empty2,empty2],[1,192,"MailSend",0,empty2,0,empty2,empty2,empty2],[1,0,empty2,114,"KeyInComposition",229,empty2,empty2,empty2],[1,0,empty2,116,"ABNT_C2",194,"VK_ABNT_C2",empty2,empty2],[1,0,empty2,96,"OEM_8",223,"VK_OEM_8",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_KANA",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_HANGUL",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_JUNJA",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_FINAL",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_HANJA",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_KANJI",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_CONVERT",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_NONCONVERT",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_ACCEPT",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_MODECHANGE",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_SELECT",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_PRINT",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_EXECUTE",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_SNAPSHOT",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_HELP",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_APPS",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_PROCESSKEY",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_PACKET",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_DBE_SBCSCHAR",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_DBE_DBCSCHAR",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_ATTN",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_CRSEL",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_EXSEL",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_EREOF",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_PLAY",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_ZOOM",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_NONAME",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_PA1",empty2,empty2],[1,0,empty2,0,empty2,0,"VK_OEM_CLEAR",empty2,empty2]];const seenKeyCode=[];const seenScanCode=[];for(const mapping of mappings){const[immutable,scanCode,scanCodeStr,keyCode,keyCodeStr,eventKeyCode,vkey,usUserSettingsLabel,generalUserSettingsLabel]=mapping;if(!seenScanCode[scanCode]){seenScanCode[scanCode]=true;scanCodeIntToStr[scanCode]=scanCodeStr;scanCodeStrToInt[scanCodeStr]=scanCode;scanCodeLowerCaseStrToInt[scanCodeStr.toLowerCase()]=scanCode;if(immutable){IMMUTABLE_CODE_TO_KEY_CODE[scanCode]=keyCode;if(keyCode!==0&&keyCode!==3&&keyCode!==5&&keyCode!==4&&keyCode!==6&&keyCode!==57){IMMUTABLE_KEY_CODE_TO_CODE[keyCode]=scanCode}}}if(!seenKeyCode[keyCode]){seenKeyCode[keyCode]=true;if(!keyCodeStr){throw new Error(`String representation missing for key code ${keyCode} around scan code ${scanCodeStr}`)}uiMap.define(keyCode,keyCodeStr);userSettingsUSMap.define(keyCode,usUserSettingsLabel||keyCodeStr);userSettingsGeneralMap.define(keyCode,generalUserSettingsLabel||usUserSettingsLabel||keyCodeStr)}if(eventKeyCode){EVENT_KEY_CODE_MAP[eventKeyCode]=keyCode}if(vkey){NATIVE_WINDOWS_KEY_CODE_TO_KEY_CODE[vkey]=keyCode}}IMMUTABLE_KEY_CODE_TO_CODE[3]=46})();(function(KeyCodeUtils2){function toString(keyCode){return uiMap.keyCodeToStr(keyCode)}KeyCodeUtils2.toString=toString;function fromString(key){return uiMap.strToKeyCode(key)}KeyCodeUtils2.fromString=fromString;function toUserSettingsUS(keyCode){return userSettingsUSMap.keyCodeToStr(keyCode)}KeyCodeUtils2.toUserSettingsUS=toUserSettingsUS;function toUserSettingsGeneral(keyCode){return userSettingsGeneralMap.keyCodeToStr(keyCode)}KeyCodeUtils2.toUserSettingsGeneral=toUserSettingsGeneral;function fromUserSettings(key){return userSettingsUSMap.strToKeyCode(key)||userSettingsGeneralMap.strToKeyCode(key)}KeyCodeUtils2.fromUserSettings=fromUserSettings;function toElectronAccelerator(keyCode){if(keyCode>=98&&keyCode<=113){return null}switch(keyCode){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return uiMap.keyCodeToStr(keyCode)}KeyCodeUtils2.toElectronAccelerator=toElectronAccelerator})(KeyCodeUtils||(KeyCodeUtils={}))}});var safeProcess,cwd,env,platform;var init_process=__esm({"node_modules/monaco-editor/esm/vs/base/common/process.js"(){init_platform();if(typeof globals.vscode!=="undefined"&&typeof globals.vscode.process!=="undefined"){const sandboxProcess=globals.vscode.process;safeProcess={get platform(){return sandboxProcess.platform},get arch(){return sandboxProcess.arch},get env(){return sandboxProcess.env},cwd(){return sandboxProcess.cwd()}}}else if(typeof process!=="undefined"){safeProcess={get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd(){return process.env["VSCODE_CWD"]||process.cwd()}}}else{safeProcess={get platform(){return isWindows?"win32":isMacintosh?"darwin":"linux"},get arch(){return void 0},get env(){return{}},cwd(){return"/"}}}cwd=safeProcess.cwd;env=safeProcess.env;platform=safeProcess.platform}});function validateObject(pathObject,name){if(pathObject===null||typeof pathObject!=="object"){throw new ErrorInvalidArgType(name,"Object",pathObject)}}function validateString(value,name){if(typeof value!=="string"){throw new ErrorInvalidArgType(name,"string",value)}}function isPathSeparator(code){return code===CHAR_FORWARD_SLASH||code===CHAR_BACKWARD_SLASH}function isPosixPathSeparator(code){return code===CHAR_FORWARD_SLASH}function isWindowsDeviceRoot(code){return code>=CHAR_UPPERCASE_A&&code<=CHAR_UPPERCASE_Z||code>=CHAR_LOWERCASE_A&&code<=CHAR_LOWERCASE_Z}function normalizeString(path,allowAboveRoot,separator,isPathSeparator3){let res="";let lastSegmentLength=0;let lastSlash=-1;let dots=0;let code=0;for(let i=0;i<=path.length;++i){if(i<path.length){code=path.charCodeAt(i)}else if(isPathSeparator3(code)){break}else{code=CHAR_FORWARD_SLASH}if(isPathSeparator3(code)){if(lastSlash===i-1||dots===1){}else if(dots===2){if(res.length<2||lastSegmentLength!==2||res.charCodeAt(res.length-1)!==CHAR_DOT||res.charCodeAt(res.length-2)!==CHAR_DOT){if(res.length>2){const lastSlashIndex=res.lastIndexOf(separator);if(lastSlashIndex===-1){res="";lastSegmentLength=0}else{res=res.slice(0,lastSlashIndex);lastSegmentLength=res.length-1-res.lastIndexOf(separator)}lastSlash=i;dots=0;continue}else if(res.length!==0){res="";lastSegmentLength=0;lastSlash=i;dots=0;continue}}if(allowAboveRoot){res+=res.length>0?`${separator}..`:"..";lastSegmentLength=2}}else{if(res.length>0){res+=`${separator}${path.slice(lastSlash+1,i)}`}else{res=path.slice(lastSlash+1,i)}lastSegmentLength=i-lastSlash-1}lastSlash=i;dots=0}else if(code===CHAR_DOT&&dots!==-1){++dots}else{dots=-1}}return res}function _format2(sep2,pathObject){validateObject(pathObject,"pathObject");const dir=pathObject.dir||pathObject.root;const base=pathObject.base||`${pathObject.name||""}${pathObject.ext||""}`;if(!dir){return base}return dir===pathObject.root?`${dir}${base}`:`${dir}${sep2}${base}`}var CHAR_UPPERCASE_A,CHAR_LOWERCASE_A,CHAR_UPPERCASE_Z,CHAR_LOWERCASE_Z,CHAR_DOT,CHAR_FORWARD_SLASH,CHAR_BACKWARD_SLASH,CHAR_COLON,CHAR_QUESTION_MARK,ErrorInvalidArgType,platformIsWin32,win32,posixCwd,posix,normalize,resolve,relative,dirname,basename,extname,sep;var init_path=__esm({"node_modules/monaco-editor/esm/vs/base/common/path.js"(){init_process();CHAR_UPPERCASE_A=65;CHAR_LOWERCASE_A=97;CHAR_UPPERCASE_Z=90;CHAR_LOWERCASE_Z=122;CHAR_DOT=46;CHAR_FORWARD_SLASH=47;CHAR_BACKWARD_SLASH=92;CHAR_COLON=58;CHAR_QUESTION_MARK=63;ErrorInvalidArgType=class extends Error{constructor(name,expected,actual){let determiner;if(typeof expected==="string"&&expected.indexOf("not ")===0){determiner="must not be";expected=expected.replace(/^not /,"")}else{determiner="must be"}const type=name.indexOf(".")!==-1?"property":"argument";let msg=`The "${name}" ${type} ${determiner} of type ${expected}`;msg+=`. Received type ${typeof actual}`;super(msg);this.code="ERR_INVALID_ARG_TYPE"}};platformIsWin32=platform==="win32";win32={resolve(...pathSegments){let resolvedDevice="";let resolvedTail="";let resolvedAbsolute=false;for(let i=pathSegments.length-1;i>=-1;i--){let path;if(i>=0){path=pathSegments[i];validateString(path,"path");if(path.length===0){continue}}else if(resolvedDevice.length===0){path=cwd()}else{path=env[`=${resolvedDevice}`]||cwd();if(path===void 0||path.slice(0,2).toLowerCase()!==resolvedDevice.toLowerCase()&&path.charCodeAt(2)===CHAR_BACKWARD_SLASH){path=`${resolvedDevice}\\`}}const len=path.length;let rootEnd=0;let device="";let isAbsolute=false;const code=path.charCodeAt(0);if(len===1){if(isPathSeparator(code)){rootEnd=1;isAbsolute=true}}else if(isPathSeparator(code)){isAbsolute=true;if(isPathSeparator(path.charCodeAt(1))){let j=2;let last=j;while(j<len&&!isPathSeparator(path.charCodeAt(j))){j++}if(j<len&&j!==last){const firstPart=path.slice(last,j);last=j;while(j<len&&isPathSeparator(path.charCodeAt(j))){j++}if(j<len&&j!==last){last=j;while(j<len&&!isPathSeparator(path.charCodeAt(j))){j++}if(j===len||j!==last){device=`\\\\${firstPart}\\${path.slice(last,j)}`;rootEnd=j}}}}else{rootEnd=1}}else if(isWindowsDeviceRoot(code)&&path.charCodeAt(1)===CHAR_COLON){device=path.slice(0,2);rootEnd=2;if(len>2&&isPathSeparator(path.charCodeAt(2))){isAbsolute=true;rootEnd=3}}if(device.length>0){if(resolvedDevice.length>0){if(device.toLowerCase()!==resolvedDevice.toLowerCase()){continue}}else{resolvedDevice=device}}if(resolvedAbsolute){if(resolvedDevice.length>0){break}}else{resolvedTail=`${path.slice(rootEnd)}\\${resolvedTail}`;resolvedAbsolute=isAbsolute;if(isAbsolute&&resolvedDevice.length>0){break}}}resolvedTail=normalizeString(resolvedTail,!resolvedAbsolute,"\\",isPathSeparator);return resolvedAbsolute?`${resolvedDevice}\\${resolvedTail}`:`${resolvedDevice}${resolvedTail}`||"."},normalize(path){validateString(path,"path");const len=path.length;if(len===0){return"."}let rootEnd=0;let device;let isAbsolute=false;const code=path.charCodeAt(0);if(len===1){return isPosixPathSeparator(code)?"\\":path}if(isPathSeparator(code)){isAbsolute=true;if(isPathSeparator(path.charCodeAt(1))){let j=2;let last=j;while(j<len&&!isPathSeparator(path.charCodeAt(j))){j++}if(j<len&&j!==last){const firstPart=path.slice(last,j);last=j;while(j<len&&isPathSeparator(path.charCodeAt(j))){j++}if(j<len&&j!==last){last=j;while(j<len&&!isPathSeparator(path.charCodeAt(j))){j++}if(j===len){return`\\\\${firstPart}\\${path.slice(last)}\\`}if(j!==last){device=`\\\\${firstPart}\\${path.slice(last,j)}`;rootEnd=j}}}}else{rootEnd=1}}else if(isWindowsDeviceRoot(code)&&path.charCodeAt(1)===CHAR_COLON){device=path.slice(0,2);rootEnd=2;if(len>2&&isPathSeparator(path.charCodeAt(2))){isAbsolute=true;rootEnd=3}}let tail3=rootEnd<len?normalizeString(path.slice(rootEnd),!isAbsolute,"\\",isPathSeparator):"";if(tail3.length===0&&!isAbsolute){tail3="."}if(tail3.length>0&&isPathSeparator(path.charCodeAt(len-1))){tail3+="\\"}if(device===void 0){return isAbsolute?`\\${tail3}`:tail3}return isAbsolute?`${device}\\${tail3}`:`${device}${tail3}`},isAbsolute(path){validateString(path,"path");const len=path.length;if(len===0){return false}const code=path.charCodeAt(0);return isPathSeparator(code)||len>2&&isWindowsDeviceRoot(code)&&path.charCodeAt(1)===CHAR_COLON&&isPathSeparator(path.charCodeAt(2))},join(...paths){if(paths.length===0){return"."}let joined;let firstPart;for(let i=0;i<paths.length;++i){const arg=paths[i];validateString(arg,"path");if(arg.length>0){if(joined===void 0){joined=firstPart=arg}else{joined+=`\\${arg}`}}}if(joined===void 0){return"."}let needsReplace=true;let slashCount=0;if(typeof firstPart==="string"&&isPathSeparator(firstPart.charCodeAt(0))){++slashCount;const firstLen=firstPart.length;if(firstLen>1&&isPathSeparator(firstPart.charCodeAt(1))){++slashCount;if(firstLen>2){if(isPathSeparator(firstPart.charCodeAt(2))){++slashCount}else{needsReplace=false}}}}if(needsReplace){while(slashCount<joined.length&&isPathSeparator(joined.charCodeAt(slashCount))){slashCount++}if(slashCount>=2){joined=`\\${joined.slice(slashCount)}`}}return win32.normalize(joined)},relative(from,to){validateString(from,"from");validateString(to,"to");if(from===to){return""}const fromOrig=win32.resolve(from);const toOrig=win32.resolve(to);if(fromOrig===toOrig){return""}from=fromOrig.toLowerCase();to=toOrig.toLowerCase();if(from===to){return""}let fromStart=0;while(fromStart<from.length&&from.charCodeAt(fromStart)===CHAR_BACKWARD_SLASH){fromStart++}let fromEnd=from.length;while(fromEnd-1>fromStart&&from.charCodeAt(fromEnd-1)===CHAR_BACKWARD_SLASH){fromEnd--}const fromLen=fromEnd-fromStart;let toStart=0;while(toStart<to.length&&to.charCodeAt(toStart)===CHAR_BACKWARD_SLASH){toStart++}let toEnd=to.length;while(toEnd-1>toStart&&to.charCodeAt(toEnd-1)===CHAR_BACKWARD_SLASH){toEnd--}const toLen=toEnd-toStart;const length2=fromLen<toLen?fromLen:toLen;let lastCommonSep=-1;let i=0;for(;i<length2;i++){const fromCode=from.charCodeAt(fromStart+i);if(fromCode!==to.charCodeAt(toStart+i)){break}else if(fromCode===CHAR_BACKWARD_SLASH){lastCommonSep=i}}if(i!==length2){if(lastCommonSep===-1){return toOrig}}else{if(toLen>length2){if(to.charCodeAt(toStart+i)===CHAR_BACKWARD_SLASH){return toOrig.slice(toStart+i+1)}if(i===2){return toOrig.slice(toStart+i)}}if(fromLen>length2){if(from.charCodeAt(fromStart+i)===CHAR_BACKWARD_SLASH){lastCommonSep=i}else if(i===2){lastCommonSep=3}}if(lastCommonSep===-1){lastCommonSep=0}}let out="";for(i=fromStart+lastCommonSep+1;i<=fromEnd;++i){if(i===fromEnd||from.charCodeAt(i)===CHAR_BACKWARD_SLASH){out+=out.length===0?"..":"\\.."}}toStart+=lastCommonSep;if(out.length>0){return`${out}${toOrig.slice(toStart,toEnd)}`}if(toOrig.charCodeAt(toStart)===CHAR_BACKWARD_SLASH){++toStart}return toOrig.slice(toStart,toEnd)},toNamespacedPath(path){if(typeof path!=="string"||path.length===0){return path}const resolvedPath=win32.resolve(path);if(resolvedPath.length<=2){return path}if(resolvedPath.charCodeAt(0)===CHAR_BACKWARD_SLASH){if(resolvedPath.charCodeAt(1)===CHAR_BACKWARD_SLASH){const code=resolvedPath.charCodeAt(2);if(code!==CHAR_QUESTION_MARK&&code!==CHAR_DOT){return`\\\\?\\UNC\\${resolvedPath.slice(2)}`}}}else if(isWindowsDeviceRoot(resolvedPath.charCodeAt(0))&&resolvedPath.charCodeAt(1)===CHAR_COLON&&resolvedPath.charCodeAt(2)===CHAR_BACKWARD_SLASH){return`\\\\?\\${resolvedPath}`}return path},dirname(path){validateString(path,"path");const len=path.length;if(len===0){return"."}let rootEnd=-1;let offset=0;const code=path.charCodeAt(0);if(len===1){return isPathSeparator(code)?path:"."}if(isPathSeparator(code)){rootEnd=offset=1;if(isPathSeparator(path.charCodeAt(1))){let j=2;let last=j;while(j<len&&!isPathSeparator(path.charCodeAt(j))){j++}if(j<len&&j!==last){last=j;while(j<len&&isPathSeparator(path.charCodeAt(j))){j++}if(j<len&&j!==last){last=j;while(j<len&&!isPathSeparator(path.charCodeAt(j))){j++}if(j===len){return path}if(j!==last){rootEnd=offset=j+1}}}}}else if(isWindowsDeviceRoot(code)&&path.charCodeAt(1)===CHAR_COLON){rootEnd=len>2&&isPathSeparator(path.charCodeAt(2))?3:2;offset=rootEnd}let end=-1;let matchedSlash=true;for(let i=len-1;i>=offset;--i){if(isPathSeparator(path.charCodeAt(i))){if(!matchedSlash){end=i;break}}else{matchedSlash=false}}if(end===-1){if(rootEnd===-1){return"."}end=rootEnd}return path.slice(0,end)},basename(path,ext){if(ext!==void 0){validateString(ext,"ext")}validateString(path,"path");let start=0;let end=-1;let matchedSlash=true;let i;if(path.length>=2&&isWindowsDeviceRoot(path.charCodeAt(0))&&path.charCodeAt(1)===CHAR_COLON){start=2}if(ext!==void 0&&ext.length>0&&ext.length<=path.length){if(ext===path){return""}let extIdx=ext.length-1;let firstNonSlashEnd=-1;for(i=path.length-1;i>=start;--i){const code=path.charCodeAt(i);if(isPathSeparator(code)){if(!matchedSlash){start=i+1;break}}else{if(firstNonSlashEnd===-1){matchedSlash=false;firstNonSlashEnd=i+1}if(extIdx>=0){if(code===ext.charCodeAt(extIdx)){if(--extIdx===-1){end=i}}else{extIdx=-1;end=firstNonSlashEnd}}}}if(start===end){end=firstNonSlashEnd}else if(end===-1){end=path.length}return path.slice(start,end)}for(i=path.length-1;i>=start;--i){if(isPathSeparator(path.charCodeAt(i))){if(!matchedSlash){start=i+1;break}}else if(end===-1){matchedSlash=false;end=i+1}}if(end===-1){return""}return path.slice(start,end)},extname(path){validateString(path,"path");let start=0;let startDot=-1;let startPart=0;let end=-1;let matchedSlash=true;let preDotState=0;if(path.length>=2&&path.charCodeAt(1)===CHAR_COLON&&isWindowsDeviceRoot(path.charCodeAt(0))){start=startPart=2}for(let i=path.length-1;i>=start;--i){const code=path.charCodeAt(i);if(isPathSeparator(code)){if(!matchedSlash){startPart=i+1;break}continue}if(end===-1){matchedSlash=false;end=i+1}if(code===CHAR_DOT){if(startDot===-1){startDot=i}else if(preDotState!==1){preDotState=1}}else if(startDot!==-1){preDotState=-1}}if(startDot===-1||end===-1||preDotState===0||preDotState===1&&startDot===end-1&&startDot===startPart+1){return""}return path.slice(startDot,end)},format:_format2.bind(null,"\\"),parse(path){validateString(path,"path");const ret={root:"",dir:"",base:"",ext:"",name:""};if(path.length===0){return ret}const len=path.length;let rootEnd=0;let code=path.charCodeAt(0);if(len===1){if(isPathSeparator(code)){ret.root=ret.dir=path;return ret}ret.base=ret.name=path;return ret}if(isPathSeparator(code)){rootEnd=1;if(isPathSeparator(path.charCodeAt(1))){let j=2;let last=j;while(j<len&&!isPathSeparator(path.charCodeAt(j))){j++}if(j<len&&j!==last){last=j;while(j<len&&isPathSeparator(path.charCodeAt(j))){j++}if(j<len&&j!==last){last=j;while(j<len&&!isPathSeparator(path.charCodeAt(j))){j++}if(j===len){rootEnd=j}else if(j!==last){rootEnd=j+1}}}}}else if(isWindowsDeviceRoot(code)&&path.charCodeAt(1)===CHAR_COLON){if(len<=2){ret.root=ret.dir=path;return ret}rootEnd=2;if(isPathSeparator(path.charCodeAt(2))){if(len===3){ret.root=ret.dir=path;return ret}rootEnd=3}}if(rootEnd>0){ret.root=path.slice(0,rootEnd)}let startDot=-1;let startPart=rootEnd;let end=-1;let matchedSlash=true;let i=path.length-1;let preDotState=0;for(;i>=rootEnd;--i){code=path.charCodeAt(i);if(isPathSeparator(code)){if(!matchedSlash){startPart=i+1;break}continue}if(end===-1){matchedSlash=false;end=i+1}if(code===CHAR_DOT){if(startDot===-1){startDot=i}else if(preDotState!==1){preDotState=1}}else if(startDot!==-1){preDotState=-1}}if(end!==-1){if(startDot===-1||preDotState===0||preDotState===1&&startDot===end-1&&startDot===startPart+1){ret.base=ret.name=path.slice(startPart,end)}else{ret.name=path.slice(startPart,startDot);ret.base=path.slice(startPart,end);ret.ext=path.slice(startDot,end)}}if(startPart>0&&startPart!==rootEnd){ret.dir=path.slice(0,startPart-1)}else{ret.dir=ret.root}return ret},sep:"\\",delimiter:";",win32:null,posix:null};posixCwd=(()=>{if(platformIsWin32){const regexp=/\\/g;return()=>{const cwd2=cwd().replace(regexp,"/");return cwd2.slice(cwd2.indexOf("/"))}}return()=>cwd()})();posix={resolve(...pathSegments){let resolvedPath="";let resolvedAbsolute=false;for(let i=pathSegments.length-1;i>=-1&&!resolvedAbsolute;i--){const path=i>=0?pathSegments[i]:posixCwd();validateString(path,"path");if(path.length===0){continue}resolvedPath=`${path}/${resolvedPath}`;resolvedAbsolute=path.charCodeAt(0)===CHAR_FORWARD_SLASH}resolvedPath=normalizeString(resolvedPath,!resolvedAbsolute,"/",isPosixPathSeparator);if(resolvedAbsolute){return`/${resolvedPath}`}return resolvedPath.length>0?resolvedPath:"."},normalize(path){validateString(path,"path");if(path.length===0){return"."}const isAbsolute=path.charCodeAt(0)===CHAR_FORWARD_SLASH;const trailingSeparator=path.charCodeAt(path.length-1)===CHAR_FORWARD_SLASH;path=normalizeString(path,!isAbsolute,"/",isPosixPathSeparator);if(path.length===0){if(isAbsolute){return"/"}return trailingSeparator?"./":"."}if(trailingSeparator){path+="/"}return isAbsolute?`/${path}`:path},isAbsolute(path){validateString(path,"path");return path.length>0&&path.charCodeAt(0)===CHAR_FORWARD_SLASH},join(...paths){if(paths.length===0){return"."}let joined;for(let i=0;i<paths.length;++i){const arg=paths[i];validateString(arg,"path");if(arg.length>0){if(joined===void 0){joined=arg}else{joined+=`/${arg}`}}}if(joined===void 0){return"."}return posix.normalize(joined)},relative(from,to){validateString(from,"from");validateString(to,"to");if(from===to){return""}from=posix.resolve(from);to=posix.resolve(to);if(from===to){return""}const fromStart=1;const fromEnd=from.length;const fromLen=fromEnd-fromStart;const toStart=1;const toLen=to.length-toStart;const length2=fromLen<toLen?fromLen:toLen;let lastCommonSep=-1;let i=0;for(;i<length2;i++){const fromCode=from.charCodeAt(fromStart+i);if(fromCode!==to.charCodeAt(toStart+i)){break}else if(fromCode===CHAR_FORWARD_SLASH){lastCommonSep=i}}if(i===length2){if(toLen>length2){if(to.charCodeAt(toStart+i)===CHAR_FORWARD_SLASH){return to.slice(toStart+i+1)}if(i===0){return to.slice(toStart+i)}}else if(fromLen>length2){if(from.charCodeAt(fromStart+i)===CHAR_FORWARD_SLASH){lastCommonSep=i}else if(i===0){lastCommonSep=0}}}let out="";for(i=fromStart+lastCommonSep+1;i<=fromEnd;++i){if(i===fromEnd||from.charCodeAt(i)===CHAR_FORWARD_SLASH){out+=out.length===0?"..":"/.."}}return`${out}${to.slice(toStart+lastCommonSep)}`},toNamespacedPath(path){return path},dirname(path){validateString(path,"path");if(path.length===0){return"."}const hasRoot=path.charCodeAt(0)===CHAR_FORWARD_SLASH;let end=-1;let matchedSlash=true;for(let i=path.length-1;i>=1;--i){if(path.charCodeAt(i)===CHAR_FORWARD_SLASH){if(!matchedSlash){end=i;break}}else{matchedSlash=false}}if(end===-1){return hasRoot?"/":"."}if(hasRoot&&end===1){return"//"}return path.slice(0,end)},basename(path,ext){if(ext!==void 0){validateString(ext,"ext")}validateString(path,"path");let start=0;let end=-1;let matchedSlash=true;let i;if(ext!==void 0&&ext.length>0&&ext.length<=path.length){if(ext===path){return""}let extIdx=ext.length-1;let firstNonSlashEnd=-1;for(i=path.length-1;i>=0;--i){const code=path.charCodeAt(i);if(code===CHAR_FORWARD_SLASH){if(!matchedSlash){start=i+1;break}}else{if(firstNonSlashEnd===-1){matchedSlash=false;firstNonSlashEnd=i+1}if(extIdx>=0){if(code===ext.charCodeAt(extIdx)){if(--extIdx===-1){end=i}}else{extIdx=-1;end=firstNonSlashEnd}}}}if(start===end){end=firstNonSlashEnd}else if(end===-1){end=path.length}return path.slice(start,end)}for(i=path.length-1;i>=0;--i){if(path.charCodeAt(i)===CHAR_FORWARD_SLASH){if(!matchedSlash){start=i+1;break}}else if(end===-1){matchedSlash=false;end=i+1}}if(end===-1){return""}return path.slice(start,end)},extname(path){validateString(path,"path");let startDot=-1;let startPart=0;let end=-1;let matchedSlash=true;let preDotState=0;for(let i=path.length-1;i>=0;--i){const code=path.charCodeAt(i);if(code===CHAR_FORWARD_SLASH){if(!matchedSlash){startPart=i+1;break}continue}if(end===-1){matchedSlash=false;end=i+1}if(code===CHAR_DOT){if(startDot===-1){startDot=i}else if(preDotState!==1){preDotState=1}}else if(startDot!==-1){preDotState=-1}}if(startDot===-1||end===-1||preDotState===0||preDotState===1&&startDot===end-1&&startDot===startPart+1){return""}return path.slice(startDot,end)},format:_format2.bind(null,"/"),parse(path){validateString(path,"path");const ret={root:"",dir:"",base:"",ext:"",name:""};if(path.length===0){return ret}const isAbsolute=path.charCodeAt(0)===CHAR_FORWARD_SLASH;let start;if(isAbsolute){ret.root="/";start=1}else{start=0}let startDot=-1;let startPart=0;let end=-1;let matchedSlash=true;let i=path.length-1;let preDotState=0;for(;i>=start;--i){const code=path.charCodeAt(i);if(code===CHAR_FORWARD_SLASH){if(!matchedSlash){startPart=i+1;break}continue}if(end===-1){matchedSlash=false;end=i+1}if(code===CHAR_DOT){if(startDot===-1){startDot=i}else if(preDotState!==1){preDotState=1}}else if(startDot!==-1){preDotState=-1}}if(end!==-1){const start2=startPart===0&&isAbsolute?1:startPart;if(startDot===-1||preDotState===0||preDotState===1&&startDot===end-1&&startDot===startPart+1){ret.base=ret.name=path.slice(start2,end)}else{ret.name=path.slice(start2,startDot);ret.base=path.slice(start2,end);ret.ext=path.slice(startDot,end)}}if(startPart>0){ret.dir=path.slice(0,startPart-1)}else if(isAbsolute){ret.dir="/"}return ret},sep:"/",delimiter:":",win32:null,posix:null};posix.win32=win32.win32=win32;posix.posix=win32.posix=posix;normalize=platformIsWin32?win32.normalize:posix.normalize;resolve=platformIsWin32?win32.resolve:posix.resolve;relative=platformIsWin32?win32.relative:posix.relative;dirname=platformIsWin32?win32.dirname:posix.dirname;basename=platformIsWin32?win32.basename:posix.basename;extname=platformIsWin32?win32.extname:posix.extname;sep=platformIsWin32?win32.sep:posix.sep}});function _validateUri(ret,_strict){if(!ret.scheme&&_strict){throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${ret.authority}", path: "${ret.path}", query: "${ret.query}", fragment: "${ret.fragment}"}`)}if(ret.scheme&&!_schemePattern.test(ret.scheme)){throw new Error("[UriError]: Scheme contains illegal characters.")}if(ret.path){if(ret.authority){if(!_singleSlashStart.test(ret.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(_doubleSlashStart.test(ret.path)){throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}}}function _schemeFix(scheme,_strict){if(!scheme&&!_strict){return"file"}return scheme}function _referenceResolution(scheme,path){switch(scheme){case"https":case"http":case"file":if(!path){path=_slash}else if(path[0]!==_slash){path=_slash+path}break}return path}function encodeURIComponentFast(uriComponent,isPath,isAuthority){let res=void 0;let nativeEncodePos=-1;for(let pos=0;pos<uriComponent.length;pos++){const code=uriComponent.charCodeAt(pos);if(code>=97&&code<=122||code>=65&&code<=90||code>=48&&code<=57||code===45||code===46||code===95||code===126||isPath&&code===47||isAuthority&&code===91||isAuthority&&code===93||isAuthority&&code===58){if(nativeEncodePos!==-1){res+=encodeURIComponent(uriComponent.substring(nativeEncodePos,pos));nativeEncodePos=-1}if(res!==void 0){res+=uriComponent.charAt(pos)}}else{if(res===void 0){res=uriComponent.substr(0,pos)}const escaped=encodeTable[code];if(escaped!==void 0){if(nativeEncodePos!==-1){res+=encodeURIComponent(uriComponent.substring(nativeEncodePos,pos));nativeEncodePos=-1}res+=escaped}else if(nativeEncodePos===-1){nativeEncodePos=pos}}}if(nativeEncodePos!==-1){res+=encodeURIComponent(uriComponent.substring(nativeEncodePos))}return res!==void 0?res:uriComponent}function encodeURIComponentMinimal(path){let res=void 0;for(let pos=0;pos<path.length;pos++){const code=path.charCodeAt(pos);if(code===35||code===63){if(res===void 0){res=path.substr(0,pos)}res+=encodeTable[code]}else{if(res!==void 0){res+=path[pos]}}}return res!==void 0?res:path}function uriToFsPath(uri,keepDriveLetterCasing){let value;if(uri.authority&&uri.path.length>1&&uri.scheme==="file"){value=`//${uri.authority}${uri.path}`}else if(uri.path.charCodeAt(0)===47&&(uri.path.charCodeAt(1)>=65&&uri.path.charCodeAt(1)<=90||uri.path.charCodeAt(1)>=97&&uri.path.charCodeAt(1)<=122)&&uri.path.charCodeAt(2)===58){if(!keepDriveLetterCasing){value=uri.path[1].toLowerCase()+uri.path.substr(2)}else{value=uri.path.substr(1)}}else{value=uri.path}if(isWindows){value=value.replace(/\//g,"\\")}return value}function _asFormatted(uri,skipEncoding){const encoder=!skipEncoding?encodeURIComponentFast:encodeURIComponentMinimal;let res="";let{scheme:scheme,authority:authority,path:path,query:query,fragment:fragment}=uri;if(scheme){res+=scheme;res+=":"}if(authority||scheme==="file"){res+=_slash;res+=_slash}if(authority){let idx=authority.indexOf("@");if(idx!==-1){const userinfo=authority.substr(0,idx);authority=authority.substr(idx+1);idx=userinfo.lastIndexOf(":");if(idx===-1){res+=encoder(userinfo,false,false)}else{res+=encoder(userinfo.substr(0,idx),false,false);res+=":";res+=encoder(userinfo.substr(idx+1),false,true)}res+="@"}authority=authority.toLowerCase();idx=authority.lastIndexOf(":");if(idx===-1){res+=encoder(authority,false,true)}else{res+=encoder(authority.substr(0,idx),false,true);res+=authority.substr(idx)}}if(path){if(path.length>=3&&path.charCodeAt(0)===47&&path.charCodeAt(2)===58){const code=path.charCodeAt(1);if(code>=65&&code<=90){path=`/${String.fromCharCode(code+32)}:${path.substr(3)}`}}else if(path.length>=2&&path.charCodeAt(1)===58){const code=path.charCodeAt(0);if(code>=65&&code<=90){path=`${String.fromCharCode(code+32)}:${path.substr(2)}`}}res+=encoder(path,true,false)}if(query){res+="?";res+=encoder(query,false,false)}if(fragment){res+="#";res+=!skipEncoding?encodeURIComponentFast(fragment,false,false):fragment}return res}function decodeURIComponentGraceful(str){try{return decodeURIComponent(str)}catch(_a6){if(str.length>3){return str.substr(0,3)+decodeURIComponentGraceful(str.substr(3))}else{return str}}}function percentDecode(str){if(!str.match(_rEncodedAsHex)){return str}return str.replace(_rEncodedAsHex,(match2=>decodeURIComponentGraceful(match2)))}var _schemePattern,_singleSlashStart,_doubleSlashStart,_empty,_slash,_regexp,URI,_pathSepMarker,Uri,encodeTable,_rEncodedAsHex;var init_uri=__esm({"node_modules/monaco-editor/esm/vs/base/common/uri.js"(){init_path();init_platform();_schemePattern=/^\w[\w\d+.-]*$/;_singleSlashStart=/^\//;_doubleSlashStart=/^\/\//;_empty="";_slash="/";_regexp=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;URI=class{static isUri(thing){if(thing instanceof URI){return true}if(!thing){return false}return typeof thing.authority==="string"&&typeof thing.fragment==="string"&&typeof thing.path==="string"&&typeof thing.query==="string"&&typeof thing.scheme==="string"&&typeof thing.fsPath==="string"&&typeof thing.with==="function"&&typeof thing.toString==="function"}constructor(schemeOrData,authority,path,query,fragment,_strict=false){if(typeof schemeOrData==="object"){this.scheme=schemeOrData.scheme||_empty;this.authority=schemeOrData.authority||_empty;this.path=schemeOrData.path||_empty;this.query=schemeOrData.query||_empty;this.fragment=schemeOrData.fragment||_empty}else{this.scheme=_schemeFix(schemeOrData,_strict);this.authority=authority||_empty;this.path=_referenceResolution(this.scheme,path||_empty);this.query=query||_empty;this.fragment=fragment||_empty;_validateUri(this,_strict)}}get fsPath(){return uriToFsPath(this,false)}with(change){if(!change){return this}let{scheme:scheme,authority:authority,path:path,query:query,fragment:fragment}=change;if(scheme===void 0){scheme=this.scheme}else if(scheme===null){scheme=_empty}if(authority===void 0){authority=this.authority}else if(authority===null){authority=_empty}if(path===void 0){path=this.path}else if(path===null){path=_empty}if(query===void 0){query=this.query}else if(query===null){query=_empty}if(fragment===void 0){fragment=this.fragment}else if(fragment===null){fragment=_empty}if(scheme===this.scheme&&authority===this.authority&&path===this.path&&query===this.query&&fragment===this.fragment){return this}return new Uri(scheme,authority,path,query,fragment)}static parse(value,_strict=false){const match2=_regexp.exec(value);if(!match2){return new Uri(_empty,_empty,_empty,_empty,_empty)}return new Uri(match2[2]||_empty,percentDecode(match2[4]||_empty),percentDecode(match2[5]||_empty),percentDecode(match2[7]||_empty),percentDecode(match2[9]||_empty),_strict)}static file(path){let authority=_empty;if(isWindows){path=path.replace(/\\/g,_slash)}if(path[0]===_slash&&path[1]===_slash){const idx=path.indexOf(_slash,2);if(idx===-1){authority=path.substring(2);path=_slash}else{authority=path.substring(2,idx);path=path.substring(idx)||_slash}}return new Uri("file",authority,path,_empty,_empty)}static from(components,strict){const result=new Uri(components.scheme,components.authority,components.path,components.query,components.fragment,strict);return result}static joinPath(uri,...pathFragment){if(!uri.path){throw new Error(`[UriError]: cannot call joinPath on URI without path`)}let newPath;if(isWindows&&uri.scheme==="file"){newPath=URI.file(win32.join(uriToFsPath(uri,true),...pathFragment)).path}else{newPath=posix.join(uri.path,...pathFragment)}return uri.with({path:newPath})}toString(skipEncoding=false){return _asFormatted(this,skipEncoding)}toJSON(){return this}static revive(data){var _a6,_b3;if(!data){return data}else if(data instanceof URI){return data}else{const result=new Uri(data);result._formatted=(_a6=data.external)!==null&&_a6!==void 0?_a6:null;result._fsPath=data._sep===_pathSepMarker?(_b3=data.fsPath)!==null&&_b3!==void 0?_b3:null:null;return result}}};_pathSepMarker=isWindows?1:void 0;Uri=class extends URI{constructor(){super(...arguments);this._formatted=null;this._fsPath=null}get fsPath(){if(!this._fsPath){this._fsPath=uriToFsPath(this,false)}return this._fsPath}toString(skipEncoding=false){if(!skipEncoding){if(!this._formatted){this._formatted=_asFormatted(this,false)}return this._formatted}else{return _asFormatted(this,true)}}toJSON(){const res={$mid:1};if(this._fsPath){res.fsPath=this._fsPath;res._sep=_pathSepMarker}if(this._formatted){res.external=this._formatted}if(this.path){res.path=this.path}if(this.scheme){res.scheme=this.scheme}if(this.authority){res.authority=this.authority}if(this.query){res.query=this.query}if(this.fragment){res.fragment=this.fragment}return res}};encodeTable={[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"};_rEncodedAsHex=/(%[0-9A-Za-z][0-9A-Za-z])+/g}});var Position;var init_position=__esm({"node_modules/monaco-editor/esm/vs/editor/common/core/position.js"(){Position=class{constructor(lineNumber,column){this.lineNumber=lineNumber;this.column=column}with(newLineNumber=this.lineNumber,newColumn=this.column){if(newLineNumber===this.lineNumber&&newColumn===this.column){return this}else{return new Position(newLineNumber,newColumn)}}delta(deltaLineNumber=0,deltaColumn=0){return this.with(this.lineNumber+deltaLineNumber,this.column+deltaColumn)}equals(other){return Position.equals(this,other)}static equals(a,b){if(!a&&!b){return true}return!!a&&!!b&&a.lineNumber===b.lineNumber&&a.column===b.column}isBefore(other){return Position.isBefore(this,other)}static isBefore(a,b){if(a.lineNumber<b.lineNumber){return true}if(b.lineNumber<a.lineNumber){return false}return a.column<b.column}isBeforeOrEqual(other){return Position.isBeforeOrEqual(this,other)}static isBeforeOrEqual(a,b){if(a.lineNumber<b.lineNumber){return true}if(b.lineNumber<a.lineNumber){return false}return a.column<=b.column}static compare(a,b){const aLineNumber=a.lineNumber|0;const bLineNumber=b.lineNumber|0;if(aLineNumber===bLineNumber){const aColumn=a.column|0;const bColumn=b.column|0;return aColumn-bColumn}return aLineNumber-bLineNumber}clone(){return new Position(this.lineNumber,this.column)}toString(){return"("+this.lineNumber+","+this.column+")"}static lift(pos){return new Position(pos.lineNumber,pos.column)}static isIPosition(obj){return obj&&typeof obj.lineNumber==="number"&&typeof obj.column==="number"}}}});var Range;var init_range=__esm({"node_modules/monaco-editor/esm/vs/editor/common/core/range.js"(){init_position();Range=class{constructor(startLineNumber,startColumn,endLineNumber,endColumn){if(startLineNumber>endLineNumber||startLineNumber===endLineNumber&&startColumn>endColumn){this.startLineNumber=endLineNumber;this.startColumn=endColumn;this.endLineNumber=startLineNumber;this.endColumn=startColumn}else{this.startLineNumber=startLineNumber;this.startColumn=startColumn;this.endLineNumber=endLineNumber;this.endColumn=endColumn}}isEmpty(){return Range.isEmpty(this)}static isEmpty(range2){return range2.startLineNumber===range2.endLineNumber&&range2.startColumn===range2.endColumn}containsPosition(position){return Range.containsPosition(this,position)}static containsPosition(range2,position){if(position.lineNumber<range2.startLineNumber||position.lineNumber>range2.endLineNumber){return false}if(position.lineNumber===range2.startLineNumber&&position.column<range2.startColumn){return false}if(position.lineNumber===range2.endLineNumber&&position.column>range2.endColumn){return false}return true}static strictContainsPosition(range2,position){if(position.lineNumber<range2.startLineNumber||position.lineNumber>range2.endLineNumber){return false}if(position.lineNumber===range2.startLineNumber&&position.column<=range2.startColumn){return false}if(position.lineNumber===range2.endLineNumber&&position.column>=range2.endColumn){return false}return true}containsRange(range2){return Range.containsRange(this,range2)}static containsRange(range2,otherRange){if(otherRange.startLineNumber<range2.startLineNumber||otherRange.endLineNumber<range2.startLineNumber){return false}if(otherRange.startLineNumber>range2.endLineNumber||otherRange.endLineNumber>range2.endLineNumber){return false}if(otherRange.startLineNumber===range2.startLineNumber&&otherRange.startColumn<range2.startColumn){return false}if(otherRange.endLineNumber===range2.endLineNumber&&otherRange.endColumn>range2.endColumn){return false}return true}strictContainsRange(range2){return Range.strictContainsRange(this,range2)}static strictContainsRange(range2,otherRange){if(otherRange.startLineNumber<range2.startLineNumber||otherRange.endLineNumber<range2.startLineNumber){return false}if(otherRange.startLineNumber>range2.endLineNumber||otherRange.endLineNumber>range2.endLineNumber){return false}if(otherRange.startLineNumber===range2.startLineNumber&&otherRange.startColumn<=range2.startColumn){return false}if(otherRange.endLineNumber===range2.endLineNumber&&otherRange.endColumn>=range2.endColumn){return false}return true}plusRange(range2){return Range.plusRange(this,range2)}static plusRange(a,b){let startLineNumber;let startColumn;let endLineNumber;let endColumn;if(b.startLineNumber<a.startLineNumber){startLineNumber=b.startLineNumber;startColumn=b.startColumn}else if(b.startLineNumber===a.startLineNumber){startLineNumber=b.startLineNumber;startColumn=Math.min(b.startColumn,a.startColumn)}else{startLineNumber=a.startLineNumber;startColumn=a.startColumn}if(b.endLineNumber>a.endLineNumber){endLineNumber=b.endLineNumber;endColumn=b.endColumn}else if(b.endLineNumber===a.endLineNumber){endLineNumber=b.endLineNumber;endColumn=Math.max(b.endColumn,a.endColumn)}else{endLineNumber=a.endLineNumber;endColumn=a.endColumn}return new Range(startLineNumber,startColumn,endLineNumber,endColumn)}intersectRanges(range2){return Range.intersectRanges(this,range2)}static intersectRanges(a,b){let resultStartLineNumber=a.startLineNumber;let resultStartColumn=a.startColumn;let resultEndLineNumber=a.endLineNumber;let resultEndColumn=a.endColumn;const otherStartLineNumber=b.startLineNumber;const otherStartColumn=b.startColumn;const otherEndLineNumber=b.endLineNumber;const otherEndColumn=b.endColumn;if(resultStartLineNumber<otherStartLineNumber){resultStartLineNumber=otherStartLineNumber;resultStartColumn=otherStartColumn}else if(resultStartLineNumber===otherStartLineNumber){resultStartColumn=Math.max(resultStartColumn,otherStartColumn)}if(resultEndLineNumber>otherEndLineNumber){resultEndLineNumber=otherEndLineNumber;resultEndColumn=otherEndColumn}else if(resultEndLineNumber===otherEndLineNumber){resultEndColumn=Math.min(resultEndColumn,otherEndColumn)}if(resultStartLineNumber>resultEndLineNumber){return null}if(resultStartLineNumber===resultEndLineNumber&&resultStartColumn>resultEndColumn){return null}return new Range(resultStartLineNumber,resultStartColumn,resultEndLineNumber,resultEndColumn)}equalsRange(other){return Range.equalsRange(this,other)}static equalsRange(a,b){if(!a&&!b){return true}return!!a&&!!b&&a.startLineNumber===b.startLineNumber&&a.startColumn===b.startColumn&&a.endLineNumber===b.endLineNumber&&a.endColumn===b.endColumn}getEndPosition(){return Range.getEndPosition(this)}static getEndPosition(range2){return new Position(range2.endLineNumber,range2.endColumn)}getStartPosition(){return Range.getStartPosition(this)}static getStartPosition(range2){return new Position(range2.startLineNumber,range2.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(endLineNumber,endColumn){return new Range(this.startLineNumber,this.startColumn,endLineNumber,endColumn)}setStartPosition(startLineNumber,startColumn){return new Range(startLineNumber,startColumn,this.endLineNumber,this.endColumn)}collapseToStart(){return Range.collapseToStart(this)}static collapseToStart(range2){return new Range(range2.startLineNumber,range2.startColumn,range2.startLineNumber,range2.startColumn)}collapseToEnd(){return Range.collapseToEnd(this)}static collapseToEnd(range2){return new Range(range2.endLineNumber,range2.endColumn,range2.endLineNumber,range2.endColumn)}delta(lineCount){return new Range(this.startLineNumber+lineCount,this.startColumn,this.endLineNumber+lineCount,this.endColumn)}static fromPositions(start,end=start){return new Range(start.lineNumber,start.column,end.lineNumber,end.column)}static lift(range2){if(!range2){return null}return new Range(range2.startLineNumber,range2.startColumn,range2.endLineNumber,range2.endColumn)}static isIRange(obj){return obj&&typeof obj.startLineNumber==="number"&&typeof obj.startColumn==="number"&&typeof obj.endLineNumber==="number"&&typeof obj.endColumn==="number"}static areIntersectingOrTouching(a,b){if(a.endLineNumber<b.startLineNumber||a.endLineNumber===b.startLineNumber&&a.endColumn<b.startColumn){return false}if(b.endLineNumber<a.startLineNumber||b.endLineNumber===a.startLineNumber&&b.endColumn<a.startColumn){return false}return true}static areIntersecting(a,b){if(a.endLineNumber<b.startLineNumber||a.endLineNumber===b.startLineNumber&&a.endColumn<=b.startColumn){return false}if(b.endLineNumber<a.startLineNumber||b.endLineNumber===a.startLineNumber&&b.endColumn<=a.startColumn){return false}return true}static compareRangesUsingStarts(a,b){if(a&&b){const aStartLineNumber=a.startLineNumber|0;const bStartLineNumber=b.startLineNumber|0;if(aStartLineNumber===bStartLineNumber){const aStartColumn=a.startColumn|0;const bStartColumn=b.startColumn|0;if(aStartColumn===bStartColumn){const aEndLineNumber=a.endLineNumber|0;const bEndLineNumber=b.endLineNumber|0;if(aEndLineNumber===bEndLineNumber){const aEndColumn=a.endColumn|0;const bEndColumn=b.endColumn|0;return aEndColumn-bEndColumn}return aEndLineNumber-bEndLineNumber}return aStartColumn-bStartColumn}return aStartLineNumber-bStartLineNumber}const aExists=a?1:0;const bExists=b?1:0;return aExists-bExists}static compareRangesUsingEnds(a,b){if(a.endLineNumber===b.endLineNumber){if(a.endColumn===b.endColumn){if(a.startLineNumber===b.startLineNumber){return a.startColumn-b.startColumn}return a.startLineNumber-b.startLineNumber}return a.endColumn-b.endColumn}return a.endLineNumber-b.endLineNumber}static spansMultipleLines(range2){return range2.endLineNumber>range2.startLineNumber}toJSON(){return this}}}});var Selection;var init_selection=__esm({"node_modules/monaco-editor/esm/vs/editor/common/core/selection.js"(){init_position();init_range();Selection=class extends Range{constructor(selectionStartLineNumber,selectionStartColumn,positionLineNumber,positionColumn){super(selectionStartLineNumber,selectionStartColumn,positionLineNumber,positionColumn);this.selectionStartLineNumber=selectionStartLineNumber;this.selectionStartColumn=selectionStartColumn;this.positionLineNumber=positionLineNumber;this.positionColumn=positionColumn}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(other){return Selection.selectionsEqual(this,other)}static selectionsEqual(a,b){return a.selectionStartLineNumber===b.selectionStartLineNumber&&a.selectionStartColumn===b.selectionStartColumn&&a.positionLineNumber===b.positionLineNumber&&a.positionColumn===b.positionColumn}getDirection(){if(this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn){return 0}return 1}setEndPosition(endLineNumber,endColumn){if(this.getDirection()===0){return new Selection(this.startLineNumber,this.startColumn,endLineNumber,endColumn)}return new Selection(endLineNumber,endColumn,this.startLineNumber,this.startColumn)}getPosition(){return new Position(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new Position(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(startLineNumber,startColumn){if(this.getDirection()===0){return new Selection(startLineNumber,startColumn,this.endLineNumber,this.endColumn)}return new Selection(this.endLineNumber,this.endColumn,startLineNumber,startColumn)}static fromPositions(start,end=start){return new Selection(start.lineNumber,start.column,end.lineNumber,end.column)}static fromRange(range2,direction){if(direction===0){return new Selection(range2.startLineNumber,range2.startColumn,range2.endLineNumber,range2.endColumn)}else{return new Selection(range2.endLineNumber,range2.endColumn,range2.startLineNumber,range2.startColumn)}}static liftSelection(sel){return new Selection(sel.selectionStartLineNumber,sel.selectionStartColumn,sel.positionLineNumber,sel.positionColumn)}static selectionsArrEqual(a,b){if(a&&!b||!a&&b){return false}if(!a&&!b){return true}if(a.length!==b.length){return false}for(let i=0,len=a.length;i<len;i++){if(!this.selectionsEqual(a[i],b[i])){return false}}return true}static isISelection(obj){return obj&&typeof obj.selectionStartLineNumber==="number"&&typeof obj.selectionStartColumn==="number"&&typeof obj.positionLineNumber==="number"&&typeof obj.positionColumn==="number"}static createWithDirection(startLineNumber,startColumn,endLineNumber,endColumn,direction){if(direction===0){return new Selection(startLineNumber,startColumn,endLineNumber,endColumn)}return new Selection(endLineNumber,endColumn,startLineNumber,startColumn)}}}});function register2(id,fontCharacter){if(isString(fontCharacter)){const val=_codiconFontCharacters[fontCharacter];if(val===void 0){throw new Error(`${id} references an unknown codicon: ${fontCharacter}`)}fontCharacter=val}_codiconFontCharacters[id]=fontCharacter;return{id:id}}function getCodiconFontCharacters(){return _codiconFontCharacters}var _codiconFontCharacters,Codicon;var init_codicons=__esm({"node_modules/monaco-editor/esm/vs/base/common/codicons.js"(){init_types();_codiconFontCharacters=Object.create(null);Codicon={add:register2("add",6e4),plus:register2("plus",6e4),gistNew:register2("gist-new",6e4),repoCreate:register2("repo-create",6e4),lightbulb:register2("lightbulb",60001),lightBulb:register2("light-bulb",60001),repo:register2("repo",60002),repoDelete:register2("repo-delete",60002),gistFork:register2("gist-fork",60003),repoForked:register2("repo-forked",60003),gitPullRequest:register2("git-pull-request",60004),gitPullRequestAbandoned:register2("git-pull-request-abandoned",60004),recordKeys:register2("record-keys",60005),keyboard:register2("keyboard",60005),tag:register2("tag",60006),tagAdd:register2("tag-add",60006),tagRemove:register2("tag-remove",60006),gitPullRequestLabel:register2("git-pull-request-label",60006),person:register2("person",60007),personFollow:register2("person-follow",60007),personOutline:register2("person-outline",60007),personFilled:register2("person-filled",60007),gitBranch:register2("git-branch",60008),gitBranchCreate:register2("git-branch-create",60008),gitBranchDelete:register2("git-branch-delete",60008),sourceControl:register2("source-control",60008),mirror:register2("mirror",60009),mirrorPublic:register2("mirror-public",60009),star:register2("star",60010),starAdd:register2("star-add",60010),starDelete:register2("star-delete",60010),starEmpty:register2("star-empty",60010),comment:register2("comment",60011),commentAdd:register2("comment-add",60011),alert:register2("alert",60012),warning:register2("warning",60012),search:register2("search",60013),searchSave:register2("search-save",60013),logOut:register2("log-out",60014),signOut:register2("sign-out",60014),logIn:register2("log-in",60015),signIn:register2("sign-in",60015),eye:register2("eye",60016),eyeUnwatch:register2("eye-unwatch",60016),eyeWatch:register2("eye-watch",60016),circleFilled:register2("circle-filled",60017),primitiveDot:register2("primitive-dot",60017),closeDirty:register2("close-dirty",60017),debugBreakpoint:register2("debug-breakpoint",60017),debugBreakpointDisabled:register2("debug-breakpoint-disabled",60017),debugHint:register2("debug-hint",60017),primitiveSquare:register2("primitive-square",60018),edit:register2("edit",60019),pencil:register2("pencil",60019),info:register2("info",60020),issueOpened:register2("issue-opened",60020),gistPrivate:register2("gist-private",60021),gitForkPrivate:register2("git-fork-private",60021),lock:register2("lock",60021),mirrorPrivate:register2("mirror-private",60021),close:register2("close",60022),removeClose:register2("remove-close",60022),x:register2("x",60022),repoSync:register2("repo-sync",60023),sync:register2("sync",60023),clone:register2("clone",60024),desktopDownload:register2("desktop-download",60024),beaker:register2("beaker",60025),microscope:register2("microscope",60025),vm:register2("vm",60026),deviceDesktop:register2("device-desktop",60026),file:register2("file",60027),fileText:register2("file-text",60027),more:register2("more",60028),ellipsis:register2("ellipsis",60028),kebabHorizontal:register2("kebab-horizontal",60028),mailReply:register2("mail-reply",60029),reply:register2("reply",60029),organization:register2("organization",60030),organizationFilled:register2("organization-filled",60030),organizationOutline:register2("organization-outline",60030),newFile:register2("new-file",60031),fileAdd:register2("file-add",60031),newFolder:register2("new-folder",60032),fileDirectoryCreate:register2("file-directory-create",60032),trash:register2("trash",60033),trashcan:register2("trashcan",60033),history:register2("history",60034),clock:register2("clock",60034),folder:register2("folder",60035),fileDirectory:register2("file-directory",60035),symbolFolder:register2("symbol-folder",60035),logoGithub:register2("logo-github",60036),markGithub:register2("mark-github",60036),github:register2("github",60036),terminal:register2("terminal",60037),console:register2("console",60037),repl:register2("repl",60037),zap:register2("zap",60038),symbolEvent:register2("symbol-event",60038),error:register2("error",60039),stop:register2("stop",60039),variable:register2("variable",60040),symbolVariable:register2("symbol-variable",60040),array:register2("array",60042),symbolArray:register2("symbol-array",60042),symbolModule:register2("symbol-module",60043),symbolPackage:register2("symbol-package",60043),symbolNamespace:register2("symbol-namespace",60043),symbolObject:register2("symbol-object",60043),symbolMethod:register2("symbol-method",60044),symbolFunction:register2("symbol-function",60044),symbolConstructor:register2("symbol-constructor",60044),symbolBoolean:register2("symbol-boolean",60047),symbolNull:register2("symbol-null",60047),symbolNumeric:register2("symbol-numeric",60048),symbolNumber:register2("symbol-number",60048),symbolStructure:register2("symbol-structure",60049),symbolStruct:register2("symbol-struct",60049),symbolParameter:register2("symbol-parameter",60050),symbolTypeParameter:register2("symbol-type-parameter",60050),symbolKey:register2("symbol-key",60051),symbolText:register2("symbol-text",60051),symbolReference:register2("symbol-reference",60052),goToFile:register2("go-to-file",60052),symbolEnum:register2("symbol-enum",60053),symbolValue:register2("symbol-value",60053),symbolRuler:register2("symbol-ruler",60054),symbolUnit:register2("symbol-unit",60054),activateBreakpoints:register2("activate-breakpoints",60055),archive:register2("archive",60056),arrowBoth:register2("arrow-both",60057),arrowDown:register2("arrow-down",60058),arrowLeft:register2("arrow-left",60059),arrowRight:register2("arrow-right",60060),arrowSmallDown:register2("arrow-small-down",60061),arrowSmallLeft:register2("arrow-small-left",60062),arrowSmallRight:register2("arrow-small-right",60063),arrowSmallUp:register2("arrow-small-up",60064),arrowUp:register2("arrow-up",60065),bell:register2("bell",60066),bold:register2("bold",60067),book:register2("book",60068),bookmark:register2("bookmark",60069),debugBreakpointConditionalUnverified:register2("debug-breakpoint-conditional-unverified",60070),debugBreakpointConditional:register2("debug-breakpoint-conditional",60071),debugBreakpointConditionalDisabled:register2("debug-breakpoint-conditional-disabled",60071),debugBreakpointDataUnverified:register2("debug-breakpoint-data-unverified",60072),debugBreakpointData:register2("debug-breakpoint-data",60073),debugBreakpointDataDisabled:register2("debug-breakpoint-data-disabled",60073),debugBreakpointLogUnverified:register2("debug-breakpoint-log-unverified",60074),debugBreakpointLog:register2("debug-breakpoint-log",60075),debugBreakpointLogDisabled:register2("debug-breakpoint-log-disabled",60075),briefcase:register2("briefcase",60076),broadcast:register2("broadcast",60077),browser:register2("browser",60078),bug:register2("bug",60079),calendar:register2("calendar",60080),caseSensitive:register2("case-sensitive",60081),check:register2("check",60082),checklist:register2("checklist",60083),chevronDown:register2("chevron-down",60084),dropDownButton:register2("drop-down-button",60084),chevronLeft:register2("chevron-left",60085),chevronRight:register2("chevron-right",60086),chevronUp:register2("chevron-up",60087),chromeClose:register2("chrome-close",60088),chromeMaximize:register2("chrome-maximize",60089),chromeMinimize:register2("chrome-minimize",60090),chromeRestore:register2("chrome-restore",60091),circle:register2("circle",60092),circleOutline:register2("circle-outline",60092),debugBreakpointUnverified:register2("debug-breakpoint-unverified",60092),circleSlash:register2("circle-slash",60093),circuitBoard:register2("circuit-board",60094),clearAll:register2("clear-all",60095),clippy:register2("clippy",60096),closeAll:register2("close-all",60097),cloudDownload:register2("cloud-download",60098),cloudUpload:register2("cloud-upload",60099),code:register2("code",60100),collapseAll:register2("collapse-all",60101),colorMode:register2("color-mode",60102),commentDiscussion:register2("comment-discussion",60103),compareChanges:register2("compare-changes",60157),creditCard:register2("credit-card",60105),dash:register2("dash",60108),dashboard:register2("dashboard",60109),database:register2("database",60110),debugContinue:register2("debug-continue",60111),debugDisconnect:register2("debug-disconnect",60112),debugPause:register2("debug-pause",60113),debugRestart:register2("debug-restart",60114),debugStart:register2("debug-start",60115),debugStepInto:register2("debug-step-into",60116),debugStepOut:register2("debug-step-out",60117),debugStepOver:register2("debug-step-over",60118),debugStop:register2("debug-stop",60119),debug:register2("debug",60120),deviceCameraVideo:register2("device-camera-video",60121),deviceCamera:register2("device-camera",60122),deviceMobile:register2("device-mobile",60123),diffAdded:register2("diff-added",60124),diffIgnored:register2("diff-ignored",60125),diffModified:register2("diff-modified",60126),diffRemoved:register2("diff-removed",60127),diffRenamed:register2("diff-renamed",60128),diff:register2("diff",60129),discard:register2("discard",60130),editorLayout:register2("editor-layout",60131),emptyWindow:register2("empty-window",60132),exclude:register2("exclude",60133),extensions:register2("extensions",60134),eyeClosed:register2("eye-closed",60135),fileBinary:register2("file-binary",60136),fileCode:register2("file-code",60137),fileMedia:register2("file-media",60138),filePdf:register2("file-pdf",60139),fileSubmodule:register2("file-submodule",60140),fileSymlinkDirectory:register2("file-symlink-directory",60141),fileSymlinkFile:register2("file-symlink-file",60142),fileZip:register2("file-zip",60143),files:register2("files",60144),filter:register2("filter",60145),flame:register2("flame",60146),foldDown:register2("fold-down",60147),foldUp:register2("fold-up",60148),fold:register2("fold",60149),folderActive:register2("folder-active",60150),folderOpened:register2("folder-opened",60151),gear:register2("gear",60152),gift:register2("gift",60153),gistSecret:register2("gist-secret",60154),gist:register2("gist",60155),gitCommit:register2("git-commit",60156),gitCompare:register2("git-compare",60157),gitMerge:register2("git-merge",60158),githubAction:register2("github-action",60159),githubAlt:register2("github-alt",60160),globe:register2("globe",60161),grabber:register2("grabber",60162),graph:register2("graph",60163),gripper:register2("gripper",60164),heart:register2("heart",60165),home:register2("home",60166),horizontalRule:register2("horizontal-rule",60167),hubot:register2("hubot",60168),inbox:register2("inbox",60169),issueClosed:register2("issue-closed",60324),issueReopened:register2("issue-reopened",60171),issues:register2("issues",60172),italic:register2("italic",60173),jersey:register2("jersey",60174),json:register2("json",60175),bracket:register2("bracket",60175),kebabVertical:register2("kebab-vertical",60176),key:register2("key",60177),law:register2("law",60178),lightbulbAutofix:register2("lightbulb-autofix",60179),linkExternal:register2("link-external",60180),link:register2("link",60181),listOrdered:register2("list-ordered",60182),listUnordered:register2("list-unordered",60183),liveShare:register2("live-share",60184),loading:register2("loading",60185),location:register2("location",60186),mailRead:register2("mail-read",60187),mail:register2("mail",60188),markdown:register2("markdown",60189),megaphone:register2("megaphone",60190),mention:register2("mention",60191),milestone:register2("milestone",60192),gitPullRequestMilestone:register2("git-pull-request-milestone",60192),mortarBoard:register2("mortar-board",60193),move:register2("move",60194),multipleWindows:register2("multiple-windows",60195),mute:register2("mute",60196),noNewline:register2("no-newline",60197),note:register2("note",60198),octoface:register2("octoface",60199),openPreview:register2("open-preview",60200),package_:register2("package",60201),paintcan:register2("paintcan",60202),pin:register2("pin",60203),play:register2("play",60204),run:register2("run",60204),plug:register2("plug",60205),preserveCase:register2("preserve-case",60206),preview:register2("preview",60207),project:register2("project",60208),pulse:register2("pulse",60209),question:register2("question",60210),quote:register2("quote",60211),radioTower:register2("radio-tower",60212),reactions:register2("reactions",60213),references:register2("references",60214),refresh:register2("refresh",60215),regex:register2("regex",60216),remoteExplorer:register2("remote-explorer",60217),remote:register2("remote",60218),remove:register2("remove",60219),replaceAll:register2("replace-all",60220),replace:register2("replace",60221),repoClone:register2("repo-clone",60222),repoForcePush:register2("repo-force-push",60223),repoPull:register2("repo-pull",60224),repoPush:register2("repo-push",60225),report:register2("report",60226),requestChanges:register2("request-changes",60227),rocket:register2("rocket",60228),rootFolderOpened:register2("root-folder-opened",60229),rootFolder:register2("root-folder",60230),rss:register2("rss",60231),ruby:register2("ruby",60232),saveAll:register2("save-all",60233),saveAs:register2("save-as",60234),save:register2("save",60235),screenFull:register2("screen-full",60236),screenNormal:register2("screen-normal",60237),searchStop:register2("search-stop",60238),server:register2("server",60240),settingsGear:register2("settings-gear",60241),settings:register2("settings",60242),shield:register2("shield",60243),smiley:register2("smiley",60244),sortPrecedence:register2("sort-precedence",60245),splitHorizontal:register2("split-horizontal",60246),splitVertical:register2("split-vertical",60247),squirrel:register2("squirrel",60248),starFull:register2("star-full",60249),starHalf:register2("star-half",60250),symbolClass:register2("symbol-class",60251),symbolColor:register2("symbol-color",60252),symbolCustomColor:register2("symbol-customcolor",60252),symbolConstant:register2("symbol-constant",60253),symbolEnumMember:register2("symbol-enum-member",60254),symbolField:register2("symbol-field",60255),symbolFile:register2("symbol-file",60256),symbolInterface:register2("symbol-interface",60257),symbolKeyword:register2("symbol-keyword",60258),symbolMisc:register2("symbol-misc",60259),symbolOperator:register2("symbol-operator",60260),symbolProperty:register2("symbol-property",60261),wrench:register2("wrench",60261),wrenchSubaction:register2("wrench-subaction",60261),symbolSnippet:register2("symbol-snippet",60262),tasklist:register2("tasklist",60263),telescope:register2("telescope",60264),textSize:register2("text-size",60265),threeBars:register2("three-bars",60266),thumbsdown:register2("thumbsdown",60267),thumbsup:register2("thumbsup",60268),tools:register2("tools",60269),triangleDown:register2("triangle-down",60270),triangleLeft:register2("triangle-left",60271),triangleRight:register2("triangle-right",60272),triangleUp:register2("triangle-up",60273),twitter:register2("twitter",60274),unfold:register2("unfold",60275),unlock:register2("unlock",60276),unmute:register2("unmute",60277),unverified:register2("unverified",60278),verified:register2("verified",60279),versions:register2("versions",60280),vmActive:register2("vm-active",60281),vmOutline:register2("vm-outline",60282),vmRunning:register2("vm-running",60283),watch:register2("watch",60284),whitespace:register2("whitespace",60285),wholeWord:register2("whole-word",60286),window:register2("window",60287),wordWrap:register2("word-wrap",60288),zoomIn:register2("zoom-in",60289),zoomOut:register2("zoom-out",60290),listFilter:register2("list-filter",60291),listFlat:register2("list-flat",60292),listSelection:register2("list-selection",60293),selection:register2("selection",60293),listTree:register2("list-tree",60294),debugBreakpointFunctionUnverified:register2("debug-breakpoint-function-unverified",60295),debugBreakpointFunction:register2("debug-breakpoint-function",60296),debugBreakpointFunctionDisabled:register2("debug-breakpoint-function-disabled",60296),debugStackframeActive:register2("debug-stackframe-active",60297),circleSmallFilled:register2("circle-small-filled",60298),debugStackframeDot:register2("debug-stackframe-dot",60298),debugStackframe:register2("debug-stackframe",60299),debugStackframeFocused:register2("debug-stackframe-focused",60299),debugBreakpointUnsupported:register2("debug-breakpoint-unsupported",60300),symbolString:register2("symbol-string",60301),debugReverseContinue:register2("debug-reverse-continue",60302),debugStepBack:register2("debug-step-back",60303),debugRestartFrame:register2("debug-restart-frame",60304),callIncoming:register2("call-incoming",60306),callOutgoing:register2("call-outgoing",60307),menu:register2("menu",60308),expandAll:register2("expand-all",60309),feedback:register2("feedback",60310),gitPullRequestReviewer:register2("git-pull-request-reviewer",60310),groupByRefType:register2("group-by-ref-type",60311),ungroupByRefType:register2("ungroup-by-ref-type",60312),account:register2("account",60313),gitPullRequestAssignee:register2("git-pull-request-assignee",60313),bellDot:register2("bell-dot",60314),debugConsole:register2("debug-console",60315),library:register2("library",60316),output:register2("output",60317),runAll:register2("run-all",60318),syncIgnored:register2("sync-ignored",60319),pinned:register2("pinned",60320),githubInverted:register2("github-inverted",60321),debugAlt:register2("debug-alt",60305),serverProcess:register2("server-process",60322),serverEnvironment:register2("server-environment",60323),pass:register2("pass",60324),stopCircle:register2("stop-circle",60325),playCircle:register2("play-circle",60326),record:register2("record",60327),debugAltSmall:register2("debug-alt-small",60328),vmConnect:register2("vm-connect",60329),cloud:register2("cloud",60330),merge:register2("merge",60331),exportIcon:register2("export",60332),graphLeft:register2("graph-left",60333),magnet:register2("magnet",60334),notebook:register2("notebook",60335),redo:register2("redo",60336),checkAll:register2("check-all",60337),pinnedDirty:register2("pinned-dirty",60338),passFilled:register2("pass-filled",60339),circleLargeFilled:register2("circle-large-filled",60340),circleLarge:register2("circle-large",60341),circleLargeOutline:register2("circle-large-outline",60341),combine:register2("combine",60342),gather:register2("gather",60342),table:register2("table",60343),variableGroup:register2("variable-group",60344),typeHierarchy:register2("type-hierarchy",60345),typeHierarchySub:register2("type-hierarchy-sub",60346),typeHierarchySuper:register2("type-hierarchy-super",60347),gitPullRequestCreate:register2("git-pull-request-create",60348),runAbove:register2("run-above",60349),runBelow:register2("run-below",60350),notebookTemplate:register2("notebook-template",60351),debugRerun:register2("debug-rerun",60352),workspaceTrusted:register2("workspace-trusted",60353),workspaceUntrusted:register2("workspace-untrusted",60354),workspaceUnspecified:register2("workspace-unspecified",60355),terminalCmd:register2("terminal-cmd",60356),terminalDebian:register2("terminal-debian",60357),terminalLinux:register2("terminal-linux",60358),terminalPowershell:register2("terminal-powershell",60359),terminalTmux:register2("terminal-tmux",60360),terminalUbuntu:register2("terminal-ubuntu",60361),terminalBash:register2("terminal-bash",60362),arrowSwap:register2("arrow-swap",60363),copy:register2("copy",60364),personAdd:register2("person-add",60365),filterFilled:register2("filter-filled",60366),wand:register2("wand",60367),debugLineByLine:register2("debug-line-by-line",60368),inspect:register2("inspect",60369),layers:register2("layers",60370),layersDot:register2("layers-dot",60371),layersActive:register2("layers-active",60372),compass:register2("compass",60373),compassDot:register2("compass-dot",60374),compassActive:register2("compass-active",60375),azure:register2("azure",60376),issueDraft:register2("issue-draft",60377),gitPullRequestClosed:register2("git-pull-request-closed",60378),gitPullRequestDraft:register2("git-pull-request-draft",60379),debugAll:register2("debug-all",60380),debugCoverage:register2("debug-coverage",60381),runErrors:register2("run-errors",60382),folderLibrary:register2("folder-library",60383),debugContinueSmall:register2("debug-continue-small",60384),beakerStop:register2("beaker-stop",60385),graphLine:register2("graph-line",60386),graphScatter:register2("graph-scatter",60387),pieChart:register2("pie-chart",60388),bracketDot:register2("bracket-dot",60389),bracketError:register2("bracket-error",60390),lockSmall:register2("lock-small",60391),azureDevops:register2("azure-devops",60392),verifiedFilled:register2("verified-filled",60393),newLine:register2("newline",60394),layout:register2("layout",60395),layoutActivitybarLeft:register2("layout-activitybar-left",60396),layoutActivitybarRight:register2("layout-activitybar-right",60397),layoutPanelLeft:register2("layout-panel-left",60398),layoutPanelCenter:register2("layout-panel-center",60399),layoutPanelJustify:register2("layout-panel-justify",60400),layoutPanelRight:register2("layout-panel-right",60401),layoutPanel:register2("layout-panel",60402),layoutSidebarLeft:register2("layout-sidebar-left",60403),layoutSidebarRight:register2("layout-sidebar-right",60404),layoutStatusbar:register2("layout-statusbar",60405),layoutMenubar:register2("layout-menubar",60406),layoutCentered:register2("layout-centered",60407),layoutSidebarRightOff:register2("layout-sidebar-right-off",60416),layoutPanelOff:register2("layout-panel-off",60417),layoutSidebarLeftOff:register2("layout-sidebar-left-off",60418),target:register2("target",60408),indent:register2("indent",60409),recordSmall:register2("record-small",60410),errorSmall:register2("error-small",60411),arrowCircleDown:register2("arrow-circle-down",60412),arrowCircleLeft:register2("arrow-circle-left",60413),arrowCircleRight:register2("arrow-circle-right",60414),arrowCircleUp:register2("arrow-circle-up",60415),heartFilled:register2("heart-filled",60420),map:register2("map",60421),mapFilled:register2("map-filled",60422),circleSmall:register2("circle-small",60423),bellSlash:register2("bell-slash",60424),bellSlashDot:register2("bell-slash-dot",60425),commentUnresolved:register2("comment-unresolved",60426),gitPullRequestGoToChanges:register2("git-pull-request-go-to-changes",60427),gitPullRequestNewChanges:register2("git-pull-request-new-changes",60428),searchFuzzy:register2("search-fuzzy",60429),commentDraft:register2("comment-draft",60430),send:register2("send",60431),sparkle:register2("sparkle",60432),insert:register2("insert",60433),mic:register2("mic",60434),dialogError:register2("dialog-error","error"),dialogWarning:register2("dialog-warning","warning"),dialogInfo:register2("dialog-info","info"),dialogClose:register2("dialog-close","close"),treeItemExpanded:register2("tree-item-expanded","chevron-down"),treeFilterOnTypeOn:register2("tree-filter-on-type-on","list-filter"),treeFilterOnTypeOff:register2("tree-filter-on-type-off","list-selection"),treeFilterClear:register2("tree-filter-clear","close"),treeItemLoading:register2("tree-item-loading","loading"),menuSelection:register2("menu-selection","check"),menuSubmenu:register2("menu-submenu","chevron-right"),menuBarMore:register2("menubar-more","more"),scrollbarButtonLeft:register2("scrollbar-button-left","triangle-left"),scrollbarButtonRight:register2("scrollbar-button-right","triangle-right"),scrollbarButtonUp:register2("scrollbar-button-up","triangle-up"),scrollbarButtonDown:register2("scrollbar-button-down","triangle-down"),toolBarMore:register2("toolbar-more","more"),quickInputBack:register2("quick-input-back","arrow-left")}}});var __awaiter,TokenizationRegistry,TokenizationSupportFactoryData;var init_tokenizationRegistry=__esm({"node_modules/monaco-editor/esm/vs/editor/common/tokenizationRegistry.js"(){init_event();init_lifecycle();__awaiter=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};TokenizationRegistry=class{constructor(){this._tokenizationSupports=new Map;this._factories=new Map;this._onDidChange=new Emitter;this.onDidChange=this._onDidChange.event;this._colorMap=null}handleChange(languageIds){this._onDidChange.fire({changedLanguages:languageIds,changedColorMap:false})}register(languageId,support){this._tokenizationSupports.set(languageId,support);this.handleChange([languageId]);return toDisposable((()=>{if(this._tokenizationSupports.get(languageId)!==support){return}this._tokenizationSupports.delete(languageId);this.handleChange([languageId])}))}get(languageId){return this._tokenizationSupports.get(languageId)||null}registerFactory(languageId,factory){var _a6;(_a6=this._factories.get(languageId))===null||_a6===void 0?void 0:_a6.dispose();const myData=new TokenizationSupportFactoryData(this,languageId,factory);this._factories.set(languageId,myData);return toDisposable((()=>{const v=this._factories.get(languageId);if(!v||v!==myData){return}this._factories.delete(languageId);v.dispose()}))}getOrCreate(languageId){return __awaiter(this,void 0,void 0,(function*(){const tokenizationSupport=this.get(languageId);if(tokenizationSupport){return tokenizationSupport}const factory=this._factories.get(languageId);if(!factory||factory.isResolved){return null}yield factory.resolve();return this.get(languageId)}))}isResolved(languageId){const tokenizationSupport=this.get(languageId);if(tokenizationSupport){return true}const factory=this._factories.get(languageId);if(!factory||factory.isResolved){return true}return false}setColorMap(colorMap){this._colorMap=colorMap;this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:true})}getColorMap(){return this._colorMap}getDefaultBackground(){if(this._colorMap&&this._colorMap.length>2){return this._colorMap[2]}return null}};TokenizationSupportFactoryData=class extends Disposable{get isResolved(){return this._isResolved}constructor(_registry2,_languageId,_factory){super();this._registry=_registry2;this._languageId=_languageId;this._factory=_factory;this._isDisposed=false;this._resolvePromise=null;this._isResolved=false}dispose(){this._isDisposed=true;super.dispose()}resolve(){return __awaiter(this,void 0,void 0,(function*(){if(!this._resolvePromise){this._resolvePromise=this._create()}return this._resolvePromise}))}_create(){return __awaiter(this,void 0,void 0,(function*(){const value=yield this._factory.tokenizationSupport;this._isResolved=true;if(value&&!this._isDisposed){this._register(this._registry.register(this._languageId,value))}}))}}}});function isLocationLink(thing){return thing&&URI.isUri(thing.uri)&&Range.isIRange(thing.range)&&(Range.isIRange(thing.originSelectionRange)||Range.isIRange(thing.targetSelectionRange))}function getAriaLabelForSymbol(symbolName,kind){return localize("symbolAriaLabel","{0} ({1})",symbolName,symbolKindNames[kind])}var Token,TokenizationResult,EncodedTokenizationResult,CompletionItemKinds,InlineCompletionTriggerKind,SelectedSuggestionInfo,SignatureHelpTriggerKind,DocumentHighlightKind,symbolKindNames,SymbolKinds,FoldingRangeKind,Command,InlayHintKind,LazyTokenizationSupport,TokenizationRegistry2;var init_languages=__esm({"node_modules/monaco-editor/esm/vs/editor/common/languages.js"(){init_codicons();init_uri();init_range();init_tokenizationRegistry();init_nls();Token=class{constructor(offset,type,language81){this.offset=offset;this.type=type;this.language=language81;this._tokenBrand=void 0}toString(){return"("+this.offset+", "+this.type+")"}};TokenizationResult=class{constructor(tokens,endState){this.tokens=tokens;this.endState=endState;this._tokenizationResultBrand=void 0}};EncodedTokenizationResult=class{constructor(tokens,endState){this.tokens=tokens;this.endState=endState;this._encodedTokenizationResultBrand=void 0}};(function(CompletionItemKinds2){const byKind=new Map;byKind.set(0,Codicon.symbolMethod);byKind.set(1,Codicon.symbolFunction);byKind.set(2,Codicon.symbolConstructor);byKind.set(3,Codicon.symbolField);byKind.set(4,Codicon.symbolVariable);byKind.set(5,Codicon.symbolClass);byKind.set(6,Codicon.symbolStruct);byKind.set(7,Codicon.symbolInterface);byKind.set(8,Codicon.symbolModule);byKind.set(9,Codicon.symbolProperty);byKind.set(10,Codicon.symbolEvent);byKind.set(11,Codicon.symbolOperator);byKind.set(12,Codicon.symbolUnit);byKind.set(13,Codicon.symbolValue);byKind.set(15,Codicon.symbolEnum);byKind.set(14,Codicon.symbolConstant);byKind.set(15,Codicon.symbolEnum);byKind.set(16,Codicon.symbolEnumMember);byKind.set(17,Codicon.symbolKeyword);byKind.set(27,Codicon.symbolSnippet);byKind.set(18,Codicon.symbolText);byKind.set(19,Codicon.symbolColor);byKind.set(20,Codicon.symbolFile);byKind.set(21,Codicon.symbolReference);byKind.set(22,Codicon.symbolCustomColor);byKind.set(23,Codicon.symbolFolder);byKind.set(24,Codicon.symbolTypeParameter);byKind.set(25,Codicon.account);byKind.set(26,Codicon.issues);function toIcon(kind){let codicon=byKind.get(kind);if(!codicon){console.info("No codicon found for CompletionItemKind "+kind);codicon=Codicon.symbolProperty}return codicon}CompletionItemKinds2.toIcon=toIcon;const data=new Map;data.set("method",0);data.set("function",1);data.set("constructor",2);data.set("field",3);data.set("variable",4);data.set("class",5);data.set("struct",6);data.set("interface",7);data.set("module",8);data.set("property",9);data.set("event",10);data.set("operator",11);data.set("unit",12);data.set("value",13);data.set("constant",14);data.set("enum",15);data.set("enum-member",16);data.set("enumMember",16);data.set("keyword",17);data.set("snippet",27);data.set("text",18);data.set("color",19);data.set("file",20);data.set("reference",21);data.set("customcolor",22);data.set("folder",23);data.set("type-parameter",24);data.set("typeParameter",24);data.set("account",25);data.set("issue",26);function fromString(value,strict){let res=data.get(value);if(typeof res==="undefined"&&!strict){res=9}return res}CompletionItemKinds2.fromString=fromString})(CompletionItemKinds||(CompletionItemKinds={}));(function(InlineCompletionTriggerKind3){InlineCompletionTriggerKind3[InlineCompletionTriggerKind3["Automatic"]=0]="Automatic";InlineCompletionTriggerKind3[InlineCompletionTriggerKind3["Explicit"]=1]="Explicit"})(InlineCompletionTriggerKind||(InlineCompletionTriggerKind={}));SelectedSuggestionInfo=class{constructor(range2,text2,completionKind,isSnippetText){this.range=range2;this.text=text2;this.completionKind=completionKind;this.isSnippetText=isSnippetText}equals(other){return Range.lift(this.range).equalsRange(other.range)&&this.text===other.text&&this.completionKind===other.completionKind&&this.isSnippetText===other.isSnippetText}};(function(SignatureHelpTriggerKind3){SignatureHelpTriggerKind3[SignatureHelpTriggerKind3["Invoke"]=1]="Invoke";SignatureHelpTriggerKind3[SignatureHelpTriggerKind3["TriggerCharacter"]=2]="TriggerCharacter";SignatureHelpTriggerKind3[SignatureHelpTriggerKind3["ContentChange"]=3]="ContentChange"})(SignatureHelpTriggerKind||(SignatureHelpTriggerKind={}));(function(DocumentHighlightKind6){DocumentHighlightKind6[DocumentHighlightKind6["Text"]=0]="Text";DocumentHighlightKind6[DocumentHighlightKind6["Read"]=1]="Read";DocumentHighlightKind6[DocumentHighlightKind6["Write"]=2]="Write"})(DocumentHighlightKind||(DocumentHighlightKind={}));symbolKindNames={[17]:localize("Array","array"),[16]:localize("Boolean","boolean"),[4]:localize("Class","class"),[13]:localize("Constant","constant"),[8]:localize("Constructor","constructor"),[9]:localize("Enum","enumeration"),[21]:localize("EnumMember","enumeration member"),[23]:localize("Event","event"),[7]:localize("Field","field"),[0]:localize("File","file"),[11]:localize("Function","function"),[10]:localize("Interface","interface"),[19]:localize("Key","key"),[5]:localize("Method","method"),[1]:localize("Module","module"),[2]:localize("Namespace","namespace"),[20]:localize("Null","null"),[15]:localize("Number","number"),[18]:localize("Object","object"),[24]:localize("Operator","operator"),[3]:localize("Package","package"),[6]:localize("Property","property"),[14]:localize("String","string"),[22]:localize("Struct","struct"),[25]:localize("TypeParameter","type parameter"),[12]:localize("Variable","variable")};(function(SymbolKinds2){const byKind=new Map;byKind.set(0,Codicon.symbolFile);byKind.set(1,Codicon.symbolModule);byKind.set(2,Codicon.symbolNamespace);byKind.set(3,Codicon.symbolPackage);byKind.set(4,Codicon.symbolClass);byKind.set(5,Codicon.symbolMethod);byKind.set(6,Codicon.symbolProperty);byKind.set(7,Codicon.symbolField);byKind.set(8,Codicon.symbolConstructor);byKind.set(9,Codicon.symbolEnum);byKind.set(10,Codicon.symbolInterface);byKind.set(11,Codicon.symbolFunction);byKind.set(12,Codicon.symbolVariable);byKind.set(13,Codicon.symbolConstant);byKind.set(14,Codicon.symbolString);byKind.set(15,Codicon.symbolNumber);byKind.set(16,Codicon.symbolBoolean);byKind.set(17,Codicon.symbolArray);byKind.set(18,Codicon.symbolObject);byKind.set(19,Codicon.symbolKey);byKind.set(20,Codicon.symbolNull);byKind.set(21,Codicon.symbolEnumMember);byKind.set(22,Codicon.symbolStruct);byKind.set(23,Codicon.symbolEvent);byKind.set(24,Codicon.symbolOperator);byKind.set(25,Codicon.symbolTypeParameter);function toIcon(kind){let icon=byKind.get(kind);if(!icon){console.info("No codicon found for SymbolKind "+kind);icon=Codicon.symbolProperty}return icon}SymbolKinds2.toIcon=toIcon})(SymbolKinds||(SymbolKinds={}));FoldingRangeKind=class{static fromValue(value){switch(value){case"comment":return FoldingRangeKind.Comment;case"imports":return FoldingRangeKind.Imports;case"region":return FoldingRangeKind.Region}return new FoldingRangeKind(value)}constructor(value){this.value=value}};FoldingRangeKind.Comment=new FoldingRangeKind("comment");FoldingRangeKind.Imports=new FoldingRangeKind("imports");FoldingRangeKind.Region=new FoldingRangeKind("region");(function(Command6){function is(obj){if(!obj||typeof obj!=="object"){return false}return typeof obj.id==="string"&&typeof obj.title==="string"}Command6.is=is})(Command||(Command={}));(function(InlayHintKind3){InlayHintKind3[InlayHintKind3["Type"]=1]="Type";InlayHintKind3[InlayHintKind3["Parameter"]=2]="Parameter"})(InlayHintKind||(InlayHintKind={}));LazyTokenizationSupport=class{constructor(createSupport){this.createSupport=createSupport;this._tokenizationSupport=null}dispose(){if(this._tokenizationSupport){this._tokenizationSupport.then((support=>{if(support){support.dispose()}}))}}get tokenizationSupport(){if(!this._tokenizationSupport){this._tokenizationSupport=this.createSupport()}return this._tokenizationSupport}};TokenizationRegistry2=new TokenizationRegistry}});var AccessibilitySupport,CodeActionTriggerType,CompletionItemInsertTextRule,CompletionItemKind,CompletionItemTag,CompletionTriggerKind,ContentWidgetPositionPreference,CursorChangeReason,DefaultEndOfLine,DocumentHighlightKind2,EditorAutoIndentStrategy,EditorOption,EndOfLinePreference,EndOfLineSequence,GlyphMarginLane,IndentAction,InjectedTextCursorStops,InlayHintKind2,InlineCompletionTriggerKind2,KeyCode,MarkerSeverity,MarkerTag,MinimapPosition,MouseTargetType,OverlayWidgetPositionPreference,OverviewRulerLane,PositionAffinity,RenderLineNumbersType,RenderMinimap,ScrollType,ScrollbarVisibility,SelectionDirection,SignatureHelpTriggerKind2,SymbolKind,SymbolTag,TextEditorCursorBlinkingStyle,TextEditorCursorStyle2,TrackedRangeStickiness,WrappingIndent;var init_standaloneEnums=__esm({"node_modules/monaco-editor/esm/vs/editor/common/standalone/standaloneEnums.js"(){(function(AccessibilitySupport2){AccessibilitySupport2[AccessibilitySupport2["Unknown"]=0]="Unknown";AccessibilitySupport2[AccessibilitySupport2["Disabled"]=1]="Disabled";AccessibilitySupport2[AccessibilitySupport2["Enabled"]=2]="Enabled"})(AccessibilitySupport||(AccessibilitySupport={}));(function(CodeActionTriggerType2){CodeActionTriggerType2[CodeActionTriggerType2["Invoke"]=1]="Invoke";CodeActionTriggerType2[CodeActionTriggerType2["Auto"]=2]="Auto"})(CodeActionTriggerType||(CodeActionTriggerType={}));(function(CompletionItemInsertTextRule2){CompletionItemInsertTextRule2[CompletionItemInsertTextRule2["None"]=0]="None";CompletionItemInsertTextRule2[CompletionItemInsertTextRule2["KeepWhitespace"]=1]="KeepWhitespace";CompletionItemInsertTextRule2[CompletionItemInsertTextRule2["InsertAsSnippet"]=4]="InsertAsSnippet"})(CompletionItemInsertTextRule||(CompletionItemInsertTextRule={}));(function(CompletionItemKind5){CompletionItemKind5[CompletionItemKind5["Method"]=0]="Method";CompletionItemKind5[CompletionItemKind5["Function"]=1]="Function";CompletionItemKind5[CompletionItemKind5["Constructor"]=2]="Constructor";CompletionItemKind5[CompletionItemKind5["Field"]=3]="Field";CompletionItemKind5[CompletionItemKind5["Variable"]=4]="Variable";CompletionItemKind5[CompletionItemKind5["Class"]=5]="Class";CompletionItemKind5[CompletionItemKind5["Struct"]=6]="Struct";CompletionItemKind5[CompletionItemKind5["Interface"]=7]="Interface";CompletionItemKind5[CompletionItemKind5["Module"]=8]="Module";CompletionItemKind5[CompletionItemKind5["Property"]=9]="Property";CompletionItemKind5[CompletionItemKind5["Event"]=10]="Event";CompletionItemKind5[CompletionItemKind5["Operator"]=11]="Operator";CompletionItemKind5[CompletionItemKind5["Unit"]=12]="Unit";CompletionItemKind5[CompletionItemKind5["Value"]=13]="Value";CompletionItemKind5[CompletionItemKind5["Constant"]=14]="Constant";CompletionItemKind5[CompletionItemKind5["Enum"]=15]="Enum";CompletionItemKind5[CompletionItemKind5["EnumMember"]=16]="EnumMember";CompletionItemKind5[CompletionItemKind5["Keyword"]=17]="Keyword";CompletionItemKind5[CompletionItemKind5["Text"]=18]="Text";CompletionItemKind5[CompletionItemKind5["Color"]=19]="Color";CompletionItemKind5[CompletionItemKind5["File"]=20]="File";CompletionItemKind5[CompletionItemKind5["Reference"]=21]="Reference";CompletionItemKind5[CompletionItemKind5["Customcolor"]=22]="Customcolor";CompletionItemKind5[CompletionItemKind5["Folder"]=23]="Folder";CompletionItemKind5[CompletionItemKind5["TypeParameter"]=24]="TypeParameter";CompletionItemKind5[CompletionItemKind5["User"]=25]="User";CompletionItemKind5[CompletionItemKind5["Issue"]=26]="Issue";CompletionItemKind5[CompletionItemKind5["Snippet"]=27]="Snippet"})(CompletionItemKind||(CompletionItemKind={}));(function(CompletionItemTag5){CompletionItemTag5[CompletionItemTag5["Deprecated"]=1]="Deprecated"})(CompletionItemTag||(CompletionItemTag={}));(function(CompletionTriggerKind2){CompletionTriggerKind2[CompletionTriggerKind2["Invoke"]=0]="Invoke";CompletionTriggerKind2[CompletionTriggerKind2["TriggerCharacter"]=1]="TriggerCharacter";CompletionTriggerKind2[CompletionTriggerKind2["TriggerForIncompleteCompletions"]=2]="TriggerForIncompleteCompletions"})(CompletionTriggerKind||(CompletionTriggerKind={}));(function(ContentWidgetPositionPreference2){ContentWidgetPositionPreference2[ContentWidgetPositionPreference2["EXACT"]=0]="EXACT";ContentWidgetPositionPreference2[ContentWidgetPositionPreference2["ABOVE"]=1]="ABOVE";ContentWidgetPositionPreference2[ContentWidgetPositionPreference2["BELOW"]=2]="BELOW"})(ContentWidgetPositionPreference||(ContentWidgetPositionPreference={}));(function(CursorChangeReason2){CursorChangeReason2[CursorChangeReason2["NotSet"]=0]="NotSet";CursorChangeReason2[CursorChangeReason2["ContentFlush"]=1]="ContentFlush";CursorChangeReason2[CursorChangeReason2["RecoverFromMarkers"]=2]="RecoverFromMarkers";CursorChangeReason2[CursorChangeReason2["Explicit"]=3]="Explicit";CursorChangeReason2[CursorChangeReason2["Paste"]=4]="Paste";CursorChangeReason2[CursorChangeReason2["Undo"]=5]="Undo";CursorChangeReason2[CursorChangeReason2["Redo"]=6]="Redo"})(CursorChangeReason||(CursorChangeReason={}));(function(DefaultEndOfLine2){DefaultEndOfLine2[DefaultEndOfLine2["LF"]=1]="LF";DefaultEndOfLine2[DefaultEndOfLine2["CRLF"]=2]="CRLF"})(DefaultEndOfLine||(DefaultEndOfLine={}));(function(DocumentHighlightKind6){DocumentHighlightKind6[DocumentHighlightKind6["Text"]=0]="Text";DocumentHighlightKind6[DocumentHighlightKind6["Read"]=1]="Read";DocumentHighlightKind6[DocumentHighlightKind6["Write"]=2]="Write"})(DocumentHighlightKind2||(DocumentHighlightKind2={}));(function(EditorAutoIndentStrategy2){EditorAutoIndentStrategy2[EditorAutoIndentStrategy2["None"]=0]="None";EditorAutoIndentStrategy2[EditorAutoIndentStrategy2["Keep"]=1]="Keep";EditorAutoIndentStrategy2[EditorAutoIndentStrategy2["Brackets"]=2]="Brackets";EditorAutoIndentStrategy2[EditorAutoIndentStrategy2["Advanced"]=3]="Advanced";EditorAutoIndentStrategy2[EditorAutoIndentStrategy2["Full"]=4]="Full"})(EditorAutoIndentStrategy||(EditorAutoIndentStrategy={}));(function(EditorOption2){EditorOption2[EditorOption2["acceptSuggestionOnCommitCharacter"]=0]="acceptSuggestionOnCommitCharacter";EditorOption2[EditorOption2["acceptSuggestionOnEnter"]=1]="acceptSuggestionOnEnter";EditorOption2[EditorOption2["accessibilitySupport"]=2]="accessibilitySupport";EditorOption2[EditorOption2["accessibilityPageSize"]=3]="accessibilityPageSize";EditorOption2[EditorOption2["ariaLabel"]=4]="ariaLabel";EditorOption2[EditorOption2["ariaRequired"]=5]="ariaRequired";EditorOption2[EditorOption2["autoClosingBrackets"]=6]="autoClosingBrackets";EditorOption2[EditorOption2["screenReaderAnnounceInlineSuggestion"]=7]="screenReaderAnnounceInlineSuggestion";EditorOption2[EditorOption2["autoClosingDelete"]=8]="autoClosingDelete";EditorOption2[EditorOption2["autoClosingOvertype"]=9]="autoClosingOvertype";EditorOption2[EditorOption2["autoClosingQuotes"]=10]="autoClosingQuotes";EditorOption2[EditorOption2["autoIndent"]=11]="autoIndent";EditorOption2[EditorOption2["automaticLayout"]=12]="automaticLayout";EditorOption2[EditorOption2["autoSurround"]=13]="autoSurround";EditorOption2[EditorOption2["bracketPairColorization"]=14]="bracketPairColorization";EditorOption2[EditorOption2["guides"]=15]="guides";EditorOption2[EditorOption2["codeLens"]=16]="codeLens";EditorOption2[EditorOption2["codeLensFontFamily"]=17]="codeLensFontFamily";EditorOption2[EditorOption2["codeLensFontSize"]=18]="codeLensFontSize";EditorOption2[EditorOption2["colorDecorators"]=19]="colorDecorators";EditorOption2[EditorOption2["colorDecoratorsLimit"]=20]="colorDecoratorsLimit";EditorOption2[EditorOption2["columnSelection"]=21]="columnSelection";EditorOption2[EditorOption2["comments"]=22]="comments";EditorOption2[EditorOption2["contextmenu"]=23]="contextmenu";EditorOption2[EditorOption2["copyWithSyntaxHighlighting"]=24]="copyWithSyntaxHighlighting";EditorOption2[EditorOption2["cursorBlinking"]=25]="cursorBlinking";EditorOption2[EditorOption2["cursorSmoothCaretAnimation"]=26]="cursorSmoothCaretAnimation";EditorOption2[EditorOption2["cursorStyle"]=27]="cursorStyle";EditorOption2[EditorOption2["cursorSurroundingLines"]=28]="cursorSurroundingLines";EditorOption2[EditorOption2["cursorSurroundingLinesStyle"]=29]="cursorSurroundingLinesStyle";EditorOption2[EditorOption2["cursorWidth"]=30]="cursorWidth";EditorOption2[EditorOption2["disableLayerHinting"]=31]="disableLayerHinting";EditorOption2[EditorOption2["disableMonospaceOptimizations"]=32]="disableMonospaceOptimizations";EditorOption2[EditorOption2["domReadOnly"]=33]="domReadOnly";EditorOption2[EditorOption2["dragAndDrop"]=34]="dragAndDrop";EditorOption2[EditorOption2["dropIntoEditor"]=35]="dropIntoEditor";EditorOption2[EditorOption2["emptySelectionClipboard"]=36]="emptySelectionClipboard";EditorOption2[EditorOption2["experimentalWhitespaceRendering"]=37]="experimentalWhitespaceRendering";EditorOption2[EditorOption2["extraEditorClassName"]=38]="extraEditorClassName";EditorOption2[EditorOption2["fastScrollSensitivity"]=39]="fastScrollSensitivity";EditorOption2[EditorOption2["find"]=40]="find";EditorOption2[EditorOption2["fixedOverflowWidgets"]=41]="fixedOverflowWidgets";EditorOption2[EditorOption2["folding"]=42]="folding";EditorOption2[EditorOption2["foldingStrategy"]=43]="foldingStrategy";EditorOption2[EditorOption2["foldingHighlight"]=44]="foldingHighlight";EditorOption2[EditorOption2["foldingImportsByDefault"]=45]="foldingImportsByDefault";EditorOption2[EditorOption2["foldingMaximumRegions"]=46]="foldingMaximumRegions";EditorOption2[EditorOption2["unfoldOnClickAfterEndOfLine"]=47]="unfoldOnClickAfterEndOfLine";EditorOption2[EditorOption2["fontFamily"]=48]="fontFamily";EditorOption2[EditorOption2["fontInfo"]=49]="fontInfo";EditorOption2[EditorOption2["fontLigatures"]=50]="fontLigatures";EditorOption2[EditorOption2["fontSize"]=51]="fontSize";EditorOption2[EditorOption2["fontWeight"]=52]="fontWeight";EditorOption2[EditorOption2["fontVariations"]=53]="fontVariations";EditorOption2[EditorOption2["formatOnPaste"]=54]="formatOnPaste";EditorOption2[EditorOption2["formatOnType"]=55]="formatOnType";EditorOption2[EditorOption2["glyphMargin"]=56]="glyphMargin";EditorOption2[EditorOption2["gotoLocation"]=57]="gotoLocation";EditorOption2[EditorOption2["hideCursorInOverviewRuler"]=58]="hideCursorInOverviewRuler";EditorOption2[EditorOption2["hover"]=59]="hover";EditorOption2[EditorOption2["inDiffEditor"]=60]="inDiffEditor";EditorOption2[EditorOption2["inlineSuggest"]=61]="inlineSuggest";EditorOption2[EditorOption2["letterSpacing"]=62]="letterSpacing";EditorOption2[EditorOption2["lightbulb"]=63]="lightbulb";EditorOption2[EditorOption2["lineDecorationsWidth"]=64]="lineDecorationsWidth";EditorOption2[EditorOption2["lineHeight"]=65]="lineHeight";EditorOption2[EditorOption2["lineNumbers"]=66]="lineNumbers";EditorOption2[EditorOption2["lineNumbersMinChars"]=67]="lineNumbersMinChars";EditorOption2[EditorOption2["linkedEditing"]=68]="linkedEditing";EditorOption2[EditorOption2["links"]=69]="links";EditorOption2[EditorOption2["matchBrackets"]=70]="matchBrackets";EditorOption2[EditorOption2["minimap"]=71]="minimap";EditorOption2[EditorOption2["mouseStyle"]=72]="mouseStyle";EditorOption2[EditorOption2["mouseWheelScrollSensitivity"]=73]="mouseWheelScrollSensitivity";EditorOption2[EditorOption2["mouseWheelZoom"]=74]="mouseWheelZoom";EditorOption2[EditorOption2["multiCursorMergeOverlapping"]=75]="multiCursorMergeOverlapping";EditorOption2[EditorOption2["multiCursorModifier"]=76]="multiCursorModifier";EditorOption2[EditorOption2["multiCursorPaste"]=77]="multiCursorPaste";EditorOption2[EditorOption2["multiCursorLimit"]=78]="multiCursorLimit";EditorOption2[EditorOption2["occurrencesHighlight"]=79]="occurrencesHighlight";EditorOption2[EditorOption2["overviewRulerBorder"]=80]="overviewRulerBorder";EditorOption2[EditorOption2["overviewRulerLanes"]=81]="overviewRulerLanes";EditorOption2[EditorOption2["padding"]=82]="padding";EditorOption2[EditorOption2["pasteAs"]=83]="pasteAs";EditorOption2[EditorOption2["parameterHints"]=84]="parameterHints";EditorOption2[EditorOption2["peekWidgetDefaultFocus"]=85]="peekWidgetDefaultFocus";EditorOption2[EditorOption2["definitionLinkOpensInPeek"]=86]="definitionLinkOpensInPeek";EditorOption2[EditorOption2["quickSuggestions"]=87]="quickSuggestions";EditorOption2[EditorOption2["quickSuggestionsDelay"]=88]="quickSuggestionsDelay";EditorOption2[EditorOption2["readOnly"]=89]="readOnly";EditorOption2[EditorOption2["readOnlyMessage"]=90]="readOnlyMessage";EditorOption2[EditorOption2["renameOnType"]=91]="renameOnType";EditorOption2[EditorOption2["renderControlCharacters"]=92]="renderControlCharacters";EditorOption2[EditorOption2["renderFinalNewline"]=93]="renderFinalNewline";EditorOption2[EditorOption2["renderLineHighlight"]=94]="renderLineHighlight";EditorOption2[EditorOption2["renderLineHighlightOnlyWhenFocus"]=95]="renderLineHighlightOnlyWhenFocus";EditorOption2[EditorOption2["renderValidationDecorations"]=96]="renderValidationDecorations";EditorOption2[EditorOption2["renderWhitespace"]=97]="renderWhitespace";EditorOption2[EditorOption2["revealHorizontalRightPadding"]=98]="revealHorizontalRightPadding";EditorOption2[EditorOption2["roundedSelection"]=99]="roundedSelection";EditorOption2[EditorOption2["rulers"]=100]="rulers";EditorOption2[EditorOption2["scrollbar"]=101]="scrollbar";EditorOption2[EditorOption2["scrollBeyondLastColumn"]=102]="scrollBeyondLastColumn";EditorOption2[EditorOption2["scrollBeyondLastLine"]=103]="scrollBeyondLastLine";EditorOption2[EditorOption2["scrollPredominantAxis"]=104]="scrollPredominantAxis";EditorOption2[EditorOption2["selectionClipboard"]=105]="selectionClipboard";EditorOption2[EditorOption2["selectionHighlight"]=106]="selectionHighlight";EditorOption2[EditorOption2["selectOnLineNumbers"]=107]="selectOnLineNumbers";EditorOption2[EditorOption2["showFoldingControls"]=108]="showFoldingControls";EditorOption2[EditorOption2["showUnused"]=109]="showUnused";EditorOption2[EditorOption2["snippetSuggestions"]=110]="snippetSuggestions";EditorOption2[EditorOption2["smartSelect"]=111]="smartSelect";EditorOption2[EditorOption2["smoothScrolling"]=112]="smoothScrolling";EditorOption2[EditorOption2["stickyScroll"]=113]="stickyScroll";EditorOption2[EditorOption2["stickyTabStops"]=114]="stickyTabStops";EditorOption2[EditorOption2["stopRenderingLineAfter"]=115]="stopRenderingLineAfter";EditorOption2[EditorOption2["suggest"]=116]="suggest";EditorOption2[EditorOption2["suggestFontSize"]=117]="suggestFontSize";EditorOption2[EditorOption2["suggestLineHeight"]=118]="suggestLineHeight";EditorOption2[EditorOption2["suggestOnTriggerCharacters"]=119]="suggestOnTriggerCharacters";EditorOption2[EditorOption2["suggestSelection"]=120]="suggestSelection";EditorOption2[EditorOption2["tabCompletion"]=121]="tabCompletion";EditorOption2[EditorOption2["tabIndex"]=122]="tabIndex";EditorOption2[EditorOption2["unicodeHighlighting"]=123]="unicodeHighlighting";EditorOption2[EditorOption2["unusualLineTerminators"]=124]="unusualLineTerminators";EditorOption2[EditorOption2["useShadowDOM"]=125]="useShadowDOM";EditorOption2[EditorOption2["useTabStops"]=126]="useTabStops";EditorOption2[EditorOption2["wordBreak"]=127]="wordBreak";EditorOption2[EditorOption2["wordSeparators"]=128]="wordSeparators";EditorOption2[EditorOption2["wordWrap"]=129]="wordWrap";EditorOption2[EditorOption2["wordWrapBreakAfterCharacters"]=130]="wordWrapBreakAfterCharacters";EditorOption2[EditorOption2["wordWrapBreakBeforeCharacters"]=131]="wordWrapBreakBeforeCharacters";EditorOption2[EditorOption2["wordWrapColumn"]=132]="wordWrapColumn";EditorOption2[EditorOption2["wordWrapOverride1"]=133]="wordWrapOverride1";EditorOption2[EditorOption2["wordWrapOverride2"]=134]="wordWrapOverride2";EditorOption2[EditorOption2["wrappingIndent"]=135]="wrappingIndent";EditorOption2[EditorOption2["wrappingStrategy"]=136]="wrappingStrategy";EditorOption2[EditorOption2["showDeprecated"]=137]="showDeprecated";EditorOption2[EditorOption2["inlayHints"]=138]="inlayHints";EditorOption2[EditorOption2["editorClassName"]=139]="editorClassName";EditorOption2[EditorOption2["pixelRatio"]=140]="pixelRatio";EditorOption2[EditorOption2["tabFocusMode"]=141]="tabFocusMode";EditorOption2[EditorOption2["layoutInfo"]=142]="layoutInfo";EditorOption2[EditorOption2["wrappingInfo"]=143]="wrappingInfo";EditorOption2[EditorOption2["defaultColorDecorators"]=144]="defaultColorDecorators";EditorOption2[EditorOption2["colorDecoratorsActivatedOn"]=145]="colorDecoratorsActivatedOn";EditorOption2[EditorOption2["inlineCompletionsAccessibilityVerbose"]=146]="inlineCompletionsAccessibilityVerbose"})(EditorOption||(EditorOption={}));(function(EndOfLinePreference2){EndOfLinePreference2[EndOfLinePreference2["TextDefined"]=0]="TextDefined";EndOfLinePreference2[EndOfLinePreference2["LF"]=1]="LF";EndOfLinePreference2[EndOfLinePreference2["CRLF"]=2]="CRLF"})(EndOfLinePreference||(EndOfLinePreference={}));(function(EndOfLineSequence2){EndOfLineSequence2[EndOfLineSequence2["LF"]=0]="LF";EndOfLineSequence2[EndOfLineSequence2["CRLF"]=1]="CRLF"})(EndOfLineSequence||(EndOfLineSequence={}));(function(GlyphMarginLane3){GlyphMarginLane3[GlyphMarginLane3["Left"]=1]="Left";GlyphMarginLane3[GlyphMarginLane3["Right"]=2]="Right"})(GlyphMarginLane||(GlyphMarginLane={}));(function(IndentAction3){IndentAction3[IndentAction3["None"]=0]="None";IndentAction3[IndentAction3["Indent"]=1]="Indent";IndentAction3[IndentAction3["IndentOutdent"]=2]="IndentOutdent";IndentAction3[IndentAction3["Outdent"]=3]="Outdent"})(IndentAction||(IndentAction={}));(function(InjectedTextCursorStops3){InjectedTextCursorStops3[InjectedTextCursorStops3["Both"]=0]="Both";InjectedTextCursorStops3[InjectedTextCursorStops3["Right"]=1]="Right";InjectedTextCursorStops3[InjectedTextCursorStops3["Left"]=2]="Left";InjectedTextCursorStops3[InjectedTextCursorStops3["None"]=3]="None"})(InjectedTextCursorStops||(InjectedTextCursorStops={}));(function(InlayHintKind3){InlayHintKind3[InlayHintKind3["Type"]=1]="Type";InlayHintKind3[InlayHintKind3["Parameter"]=2]="Parameter"})(InlayHintKind2||(InlayHintKind2={}));(function(InlineCompletionTriggerKind3){InlineCompletionTriggerKind3[InlineCompletionTriggerKind3["Automatic"]=0]="Automatic";InlineCompletionTriggerKind3[InlineCompletionTriggerKind3["Explicit"]=1]="Explicit"})(InlineCompletionTriggerKind2||(InlineCompletionTriggerKind2={}));(function(KeyCode3){KeyCode3[KeyCode3["DependsOnKbLayout"]=-1]="DependsOnKbLayout";KeyCode3[KeyCode3["Unknown"]=0]="Unknown";KeyCode3[KeyCode3["Backspace"]=1]="Backspace";KeyCode3[KeyCode3["Tab"]=2]="Tab";KeyCode3[KeyCode3["Enter"]=3]="Enter";KeyCode3[KeyCode3["Shift"]=4]="Shift";KeyCode3[KeyCode3["Ctrl"]=5]="Ctrl";KeyCode3[KeyCode3["Alt"]=6]="Alt";KeyCode3[KeyCode3["PauseBreak"]=7]="PauseBreak";KeyCode3[KeyCode3["CapsLock"]=8]="CapsLock";KeyCode3[KeyCode3["Escape"]=9]="Escape";KeyCode3[KeyCode3["Space"]=10]="Space";KeyCode3[KeyCode3["PageUp"]=11]="PageUp";KeyCode3[KeyCode3["PageDown"]=12]="PageDown";KeyCode3[KeyCode3["End"]=13]="End";KeyCode3[KeyCode3["Home"]=14]="Home";KeyCode3[KeyCode3["LeftArrow"]=15]="LeftArrow";KeyCode3[KeyCode3["UpArrow"]=16]="UpArrow";KeyCode3[KeyCode3["RightArrow"]=17]="RightArrow";KeyCode3[KeyCode3["DownArrow"]=18]="DownArrow";KeyCode3[KeyCode3["Insert"]=19]="Insert";KeyCode3[KeyCode3["Delete"]=20]="Delete";KeyCode3[KeyCode3["Digit0"]=21]="Digit0";KeyCode3[KeyCode3["Digit1"]=22]="Digit1";KeyCode3[KeyCode3["Digit2"]=23]="Digit2";KeyCode3[KeyCode3["Digit3"]=24]="Digit3";KeyCode3[KeyCode3["Digit4"]=25]="Digit4";KeyCode3[KeyCode3["Digit5"]=26]="Digit5";KeyCode3[KeyCode3["Digit6"]=27]="Digit6";KeyCode3[KeyCode3["Digit7"]=28]="Digit7";KeyCode3[KeyCode3["Digit8"]=29]="Digit8";KeyCode3[KeyCode3["Digit9"]=30]="Digit9";KeyCode3[KeyCode3["KeyA"]=31]="KeyA";KeyCode3[KeyCode3["KeyB"]=32]="KeyB";KeyCode3[KeyCode3["KeyC"]=33]="KeyC";KeyCode3[KeyCode3["KeyD"]=34]="KeyD";KeyCode3[KeyCode3["KeyE"]=35]="KeyE";KeyCode3[KeyCode3["KeyF"]=36]="KeyF";KeyCode3[KeyCode3["KeyG"]=37]="KeyG";KeyCode3[KeyCode3["KeyH"]=38]="KeyH";KeyCode3[KeyCode3["KeyI"]=39]="KeyI";KeyCode3[KeyCode3["KeyJ"]=40]="KeyJ";KeyCode3[KeyCode3["KeyK"]=41]="KeyK";KeyCode3[KeyCode3["KeyL"]=42]="KeyL";KeyCode3[KeyCode3["KeyM"]=43]="KeyM";KeyCode3[KeyCode3["KeyN"]=44]="KeyN";KeyCode3[KeyCode3["KeyO"]=45]="KeyO";KeyCode3[KeyCode3["KeyP"]=46]="KeyP";KeyCode3[KeyCode3["KeyQ"]=47]="KeyQ";KeyCode3[KeyCode3["KeyR"]=48]="KeyR";KeyCode3[KeyCode3["KeyS"]=49]="KeyS";KeyCode3[KeyCode3["KeyT"]=50]="KeyT";KeyCode3[KeyCode3["KeyU"]=51]="KeyU";KeyCode3[KeyCode3["KeyV"]=52]="KeyV";KeyCode3[KeyCode3["KeyW"]=53]="KeyW";KeyCode3[KeyCode3["KeyX"]=54]="KeyX";KeyCode3[KeyCode3["KeyY"]=55]="KeyY";KeyCode3[KeyCode3["KeyZ"]=56]="KeyZ";KeyCode3[KeyCode3["Meta"]=57]="Meta";KeyCode3[KeyCode3["ContextMenu"]=58]="ContextMenu";KeyCode3[KeyCode3["F1"]=59]="F1";KeyCode3[KeyCode3["F2"]=60]="F2";KeyCode3[KeyCode3["F3"]=61]="F3";KeyCode3[KeyCode3["F4"]=62]="F4";KeyCode3[KeyCode3["F5"]=63]="F5";KeyCode3[KeyCode3["F6"]=64]="F6";KeyCode3[KeyCode3["F7"]=65]="F7";KeyCode3[KeyCode3["F8"]=66]="F8";KeyCode3[KeyCode3["F9"]=67]="F9";KeyCode3[KeyCode3["F10"]=68]="F10";KeyCode3[KeyCode3["F11"]=69]="F11";KeyCode3[KeyCode3["F12"]=70]="F12";KeyCode3[KeyCode3["F13"]=71]="F13";KeyCode3[KeyCode3["F14"]=72]="F14";KeyCode3[KeyCode3["F15"]=73]="F15";KeyCode3[KeyCode3["F16"]=74]="F16";KeyCode3[KeyCode3["F17"]=75]="F17";KeyCode3[KeyCode3["F18"]=76]="F18";KeyCode3[KeyCode3["F19"]=77]="F19";KeyCode3[KeyCode3["F20"]=78]="F20";KeyCode3[KeyCode3["F21"]=79]="F21";KeyCode3[KeyCode3["F22"]=80]="F22";KeyCode3[KeyCode3["F23"]=81]="F23";KeyCode3[KeyCode3["F24"]=82]="F24";KeyCode3[KeyCode3["NumLock"]=83]="NumLock";KeyCode3[KeyCode3["ScrollLock"]=84]="ScrollLock";KeyCode3[KeyCode3["Semicolon"]=85]="Semicolon";KeyCode3[KeyCode3["Equal"]=86]="Equal";KeyCode3[KeyCode3["Comma"]=87]="Comma";KeyCode3[KeyCode3["Minus"]=88]="Minus";KeyCode3[KeyCode3["Period"]=89]="Period";KeyCode3[KeyCode3["Slash"]=90]="Slash";KeyCode3[KeyCode3["Backquote"]=91]="Backquote";KeyCode3[KeyCode3["BracketLeft"]=92]="BracketLeft";KeyCode3[KeyCode3["Backslash"]=93]="Backslash";KeyCode3[KeyCode3["BracketRight"]=94]="BracketRight";KeyCode3[KeyCode3["Quote"]=95]="Quote";KeyCode3[KeyCode3["OEM_8"]=96]="OEM_8";KeyCode3[KeyCode3["IntlBackslash"]=97]="IntlBackslash";KeyCode3[KeyCode3["Numpad0"]=98]="Numpad0";KeyCode3[KeyCode3["Numpad1"]=99]="Numpad1";KeyCode3[KeyCode3["Numpad2"]=100]="Numpad2";KeyCode3[KeyCode3["Numpad3"]=101]="Numpad3";KeyCode3[KeyCode3["Numpad4"]=102]="Numpad4";KeyCode3[KeyCode3["Numpad5"]=103]="Numpad5";KeyCode3[KeyCode3["Numpad6"]=104]="Numpad6";KeyCode3[KeyCode3["Numpad7"]=105]="Numpad7";KeyCode3[KeyCode3["Numpad8"]=106]="Numpad8";KeyCode3[KeyCode3["Numpad9"]=107]="Numpad9";KeyCode3[KeyCode3["NumpadMultiply"]=108]="NumpadMultiply";KeyCode3[KeyCode3["NumpadAdd"]=109]="NumpadAdd";KeyCode3[KeyCode3["NUMPAD_SEPARATOR"]=110]="NUMPAD_SEPARATOR";KeyCode3[KeyCode3["NumpadSubtract"]=111]="NumpadSubtract";KeyCode3[KeyCode3["NumpadDecimal"]=112]="NumpadDecimal";KeyCode3[KeyCode3["NumpadDivide"]=113]="NumpadDivide";KeyCode3[KeyCode3["KEY_IN_COMPOSITION"]=114]="KEY_IN_COMPOSITION";KeyCode3[KeyCode3["ABNT_C1"]=115]="ABNT_C1";KeyCode3[KeyCode3["ABNT_C2"]=116]="ABNT_C2";KeyCode3[KeyCode3["AudioVolumeMute"]=117]="AudioVolumeMute";KeyCode3[KeyCode3["AudioVolumeUp"]=118]="AudioVolumeUp";KeyCode3[KeyCode3["AudioVolumeDown"]=119]="AudioVolumeDown";KeyCode3[KeyCode3["BrowserSearch"]=120]="BrowserSearch";KeyCode3[KeyCode3["BrowserHome"]=121]="BrowserHome";KeyCode3[KeyCode3["BrowserBack"]=122]="BrowserBack";KeyCode3[KeyCode3["BrowserForward"]=123]="BrowserForward";KeyCode3[KeyCode3["MediaTrackNext"]=124]="MediaTrackNext";KeyCode3[KeyCode3["MediaTrackPrevious"]=125]="MediaTrackPrevious";KeyCode3[KeyCode3["MediaStop"]=126]="MediaStop";KeyCode3[KeyCode3["MediaPlayPause"]=127]="MediaPlayPause";KeyCode3[KeyCode3["LaunchMediaPlayer"]=128]="LaunchMediaPlayer";KeyCode3[KeyCode3["LaunchMail"]=129]="LaunchMail";KeyCode3[KeyCode3["LaunchApp2"]=130]="LaunchApp2";KeyCode3[KeyCode3["Clear"]=131]="Clear";KeyCode3[KeyCode3["MAX_VALUE"]=132]="MAX_VALUE"})(KeyCode||(KeyCode={}));(function(MarkerSeverity4){MarkerSeverity4[MarkerSeverity4["Hint"]=1]="Hint";MarkerSeverity4[MarkerSeverity4["Info"]=2]="Info";MarkerSeverity4[MarkerSeverity4["Warning"]=4]="Warning";MarkerSeverity4[MarkerSeverity4["Error"]=8]="Error"})(MarkerSeverity||(MarkerSeverity={}));(function(MarkerTag3){MarkerTag3[MarkerTag3["Unnecessary"]=1]="Unnecessary";MarkerTag3[MarkerTag3["Deprecated"]=2]="Deprecated"})(MarkerTag||(MarkerTag={}));(function(MinimapPosition3){MinimapPosition3[MinimapPosition3["Inline"]=1]="Inline";MinimapPosition3[MinimapPosition3["Gutter"]=2]="Gutter"})(MinimapPosition||(MinimapPosition={}));(function(MouseTargetType2){MouseTargetType2[MouseTargetType2["UNKNOWN"]=0]="UNKNOWN";MouseTargetType2[MouseTargetType2["TEXTAREA"]=1]="TEXTAREA";MouseTargetType2[MouseTargetType2["GUTTER_GLYPH_MARGIN"]=2]="GUTTER_GLYPH_MARGIN";MouseTargetType2[MouseTargetType2["GUTTER_LINE_NUMBERS"]=3]="GUTTER_LINE_NUMBERS";MouseTargetType2[MouseTargetType2["GUTTER_LINE_DECORATIONS"]=4]="GUTTER_LINE_DECORATIONS";MouseTargetType2[MouseTargetType2["GUTTER_VIEW_ZONE"]=5]="GUTTER_VIEW_ZONE";MouseTargetType2[MouseTargetType2["CONTENT_TEXT"]=6]="CONTENT_TEXT";MouseTargetType2[MouseTargetType2["CONTENT_EMPTY"]=7]="CONTENT_EMPTY";MouseTargetType2[MouseTargetType2["CONTENT_VIEW_ZONE"]=8]="CONTENT_VIEW_ZONE";MouseTargetType2[MouseTargetType2["CONTENT_WIDGET"]=9]="CONTENT_WIDGET";MouseTargetType2[MouseTargetType2["OVERVIEW_RULER"]=10]="OVERVIEW_RULER";MouseTargetType2[MouseTargetType2["SCROLLBAR"]=11]="SCROLLBAR";MouseTargetType2[MouseTargetType2["OVERLAY_WIDGET"]=12]="OVERLAY_WIDGET";MouseTargetType2[MouseTargetType2["OUTSIDE_EDITOR"]=13]="OUTSIDE_EDITOR"})(MouseTargetType||(MouseTargetType={}));(function(OverlayWidgetPositionPreference2){OverlayWidgetPositionPreference2[OverlayWidgetPositionPreference2["TOP_RIGHT_CORNER"]=0]="TOP_RIGHT_CORNER";OverlayWidgetPositionPreference2[OverlayWidgetPositionPreference2["BOTTOM_RIGHT_CORNER"]=1]="BOTTOM_RIGHT_CORNER";OverlayWidgetPositionPreference2[OverlayWidgetPositionPreference2["TOP_CENTER"]=2]="TOP_CENTER"})(OverlayWidgetPositionPreference||(OverlayWidgetPositionPreference={}));(function(OverviewRulerLane3){OverviewRulerLane3[OverviewRulerLane3["Left"]=1]="Left";OverviewRulerLane3[OverviewRulerLane3["Center"]=2]="Center";OverviewRulerLane3[OverviewRulerLane3["Right"]=4]="Right";OverviewRulerLane3[OverviewRulerLane3["Full"]=7]="Full"})(OverviewRulerLane||(OverviewRulerLane={}));(function(PositionAffinity2){PositionAffinity2[PositionAffinity2["Left"]=0]="Left";PositionAffinity2[PositionAffinity2["Right"]=1]="Right";PositionAffinity2[PositionAffinity2["None"]=2]="None";PositionAffinity2[PositionAffinity2["LeftOfInjectedText"]=3]="LeftOfInjectedText";PositionAffinity2[PositionAffinity2["RightOfInjectedText"]=4]="RightOfInjectedText"})(PositionAffinity||(PositionAffinity={}));(function(RenderLineNumbersType2){RenderLineNumbersType2[RenderLineNumbersType2["Off"]=0]="Off";RenderLineNumbersType2[RenderLineNumbersType2["On"]=1]="On";RenderLineNumbersType2[RenderLineNumbersType2["Relative"]=2]="Relative";RenderLineNumbersType2[RenderLineNumbersType2["Interval"]=3]="Interval";RenderLineNumbersType2[RenderLineNumbersType2["Custom"]=4]="Custom"})(RenderLineNumbersType||(RenderLineNumbersType={}));(function(RenderMinimap2){RenderMinimap2[RenderMinimap2["None"]=0]="None";RenderMinimap2[RenderMinimap2["Text"]=1]="Text";RenderMinimap2[RenderMinimap2["Blocks"]=2]="Blocks"})(RenderMinimap||(RenderMinimap={}));(function(ScrollType2){ScrollType2[ScrollType2["Smooth"]=0]="Smooth";ScrollType2[ScrollType2["Immediate"]=1]="Immediate"})(ScrollType||(ScrollType={}));(function(ScrollbarVisibility2){ScrollbarVisibility2[ScrollbarVisibility2["Auto"]=1]="Auto";ScrollbarVisibility2[ScrollbarVisibility2["Hidden"]=2]="Hidden";ScrollbarVisibility2[ScrollbarVisibility2["Visible"]=3]="Visible"})(ScrollbarVisibility||(ScrollbarVisibility={}));(function(SelectionDirection3){SelectionDirection3[SelectionDirection3["LTR"]=0]="LTR";SelectionDirection3[SelectionDirection3["RTL"]=1]="RTL"})(SelectionDirection||(SelectionDirection={}));(function(SignatureHelpTriggerKind3){SignatureHelpTriggerKind3[SignatureHelpTriggerKind3["Invoke"]=1]="Invoke";SignatureHelpTriggerKind3[SignatureHelpTriggerKind3["TriggerCharacter"]=2]="TriggerCharacter";SignatureHelpTriggerKind3[SignatureHelpTriggerKind3["ContentChange"]=3]="ContentChange"})(SignatureHelpTriggerKind2||(SignatureHelpTriggerKind2={}));(function(SymbolKind5){SymbolKind5[SymbolKind5["File"]=0]="File";SymbolKind5[SymbolKind5["Module"]=1]="Module";SymbolKind5[SymbolKind5["Namespace"]=2]="Namespace";SymbolKind5[SymbolKind5["Package"]=3]="Package";SymbolKind5[SymbolKind5["Class"]=4]="Class";SymbolKind5[SymbolKind5["Method"]=5]="Method";SymbolKind5[SymbolKind5["Property"]=6]="Property";SymbolKind5[SymbolKind5["Field"]=7]="Field";SymbolKind5[SymbolKind5["Constructor"]=8]="Constructor";SymbolKind5[SymbolKind5["Enum"]=9]="Enum";SymbolKind5[SymbolKind5["Interface"]=10]="Interface";SymbolKind5[SymbolKind5["Function"]=11]="Function";SymbolKind5[SymbolKind5["Variable"]=12]="Variable";SymbolKind5[SymbolKind5["Constant"]=13]="Constant";SymbolKind5[SymbolKind5["String"]=14]="String";SymbolKind5[SymbolKind5["Number"]=15]="Number";SymbolKind5[SymbolKind5["Boolean"]=16]="Boolean";SymbolKind5[SymbolKind5["Array"]=17]="Array";SymbolKind5[SymbolKind5["Object"]=18]="Object";SymbolKind5[SymbolKind5["Key"]=19]="Key";SymbolKind5[SymbolKind5["Null"]=20]="Null";SymbolKind5[SymbolKind5["EnumMember"]=21]="EnumMember";SymbolKind5[SymbolKind5["Struct"]=22]="Struct";SymbolKind5[SymbolKind5["Event"]=23]="Event";SymbolKind5[SymbolKind5["Operator"]=24]="Operator";SymbolKind5[SymbolKind5["TypeParameter"]=25]="TypeParameter"})(SymbolKind||(SymbolKind={}));(function(SymbolTag5){SymbolTag5[SymbolTag5["Deprecated"]=1]="Deprecated"})(SymbolTag||(SymbolTag={}));(function(TextEditorCursorBlinkingStyle2){TextEditorCursorBlinkingStyle2[TextEditorCursorBlinkingStyle2["Hidden"]=0]="Hidden";TextEditorCursorBlinkingStyle2[TextEditorCursorBlinkingStyle2["Blink"]=1]="Blink";TextEditorCursorBlinkingStyle2[TextEditorCursorBlinkingStyle2["Smooth"]=2]="Smooth";TextEditorCursorBlinkingStyle2[TextEditorCursorBlinkingStyle2["Phase"]=3]="Phase";TextEditorCursorBlinkingStyle2[TextEditorCursorBlinkingStyle2["Expand"]=4]="Expand";TextEditorCursorBlinkingStyle2[TextEditorCursorBlinkingStyle2["Solid"]=5]="Solid"})(TextEditorCursorBlinkingStyle||(TextEditorCursorBlinkingStyle={}));(function(TextEditorCursorStyle3){TextEditorCursorStyle3[TextEditorCursorStyle3["Line"]=1]="Line";TextEditorCursorStyle3[TextEditorCursorStyle3["Block"]=2]="Block";TextEditorCursorStyle3[TextEditorCursorStyle3["Underline"]=3]="Underline";TextEditorCursorStyle3[TextEditorCursorStyle3["LineThin"]=4]="LineThin";TextEditorCursorStyle3[TextEditorCursorStyle3["BlockOutline"]=5]="BlockOutline";TextEditorCursorStyle3[TextEditorCursorStyle3["UnderlineThin"]=6]="UnderlineThin"})(TextEditorCursorStyle2||(TextEditorCursorStyle2={}));(function(TrackedRangeStickiness2){TrackedRangeStickiness2[TrackedRangeStickiness2["AlwaysGrowsWhenTypingAtEdges"]=0]="AlwaysGrowsWhenTypingAtEdges";TrackedRangeStickiness2[TrackedRangeStickiness2["NeverGrowsWhenTypingAtEdges"]=1]="NeverGrowsWhenTypingAtEdges";TrackedRangeStickiness2[TrackedRangeStickiness2["GrowsOnlyWhenTypingBefore"]=2]="GrowsOnlyWhenTypingBefore";TrackedRangeStickiness2[TrackedRangeStickiness2["GrowsOnlyWhenTypingAfter"]=3]="GrowsOnlyWhenTypingAfter"})(TrackedRangeStickiness||(TrackedRangeStickiness={}));(function(WrappingIndent2){WrappingIndent2[WrappingIndent2["None"]=0]="None";WrappingIndent2[WrappingIndent2["Same"]=1]="Same";WrappingIndent2[WrappingIndent2["Indent"]=2]="Indent";WrappingIndent2[WrappingIndent2["DeepIndent"]=3]="DeepIndent"})(WrappingIndent||(WrappingIndent={}))}});function createMonacoBaseAPI(){return{editor:void 0,languages:void 0,CancellationTokenSource:CancellationTokenSource,Emitter:Emitter,KeyCode:KeyCode,KeyMod:KeyMod,Position:Position,Range:Range,Selection:Selection,SelectionDirection:SelectionDirection,MarkerSeverity:MarkerSeverity,MarkerTag:MarkerTag,Uri:URI,Token:Token}}var KeyMod;var init_editorBaseApi=__esm({"node_modules/monaco-editor/esm/vs/editor/common/services/editorBaseApi.js"(){init_cancellation();init_event();init_keyCodes();init_uri();init_position();init_range();init_selection();init_languages();init_standaloneEnums();KeyMod=class{static chord(firstPart,secondPart){return KeyChord(firstPart,secondPart)}};KeyMod.CtrlCmd=2048;KeyMod.Shift=1024;KeyMod.Alt=512;KeyMod.WinCtrl=256}});var init_=__esm({"node_modules/monaco-editor/esm/vs/editor/standalone/browser/standalone-tokens.css"(){}});var LRUCachedFunction,CachedFunction;var init_cache=__esm({"node_modules/monaco-editor/esm/vs/base/common/cache.js"(){LRUCachedFunction=class{constructor(fn){this.fn=fn;this.lastCache=void 0;this.lastArgKey=void 0}get(arg){const key=JSON.stringify(arg);if(this.lastArgKey!==key){this.lastArgKey=key;this.lastCache=this.fn(arg)}return this.lastCache}};CachedFunction=class{get cachedValues(){return this._map}constructor(fn){this.fn=fn;this._map=new Map}get(arg){if(this._map.has(arg)){return this._map.get(arg)}const value=this.fn(arg);this._map.set(arg,value);return value}}}});var Lazy;var init_lazy=__esm({"node_modules/monaco-editor/esm/vs/base/common/lazy.js"(){Lazy=class{constructor(executor){this.executor=executor;this._didRun=false}get value(){if(!this._didRun){try{this._value=this.executor()}catch(err){this._error=err}finally{this._didRun=true}}if(this._error){throw this._error}return this._value}get rawValue(){return this._value}}}});function isFalsyOrWhitespace(str){if(!str||typeof str!=="string"){return true}return str.trim().length===0}function format(value,...args){if(args.length===0){return value}return value.replace(_formatRegexp,(function(match2,group3){const idx=parseInt(group3,10);return isNaN(idx)||idx<0||idx>=args.length?match2:args[idx]}))}function escape(html2){return html2.replace(/[<>&]/g,(function(match2){switch(match2){case"<":return"&lt;";case">":return"&gt;";case"&":return"&amp;";default:return match2}}))}function escapeRegExpCharacters(value){return value.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function trim(haystack,needle=" "){const trimmed=ltrim(haystack,needle);return rtrim(trimmed,needle)}function ltrim(haystack,needle){if(!haystack||!needle){return haystack}const needleLen=needle.length;if(needleLen===0||haystack.length===0){return haystack}let offset=0;while(haystack.indexOf(needle,offset)===offset){offset=offset+needleLen}return haystack.substring(offset)}function rtrim(haystack,needle){if(!haystack||!needle){return haystack}const needleLen=needle.length,haystackLen=haystack.length;if(needleLen===0||haystackLen===0){return haystack}let offset=haystackLen,idx=-1;while(true){idx=haystack.lastIndexOf(needle,offset-1);if(idx===-1||idx+needleLen!==offset){break}if(idx===0){return""}offset=idx}return haystack.substring(0,offset)}function convertSimple2RegExpPattern(pattern){return pattern.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")}function stripWildcards(pattern){return pattern.replace(/\*/g,"")}function createRegExp(searchString,isRegex,options2={}){if(!searchString){throw new Error("Cannot create regex from empty string")}if(!isRegex){searchString=escapeRegExpCharacters(searchString)}if(options2.wholeWord){if(!/\B/.test(searchString.charAt(0))){searchString="\\b"+searchString}if(!/\B/.test(searchString.charAt(searchString.length-1))){searchString=searchString+"\\b"}}let modifiers="";if(options2.global){modifiers+="g"}if(!options2.matchCase){modifiers+="i"}if(options2.multiline){modifiers+="m"}if(options2.unicode){modifiers+="u"}return new RegExp(searchString,modifiers)}function regExpLeadsToEndlessLoop(regexp){if(regexp.source==="^"||regexp.source==="^$"||regexp.source==="$"||regexp.source==="^\\s*$"){return false}const match2=regexp.exec("");return!!(match2&&regexp.lastIndex===0)}function splitLines(str){return str.split(/\r\n|\r|\n/)}function firstNonWhitespaceIndex(str){for(let i=0,len=str.length;i<len;i++){const chCode=str.charCodeAt(i);if(chCode!==32&&chCode!==9){return i}}return-1}function getLeadingWhitespace(str,start=0,end=str.length){for(let i=start;i<end;i++){const chCode=str.charCodeAt(i);if(chCode!==32&&chCode!==9){return str.substring(start,i)}}return str.substring(start,end)}function lastNonWhitespaceIndex(str,startIndex=str.length-1){for(let i=startIndex;i>=0;i--){const chCode=str.charCodeAt(i);if(chCode!==32&&chCode!==9){return i}}return-1}function compare(a,b){if(a<b){return-1}else if(a>b){return 1}else{return 0}}function compareSubstring(a,b,aStart=0,aEnd=a.length,bStart=0,bEnd=b.length){for(;aStart<aEnd&&bStart<bEnd;aStart++,bStart++){const codeA=a.charCodeAt(aStart);const codeB=b.charCodeAt(bStart);if(codeA<codeB){return-1}else if(codeA>codeB){return 1}}const aLen=aEnd-aStart;const bLen=bEnd-bStart;if(aLen<bLen){return-1}else if(aLen>bLen){return 1}return 0}function compareIgnoreCase(a,b){return compareSubstringIgnoreCase(a,b,0,a.length,0,b.length)}function compareSubstringIgnoreCase(a,b,aStart=0,aEnd=a.length,bStart=0,bEnd=b.length){for(;aStart<aEnd&&bStart<bEnd;aStart++,bStart++){let codeA=a.charCodeAt(aStart);let codeB=b.charCodeAt(bStart);if(codeA===codeB){continue}if(codeA>=128||codeB>=128){return compareSubstring(a.toLowerCase(),b.toLowerCase(),aStart,aEnd,bStart,bEnd)}if(isLowerAsciiLetter(codeA)){codeA-=32}if(isLowerAsciiLetter(codeB)){codeB-=32}const diff=codeA-codeB;if(diff===0){continue}return diff}const aLen=aEnd-aStart;const bLen=bEnd-bStart;if(aLen<bLen){return-1}else if(aLen>bLen){return 1}return 0}function isAsciiDigit(code){return code>=48&&code<=57}function isLowerAsciiLetter(code){return code>=97&&code<=122}function isUpperAsciiLetter(code){return code>=65&&code<=90}function equalsIgnoreCase(a,b){return a.length===b.length&&compareSubstringIgnoreCase(a,b)===0}function startsWithIgnoreCase(str,candidate){const candidateLength=candidate.length;if(candidate.length>str.length){return false}return compareSubstringIgnoreCase(str,candidate,0,candidateLength)===0}function commonPrefixLength(a,b){const len=Math.min(a.length,b.length);let i;for(i=0;i<len;i++){if(a.charCodeAt(i)!==b.charCodeAt(i)){return i}}return len}function commonSuffixLength(a,b){const len=Math.min(a.length,b.length);let i;const aLastIndex=a.length-1;const bLastIndex=b.length-1;for(i=0;i<len;i++){if(a.charCodeAt(aLastIndex-i)!==b.charCodeAt(bLastIndex-i)){return i}}return len}function isHighSurrogate(charCode){return 55296<=charCode&&charCode<=56319}function isLowSurrogate(charCode){return 56320<=charCode&&charCode<=57343}function computeCodePoint(highSurrogate,lowSurrogate){return(highSurrogate-55296<<10)+(lowSurrogate-56320)+65536}function getNextCodePoint(str,len,offset){const charCode=str.charCodeAt(offset);if(isHighSurrogate(charCode)&&offset+1<len){const nextCharCode=str.charCodeAt(offset+1);if(isLowSurrogate(nextCharCode)){return computeCodePoint(charCode,nextCharCode)}}return charCode}function getPrevCodePoint(str,offset){const charCode=str.charCodeAt(offset-1);if(isLowSurrogate(charCode)&&offset>1){const prevCharCode=str.charCodeAt(offset-2);if(isHighSurrogate(prevCharCode)){return computeCodePoint(prevCharCode,charCode)}}return charCode}function nextCharLength(str,initialOffset){const iterator=new GraphemeIterator(str,initialOffset);return iterator.nextGraphemeLength()}function prevCharLength(str,initialOffset){const iterator=new GraphemeIterator(str,initialOffset);return iterator.prevGraphemeLength()}function getCharContainingOffset(str,offset){if(offset>0&&isLowSurrogate(str.charCodeAt(offset))){offset--}const endOffset=offset+nextCharLength(str,offset);const startOffset=endOffset-prevCharLength(str,endOffset);return[startOffset,endOffset]}function makeContainsRtl(){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 containsRTL(str){if(!CONTAINS_RTL){CONTAINS_RTL=makeContainsRtl()}return CONTAINS_RTL.test(str)}function isBasicASCII(str){return IS_BASIC_ASCII.test(str)}function containsUnusualLineTerminators(str){return UNUSUAL_LINE_TERMINATORS.test(str)}function isFullWidthCharacter(charCode){return charCode>=11904&&charCode<=55215||charCode>=63744&&charCode<=64255||charCode>=65281&&charCode<=65374}function isEmojiImprecise(x){return x>=127462&&x<=127487||x===8986||x===8987||x===9200||x===9203||x>=9728&&x<=10175||x===11088||x===11093||x>=127744&&x<=128591||x>=128640&&x<=128764||x>=128992&&x<=129008||x>=129280&&x<=129535||x>=129648&&x<=129782}function startsWithUTF8BOM(str){return!!(str&&str.length>0&&str.charCodeAt(0)===65279)}function containsUppercaseCharacter(target,ignoreEscapedChars=false){if(!target){return false}if(ignoreEscapedChars){target=target.replace(/\\./g,"")}return target.toLowerCase()!==target}function singleLetterHash(n){const LETTERS_CNT=90-65+1;n=n%(2*LETTERS_CNT);if(n<LETTERS_CNT){return String.fromCharCode(97+n)}return String.fromCharCode(65+n-LETTERS_CNT)}function breakBetweenGraphemeBreakType(breakTypeA,breakTypeB){if(breakTypeA===0){return breakTypeB!==5&&breakTypeB!==7}if(breakTypeA===2){if(breakTypeB===3){return false}}if(breakTypeA===4||breakTypeA===2||breakTypeA===3){return true}if(breakTypeB===4||breakTypeB===2||breakTypeB===3){return true}if(breakTypeA===8){if(breakTypeB===8||breakTypeB===9||breakTypeB===11||breakTypeB===12){return false}}if(breakTypeA===11||breakTypeA===9){if(breakTypeB===9||breakTypeB===10){return false}}if(breakTypeA===12||breakTypeA===10){if(breakTypeB===10){return false}}if(breakTypeB===5||breakTypeB===13){return false}if(breakTypeB===7){return false}if(breakTypeA===1){return false}if(breakTypeA===13&&breakTypeB===14){return false}if(breakTypeA===6&&breakTypeB===6){return false}return true}function getGraphemeBreakRawData(){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 getLeftDeleteOffset(offset,str){if(offset===0){return 0}const emojiOffset=getOffsetBeforeLastEmojiComponent(offset,str);if(emojiOffset!==void 0){return emojiOffset}const iterator=new CodePointIterator(str,offset);iterator.prevCodePoint();return iterator.offset}function getOffsetBeforeLastEmojiComponent(initialOffset,str){const iterator=new CodePointIterator(str,initialOffset);let codePoint=iterator.prevCodePoint();while(isEmojiModifier(codePoint)||codePoint===65039||codePoint===8419){if(iterator.offset===0){return void 0}codePoint=iterator.prevCodePoint()}if(!isEmojiImprecise(codePoint)){return void 0}let resultOffset=iterator.offset;if(resultOffset>0){const optionalZwjCodePoint=iterator.prevCodePoint();if(optionalZwjCodePoint===8205){resultOffset=iterator.offset}}return resultOffset}function isEmojiModifier(codePoint){return 127995<=codePoint&&codePoint<=127999}var _a2,_formatRegexp,CodePointIterator,GraphemeIterator,CONTAINS_RTL,IS_BASIC_ASCII,UNUSUAL_LINE_TERMINATORS,UTF8_BOM_CHARACTER,GraphemeBreakTree,noBreakWhitespace,AmbiguousCharacters,InvisibleCharacters;var init_strings=__esm({"node_modules/monaco-editor/esm/vs/base/common/strings.js"(){init_cache();init_lazy();_formatRegexp=/{(\d+)}/g;CodePointIterator=class{get offset(){return this._offset}constructor(str,offset=0){this._str=str;this._len=str.length;this._offset=offset}setOffset(offset){this._offset=offset}prevCodePoint(){const codePoint=getPrevCodePoint(this._str,this._offset);this._offset-=codePoint>=65536?2:1;return codePoint}nextCodePoint(){const codePoint=getNextCodePoint(this._str,this._len,this._offset);this._offset+=codePoint>=65536?2:1;return codePoint}eol(){return this._offset>=this._len}};GraphemeIterator=class{get offset(){return this._iterator.offset}constructor(str,offset=0){this._iterator=new CodePointIterator(str,offset)}nextGraphemeLength(){const graphemeBreakTree=GraphemeBreakTree.getInstance();const iterator=this._iterator;const initialOffset=iterator.offset;let graphemeBreakType=graphemeBreakTree.getGraphemeBreakType(iterator.nextCodePoint());while(!iterator.eol()){const offset=iterator.offset;const nextGraphemeBreakType=graphemeBreakTree.getGraphemeBreakType(iterator.nextCodePoint());if(breakBetweenGraphemeBreakType(graphemeBreakType,nextGraphemeBreakType)){iterator.setOffset(offset);break}graphemeBreakType=nextGraphemeBreakType}return iterator.offset-initialOffset}prevGraphemeLength(){const graphemeBreakTree=GraphemeBreakTree.getInstance();const iterator=this._iterator;const initialOffset=iterator.offset;let graphemeBreakType=graphemeBreakTree.getGraphemeBreakType(iterator.prevCodePoint());while(iterator.offset>0){const offset=iterator.offset;const prevGraphemeBreakType=graphemeBreakTree.getGraphemeBreakType(iterator.prevCodePoint());if(breakBetweenGraphemeBreakType(prevGraphemeBreakType,graphemeBreakType)){iterator.setOffset(offset);break}graphemeBreakType=prevGraphemeBreakType}return initialOffset-iterator.offset}eol(){return this._iterator.eol()}};CONTAINS_RTL=void 0;IS_BASIC_ASCII=/^[\t\n\r\x20-\x7E]*$/;UNUSUAL_LINE_TERMINATORS=/[\u2028\u2029]/;UTF8_BOM_CHARACTER=String.fromCharCode(65279);GraphemeBreakTree=class{static getInstance(){if(!GraphemeBreakTree._INSTANCE){GraphemeBreakTree._INSTANCE=new GraphemeBreakTree}return GraphemeBreakTree._INSTANCE}constructor(){this._data=getGraphemeBreakRawData()}getGraphemeBreakType(codePoint){if(codePoint<32){if(codePoint===10){return 3}if(codePoint===13){return 2}return 4}if(codePoint<127){return 0}const data=this._data;const nodeCount=data.length/3;let nodeIndex=1;while(nodeIndex<=nodeCount){if(codePoint<data[3*nodeIndex]){nodeIndex=2*nodeIndex}else if(codePoint>data[3*nodeIndex+1]){nodeIndex=2*nodeIndex+1}else{return data[3*nodeIndex+2]}}return 0}};GraphemeBreakTree._INSTANCE=null;noBreakWhitespace=" ";AmbiguousCharacters=class{static getInstance(locales){return _a2.cache.get(Array.from(locales))}static getLocales(){return _a2._locales.value}constructor(confusableDictionary){this.confusableDictionary=confusableDictionary}isAmbiguous(codePoint){return this.confusableDictionary.has(codePoint)}getPrimaryConfusable(codePoint){return this.confusableDictionary.get(codePoint)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}};_a2=AmbiguousCharacters;AmbiguousCharacters.ambiguousCharacterData=new Lazy((()=>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]}')));AmbiguousCharacters.cache=new LRUCachedFunction((locales=>{function arrayToMap(arr){const result=new Map;for(let i=0;i<arr.length;i+=2){result.set(arr[i],arr[i+1])}return result}function mergeMaps(map1,map2){const result=new Map(map1);for(const[key,value]of map2){result.set(key,value)}return result}function intersectMaps(map1,map2){if(!map1){return map2}const result=new Map;for(const[key,value]of map1){if(map2.has(key)){result.set(key,value)}}return result}const data=_a2.ambiguousCharacterData.value;let filteredLocales=locales.filter((l=>!l.startsWith("_")&&l in data));if(filteredLocales.length===0){filteredLocales=["_default"]}let languageSpecificMap=void 0;for(const locale2 of filteredLocales){const map2=arrayToMap(data[locale2]);languageSpecificMap=intersectMaps(languageSpecificMap,map2)}const commonMap=arrayToMap(data["_common"]);const map=mergeMaps(commonMap,languageSpecificMap);return new _a2(map)}));AmbiguousCharacters._locales=new Lazy((()=>Object.keys(_a2.ambiguousCharacterData.value).filter((k=>!k.startsWith("_")))));InvisibleCharacters=class{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(){if(!this._data){this._data=new Set(InvisibleCharacters.getRawData())}return this._data}static isInvisibleCharacter(codePoint){return InvisibleCharacters.getData().has(codePoint)}static get codePoints(){return InvisibleCharacters.getData()}};InvisibleCharacters._data=void 0}});function addMatchMediaChangeListener(query,callback){if(typeof query==="string"){query=window.matchMedia(query)}query.addEventListener("change",callback)}function getZoomFactor(){return WindowManager.INSTANCE.getZoomFactor()}function isStandalone(){return standalone}var WindowManager,DevicePixelRatioMonitor,PixelRatioImpl,PixelRatioFacade,PixelRatio,userAgent2,isFirefox2,isWebKit,isChrome2,isSafari2,isWebkitWebView,isElectron,isAndroid2,standalone;var init_browser=__esm({"node_modules/monaco-editor/esm/vs/base/browser/browser.js"(){init_event();init_lifecycle();WindowManager=class{constructor(){this._zoomFactor=1}getZoomFactor(){return this._zoomFactor}};WindowManager.INSTANCE=new WindowManager;DevicePixelRatioMonitor=class extends Disposable{constructor(){super();this._onDidChange=this._register(new Emitter);this.onDidChange=this._onDidChange.event;this._listener=()=>this._handleChange(true);this._mediaQueryList=null;this._handleChange(false)}_handleChange(fireEvent){var _a6;(_a6=this._mediaQueryList)===null||_a6===void 0?void 0:_a6.removeEventListener("change",this._listener);this._mediaQueryList=window.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`);this._mediaQueryList.addEventListener("change",this._listener);if(fireEvent){this._onDidChange.fire()}}};PixelRatioImpl=class extends Disposable{get value(){return this._value}constructor(){super();this._onDidChange=this._register(new Emitter);this.onDidChange=this._onDidChange.event;this._value=this._getPixelRatio();const dprMonitor=this._register(new DevicePixelRatioMonitor);this._register(dprMonitor.onDidChange((()=>{this._value=this._getPixelRatio();this._onDidChange.fire(this._value)})))}_getPixelRatio(){const ctx=document.createElement("canvas").getContext("2d");const dpr=window.devicePixelRatio||1;const bsr=ctx.webkitBackingStorePixelRatio||ctx.mozBackingStorePixelRatio||ctx.msBackingStorePixelRatio||ctx.oBackingStorePixelRatio||ctx.backingStorePixelRatio||1;return dpr/bsr}};PixelRatioFacade=class{constructor(){this._pixelRatioMonitor=null}_getOrCreatePixelRatioMonitor(){if(!this._pixelRatioMonitor){this._pixelRatioMonitor=markAsSingleton(new PixelRatioImpl)}return this._pixelRatioMonitor}get value(){return this._getOrCreatePixelRatioMonitor().value}get onDidChange(){return this._getOrCreatePixelRatioMonitor().onDidChange}};PixelRatio=new PixelRatioFacade;userAgent2=navigator.userAgent;isFirefox2=userAgent2.indexOf("Firefox")>=0;isWebKit=userAgent2.indexOf("AppleWebKit")>=0;isChrome2=userAgent2.indexOf("Chrome")>=0;isSafari2=!isChrome2&&userAgent2.indexOf("Safari")>=0;isWebkitWebView=!isChrome2&&!isSafari2&&isWebKit;isElectron=userAgent2.indexOf("Electron/")>=0;isAndroid2=userAgent2.indexOf("Android")>=0;standalone=false;if(window.matchMedia){const standaloneMatchMedia=window.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)");const fullScreenMatchMedia=window.matchMedia("(display-mode: fullscreen)");standalone=standaloneMatchMedia.matches;addMatchMediaChangeListener(standaloneMatchMedia,(({matches:matches})=>{if(standalone&&fullScreenMatchMedia.matches){return}standalone=matches}))}}});function numberAsPixels(value){return typeof value==="number"?`${value}px`:value}function createFastDomNode(domNode){return new FastDomNode(domNode)}var FastDomNode;var init_fastDomNode=__esm({"node_modules/monaco-editor/esm/vs/base/browser/fastDomNode.js"(){FastDomNode=class{constructor(domNode){this.domNode=domNode;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=false;this._contain="none";this._boxShadow=""}setMaxWidth(_maxWidth){const maxWidth=numberAsPixels(_maxWidth);if(this._maxWidth===maxWidth){return}this._maxWidth=maxWidth;this.domNode.style.maxWidth=this._maxWidth}setWidth(_width){const width=numberAsPixels(_width);if(this._width===width){return}this._width=width;this.domNode.style.width=this._width}setHeight(_height){const height=numberAsPixels(_height);if(this._height===height){return}this._height=height;this.domNode.style.height=this._height}setTop(_top){const top=numberAsPixels(_top);if(this._top===top){return}this._top=top;this.domNode.style.top=this._top}setLeft(_left){const left=numberAsPixels(_left);if(this._left===left){return}this._left=left;this.domNode.style.left=this._left}setBottom(_bottom){const bottom=numberAsPixels(_bottom);if(this._bottom===bottom){return}this._bottom=bottom;this.domNode.style.bottom=this._bottom}setRight(_right){const right=numberAsPixels(_right);if(this._right===right){return}this._right=right;this.domNode.style.right=this._right}setPaddingLeft(_paddingLeft){const paddingLeft=numberAsPixels(_paddingLeft);if(this._paddingLeft===paddingLeft){return}this._paddingLeft=paddingLeft;this.domNode.style.paddingLeft=this._paddingLeft}setFontFamily(fontFamily){if(this._fontFamily===fontFamily){return}this._fontFamily=fontFamily;this.domNode.style.fontFamily=this._fontFamily}setFontWeight(fontWeight){if(this._fontWeight===fontWeight){return}this._fontWeight=fontWeight;this.domNode.style.fontWeight=this._fontWeight}setFontSize(_fontSize){const fontSize=numberAsPixels(_fontSize);if(this._fontSize===fontSize){return}this._fontSize=fontSize;this.domNode.style.fontSize=this._fontSize}setFontStyle(fontStyle){if(this._fontStyle===fontStyle){return}this._fontStyle=fontStyle;this.domNode.style.fontStyle=this._fontStyle}setFontFeatureSettings(fontFeatureSettings){if(this._fontFeatureSettings===fontFeatureSettings){return}this._fontFeatureSettings=fontFeatureSettings;this.domNode.style.fontFeatureSettings=this._fontFeatureSettings}setFontVariationSettings(fontVariationSettings){if(this._fontVariationSettings===fontVariationSettings){return}this._fontVariationSettings=fontVariationSettings;this.domNode.style.fontVariationSettings=this._fontVariationSettings}setTextDecoration(textDecoration){if(this._textDecoration===textDecoration){return}this._textDecoration=textDecoration;this.domNode.style.textDecoration=this._textDecoration}setLineHeight(_lineHeight){const lineHeight=numberAsPixels(_lineHeight);if(this._lineHeight===lineHeight){return}this._lineHeight=lineHeight;this.domNode.style.lineHeight=this._lineHeight}setLetterSpacing(_letterSpacing){const letterSpacing=numberAsPixels(_letterSpacing);if(this._letterSpacing===letterSpacing){return}this._letterSpacing=letterSpacing;this.domNode.style.letterSpacing=this._letterSpacing}setClassName(className){if(this._className===className){return}this._className=className;this.domNode.className=this._className}toggleClassName(className,shouldHaveIt){this.domNode.classList.toggle(className,shouldHaveIt);this._className=this.domNode.className}setDisplay(display){if(this._display===display){return}this._display=display;this.domNode.style.display=this._display}setPosition(position){if(this._position===position){return}this._position=position;this.domNode.style.position=this._position}setVisibility(visibility){if(this._visibility===visibility){return}this._visibility=visibility;this.domNode.style.visibility=this._visibility}setColor(color){if(this._color===color){return}this._color=color;this.domNode.style.color=this._color}setBackgroundColor(backgroundColor){if(this._backgroundColor===backgroundColor){return}this._backgroundColor=backgroundColor;this.domNode.style.backgroundColor=this._backgroundColor}setLayerHinting(layerHint){if(this._layerHint===layerHint){return}this._layerHint=layerHint;this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":""}setBoxShadow(boxShadow){if(this._boxShadow===boxShadow){return}this._boxShadow=boxShadow;this.domNode.style.boxShadow=boxShadow}setContain(contain){if(this._contain===contain){return}this._contain=contain;this.domNode.style.contain=this._contain}setAttribute(name,value){this.domNode.setAttribute(name,value)}removeAttribute(name){this.domNode.removeAttribute(name)}appendChild(child){this.domNode.appendChild(child.domNode)}removeChild(child){this.domNode.removeChild(child.domNode)}}}});function applyFontInfo(domNode,fontInfo){if(domNode instanceof FastDomNode){domNode.setFontFamily(fontInfo.getMassagedFontFamily());domNode.setFontWeight(fontInfo.fontWeight);domNode.setFontSize(fontInfo.fontSize);domNode.setFontFeatureSettings(fontInfo.fontFeatureSettings);domNode.setFontVariationSettings(fontInfo.fontVariationSettings);domNode.setLineHeight(fontInfo.lineHeight);domNode.setLetterSpacing(fontInfo.letterSpacing)}else{domNode.style.fontFamily=fontInfo.getMassagedFontFamily();domNode.style.fontWeight=fontInfo.fontWeight;domNode.style.fontSize=fontInfo.fontSize+"px";domNode.style.fontFeatureSettings=fontInfo.fontFeatureSettings;domNode.style.fontVariationSettings=fontInfo.fontVariationSettings;domNode.style.lineHeight=fontInfo.lineHeight+"px";domNode.style.letterSpacing=fontInfo.letterSpacing+"px"}}var init_domFontInfo=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/config/domFontInfo.js"(){init_fastDomNode()}});function readCharWidths(bareFontInfo,requests){const reader=new DomCharWidthReader(bareFontInfo,requests);reader.read()}var CharWidthRequest,DomCharWidthReader;var init_charWidthReader=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/config/charWidthReader.js"(){init_domFontInfo();CharWidthRequest=class{constructor(chr,type){this.chr=chr;this.type=type;this.width=0}fulfill(width){this.width=width}};DomCharWidthReader=class{constructor(bareFontInfo,requests){this._bareFontInfo=bareFontInfo;this._requests=requests;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 container=document.createElement("div");container.style.position="absolute";container.style.top="-50000px";container.style.width="50000px";const regularDomNode=document.createElement("div");applyFontInfo(regularDomNode,this._bareFontInfo);container.appendChild(regularDomNode);const boldDomNode=document.createElement("div");applyFontInfo(boldDomNode,this._bareFontInfo);boldDomNode.style.fontWeight="bold";container.appendChild(boldDomNode);const italicDomNode=document.createElement("div");applyFontInfo(italicDomNode,this._bareFontInfo);italicDomNode.style.fontStyle="italic";container.appendChild(italicDomNode);const testElements=[];for(const request of this._requests){let parent;if(request.type===0){parent=regularDomNode}if(request.type===2){parent=boldDomNode}if(request.type===1){parent=italicDomNode}parent.appendChild(document.createElement("br"));const testElement=document.createElement("span");DomCharWidthReader._render(testElement,request);parent.appendChild(testElement);testElements.push(testElement)}this._container=container;this._testElements=testElements}static _render(testElement,request){if(request.chr===" "){let htmlString=" ";for(let i=0;i<8;i++){htmlString+=htmlString}testElement.innerText=htmlString}else{let testString=request.chr;for(let i=0;i<8;i++){testString+=testString}testElement.textContent=testString}}_readFromDomElements(){for(let i=0,len=this._requests.length;i<len;i++){const request=this._requests[i];const testElement=this._testElements[i];request.fulfill(testElement.offsetWidth/256)}}}}});var EditorZoom;var init_editorZoom=__esm({"node_modules/monaco-editor/esm/vs/editor/common/config/editorZoom.js"(){init_event();EditorZoom=new class{constructor(){this._zoomLevel=0;this._onDidChangeZoomLevel=new Emitter;this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event}getZoomLevel(){return this._zoomLevel}setZoomLevel(zoomLevel){zoomLevel=Math.min(Math.max(-5,zoomLevel),20);if(this._zoomLevel===zoomLevel){return}this._zoomLevel=zoomLevel;this._onDidChangeZoomLevel.fire(this._zoomLevel)}}}});var GOLDEN_LINE_HEIGHT_RATIO,MINIMUM_LINE_HEIGHT,BareFontInfo,SERIALIZED_FONT_INFO_VERSION,FontInfo;var init_fontInfo=__esm({"node_modules/monaco-editor/esm/vs/editor/common/config/fontInfo.js"(){init_platform();init_editorOptions();init_editorZoom();GOLDEN_LINE_HEIGHT_RATIO=isMacintosh?1.5:1.35;MINIMUM_LINE_HEIGHT=8;BareFontInfo=class{static createFromValidatedSettings(options2,pixelRatio,ignoreEditorZoom){const fontFamily=options2.get(48);const fontWeight=options2.get(52);const fontSize=options2.get(51);const fontFeatureSettings=options2.get(50);const fontVariationSettings=options2.get(53);const lineHeight=options2.get(65);const letterSpacing=options2.get(62);return BareFontInfo._create(fontFamily,fontWeight,fontSize,fontFeatureSettings,fontVariationSettings,lineHeight,letterSpacing,pixelRatio,ignoreEditorZoom)}static _create(fontFamily,fontWeight,fontSize,fontFeatureSettings,fontVariationSettings,lineHeight,letterSpacing,pixelRatio,ignoreEditorZoom){if(lineHeight===0){lineHeight=GOLDEN_LINE_HEIGHT_RATIO*fontSize}else if(lineHeight<MINIMUM_LINE_HEIGHT){lineHeight=lineHeight*fontSize}lineHeight=Math.round(lineHeight);if(lineHeight<MINIMUM_LINE_HEIGHT){lineHeight=MINIMUM_LINE_HEIGHT}const editorZoomLevelMultiplier=1+(ignoreEditorZoom?0:EditorZoom.getZoomLevel()*.1);fontSize*=editorZoomLevelMultiplier;lineHeight*=editorZoomLevelMultiplier;if(fontVariationSettings===EditorFontVariations.TRANSLATE){if(fontWeight==="normal"||fontWeight==="bold"){fontVariationSettings=EditorFontVariations.OFF}else{const fontWeightAsNumber=parseInt(fontWeight,10);fontVariationSettings=`'wght' ${fontWeightAsNumber}`;fontWeight="normal"}}return new BareFontInfo({pixelRatio:pixelRatio,fontFamily:fontFamily,fontWeight:fontWeight,fontSize:fontSize,fontFeatureSettings:fontFeatureSettings,fontVariationSettings:fontVariationSettings,lineHeight:lineHeight,letterSpacing:letterSpacing})}constructor(opts){this._bareFontInfoBrand=void 0;this.pixelRatio=opts.pixelRatio;this.fontFamily=String(opts.fontFamily);this.fontWeight=String(opts.fontWeight);this.fontSize=opts.fontSize;this.fontFeatureSettings=opts.fontFeatureSettings;this.fontVariationSettings=opts.fontVariationSettings;this.lineHeight=opts.lineHeight|0;this.letterSpacing=opts.letterSpacing}getId(){return`${this.pixelRatio}-${this.fontFamily}-${this.fontWeight}-${this.fontSize}-${this.fontFeatureSettings}-${this.fontVariationSettings}-${this.lineHeight}-${this.letterSpacing}`}getMassagedFontFamily(){const fallbackFontFamily=EDITOR_FONT_DEFAULTS.fontFamily;const fontFamily=BareFontInfo._wrapInQuotes(this.fontFamily);if(fallbackFontFamily&&this.fontFamily!==fallbackFontFamily){return`${fontFamily}, ${fallbackFontFamily}`}return fontFamily}static _wrapInQuotes(fontFamily){if(/[,"']/.test(fontFamily)){return fontFamily}if(/[+ ]/.test(fontFamily)){return`"${fontFamily}"`}return fontFamily}};SERIALIZED_FONT_INFO_VERSION=2;FontInfo=class extends BareFontInfo{constructor(opts,isTrusted){super(opts);this._editorStylingBrand=void 0;this.version=SERIALIZED_FONT_INFO_VERSION;this.isTrusted=isTrusted;this.isMonospace=opts.isMonospace;this.typicalHalfwidthCharacterWidth=opts.typicalHalfwidthCharacterWidth;this.typicalFullwidthCharacterWidth=opts.typicalFullwidthCharacterWidth;this.canUseHalfwidthRightwardsArrow=opts.canUseHalfwidthRightwardsArrow;this.spaceWidth=opts.spaceWidth;this.middotWidth=opts.middotWidth;this.wsmiddotWidth=opts.wsmiddotWidth;this.maxDigitWidth=opts.maxDigitWidth}equals(other){return this.fontFamily===other.fontFamily&&this.fontWeight===other.fontWeight&&this.fontSize===other.fontSize&&this.fontFeatureSettings===other.fontFeatureSettings&&this.fontVariationSettings===other.fontVariationSettings&&this.lineHeight===other.lineHeight&&this.letterSpacing===other.letterSpacing&&this.typicalHalfwidthCharacterWidth===other.typicalHalfwidthCharacterWidth&&this.typicalFullwidthCharacterWidth===other.typicalFullwidthCharacterWidth&&this.canUseHalfwidthRightwardsArrow===other.canUseHalfwidthRightwardsArrow&&this.spaceWidth===other.spaceWidth&&this.middotWidth===other.middotWidth&&this.wsmiddotWidth===other.wsmiddotWidth&&this.maxDigitWidth===other.maxDigitWidth}}}});var FontMeasurementsImpl,FontMeasurementsCache,FontMeasurements;var init_fontMeasurements=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/config/fontMeasurements.js"(){init_browser();init_event();init_lifecycle();init_charWidthReader();init_editorOptions();init_fontInfo();FontMeasurementsImpl=class extends Disposable{constructor(){super();this._onDidChange=this._register(new Emitter);this.onDidChange=this._onDidChange.event;this._cache=new FontMeasurementsCache;this._evictUntrustedReadingsTimeout=-1}dispose(){if(this._evictUntrustedReadingsTimeout!==-1){window.clearTimeout(this._evictUntrustedReadingsTimeout);this._evictUntrustedReadingsTimeout=-1}super.dispose()}clearAllFontInfos(){this._cache=new FontMeasurementsCache;this._onDidChange.fire()}_writeToCache(item,value){this._cache.put(item,value);if(!value.isTrusted&&this._evictUntrustedReadingsTimeout===-1){this._evictUntrustedReadingsTimeout=window.setTimeout((()=>{this._evictUntrustedReadingsTimeout=-1;this._evictUntrustedReadings()}),5e3)}}_evictUntrustedReadings(){const values=this._cache.getValues();let somethingRemoved=false;for(const item of values){if(!item.isTrusted){somethingRemoved=true;this._cache.remove(item)}}if(somethingRemoved){this._onDidChange.fire()}}readFontInfo(bareFontInfo){if(!this._cache.has(bareFontInfo)){let readConfig=this._actualReadFontInfo(bareFontInfo);if(readConfig.typicalHalfwidthCharacterWidth<=2||readConfig.typicalFullwidthCharacterWidth<=2||readConfig.spaceWidth<=2||readConfig.maxDigitWidth<=2){readConfig=new FontInfo({pixelRatio:PixelRatio.value,fontFamily:readConfig.fontFamily,fontWeight:readConfig.fontWeight,fontSize:readConfig.fontSize,fontFeatureSettings:readConfig.fontFeatureSettings,fontVariationSettings:readConfig.fontVariationSettings,lineHeight:readConfig.lineHeight,letterSpacing:readConfig.letterSpacing,isMonospace:readConfig.isMonospace,typicalHalfwidthCharacterWidth:Math.max(readConfig.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(readConfig.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:readConfig.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(readConfig.spaceWidth,5),middotWidth:Math.max(readConfig.middotWidth,5),wsmiddotWidth:Math.max(readConfig.wsmiddotWidth,5),maxDigitWidth:Math.max(readConfig.maxDigitWidth,5)},false)}this._writeToCache(bareFontInfo,readConfig)}return this._cache.get(bareFontInfo)}_createRequest(chr,type,all,monospace){const result=new CharWidthRequest(chr,type);all.push(result);monospace===null||monospace===void 0?void 0:monospace.push(result);return result}_actualReadFontInfo(bareFontInfo){const all=[];const monospace=[];const typicalHalfwidthCharacter=this._createRequest("n",0,all,monospace);const typicalFullwidthCharacter=this._createRequest("",0,all,null);const space=this._createRequest(" ",0,all,monospace);const digit0=this._createRequest("0",0,all,monospace);const digit1=this._createRequest("1",0,all,monospace);const digit2=this._createRequest("2",0,all,monospace);const digit3=this._createRequest("3",0,all,monospace);const digit4=this._createRequest("4",0,all,monospace);const digit5=this._createRequest("5",0,all,monospace);const digit6=this._createRequest("6",0,all,monospace);const digit7=this._createRequest("7",0,all,monospace);const digit8=this._createRequest("8",0,all,monospace);const digit9=this._createRequest("9",0,all,monospace);const rightwardsArrow=this._createRequest("→",0,all,monospace);const halfwidthRightwardsArrow=this._createRequest("→",0,all,null);const middot=this._createRequest("·",0,all,monospace);const wsmiddotWidth=this._createRequest(String.fromCharCode(11825),0,all,null);const monospaceTestChars="|/-_ilm%";for(let i=0,len=monospaceTestChars.length;i<len;i++){this._createRequest(monospaceTestChars.charAt(i),0,all,monospace);this._createRequest(monospaceTestChars.charAt(i),1,all,monospace);this._createRequest(monospaceTestChars.charAt(i),2,all,monospace)}readCharWidths(bareFontInfo,all);const maxDigitWidth=Math.max(digit0.width,digit1.width,digit2.width,digit3.width,digit4.width,digit5.width,digit6.width,digit7.width,digit8.width,digit9.width);let isMonospace=bareFontInfo.fontFeatureSettings===EditorFontLigatures.OFF;const referenceWidth=monospace[0].width;for(let i=1,len=monospace.length;isMonospace&&i<len;i++){const diff=referenceWidth-monospace[i].width;if(diff<-.001||diff>.001){isMonospace=false;break}}let canUseHalfwidthRightwardsArrow=true;if(isMonospace&&halfwidthRightwardsArrow.width!==referenceWidth){canUseHalfwidthRightwardsArrow=false}if(halfwidthRightwardsArrow.width>rightwardsArrow.width){canUseHalfwidthRightwardsArrow=false}return new FontInfo({pixelRatio:PixelRatio.value,fontFamily:bareFontInfo.fontFamily,fontWeight:bareFontInfo.fontWeight,fontSize:bareFontInfo.fontSize,fontFeatureSettings:bareFontInfo.fontFeatureSettings,fontVariationSettings:bareFontInfo.fontVariationSettings,lineHeight:bareFontInfo.lineHeight,letterSpacing:bareFontInfo.letterSpacing,isMonospace:isMonospace,typicalHalfwidthCharacterWidth:typicalHalfwidthCharacter.width,typicalFullwidthCharacterWidth:typicalFullwidthCharacter.width,canUseHalfwidthRightwardsArrow:canUseHalfwidthRightwardsArrow,spaceWidth:space.width,middotWidth:middot.width,wsmiddotWidth:wsmiddotWidth.width,maxDigitWidth:maxDigitWidth},true)}};FontMeasurementsCache=class{constructor(){this._keys=Object.create(null);this._values=Object.create(null)}has(item){const itemId=item.getId();return!!this._values[itemId]}get(item){const itemId=item.getId();return this._values[itemId]}put(item,value){const itemId=item.getId();this._keys[itemId]=item;this._values[itemId]=value}remove(item){const itemId=item.getId();delete this._keys[itemId];delete this._values[itemId]}getValues(){return Object.keys(this._keys).map((id=>this._values[id]))}};FontMeasurements=new FontMeasurementsImpl}});function storeServiceDependency(id,target,index){if(target[_util.DI_TARGET]===target){target[_util.DI_DEPENDENCIES].push({id:id,index:index})}else{target[_util.DI_DEPENDENCIES]=[{id:id,index:index}];target[_util.DI_TARGET]=target}}function createDecorator(serviceId){if(_util.serviceIds.has(serviceId)){return _util.serviceIds.get(serviceId)}const id=function(target,key,index){if(arguments.length!==3){throw new Error("@IServiceName-decorator can only be used to decorate a parameter")}storeServiceDependency(id,target,index)};id.toString=()=>serviceId;_util.serviceIds.set(serviceId,id);return id}var _util,IInstantiationService;var init_instantiation=__esm({"node_modules/monaco-editor/esm/vs/platform/instantiation/common/instantiation.js"(){(function(_util2){_util2.serviceIds=new Map;_util2.DI_TARGET="$di$target";_util2.DI_DEPENDENCIES="$di$dependencies";function getServiceDependencies(ctor){return ctor[_util2.DI_DEPENDENCIES]||[]}_util2.getServiceDependencies=getServiceDependencies})(_util||(_util={}));IInstantiationService=createDecorator("instantiationService")}});var ICodeEditorService;var init_codeEditorService=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/services/codeEditorService.js"(){init_instantiation();ICodeEditorService=createDecorator("codeEditorService")}});function ok(value,message){if(!value){throw new Error(message?`Assertion failed (${message})`:"Assertion Failed")}}function assertNever(value,message="Unreachable"){throw new Error(message)}function assertFn(condition){if(!condition()){debugger;condition();onUnexpectedError(new BugIndicatingError("Assertion Failed"))}}function checkAdjacentItems(items,predicate){let i=0;while(i<items.length-1){const a=items[i];const b=items[i+1];if(!predicate(a,b)){return false}i++}return true}var init_assert=__esm({"node_modules/monaco-editor/esm/vs/base/common/assert.js"(){init_errors()}});var IAudioCueService,Sound,SoundSource,AudioCue;var init_audioCueService=__esm({"node_modules/monaco-editor/esm/vs/platform/audioCues/browser/audioCueService.js"(){init_instantiation();init_nls();IAudioCueService=createDecorator("audioCue");Sound=class{static register(options2){const sound=new Sound(options2.fileName);return sound}constructor(fileName){this.fileName=fileName}};Sound.error=Sound.register({fileName:"error.mp3"});Sound.warning=Sound.register({fileName:"warning.mp3"});Sound.foldedArea=Sound.register({fileName:"foldedAreas.mp3"});Sound.break=Sound.register({fileName:"break.mp3"});Sound.quickFixes=Sound.register({fileName:"quickFixes.mp3"});Sound.taskCompleted=Sound.register({fileName:"taskCompleted.mp3"});Sound.taskFailed=Sound.register({fileName:"taskFailed.mp3"});Sound.terminalBell=Sound.register({fileName:"terminalBell.mp3"});Sound.diffLineInserted=Sound.register({fileName:"diffLineInserted.mp3"});Sound.diffLineDeleted=Sound.register({fileName:"diffLineDeleted.mp3"});Sound.diffLineModified=Sound.register({fileName:"diffLineModified.mp3"});Sound.chatRequestSent=Sound.register({fileName:"chatRequestSent.mp3"});Sound.chatResponsePending=Sound.register({fileName:"chatResponsePending.mp3"});Sound.chatResponseReceived1=Sound.register({fileName:"chatResponseReceived1.mp3"});Sound.chatResponseReceived2=Sound.register({fileName:"chatResponseReceived2.mp3"});Sound.chatResponseReceived3=Sound.register({fileName:"chatResponseReceived3.mp3"});Sound.chatResponseReceived4=Sound.register({fileName:"chatResponseReceived4.mp3"});SoundSource=class{constructor(randomOneOf){this.randomOneOf=randomOneOf}};AudioCue=class{static register(options2){const soundSource=new SoundSource("randomOneOf"in options2.sound?options2.sound.randomOneOf:[options2.sound]);const audioCue=new AudioCue(soundSource,options2.name,options2.settingsKey);AudioCue._audioCues.add(audioCue);return audioCue}constructor(sound,name,settingsKey){this.sound=sound;this.name=name;this.settingsKey=settingsKey}};AudioCue._audioCues=new Set;AudioCue.error=AudioCue.register({name:localize("audioCues.lineHasError.name","Error on Line"),sound:Sound.error,settingsKey:"audioCues.lineHasError"});AudioCue.warning=AudioCue.register({name:localize("audioCues.lineHasWarning.name","Warning on Line"),sound:Sound.warning,settingsKey:"audioCues.lineHasWarning"});AudioCue.foldedArea=AudioCue.register({name:localize("audioCues.lineHasFoldedArea.name","Folded Area on Line"),sound:Sound.foldedArea,settingsKey:"audioCues.lineHasFoldedArea"});AudioCue.break=AudioCue.register({name:localize("audioCues.lineHasBreakpoint.name","Breakpoint on Line"),sound:Sound.break,settingsKey:"audioCues.lineHasBreakpoint"});AudioCue.inlineSuggestion=AudioCue.register({name:localize("audioCues.lineHasInlineSuggestion.name","Inline Suggestion on Line"),sound:Sound.quickFixes,settingsKey:"audioCues.lineHasInlineSuggestion"});AudioCue.terminalQuickFix=AudioCue.register({name:localize("audioCues.terminalQuickFix.name","Terminal Quick Fix"),sound:Sound.quickFixes,settingsKey:"audioCues.terminalQuickFix"});AudioCue.onDebugBreak=AudioCue.register({name:localize("audioCues.onDebugBreak.name","Debugger Stopped on Breakpoint"),sound:Sound.break,settingsKey:"audioCues.onDebugBreak"});AudioCue.noInlayHints=AudioCue.register({name:localize("audioCues.noInlayHints","No Inlay Hints on Line"),sound:Sound.error,settingsKey:"audioCues.noInlayHints"});AudioCue.taskCompleted=AudioCue.register({name:localize("audioCues.taskCompleted","Task Completed"),sound:Sound.taskCompleted,settingsKey:"audioCues.taskCompleted"});AudioCue.taskFailed=AudioCue.register({name:localize("audioCues.taskFailed","Task Failed"),sound:Sound.taskFailed,settingsKey:"audioCues.taskFailed"});AudioCue.terminalCommandFailed=AudioCue.register({name:localize("audioCues.terminalCommandFailed","Terminal Command Failed"),sound:Sound.error,settingsKey:"audioCues.terminalCommandFailed"});AudioCue.terminalBell=AudioCue.register({name:localize("audioCues.terminalBell","Terminal Bell"),sound:Sound.terminalBell,settingsKey:"audioCues.terminalBell"});AudioCue.notebookCellCompleted=AudioCue.register({name:localize("audioCues.notebookCellCompleted","Notebook Cell Completed"),sound:Sound.taskCompleted,settingsKey:"audioCues.notebookCellCompleted"});AudioCue.notebookCellFailed=AudioCue.register({name:localize("audioCues.notebookCellFailed","Notebook Cell Failed"),sound:Sound.taskFailed,settingsKey:"audioCues.notebookCellFailed"});AudioCue.diffLineInserted=AudioCue.register({name:localize("audioCues.diffLineInserted","Diff Line Inserted"),sound:Sound.diffLineInserted,settingsKey:"audioCues.diffLineInserted"});AudioCue.diffLineDeleted=AudioCue.register({name:localize("audioCues.diffLineDeleted","Diff Line Deleted"),sound:Sound.diffLineDeleted,settingsKey:"audioCues.diffLineDeleted"});AudioCue.diffLineModified=AudioCue.register({name:localize("audioCues.diffLineModified","Diff Line Modified"),sound:Sound.diffLineModified,settingsKey:"audioCues.diffLineModified"});AudioCue.chatRequestSent=AudioCue.register({name:localize("audioCues.chatRequestSent","Chat Request Sent"),sound:Sound.chatRequestSent,settingsKey:"audioCues.chatRequestSent"});AudioCue.chatResponseReceived=AudioCue.register({name:localize("audioCues.chatResponseReceived","Chat Response Received"),settingsKey:"audioCues.chatResponseReceived",sound:{randomOneOf:[Sound.chatResponseReceived1,Sound.chatResponseReceived2,Sound.chatResponseReceived3,Sound.chatResponseReceived4]}});AudioCue.chatResponsePending=AudioCue.register({name:localize("audioCues.chatResponsePending","Chat Response Pending"),sound:Sound.chatResponsePending,settingsKey:"audioCues.chatResponsePending"})}});function hintDidYouMean(...meant){switch(meant.length){case 1:return localize("contextkey.scanner.hint.didYouMean1","Did you mean {0}?",meant[0]);case 2:return localize("contextkey.scanner.hint.didYouMean2","Did you mean {0} or {1}?",meant[0],meant[1]);case 3:return localize("contextkey.scanner.hint.didYouMean3","Did you mean {0}, {1} or {2}?",meant[0],meant[1],meant[2]);default:return void 0}}var hintDidYouForgetToOpenOrCloseQuote,hintDidYouForgetToEscapeSlash,Scanner;var init_scanner=__esm({"node_modules/monaco-editor/esm/vs/platform/contextkey/common/scanner.js"(){init_errors();init_nls();hintDidYouForgetToOpenOrCloseQuote=localize("contextkey.scanner.hint.didYouForgetToOpenOrCloseQuote","Did you forget to open or close the quote?");hintDidYouForgetToEscapeSlash=localize("contextkey.scanner.hint.didYouForgetToEscapeSlash","Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'.");Scanner=class{constructor(){this._input="";this._start=0;this._current=0;this._tokens=[];this._errors=[];this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(token){switch(token.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return token.isTripleEq?"===":"==";case 4:return token.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:return">=";case 8:return">=";case 9:return"=~";case 10:return token.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 token.lexeme;case 18:return token.lexeme;case 19:return token.lexeme;case 20:return"EOF";default:throw illegalState(`unhandled token type: ${JSON.stringify(token)}; have you forgotten to add a case?`)}}reset(value){this._input=value;this._start=0;this._current=0;this._tokens=[];this._errors=[];return this}scan(){while(!this._isAtEnd()){this._start=this._current;const ch=this._advance();switch(ch){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){const isTripleEq=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:isTripleEq})}else{this._addToken(2)}break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){const isTripleEq=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:isTripleEq})}else if(this._match(126)){this._addToken(9)}else{this._error(hintDidYouMean("==","=~"))}break;case 60:this._addToken(this._match(61)?6:5);break;case 62:this._addToken(this._match(61)?8:7);break;case 38:if(this._match(38)){this._addToken(15)}else{this._error(hintDidYouMean("&&"))}break;case 124:if(this._match(124)){this._addToken(16)}else{this._error(hintDidYouMean("||"))}break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}}this._start=this._current;this._addToken(20);return Array.from(this._tokens)}_match(expected){if(this._isAtEnd()){return false}if(this._input.charCodeAt(this._current)!==expected){return false}this._current++;return true}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(type){this._tokens.push({type:type,offset:this._start})}_error(additional){const offset=this._start;const lexeme=this._input.substring(this._start,this._current);const errToken={type:19,offset:this._start,lexeme:lexeme};this._errors.push({offset:offset,lexeme:lexeme,additionalInfo:additional});this._tokens.push(errToken)}_string(){this.stringRe.lastIndex=this._start;const match2=this.stringRe.exec(this._input);if(match2){this._current=this._start+match2[0].length;const lexeme=this._input.substring(this._start,this._current);const keyword=Scanner._keywords.get(lexeme);if(keyword){this._addToken(keyword)}else{this._tokens.push({type:17,lexeme:lexeme,offset:this._start})}}}_quotedString(){while(this._peek()!==39&&!this._isAtEnd()){this._advance()}if(this._isAtEnd()){this._error(hintDidYouForgetToOpenOrCloseQuote);return}this._advance();this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1})}_regex(){let p=this._current;let inEscape=false;let inCharacterClass=false;while(true){if(p>=this._input.length){this._current=p;this._error(hintDidYouForgetToEscapeSlash);return}const ch=this._input.charCodeAt(p);if(inEscape){inEscape=false}else if(ch===47&&!inCharacterClass){p++;break}else if(ch===91){inCharacterClass=true}else if(ch===92){inEscape=true}else if(ch===93){inCharacterClass=false}p++}while(p<this._input.length&&Scanner._regexFlags.has(this._input.charCodeAt(p))){p++}this._current=p;const lexeme=this._input.substring(this._start,this._current);this._tokens.push({type:10,lexeme:lexeme,offset:this._start})}_isAtEnd(){return this._current>=this._input.length}};Scanner._regexFlags=new Set(["i","g","s","m","y","u"].map((ch=>ch.charCodeAt(0))));Scanner._keywords=new Map([["not",14],["in",13],["false",12],["true",11]])}});function expressionsAreEqualWithConstantSubstitution(a,b){const aExpr=a?a.substituteConstants():void 0;const bExpr=b?b.substituteConstants():void 0;if(!aExpr&&!bExpr){return true}if(!aExpr||!bExpr){return false}return aExpr.equals(bExpr)}function cmp(a,b){return a.cmp(b)}function withFloatOrStr(value,callback){if(typeof value==="string"){const n=parseFloat(value);if(!isNaN(n)){value=n}}if(typeof value==="string"||typeof value==="number"){return callback(value)}return ContextKeyFalseExpr.INSTANCE}function eliminateConstantsInArray(arr){let newArr=null;for(let i=0,len=arr.length;i<len;i++){const newExpr=arr[i].substituteConstants();if(arr[i]!==newExpr){if(newArr===null){newArr=[];for(let j=0;j<i;j++){newArr[j]=arr[j]}}}if(newArr!==null){newArr[i]=newExpr}}if(newArr===null){return arr}return newArr}function cmp1(key1,key2){if(key1<key2){return-1}if(key1>key2){return 1}return 0}function cmp2(key1,value1,key2,value2){if(key1<key2){return-1}if(key1>key2){return 1}if(value1<value2){return-1}if(value1>value2){return 1}return 0}function implies(p,q){if(p.type===0||q.type===1){return true}if(p.type===9){if(q.type===9){return allElementsIncluded(p.expr,q.expr)}return false}if(q.type===9){for(const element of q.expr){if(implies(p,element)){return true}}return false}if(p.type===6){if(q.type===6){return allElementsIncluded(q.expr,p.expr)}for(const element of p.expr){if(implies(element,q)){return true}}return false}return p.equals(q)}function allElementsIncluded(p,q){let pIndex=0;let qIndex=0;while(pIndex<p.length&&qIndex<q.length){const cmp3=p[pIndex].cmp(q[qIndex]);if(cmp3<0){return false}else if(cmp3===0){pIndex++;qIndex++}else{qIndex++}}return pIndex===p.length}function getTerminals(node){if(node.type===9){return node.expr}return[node]}var CONSTANT_VALUES,hasOwnProperty,defaultConfig,errorEmptyString,hintEmptyString,errorNoInAfterNot,errorClosingParenthesis,errorUnexpectedToken,hintUnexpectedToken,errorUnexpectedEOF,hintUnexpectedEOF,Parser,ContextKeyExpr,ContextKeyFalseExpr,ContextKeyTrueExpr,ContextKeyDefinedExpr,ContextKeyEqualsExpr,ContextKeyInExpr,ContextKeyNotInExpr,ContextKeyNotEqualsExpr,ContextKeyNotExpr,ContextKeyGreaterExpr,ContextKeyGreaterEqualsExpr,ContextKeySmallerExpr,ContextKeySmallerEqualsExpr,ContextKeyRegexExpr,ContextKeyNotRegexExpr,ContextKeyAndExpr,ContextKeyOrExpr,RawContextKey,IContextKeyService;var init_contextkey=__esm({"node_modules/monaco-editor/esm/vs/platform/contextkey/common/contextkey.js"(){init_platform();init_strings();init_scanner();init_instantiation();init_nls();CONSTANT_VALUES=new Map;CONSTANT_VALUES.set("false",false);CONSTANT_VALUES.set("true",true);CONSTANT_VALUES.set("isMac",isMacintosh);CONSTANT_VALUES.set("isLinux",isLinux);CONSTANT_VALUES.set("isWindows",isWindows);CONSTANT_VALUES.set("isWeb",isWeb);CONSTANT_VALUES.set("isMacNative",isMacintosh&&!isWeb);CONSTANT_VALUES.set("isEdge",isEdge);CONSTANT_VALUES.set("isFirefox",isFirefox);CONSTANT_VALUES.set("isChrome",isChrome);CONSTANT_VALUES.set("isSafari",isSafari);hasOwnProperty=Object.prototype.hasOwnProperty;defaultConfig={regexParsingWithErrorRecovery:true};errorEmptyString=localize("contextkey.parser.error.emptyString","Empty context key expression");hintEmptyString=localize("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.");errorNoInAfterNot=localize("contextkey.parser.error.noInAfterNot","'in' after 'not'.");errorClosingParenthesis=localize("contextkey.parser.error.closingParenthesis","closing parenthesis ')'");errorUnexpectedToken=localize("contextkey.parser.error.unexpectedToken","Unexpected token");hintUnexpectedToken=localize("contextkey.parser.error.unexpectedToken.hint","Did you forget to put && or || before the token?");errorUnexpectedEOF=localize("contextkey.parser.error.unexpectedEOF","Unexpected end of expression");hintUnexpectedEOF=localize("contextkey.parser.error.unexpectedEOF.hint","Did you forget to put a context key?");Parser=class{constructor(_config=defaultConfig){this._config=_config;this._scanner=new Scanner;this._tokens=[];this._current=0;this._parsingErrors=[];this._flagsGYRe=/g|y/g}parse(input){if(input===""){this._parsingErrors.push({message:errorEmptyString,offset:0,lexeme:"",additionalInfo:hintEmptyString});return void 0}this._tokens=this._scanner.reset(input).scan();this._current=0;this._parsingErrors=[];try{const expr=this._expr();if(!this._isAtEnd()){const peek=this._peek();const additionalInfo=peek.type===17?hintUnexpectedToken:void 0;this._parsingErrors.push({message:errorUnexpectedToken,offset:peek.offset,lexeme:Scanner.getLexeme(peek),additionalInfo:additionalInfo});throw Parser._parseError}return expr}catch(e){if(!(e===Parser._parseError)){throw e}return void 0}}_expr(){return this._or()}_or(){const expr=[this._and()];while(this._matchOne(16)){const right=this._and();expr.push(right)}return expr.length===1?expr[0]:ContextKeyExpr.or(...expr)}_and(){const expr=[this._term()];while(this._matchOne(15)){const right=this._term();expr.push(right)}return expr.length===1?expr[0]:ContextKeyExpr.and(...expr)}_term(){if(this._matchOne(2)){const peek=this._peek();switch(peek.type){case 11:this._advance();return ContextKeyFalseExpr.INSTANCE;case 12:this._advance();return ContextKeyTrueExpr.INSTANCE;case 0:{this._advance();const expr=this._expr();this._consume(1,errorClosingParenthesis);return expr===null||expr===void 0?void 0:expr.negate()}case 17:this._advance();return ContextKeyNotExpr.create(peek.lexeme);default:throw this._errExpectedButGot(`KEY | true | false | '(' expression ')'`,peek)}}return this._primary()}_primary(){const peek=this._peek();switch(peek.type){case 11:this._advance();return ContextKeyExpr.true();case 12:this._advance();return ContextKeyExpr.false();case 0:{this._advance();const expr=this._expr();this._consume(1,errorClosingParenthesis);return expr}case 17:{const key=peek.lexeme;this._advance();if(this._matchOne(9)){const expr=this._peek();if(!this._config.regexParsingWithErrorRecovery){this._advance();if(expr.type!==10){throw this._errExpectedButGot(`REGEX`,expr)}const regexLexeme=expr.lexeme;const closingSlashIndex=regexLexeme.lastIndexOf("/");const flags=closingSlashIndex===regexLexeme.length-1?void 0:this._removeFlagsGY(regexLexeme.substring(closingSlashIndex+1));let regexp;try{regexp=new RegExp(regexLexeme.substring(1,closingSlashIndex),flags)}catch(e){throw this._errExpectedButGot(`REGEX`,expr)}return ContextKeyRegexExpr.create(key,regexp)}switch(expr.type){case 10:case 19:{const lexemeReconstruction=[expr.lexeme];this._advance();let followingToken=this._peek();let parenBalance=0;for(let i=0;i<expr.lexeme.length;i++){if(expr.lexeme.charCodeAt(i)===40){parenBalance++}else if(expr.lexeme.charCodeAt(i)===41){parenBalance--}}while(!this._isAtEnd()&&followingToken.type!==15&&followingToken.type!==16){switch(followingToken.type){case 0:parenBalance++;break;case 1:parenBalance--;break;case 10:case 18:for(let i=0;i<followingToken.lexeme.length;i++){if(followingToken.lexeme.charCodeAt(i)===40){parenBalance++}else if(expr.lexeme.charCodeAt(i)===41){parenBalance--}}}if(parenBalance<0){break}lexemeReconstruction.push(Scanner.getLexeme(followingToken));this._advance();followingToken=this._peek()}const regexLexeme=lexemeReconstruction.join("");const closingSlashIndex=regexLexeme.lastIndexOf("/");const flags=closingSlashIndex===regexLexeme.length-1?void 0:this._removeFlagsGY(regexLexeme.substring(closingSlashIndex+1));let regexp;try{regexp=new RegExp(regexLexeme.substring(1,closingSlashIndex),flags)}catch(e){throw this._errExpectedButGot(`REGEX`,expr)}return ContextKeyExpr.regex(key,regexp)}case 18:{const serializedValue=expr.lexeme;this._advance();let regex=null;if(!isFalsyOrWhitespace(serializedValue)){const start=serializedValue.indexOf("/");const end=serializedValue.lastIndexOf("/");if(start!==end&&start>=0){const value=serializedValue.slice(start+1,end);const caseIgnoreFlag=serializedValue[end+1]==="i"?"i":"";try{regex=new RegExp(value,caseIgnoreFlag)}catch(_e2){throw this._errExpectedButGot(`REGEX`,expr)}}}if(regex===null){throw this._errExpectedButGot("REGEX",expr)}return ContextKeyRegexExpr.create(key,regex)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,errorNoInAfterNot);const right=this._value();return ContextKeyExpr.notIn(key,right)}const maybeOp=this._peek().type;switch(maybeOp){case 3:{this._advance();const right=this._value();if(this._previous().type===18){return ContextKeyExpr.equals(key,right)}switch(right){case"true":return ContextKeyExpr.has(key);case"false":return ContextKeyExpr.not(key);default:return ContextKeyExpr.equals(key,right)}}case 4:{this._advance();const right=this._value();if(this._previous().type===18){return ContextKeyExpr.notEquals(key,right)}switch(right){case"true":return ContextKeyExpr.not(key);case"false":return ContextKeyExpr.has(key);default:return ContextKeyExpr.notEquals(key,right)}}case 5:this._advance();return ContextKeySmallerExpr.create(key,this._value());case 6:this._advance();return ContextKeySmallerEqualsExpr.create(key,this._value());case 7:this._advance();return ContextKeyGreaterExpr.create(key,this._value());case 8:this._advance();return ContextKeyGreaterEqualsExpr.create(key,this._value());case 13:this._advance();return ContextKeyExpr.in(key,this._value());default:return ContextKeyExpr.has(key)}}case 20:this._parsingErrors.push({message:errorUnexpectedEOF,offset:peek.offset,lexeme:"",additionalInfo:hintUnexpectedEOF});throw Parser._parseError;default:throw this._errExpectedButGot(`true | false | KEY \n\t| KEY '=~' REGEX \n\t| KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value`,this._peek())}}_value(){const token=this._peek();switch(token.type){case 17:case 18:this._advance();return token.lexeme;case 11:this._advance();return"true";case 12:this._advance();return"false";case 13:this._advance();return"in";default:return""}}_removeFlagsGY(flags){return flags.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(token){if(this._check(token)){this._advance();return true}return false}_advance(){if(!this._isAtEnd()){this._current++}return this._previous()}_consume(type,message){if(this._check(type)){return this._advance()}throw this._errExpectedButGot(message,this._peek())}_errExpectedButGot(expected,got,additionalInfo){const message=localize("contextkey.parser.error.expectedButGot","Expected: {0}\nReceived: '{1}'.",expected,Scanner.getLexeme(got));const offset=got.offset;const lexeme=Scanner.getLexeme(got);this._parsingErrors.push({message:message,offset:offset,lexeme:lexeme,additionalInfo:additionalInfo});return Parser._parseError}_check(type){return this._peek().type===type}_peek(){return this._tokens[this._current]}_isAtEnd(){return this._peek().type===20}};Parser._parseError=new Error;ContextKeyExpr=class{static false(){return ContextKeyFalseExpr.INSTANCE}static true(){return ContextKeyTrueExpr.INSTANCE}static has(key){return ContextKeyDefinedExpr.create(key)}static equals(key,value){return ContextKeyEqualsExpr.create(key,value)}static notEquals(key,value){return ContextKeyNotEqualsExpr.create(key,value)}static regex(key,value){return ContextKeyRegexExpr.create(key,value)}static in(key,value){return ContextKeyInExpr.create(key,value)}static notIn(key,value){return ContextKeyNotInExpr.create(key,value)}static not(key){return ContextKeyNotExpr.create(key)}static and(...expr){return ContextKeyAndExpr.create(expr,null,true)}static or(...expr){return ContextKeyOrExpr.create(expr,null,true)}static deserialize(serialized){if(serialized===void 0||serialized===null){return void 0}const expr=this._parser.parse(serialized);return expr}};ContextKeyExpr._parser=new Parser({regexParsingWithErrorRecovery:false});ContextKeyFalseExpr=class{constructor(){this.type=0}cmp(other){return this.type-other.type}equals(other){return other.type===this.type}substituteConstants(){return this}evaluate(context){return false}serialize(){return"false"}keys(){return[]}negate(){return ContextKeyTrueExpr.INSTANCE}};ContextKeyFalseExpr.INSTANCE=new ContextKeyFalseExpr;ContextKeyTrueExpr=class{constructor(){this.type=1}cmp(other){return this.type-other.type}equals(other){return other.type===this.type}substituteConstants(){return this}evaluate(context){return true}serialize(){return"true"}keys(){return[]}negate(){return ContextKeyFalseExpr.INSTANCE}};ContextKeyTrueExpr.INSTANCE=new ContextKeyTrueExpr;ContextKeyDefinedExpr=class{static create(key,negated=null){const constantValue=CONSTANT_VALUES.get(key);if(typeof constantValue==="boolean"){return constantValue?ContextKeyTrueExpr.INSTANCE:ContextKeyFalseExpr.INSTANCE}return new ContextKeyDefinedExpr(key,negated)}constructor(key,negated){this.key=key;this.negated=negated;this.type=2}cmp(other){if(other.type!==this.type){return this.type-other.type}return cmp1(this.key,other.key)}equals(other){if(other.type===this.type){return this.key===other.key}return false}substituteConstants(){const constantValue=CONSTANT_VALUES.get(this.key);if(typeof constantValue==="boolean"){return constantValue?ContextKeyTrueExpr.INSTANCE:ContextKeyFalseExpr.INSTANCE}return this}evaluate(context){return!!context.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){if(!this.negated){this.negated=ContextKeyNotExpr.create(this.key,this)}return this.negated}};ContextKeyEqualsExpr=class{static create(key,value,negated=null){if(typeof value==="boolean"){return value?ContextKeyDefinedExpr.create(key,negated):ContextKeyNotExpr.create(key,negated)}const constantValue=CONSTANT_VALUES.get(key);if(typeof constantValue==="boolean"){const trueValue=constantValue?"true":"false";return value===trueValue?ContextKeyTrueExpr.INSTANCE:ContextKeyFalseExpr.INSTANCE}return new ContextKeyEqualsExpr(key,value,negated)}constructor(key,value,negated){this.key=key;this.value=value;this.negated=negated;this.type=4}cmp(other){if(other.type!==this.type){return this.type-other.type}return cmp2(this.key,this.value,other.key,other.value)}equals(other){if(other.type===this.type){return this.key===other.key&&this.value===other.value}return false}substituteConstants(){const constantValue=CONSTANT_VALUES.get(this.key);if(typeof constantValue==="boolean"){const trueValue=constantValue?"true":"false";return this.value===trueValue?ContextKeyTrueExpr.INSTANCE:ContextKeyFalseExpr.INSTANCE}return this}evaluate(context){return context.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){if(!this.negated){this.negated=ContextKeyNotEqualsExpr.create(this.key,this.value,this)}return this.negated}};ContextKeyInExpr=class{static create(key,valueKey){return new ContextKeyInExpr(key,valueKey)}constructor(key,valueKey){this.key=key;this.valueKey=valueKey;this.type=10;this.negated=null}cmp(other){if(other.type!==this.type){return this.type-other.type}return cmp2(this.key,this.valueKey,other.key,other.valueKey)}equals(other){if(other.type===this.type){return this.key===other.key&&this.valueKey===other.valueKey}return false}substituteConstants(){return this}evaluate(context){const source=context.getValue(this.valueKey);const item=context.getValue(this.key);if(Array.isArray(source)){return source.includes(item)}if(typeof item==="string"&&typeof source==="object"&&source!==null){return hasOwnProperty.call(source,item)}return false}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){if(!this.negated){this.negated=ContextKeyNotInExpr.create(this.key,this.valueKey)}return this.negated}};ContextKeyNotInExpr=class{static create(key,valueKey){return new ContextKeyNotInExpr(key,valueKey)}constructor(key,valueKey){this.key=key;this.valueKey=valueKey;this.type=11;this._negated=ContextKeyInExpr.create(key,valueKey)}cmp(other){if(other.type!==this.type){return this.type-other.type}return this._negated.cmp(other._negated)}equals(other){if(other.type===this.type){return this._negated.equals(other._negated)}return false}substituteConstants(){return this}evaluate(context){return!this._negated.evaluate(context)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}};ContextKeyNotEqualsExpr=class{static create(key,value,negated=null){if(typeof value==="boolean"){if(value){return ContextKeyNotExpr.create(key,negated)}return ContextKeyDefinedExpr.create(key,negated)}const constantValue=CONSTANT_VALUES.get(key);if(typeof constantValue==="boolean"){const falseValue=constantValue?"true":"false";return value===falseValue?ContextKeyFalseExpr.INSTANCE:ContextKeyTrueExpr.INSTANCE}return new ContextKeyNotEqualsExpr(key,value,negated)}constructor(key,value,negated){this.key=key;this.value=value;this.negated=negated;this.type=5}cmp(other){if(other.type!==this.type){return this.type-other.type}return cmp2(this.key,this.value,other.key,other.value)}equals(other){if(other.type===this.type){return this.key===other.key&&this.value===other.value}return false}substituteConstants(){const constantValue=CONSTANT_VALUES.get(this.key);if(typeof constantValue==="boolean"){const falseValue=constantValue?"true":"false";return this.value===falseValue?ContextKeyFalseExpr.INSTANCE:ContextKeyTrueExpr.INSTANCE}return this}evaluate(context){return context.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){if(!this.negated){this.negated=ContextKeyEqualsExpr.create(this.key,this.value,this)}return this.negated}};ContextKeyNotExpr=class{static create(key,negated=null){const constantValue=CONSTANT_VALUES.get(key);if(typeof constantValue==="boolean"){return constantValue?ContextKeyFalseExpr.INSTANCE:ContextKeyTrueExpr.INSTANCE}return new ContextKeyNotExpr(key,negated)}constructor(key,negated){this.key=key;this.negated=negated;this.type=3}cmp(other){if(other.type!==this.type){return this.type-other.type}return cmp1(this.key,other.key)}equals(other){if(other.type===this.type){return this.key===other.key}return false}substituteConstants(){const constantValue=CONSTANT_VALUES.get(this.key);if(typeof constantValue==="boolean"){return constantValue?ContextKeyFalseExpr.INSTANCE:ContextKeyTrueExpr.INSTANCE}return this}evaluate(context){return!context.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){if(!this.negated){this.negated=ContextKeyDefinedExpr.create(this.key,this)}return this.negated}};ContextKeyGreaterExpr=class{static create(key,_value,negated=null){return withFloatOrStr(_value,(value=>new ContextKeyGreaterExpr(key,value,negated)))}constructor(key,value,negated){this.key=key;this.value=value;this.negated=negated;this.type=12}cmp(other){if(other.type!==this.type){return this.type-other.type}return cmp2(this.key,this.value,other.key,other.value)}equals(other){if(other.type===this.type){return this.key===other.key&&this.value===other.value}return false}substituteConstants(){return this}evaluate(context){if(typeof this.value==="string"){return false}return parseFloat(context.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){if(!this.negated){this.negated=ContextKeySmallerEqualsExpr.create(this.key,this.value,this)}return this.negated}};ContextKeyGreaterEqualsExpr=class{static create(key,_value,negated=null){return withFloatOrStr(_value,(value=>new ContextKeyGreaterEqualsExpr(key,value,negated)))}constructor(key,value,negated){this.key=key;this.value=value;this.negated=negated;this.type=13}cmp(other){if(other.type!==this.type){return this.type-other.type}return cmp2(this.key,this.value,other.key,other.value)}equals(other){if(other.type===this.type){return this.key===other.key&&this.value===other.value}return false}substituteConstants(){return this}evaluate(context){if(typeof this.value==="string"){return false}return parseFloat(context.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){if(!this.negated){this.negated=ContextKeySmallerExpr.create(this.key,this.value,this)}return this.negated}};ContextKeySmallerExpr=class{static create(key,_value,negated=null){return withFloatOrStr(_value,(value=>new ContextKeySmallerExpr(key,value,negated)))}constructor(key,value,negated){this.key=key;this.value=value;this.negated=negated;this.type=14}cmp(other){if(other.type!==this.type){return this.type-other.type}return cmp2(this.key,this.value,other.key,other.value)}equals(other){if(other.type===this.type){return this.key===other.key&&this.value===other.value}return false}substituteConstants(){return this}evaluate(context){if(typeof this.value==="string"){return false}return parseFloat(context.getValue(this.key))<this.value}serialize(){return`${this.key} < ${this.value}`}keys(){return[this.key]}negate(){if(!this.negated){this.negated=ContextKeyGreaterEqualsExpr.create(this.key,this.value,this)}return this.negated}};ContextKeySmallerEqualsExpr=class{static create(key,_value,negated=null){return withFloatOrStr(_value,(value=>new ContextKeySmallerEqualsExpr(key,value,negated)))}constructor(key,value,negated){this.key=key;this.value=value;this.negated=negated;this.type=15}cmp(other){if(other.type!==this.type){return this.type-other.type}return cmp2(this.key,this.value,other.key,other.value)}equals(other){if(other.type===this.type){return this.key===other.key&&this.value===other.value}return false}substituteConstants(){return this}evaluate(context){if(typeof this.value==="string"){return false}return parseFloat(context.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){if(!this.negated){this.negated=ContextKeyGreaterExpr.create(this.key,this.value,this)}return this.negated}};ContextKeyRegexExpr=class{static create(key,regexp){return new ContextKeyRegexExpr(key,regexp)}constructor(key,regexp){this.key=key;this.regexp=regexp;this.type=7;this.negated=null}cmp(other){if(other.type!==this.type){return this.type-other.type}if(this.key<other.key){return-1}if(this.key>other.key){return 1}const thisSource=this.regexp?this.regexp.source:"";const otherSource=other.regexp?other.regexp.source:"";if(thisSource<otherSource){return-1}if(thisSource>otherSource){return 1}return 0}equals(other){if(other.type===this.type){const thisSource=this.regexp?this.regexp.source:"";const otherSource=other.regexp?other.regexp.source:"";return this.key===other.key&&thisSource===otherSource}return false}substituteConstants(){return this}evaluate(context){const value=context.getValue(this.key);return this.regexp?this.regexp.test(value):false}serialize(){const value=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/";return`${this.key} =~ ${value}`}keys(){return[this.key]}negate(){if(!this.negated){this.negated=ContextKeyNotRegexExpr.create(this)}return this.negated}};ContextKeyNotRegexExpr=class{static create(actual){return new ContextKeyNotRegexExpr(actual)}constructor(_actual){this._actual=_actual;this.type=8}cmp(other){if(other.type!==this.type){return this.type-other.type}return this._actual.cmp(other._actual)}equals(other){if(other.type===this.type){return this._actual.equals(other._actual)}return false}substituteConstants(){return this}evaluate(context){return!this._actual.evaluate(context)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}negate(){return this._actual}};ContextKeyAndExpr=class{static create(_expr,negated,extraRedundantCheck){return ContextKeyAndExpr._normalizeArr(_expr,negated,extraRedundantCheck)}constructor(expr,negated){this.expr=expr;this.negated=negated;this.type=6}cmp(other){if(other.type!==this.type){return this.type-other.type}if(this.expr.length<other.expr.length){return-1}if(this.expr.length>other.expr.length){return 1}for(let i=0,len=this.expr.length;i<len;i++){const r=cmp(this.expr[i],other.expr[i]);if(r!==0){return r}}return 0}equals(other){if(other.type===this.type){if(this.expr.length!==other.expr.length){return false}for(let i=0,len=this.expr.length;i<len;i++){if(!this.expr[i].equals(other.expr[i])){return false}}return true}return false}substituteConstants(){const exprArr=eliminateConstantsInArray(this.expr);if(exprArr===this.expr){return this}return ContextKeyAndExpr.create(exprArr,this.negated,false)}evaluate(context){for(let i=0,len=this.expr.length;i<len;i++){if(!this.expr[i].evaluate(context)){return false}}return true}static _normalizeArr(arr,negated,extraRedundantCheck){const expr=[];let hasTrue=false;for(const e of arr){if(!e){continue}if(e.type===1){hasTrue=true;continue}if(e.type===0){return ContextKeyFalseExpr.INSTANCE}if(e.type===6){expr.push(...e.expr);continue}expr.push(e)}if(expr.length===0&&hasTrue){return ContextKeyTrueExpr.INSTANCE}if(expr.length===0){return void 0}if(expr.length===1){return expr[0]}expr.sort(cmp);for(let i=1;i<expr.length;i++){if(expr[i-1].equals(expr[i])){expr.splice(i,1);i--}}if(expr.length===1){return expr[0]}while(expr.length>1){const lastElement=expr[expr.length-1];if(lastElement.type!==9){break}expr.pop();const secondToLastElement=expr.pop();const isFinished=expr.length===0;const resultElement=ContextKeyOrExpr.create(lastElement.expr.map((el=>ContextKeyAndExpr.create([el,secondToLastElement],null,extraRedundantCheck))),null,isFinished);if(resultElement){expr.push(resultElement);expr.sort(cmp)}}if(expr.length===1){return expr[0]}if(extraRedundantCheck){for(let i=0;i<expr.length;i++){for(let j=i+1;j<expr.length;j++){if(expr[i].negate().equals(expr[j])){return ContextKeyFalseExpr.INSTANCE}}}if(expr.length===1){return expr[0]}}return new ContextKeyAndExpr(expr,negated)}serialize(){return this.expr.map((e=>e.serialize())).join(" && ")}keys(){const result=[];for(const expr of this.expr){result.push(...expr.keys())}return result}negate(){if(!this.negated){const result=[];for(const expr of this.expr){result.push(expr.negate())}this.negated=ContextKeyOrExpr.create(result,this,true)}return this.negated}};ContextKeyOrExpr=class{static create(_expr,negated,extraRedundantCheck){return ContextKeyOrExpr._normalizeArr(_expr,negated,extraRedundantCheck)}constructor(expr,negated){this.expr=expr;this.negated=negated;this.type=9}cmp(other){if(other.type!==this.type){return this.type-other.type}if(this.expr.length<other.expr.length){return-1}if(this.expr.length>other.expr.length){return 1}for(let i=0,len=this.expr.length;i<len;i++){const r=cmp(this.expr[i],other.expr[i]);if(r!==0){return r}}return 0}equals(other){if(other.type===this.type){if(this.expr.length!==other.expr.length){return false}for(let i=0,len=this.expr.length;i<len;i++){if(!this.expr[i].equals(other.expr[i])){return false}}return true}return false}substituteConstants(){const exprArr=eliminateConstantsInArray(this.expr);if(exprArr===this.expr){return this}return ContextKeyOrExpr.create(exprArr,this.negated,false)}evaluate(context){for(let i=0,len=this.expr.length;i<len;i++){if(this.expr[i].evaluate(context)){return true}}return false}static _normalizeArr(arr,negated,extraRedundantCheck){let expr=[];let hasFalse=false;if(arr){for(let i=0,len=arr.length;i<len;i++){const e=arr[i];if(!e){continue}if(e.type===0){hasFalse=true;continue}if(e.type===1){return ContextKeyTrueExpr.INSTANCE}if(e.type===9){expr=expr.concat(e.expr);continue}expr.push(e)}if(expr.length===0&&hasFalse){return ContextKeyFalseExpr.INSTANCE}expr.sort(cmp)}if(expr.length===0){return void 0}if(expr.length===1){return expr[0]}for(let i=1;i<expr.length;i++){if(expr[i-1].equals(expr[i])){expr.splice(i,1);i--}}if(expr.length===1){return expr[0]}if(extraRedundantCheck){for(let i=0;i<expr.length;i++){for(let j=i+1;j<expr.length;j++){if(expr[i].negate().equals(expr[j])){return ContextKeyTrueExpr.INSTANCE}}}if(expr.length===1){return expr[0]}}return new ContextKeyOrExpr(expr,negated)}serialize(){return this.expr.map((e=>e.serialize())).join(" || ")}keys(){const result=[];for(const expr of this.expr){result.push(...expr.keys())}return result}negate(){if(!this.negated){const result=[];for(const expr of this.expr){result.push(expr.negate())}while(result.length>1){const LEFT=result.shift();const RIGHT=result.shift();const all=[];for(const left of getTerminals(LEFT)){for(const right of getTerminals(RIGHT)){all.push(ContextKeyAndExpr.create([left,right],null,false))}}result.unshift(ContextKeyOrExpr.create(all,null,false))}this.negated=ContextKeyOrExpr.create(result,this,true)}return this.negated}};RawContextKey=class extends ContextKeyDefinedExpr{static all(){return RawContextKey._info.values()}constructor(key,defaultValue,metaOrHide){super(key,null);this._defaultValue=defaultValue;if(typeof metaOrHide==="object"){RawContextKey._info.push(Object.assign(Object.assign({},metaOrHide),{key:key}))}else if(metaOrHide!==true){RawContextKey._info.push({key:key,description:metaOrHide,type:defaultValue!==null&&defaultValue!==void 0?typeof defaultValue:void 0})}}bindTo(target){return target.createKey(this.key,this._defaultValue)}getValue(target){return target.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(value){return ContextKeyEqualsExpr.create(this.key,value)}};RawContextKey._info=[];IContextKeyService=createDecorator("contextKeyService")}});var IAccessibilityService,CONTEXT_ACCESSIBILITY_MODE_ENABLED;var init_accessibility=__esm({"node_modules/monaco-editor/esm/vs/platform/accessibility/common/accessibility.js"(){init_contextkey();init_instantiation();IAccessibilityService=createDecorator("accessibilityService");CONTEXT_ACCESSIBILITY_MODE_ENABLED=new RawContextKey("accessibilityModeEnabled",false)}});var __decorate,__param,defaultOptions,DiffNavigator;var init_diffNavigator=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/diffNavigator.js"(){init_assert();init_event();init_lifecycle();init_objects();init_range();init_audioCueService();init_codeEditorService();init_accessibility();__decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};defaultOptions={followsCaret:true,ignoreCharChanges:true,alwaysRevealFirst:true,findResultLoop:true};DiffNavigator=class DiffNavigator2 extends Disposable{constructor(editor2,options2={},_audioCueService,_codeEditorService,_accessibilityService){super();this._audioCueService=_audioCueService;this._codeEditorService=_codeEditorService;this._accessibilityService=_accessibilityService;this._onDidUpdate=this._register(new Emitter);this._editor=editor2;this._options=mixin(options2,defaultOptions,false);this.disposed=false;this.nextIdx=-1;this.ranges=[];this.ignoreSelectionChange=false;this.revealFirst=Boolean(this._options.alwaysRevealFirst);this._register(this._editor.onDidUpdateDiff((()=>this._onDiffUpdated())));if(this._options.followsCaret){this._register(this._editor.getModifiedEditor().onDidChangeCursorPosition((e=>{if(this.ignoreSelectionChange){return}this._updateAccessibilityState(e.position.lineNumber);this.nextIdx=-1})))}this._init()}_init(){const changes=this._editor.getLineChanges();if(!changes){return}}_onDiffUpdated(){this._init();this._compute(this._editor.getLineChanges());if(this.revealFirst){if(this._editor.getLineChanges()!==null){this.revealFirst=false;this.nextIdx=-1;this.next(1)}}}_compute(lineChanges){this.ranges=[];if(lineChanges){lineChanges.forEach((lineChange=>{if(!this._options.ignoreCharChanges&&lineChange.charChanges){lineChange.charChanges.forEach((charChange=>{this.ranges.push({rhs:true,range:new Range(charChange.modifiedStartLineNumber,charChange.modifiedStartColumn,charChange.modifiedEndLineNumber,charChange.modifiedEndColumn)})}))}else{if(lineChange.modifiedEndLineNumber===0){this.ranges.push({rhs:true,range:new Range(lineChange.modifiedStartLineNumber,1,lineChange.modifiedStartLineNumber+1,1)})}else{this.ranges.push({rhs:true,range:new Range(lineChange.modifiedStartLineNumber,1,lineChange.modifiedEndLineNumber+1,1)})}}}))}this.ranges.sort(((left,right)=>Range.compareRangesUsingStarts(left.range,right.range)));this._onDidUpdate.fire(this)}_initIdx(fwd){let found=false;const position=this._editor.getPosition();if(!position){this.nextIdx=0;return}for(let i=0,len=this.ranges.length;i<len&&!found;i++){const range2=this.ranges[i].range;if(position.isBeforeOrEqual(range2.getStartPosition())){this.nextIdx=i+(fwd?0:-1);found=true}}if(!found){this.nextIdx=fwd?0:this.ranges.length-1}if(this.nextIdx<0){this.nextIdx=this.ranges.length-1}}_move(fwd,scrollType){ok(!this.disposed,"Illegal State - diff navigator has been disposed");if(!this.canNavigate()){return}if(this.nextIdx===-1){this._initIdx(fwd)}else if(fwd){this.nextIdx+=1;if(this.nextIdx>=this.ranges.length){this.nextIdx=0}}else{this.nextIdx-=1;if(this.nextIdx<0){this.nextIdx=this.ranges.length-1}}const info=this.ranges[this.nextIdx];this.ignoreSelectionChange=true;try{const pos=info.range.getStartPosition();this._editor.setPosition(pos);this._editor.revealRangeInCenter(info.range,scrollType);this._updateAccessibilityState(pos.lineNumber,true)}finally{this.ignoreSelectionChange=false}}_updateAccessibilityState(lineNumber,jumpToChange){var _a6;const modifiedEditor=(_a6=this._editor.getModel())===null||_a6===void 0?void 0:_a6.modified;if(!modifiedEditor){return}const insertedOrModified=modifiedEditor.getLineDecorations(lineNumber).find((l=>l.options.className==="line-insert"));if(insertedOrModified){this._audioCueService.playAudioCue(AudioCue.diffLineModified,{allowManyInParallel:true})}else if(jumpToChange){this._audioCueService.playAudioCue(AudioCue.diffLineDeleted,{allowManyInParallel:true})}else{return}const codeEditor=this._codeEditorService.getActiveCodeEditor();if(jumpToChange&&codeEditor&&insertedOrModified&&this._accessibilityService.isScreenReaderOptimized()){codeEditor.setSelection({startLineNumber:lineNumber,startColumn:0,endLineNumber:lineNumber,endColumn:Number.MAX_VALUE});codeEditor.writeScreenReaderContent("diff-navigation")}}canNavigate(){return this.ranges&&this.ranges.length>0}next(scrollType=0){if(!this.canNavigateNext()){return}this._move(true,scrollType)}previous(scrollType=0){if(!this.canNavigatePrevious()){return}this._move(false,scrollType)}canNavigateNext(){return this.canNavigateLoop()||this.nextIdx<this.ranges.length-1}canNavigatePrevious(){return this.canNavigateLoop()||this.nextIdx!==0}canNavigateLoop(){return Boolean(this._options.findResultLoop)}dispose(){super.dispose();this.ranges=[];this.disposed=true}};DiffNavigator=__decorate([__param(2,IAudioCueService),__param(3,ICodeEditorService),__param(4,IAccessibilityService)],DiffNavigator)}});var EditorType;var init_editorCommon=__esm({"node_modules/monaco-editor/esm/vs/editor/common/editorCommon.js"(){EditorType={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"}}});function isITextSnapshot(obj){return obj&&typeof obj.read==="function"}function shouldSynchronizeModel(model){return!model.isTooLargeForSyncing()&&!model.isForSimpleWidget}var OverviewRulerLane2,GlyphMarginLane2,MinimapPosition2,InjectedTextCursorStops2,TextModelResolvedOptions,FindMatch,ValidAnnotatedEditOperation,SearchData,ApplyEditsResult;var init_model=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model.js"(){init_objects();(function(OverviewRulerLane3){OverviewRulerLane3[OverviewRulerLane3["Left"]=1]="Left";OverviewRulerLane3[OverviewRulerLane3["Center"]=2]="Center";OverviewRulerLane3[OverviewRulerLane3["Right"]=4]="Right";OverviewRulerLane3[OverviewRulerLane3["Full"]=7]="Full"})(OverviewRulerLane2||(OverviewRulerLane2={}));(function(GlyphMarginLane3){GlyphMarginLane3[GlyphMarginLane3["Left"]=1]="Left";GlyphMarginLane3[GlyphMarginLane3["Right"]=2]="Right"})(GlyphMarginLane2||(GlyphMarginLane2={}));(function(MinimapPosition3){MinimapPosition3[MinimapPosition3["Inline"]=1]="Inline";MinimapPosition3[MinimapPosition3["Gutter"]=2]="Gutter"})(MinimapPosition2||(MinimapPosition2={}));(function(InjectedTextCursorStops3){InjectedTextCursorStops3[InjectedTextCursorStops3["Both"]=0]="Both";InjectedTextCursorStops3[InjectedTextCursorStops3["Right"]=1]="Right";InjectedTextCursorStops3[InjectedTextCursorStops3["Left"]=2]="Left";InjectedTextCursorStops3[InjectedTextCursorStops3["None"]=3]="None"})(InjectedTextCursorStops2||(InjectedTextCursorStops2={}));TextModelResolvedOptions=class{get originalIndentSize(){return this._indentSizeIsTabSize?"tabSize":this.indentSize}constructor(src){this._textModelResolvedOptionsBrand=void 0;this.tabSize=Math.max(1,src.tabSize|0);if(src.indentSize==="tabSize"){this.indentSize=this.tabSize;this._indentSizeIsTabSize=true}else{this.indentSize=Math.max(1,src.indentSize|0);this._indentSizeIsTabSize=false}this.insertSpaces=Boolean(src.insertSpaces);this.defaultEOL=src.defaultEOL|0;this.trimAutoWhitespace=Boolean(src.trimAutoWhitespace);this.bracketPairColorizationOptions=src.bracketPairColorizationOptions}equals(other){return this.tabSize===other.tabSize&&this._indentSizeIsTabSize===other._indentSizeIsTabSize&&this.indentSize===other.indentSize&&this.insertSpaces===other.insertSpaces&&this.defaultEOL===other.defaultEOL&&this.trimAutoWhitespace===other.trimAutoWhitespace&&equals2(this.bracketPairColorizationOptions,other.bracketPairColorizationOptions)}createChangeEvent(newOpts){return{tabSize:this.tabSize!==newOpts.tabSize,indentSize:this.indentSize!==newOpts.indentSize,insertSpaces:this.insertSpaces!==newOpts.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==newOpts.trimAutoWhitespace}}};FindMatch=class{constructor(range2,matches){this._findMatchBrand=void 0;this.range=range2;this.matches=matches}};ValidAnnotatedEditOperation=class{constructor(identifier2,range2,text2,forceMoveMarkers,isAutoWhitespaceEdit,_isTracked){this.identifier=identifier2;this.range=range2;this.text=text2;this.forceMoveMarkers=forceMoveMarkers;this.isAutoWhitespaceEdit=isAutoWhitespaceEdit;this._isTracked=_isTracked}};SearchData=class{constructor(regex,wordSeparators2,simpleSearch){this.regex=regex;this.wordSeparators=wordSeparators2;this.simpleSearch=simpleSearch}};ApplyEditsResult=class{constructor(reverseEdits,changes,trimAutoWhitespaceLineNumbers){this.reverseEdits=reverseEdits;this.changes=changes;this.trimAutoWhitespaceLineNumbers=trimAutoWhitespaceLineNumbers}}}});function appendEntry(target,key,value){if(target.has(key)){target.get(key).push(value)}else{target.set(key,[value])}}var IndentAction2,StandardAutoClosingPairConditional,AutoClosingPairs;var init_languageConfiguration=__esm({"node_modules/monaco-editor/esm/vs/editor/common/languages/languageConfiguration.js"(){(function(IndentAction3){IndentAction3[IndentAction3["None"]=0]="None";IndentAction3[IndentAction3["Indent"]=1]="Indent";IndentAction3[IndentAction3["IndentOutdent"]=2]="IndentOutdent";IndentAction3[IndentAction3["Outdent"]=3]="Outdent"})(IndentAction2||(IndentAction2={}));StandardAutoClosingPairConditional=class{constructor(source){this._neutralCharacter=null;this._neutralCharacterSearched=false;this.open=source.open;this.close=source.close;this._inString=true;this._inComment=true;this._inRegEx=true;if(Array.isArray(source.notIn)){for(let i=0,len=source.notIn.length;i<len;i++){const notIn=source.notIn[i];switch(notIn){case"string":this._inString=false;break;case"comment":this._inComment=false;break;case"regex":this._inRegEx=false;break}}}}isOK(standardToken){switch(standardToken){case 0:return true;case 1:return this._inComment;case 2:return this._inString;case 3:return this._inRegEx}}shouldAutoClose(context,column){if(context.getTokenCount()===0){return true}const tokenIndex=context.findTokenIndexAtOffset(column-2);const standardTokenType=context.getStandardTokenType(tokenIndex);return this.isOK(standardTokenType)}_findNeutralCharacterInRange(fromCharCode,toCharCode){for(let charCode=fromCharCode;charCode<=toCharCode;charCode++){const character=String.fromCharCode(charCode);if(!this.open.includes(character)&&!this.close.includes(character)){return character}}return null}findNeutralCharacter(){if(!this._neutralCharacterSearched){this._neutralCharacterSearched=true;if(!this._neutralCharacter){this._neutralCharacter=this._findNeutralCharacterInRange(48,57)}if(!this._neutralCharacter){this._neutralCharacter=this._findNeutralCharacterInRange(97,122)}if(!this._neutralCharacter){this._neutralCharacter=this._findNeutralCharacterInRange(65,90)}}return this._neutralCharacter}};AutoClosingPairs=class{constructor(autoClosingPairs){this.autoClosingPairsOpenByStart=new Map;this.autoClosingPairsOpenByEnd=new Map;this.autoClosingPairsCloseByStart=new Map;this.autoClosingPairsCloseByEnd=new Map;this.autoClosingPairsCloseSingleChar=new Map;for(const pair of autoClosingPairs){appendEntry(this.autoClosingPairsOpenByStart,pair.open.charAt(0),pair);appendEntry(this.autoClosingPairsOpenByEnd,pair.open.charAt(pair.open.length-1),pair);appendEntry(this.autoClosingPairsCloseByStart,pair.close.charAt(0),pair);appendEntry(this.autoClosingPairsCloseByEnd,pair.close.charAt(pair.close.length-1),pair);if(pair.close.length===1&&pair.open.length===1){appendEntry(this.autoClosingPairsCloseSingleChar,pair.close,pair)}}}}}});function createScopedLineTokens(context,offset){const tokenCount=context.getCount();const tokenIndex=context.findTokenIndexAtOffset(offset);const desiredLanguageId=context.getLanguageId(tokenIndex);let lastTokenIndex=tokenIndex;while(lastTokenIndex+1<tokenCount&&context.getLanguageId(lastTokenIndex+1)===desiredLanguageId){lastTokenIndex++}let firstTokenIndex=tokenIndex;while(firstTokenIndex>0&&context.getLanguageId(firstTokenIndex-1)===desiredLanguageId){firstTokenIndex--}return new ScopedLineTokens(context,desiredLanguageId,firstTokenIndex,lastTokenIndex+1,context.getStartOffset(firstTokenIndex),context.getEndOffset(lastTokenIndex))}function ignoreBracketsInToken(standardTokenType){return(standardTokenType&3)!==0}var ScopedLineTokens;var init_supports=__esm({"node_modules/monaco-editor/esm/vs/editor/common/languages/supports.js"(){ScopedLineTokens=class{constructor(actual,languageId,firstTokenIndex,lastTokenIndex,firstCharOffset,lastCharOffset){this._scopedLineTokensBrand=void 0;this._actual=actual;this.languageId=languageId;this._firstTokenIndex=firstTokenIndex;this._lastTokenIndex=lastTokenIndex;this.firstCharOffset=firstCharOffset;this._lastCharOffset=lastCharOffset}getLineContent(){const actualLineContent=this._actual.getLineContent();return actualLineContent.substring(this.firstCharOffset,this._lastCharOffset)}getActualLineContentBefore(offset){const actualLineContent=this._actual.getLineContent();return actualLineContent.substring(0,this.firstCharOffset+offset)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(offset){return this._actual.findTokenIndexAtOffset(offset+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(tokenIndex){return this._actual.getStandardTokenType(tokenIndex+this._firstTokenIndex)}}}});var CharacterPairSupport;var init_characterPair=__esm({"node_modules/monaco-editor/esm/vs/editor/common/languages/supports/characterPair.js"(){init_languageConfiguration();CharacterPairSupport=class{constructor(config){if(config.autoClosingPairs){this._autoClosingPairs=config.autoClosingPairs.map((el=>new StandardAutoClosingPairConditional(el)))}else if(config.brackets){this._autoClosingPairs=config.brackets.map((b=>new StandardAutoClosingPairConditional({open:b[0],close:b[1]})))}else{this._autoClosingPairs=[]}if(config.__electricCharacterSupport&&config.__electricCharacterSupport.docComment){const docComment=config.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new StandardAutoClosingPairConditional({open:docComment.open,close:docComment.close||""}))}this._autoCloseBeforeForQuotes=typeof config.autoCloseBefore==="string"?config.autoCloseBefore:CharacterPairSupport.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES;this._autoCloseBeforeForBrackets=typeof config.autoCloseBefore==="string"?config.autoCloseBefore:CharacterPairSupport.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS;this._surroundingPairs=config.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(forQuotes){return forQuotes?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}};CharacterPairSupport.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=";:.,=}])> \n\t";CharacterPairSupport.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS="'\"`;:.,=}])> \n\t"}});function readUInt16LE(source,offset){return source[offset+0]<<0>>>0|source[offset+1]<<8>>>0}function writeUInt16LE(destination,value,offset){destination[offset+0]=value&255;value=value>>>8;destination[offset+1]=value&255}function readUInt32BE(source,offset){return source[offset]*Math.pow(2,24)+source[offset+1]*Math.pow(2,16)+source[offset+2]*Math.pow(2,8)+source[offset+3]}function writeUInt32BE(destination,value,offset){destination[offset+3]=value;value=value>>>8;destination[offset+2]=value;value=value>>>8;destination[offset+1]=value;value=value>>>8;destination[offset]=value}function readUInt8(source,offset){return source[offset]}function writeUInt8(destination,value,offset){destination[offset]=value}var hasBuffer,indexOfTable,textDecoder,VSBuffer;var init_buffer=__esm({"node_modules/monaco-editor/esm/vs/base/common/buffer.js"(){init_lazy();hasBuffer=typeof Buffer!=="undefined";indexOfTable=new Lazy((()=>new Uint8Array(256)));VSBuffer=class{static wrap(actual){if(hasBuffer&&!Buffer.isBuffer(actual)){actual=Buffer.from(actual.buffer,actual.byteOffset,actual.byteLength)}return new VSBuffer(actual)}constructor(buffer){this.buffer=buffer;this.byteLength=this.buffer.byteLength}toString(){if(hasBuffer){return this.buffer.toString()}else{if(!textDecoder){textDecoder=new TextDecoder}return textDecoder.decode(this.buffer)}}}}});function getUTF16LE_TextDecoder(){if(!_utf16LE_TextDecoder){_utf16LE_TextDecoder=new TextDecoder("UTF-16LE")}return _utf16LE_TextDecoder}function getUTF16BE_TextDecoder(){if(!_utf16BE_TextDecoder){_utf16BE_TextDecoder=new TextDecoder("UTF-16BE")}return _utf16BE_TextDecoder}function getPlatformTextDecoder(){if(!_platformTextDecoder){_platformTextDecoder=isLittleEndian()?getUTF16LE_TextDecoder():getUTF16BE_TextDecoder()}return _platformTextDecoder}function decodeUTF16LE(source,offset,len){const view=new Uint16Array(source.buffer,offset,len);if(len>0&&(view[0]===65279||view[0]===65534)){return compatDecodeUTF16LE(source,offset,len)}return getUTF16LE_TextDecoder().decode(view)}function compatDecodeUTF16LE(source,offset,len){const result=[];let resultLen=0;for(let i=0;i<len;i++){const charCode=readUInt16LE(source,offset);offset+=2;result[resultLen++]=String.fromCharCode(charCode)}return result.join("")}var _utf16LE_TextDecoder,_utf16BE_TextDecoder,_platformTextDecoder,StringBuilder;var init_stringBuilder=__esm({"node_modules/monaco-editor/esm/vs/editor/common/core/stringBuilder.js"(){init_strings();init_platform();init_buffer();StringBuilder=class{constructor(capacity){this._capacity=capacity|0;this._buffer=new Uint16Array(this._capacity);this._completedStrings=null;this._bufferLength=0}reset(){this._completedStrings=null;this._bufferLength=0}build(){if(this._completedStrings!==null){this._flushBuffer();return this._completedStrings.join("")}return this._buildBuffer()}_buildBuffer(){if(this._bufferLength===0){return""}const view=new Uint16Array(this._buffer.buffer,0,this._bufferLength);return getPlatformTextDecoder().decode(view)}_flushBuffer(){const bufferString=this._buildBuffer();this._bufferLength=0;if(this._completedStrings===null){this._completedStrings=[bufferString]}else{this._completedStrings[this._completedStrings.length]=bufferString}}appendCharCode(charCode){const remainingSpace=this._capacity-this._bufferLength;if(remainingSpace<=1){if(remainingSpace===0||isHighSurrogate(charCode)){this._flushBuffer()}}this._buffer[this._bufferLength++]=charCode}appendASCIICharCode(charCode){if(this._bufferLength===this._capacity){this._flushBuffer()}this._buffer[this._bufferLength++]=charCode}appendString(str){const strLen=str.length;if(this._bufferLength+strLen>=this._capacity){this._flushBuffer();this._completedStrings[this._completedStrings.length]=str;return}for(let i=0;i<strLen;i++){this._buffer[this._bufferLength++]=str.charCodeAt(i)}}}}});function groupFuzzyBrackets(brackets){const N=brackets.length;brackets=brackets.map((b=>[b[0].toLowerCase(),b[1].toLowerCase()]));const group3=[];for(let i=0;i<N;i++){group3[i]=i}const areOverlapping=(a,b)=>{const[aOpen,aClose]=a;const[bOpen,bClose]=b;return aOpen===bOpen||aOpen===bClose||aClose===bOpen||aClose===bClose};const mergeGroups=(g1,g2)=>{const newG=Math.min(g1,g2);const oldG=Math.max(g1,g2);for(let i=0;i<N;i++){if(group3[i]===oldG){group3[i]=newG}}};for(let i=0;i<N;i++){const a=brackets[i];for(let j=i+1;j<N;j++){const b=brackets[j];if(areOverlapping(a,b)){mergeGroups(group3[i],group3[j])}}}const result=[];for(let g=0;g<N;g++){const currentOpen=[];const currentClose=[];for(let i=0;i<N;i++){if(group3[i]===g){const[open,close]=brackets[i];currentOpen.push(open);currentClose.push(close)}}if(currentOpen.length>0){result.push({open:currentOpen,close:currentClose})}}return result}function collectSuperstrings(str,brackets,currentIndex,dest){for(let i=0,len=brackets.length;i<len;i++){if(i===currentIndex){continue}const bracket=brackets[i];for(const open of bracket.open){if(open.indexOf(str)>=0){dest.push(open)}}for(const close of bracket.close){if(close.indexOf(str)>=0){dest.push(close)}}}}function lengthcmp(a,b){return a.length-b.length}function unique(arr){if(arr.length<=1){return arr}const result=[];const seen=new Set;for(const element of arr){if(seen.has(element)){continue}result.push(element);seen.add(element)}return result}function getRegexForBracketPair(open,close,brackets,currentIndex){let pieces=[];pieces=pieces.concat(open);pieces=pieces.concat(close);for(let i=0,len=pieces.length;i<len;i++){collectSuperstrings(pieces[i],brackets,currentIndex,pieces)}pieces=unique(pieces);pieces.sort(lengthcmp);pieces.reverse();return createBracketOrRegExp(pieces)}function getReversedRegexForBracketPair(open,close,brackets,currentIndex){let pieces=[];pieces=pieces.concat(open);pieces=pieces.concat(close);for(let i=0,len=pieces.length;i<len;i++){collectSuperstrings(pieces[i],brackets,currentIndex,pieces)}pieces=unique(pieces);pieces.sort(lengthcmp);pieces.reverse();return createBracketOrRegExp(pieces.map(toReversedString))}function getRegexForBrackets(brackets){let pieces=[];for(const bracket of brackets){for(const open of bracket.open){pieces.push(open)}for(const close of bracket.close){pieces.push(close)}}pieces=unique(pieces);return createBracketOrRegExp(pieces)}function getReversedRegexForBrackets(brackets){let pieces=[];for(const bracket of brackets){for(const open of bracket.open){pieces.push(open)}for(const close of bracket.close){pieces.push(close)}}pieces=unique(pieces);return createBracketOrRegExp(pieces.map(toReversedString))}function prepareBracketForRegExp(str){const insertWordBoundaries=/^[\w ]+$/.test(str);str=escapeRegExpCharacters(str);return insertWordBoundaries?`\\b${str}\\b`:str}function createBracketOrRegExp(pieces){const regexStr=`(${pieces.map(prepareBracketForRegExp).join(")|(")})`;return createRegExp(regexStr,true)}var RichEditBracket,RichEditBrackets,toReversedString,BracketsUtils;var init_richEditBrackets=__esm({"node_modules/monaco-editor/esm/vs/editor/common/languages/supports/richEditBrackets.js"(){init_strings();init_stringBuilder();init_range();RichEditBracket=class{constructor(languageId,index,open,close,forwardRegex,reversedRegex){this._richEditBracketBrand=void 0;this.languageId=languageId;this.index=index;this.open=open;this.close=close;this.forwardRegex=forwardRegex;this.reversedRegex=reversedRegex;this._openSet=RichEditBracket._toSet(this.open);this._closeSet=RichEditBracket._toSet(this.close)}isOpen(text2){return this._openSet.has(text2)}isClose(text2){return this._closeSet.has(text2)}static _toSet(arr){const result=new Set;for(const element of arr){result.add(element)}return result}};RichEditBrackets=class{constructor(languageId,_brackets){this._richEditBracketsBrand=void 0;const brackets=groupFuzzyBrackets(_brackets);this.brackets=brackets.map(((b,index)=>new RichEditBracket(languageId,index,b.open,b.close,getRegexForBracketPair(b.open,b.close,brackets,index),getReversedRegexForBracketPair(b.open,b.close,brackets,index))));this.forwardRegex=getRegexForBrackets(this.brackets);this.reversedRegex=getReversedRegexForBrackets(this.brackets);this.textIsBracket={};this.textIsOpenBracket={};this.maxBracketLength=0;for(const bracket of this.brackets){for(const open of bracket.open){this.textIsBracket[open]=bracket;this.textIsOpenBracket[open]=true;this.maxBracketLength=Math.max(this.maxBracketLength,open.length)}for(const close of bracket.close){this.textIsBracket[close]=bracket;this.textIsOpenBracket[close]=false;this.maxBracketLength=Math.max(this.maxBracketLength,close.length)}}}};toReversedString=function(){function reverse(str){const arr=new Uint16Array(str.length);let offset=0;for(let i=str.length-1;i>=0;i--){arr[offset++]=str.charCodeAt(i)}return getPlatformTextDecoder().decode(arr)}let lastInput=null;let lastOutput=null;return function toReversedString2(str){if(lastInput!==str){lastInput=str;lastOutput=reverse(lastInput)}return lastOutput}}();BracketsUtils=class{static _findPrevBracketInText(reversedBracketRegex,lineNumber,reversedText,offset){const m=reversedText.match(reversedBracketRegex);if(!m){return null}const matchOffset=reversedText.length-(m.index||0);const matchLength=m[0].length;const absoluteMatchOffset=offset+matchOffset;return new Range(lineNumber,absoluteMatchOffset-matchLength+1,lineNumber,absoluteMatchOffset+1)}static findPrevBracketInRange(reversedBracketRegex,lineNumber,lineText,startOffset,endOffset){const reversedLineText=toReversedString(lineText);const reversedSubstr=reversedLineText.substring(lineText.length-endOffset,lineText.length-startOffset);return this._findPrevBracketInText(reversedBracketRegex,lineNumber,reversedSubstr,startOffset)}static findNextBracketInText(bracketRegex,lineNumber,text2,offset){const m=text2.match(bracketRegex);if(!m){return null}const matchOffset=m.index||0;const matchLength=m[0].length;if(matchLength===0){return null}const absoluteMatchOffset=offset+matchOffset;return new Range(lineNumber,absoluteMatchOffset+1,lineNumber,absoluteMatchOffset+1+matchLength)}static findNextBracketInRange(bracketRegex,lineNumber,lineText,startOffset,endOffset){const substr=lineText.substring(startOffset,endOffset);return this.findNextBracketInText(bracketRegex,lineNumber,substr,startOffset)}}}});var BracketElectricCharacterSupport;var init_electricCharacter=__esm({"node_modules/monaco-editor/esm/vs/editor/common/languages/supports/electricCharacter.js"(){init_arrays();init_supports();init_richEditBrackets();BracketElectricCharacterSupport=class{constructor(richEditBrackets){this._richEditBrackets=richEditBrackets}getElectricCharacters(){const result=[];if(this._richEditBrackets){for(const bracket of this._richEditBrackets.brackets){for(const close of bracket.close){const lastChar=close.charAt(close.length-1);result.push(lastChar)}}}return distinct(result)}onElectricCharacter(character,context,column){if(!this._richEditBrackets||this._richEditBrackets.brackets.length===0){return null}const tokenIndex=context.findTokenIndexAtOffset(column-1);if(ignoreBracketsInToken(context.getStandardTokenType(tokenIndex))){return null}const reversedBracketRegex=this._richEditBrackets.reversedRegex;const text2=context.getLineContent().substring(0,column-1)+character;const r=BracketsUtils.findPrevBracketInRange(reversedBracketRegex,1,text2,0,text2.length);if(!r){return null}const bracketText=text2.substring(r.startColumn-1,r.endColumn-1).toLowerCase();const isOpen=this._richEditBrackets.textIsOpenBracket[bracketText];if(isOpen){return null}const textBeforeBracket=context.getActualLineContentBefore(r.startColumn-1);if(!/^\s*$/.test(textBeforeBracket)){return null}return{matchOpenBracket:bracketText}}}}});function resetGlobalRegex(reg){if(reg.global){reg.lastIndex=0}return true}var IndentRulesSupport;var init_indentRules=__esm({"node_modules/monaco-editor/esm/vs/editor/common/languages/supports/indentRules.js"(){IndentRulesSupport=class{constructor(indentationRules){this._indentationRules=indentationRules}shouldIncrease(text2){if(this._indentationRules){if(this._indentationRules.increaseIndentPattern&&resetGlobalRegex(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(text2)){return true}}return false}shouldDecrease(text2){if(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&resetGlobalRegex(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(text2)){return true}return false}shouldIndentNextLine(text2){if(this._indentationRules&&this._indentationRules.indentNextLinePattern&&resetGlobalRegex(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(text2)){return true}return false}shouldIgnore(text2){if(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&resetGlobalRegex(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(text2)){return true}return false}getIndentMetadata(text2){let ret=0;if(this.shouldIncrease(text2)){ret+=1}if(this.shouldDecrease(text2)){ret+=2}if(this.shouldIndentNextLine(text2)){ret+=4}if(this.shouldIgnore(text2)){ret+=8}return ret}}}});var OnEnterSupport;var init_onEnter=__esm({"node_modules/monaco-editor/esm/vs/editor/common/languages/supports/onEnter.js"(){init_errors();init_strings();init_languageConfiguration();OnEnterSupport=class{constructor(opts){opts=opts||{};opts.brackets=opts.brackets||[["(",")"],["{","}"],["[","]"]];this._brackets=[];opts.brackets.forEach((bracket=>{const openRegExp=OnEnterSupport._createOpenBracketRegExp(bracket[0]);const closeRegExp=OnEnterSupport._createCloseBracketRegExp(bracket[1]);if(openRegExp&&closeRegExp){this._brackets.push({open:bracket[0],openRegExp:openRegExp,close:bracket[1],closeRegExp:closeRegExp})}}));this._regExpRules=opts.onEnterRules||[]}onEnter(autoIndent,previousLineText,beforeEnterText,afterEnterText){if(autoIndent>=3){for(let i=0,len=this._regExpRules.length;i<len;i++){const rule=this._regExpRules[i];const regResult=[{reg:rule.beforeText,text:beforeEnterText},{reg:rule.afterText,text:afterEnterText},{reg:rule.previousLineText,text:previousLineText}].every((obj=>{if(!obj.reg){return true}obj.reg.lastIndex=0;return obj.reg.test(obj.text)}));if(regResult){return rule.action}}}if(autoIndent>=2){if(beforeEnterText.length>0&&afterEnterText.length>0){for(let i=0,len=this._brackets.length;i<len;i++){const bracket=this._brackets[i];if(bracket.openRegExp.test(beforeEnterText)&&bracket.closeRegExp.test(afterEnterText)){return{indentAction:IndentAction2.IndentOutdent}}}}}if(autoIndent>=2){if(beforeEnterText.length>0){for(let i=0,len=this._brackets.length;i<len;i++){const bracket=this._brackets[i];if(bracket.openRegExp.test(beforeEnterText)){return{indentAction:IndentAction2.Indent}}}}}return null}static _createOpenBracketRegExp(bracket){let str=escapeRegExpCharacters(bracket);if(!/\B/.test(str.charAt(0))){str="\\b"+str}str+="\\s*$";return OnEnterSupport._safeRegExp(str)}static _createCloseBracketRegExp(bracket){let str=escapeRegExpCharacters(bracket);if(!/\B/.test(str.charAt(str.length-1))){str=str+"\\b"}str="^\\s*"+str;return OnEnterSupport._safeRegExp(str)}static _safeRegExp(def){try{return new RegExp(def)}catch(err){onUnexpectedError(err);return null}}}}});function toValuesTree(properties,conflictReporter){const root=Object.create(null);for(const key in properties){addToValueTree(root,key,properties[key],conflictReporter)}return root}function addToValueTree(settingsTreeRoot,key,value,conflictReporter){const segments=key.split(".");const last=segments.pop();let curr=settingsTreeRoot;for(let i=0;i<segments.length;i++){const s=segments[i];let obj=curr[s];switch(typeof obj){case"undefined":obj=curr[s]=Object.create(null);break;case"object":break;default:conflictReporter(`Ignoring ${key} as ${segments.slice(0,i+1).join(".")} is ${JSON.stringify(obj)}`);return}curr=obj}if(typeof curr==="object"&&curr!==null){try{curr[last]=value}catch(e){conflictReporter(`Ignoring ${key} as ${segments.join(".")} is ${JSON.stringify(curr)}`)}}else{conflictReporter(`Ignoring ${key} as ${segments.join(".")} is ${JSON.stringify(curr)}`)}}function removeFromValueTree(valueTree,key){const segments=key.split(".");doRemoveFromValueTree(valueTree,segments)}function doRemoveFromValueTree(valueTree,segments){const first2=segments.shift();if(segments.length===0){delete valueTree[first2];return}if(Object.keys(valueTree).indexOf(first2)!==-1){const value=valueTree[first2];if(typeof value==="object"&&!Array.isArray(value)){doRemoveFromValueTree(value,segments);if(Object.keys(value).length===0){delete valueTree[first2]}}}}function getConfigurationValue(config,settingPath,defaultValue){function accessSetting(config2,path2){let current=config2;for(const component of path2){if(typeof current!=="object"||current===null){return void 0}current=current[component]}return current}const path=settingPath.split(".");const result=accessSetting(config,path);return typeof result==="undefined"?defaultValue:result}function getLanguageTagSettingPlainKey(settingKey){return settingKey.replace(/[\[\]]/g,"")}var IConfigurationService;var init_configuration=__esm({"node_modules/monaco-editor/esm/vs/platform/configuration/common/configuration.js"(){init_instantiation();IConfigurationService=createDecorator("configurationService")}});var ILanguageService;var init_language=__esm({"node_modules/monaco-editor/esm/vs/editor/common/languages/language.js"(){init_instantiation();ILanguageService=createDecorator("languageService")}});var SyncDescriptor;var init_descriptors=__esm({"node_modules/monaco-editor/esm/vs/platform/instantiation/common/descriptors.js"(){SyncDescriptor=class{constructor(ctor,staticArguments=[],supportsDelayedInstantiation=false){this.ctor=ctor;this.staticArguments=staticArguments;this.supportsDelayedInstantiation=supportsDelayedInstantiation}}}});function registerSingleton(id,ctorOrDescriptor,supportsDelayedInstantiation){if(!(ctorOrDescriptor instanceof SyncDescriptor)){ctorOrDescriptor=new SyncDescriptor(ctorOrDescriptor,[],Boolean(supportsDelayedInstantiation))}_registry.push([id,ctorOrDescriptor])}function getSingletonServiceDescriptors(){return _registry}var _registry;var init_extensions=__esm({"node_modules/monaco-editor/esm/vs/platform/instantiation/common/extensions.js"(){init_descriptors();_registry=[]}});var RegistryImpl,Registry;var init_platform2=__esm({"node_modules/monaco-editor/esm/vs/platform/registry/common/platform.js"(){init_assert();init_types();RegistryImpl=class{constructor(){this.data=new Map}add(id,data){ok(isString(id));ok(isObject(data));ok(!this.data.has(id),"There is already an extension with this id");this.data.set(id,data)}as(id){return this.data.get(id)||null}};Registry=new RegistryImpl}});var Mimes;var init_mime=__esm({"node_modules/monaco-editor/esm/vs/base/common/mime.js"(){Mimes=Object.freeze({text:"text/plain",binary:"application/octet-stream",unknown:"application/unknown",markdown:"text/markdown",latex:"text/latex",uriList:"text/uri-list"})}});function normalizeId(id){if(id.length>0&&id.charAt(id.length-1)==="#"){return id.substring(0,id.length-1)}return id}var Extensions,JSONContributionRegistry,jsonContributionRegistry;var init_jsonContributionRegistry=__esm({"node_modules/monaco-editor/esm/vs/platform/jsonschemas/common/jsonContributionRegistry.js"(){init_event();init_platform2();Extensions={JSONContribution:"base.contributions.json"};JSONContributionRegistry=class{constructor(){this._onDidChangeSchema=new Emitter;this.schemasById={}}registerSchema(uri,unresolvedSchemaContent){this.schemasById[normalizeId(uri)]=unresolvedSchemaContent;this._onDidChangeSchema.fire(uri)}notifySchemaChanged(uri){this._onDidChangeSchema.fire(uri)}};jsonContributionRegistry=new JSONContributionRegistry;Registry.add(Extensions.JSONContribution,jsonContributionRegistry)}});function overrideIdentifiersFromKey(key){const identifiers=[];if(OVERRIDE_PROPERTY_REGEX.test(key)){let matches=OVERRIDE_IDENTIFIER_REGEX.exec(key);while(matches===null||matches===void 0?void 0:matches.length){const identifier2=matches[1].trim();if(identifier2){identifiers.push(identifier2)}matches=OVERRIDE_IDENTIFIER_REGEX.exec(key)}}return distinct(identifiers)}function getDefaultValue(type){const t2=Array.isArray(type)?type[0]:type;switch(t2){case"boolean":return false;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}function validateProperty(property,schema){var _a6,_b3,_c2,_d2;if(!property.trim()){return localize("config.property.empty","Cannot register an empty property")}if(OVERRIDE_PROPERTY_REGEX.test(property)){return localize("config.property.languageDefault","Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",property)}if(configurationRegistry.getConfigurationProperties()[property]!==void 0){return localize("config.property.duplicate","Cannot register '{0}'. This property is already registered.",property)}if(((_a6=schema.policy)===null||_a6===void 0?void 0:_a6.name)&&configurationRegistry.getPolicyConfigurations().get((_b3=schema.policy)===null||_b3===void 0?void 0:_b3.name)!==void 0){return localize("config.policy.duplicate","Cannot register '{0}'. The associated policy {1} is already registered with {2}.",property,(_c2=schema.policy)===null||_c2===void 0?void 0:_c2.name,configurationRegistry.getPolicyConfigurations().get((_d2=schema.policy)===null||_d2===void 0?void 0:_d2.name))}return null}var Extensions2,allSettings,applicationSettings,machineSettings,machineOverridableSettings,windowSettings,resourceSettings,resourceLanguageSettingsSchemaId,contributionRegistry,ConfigurationRegistry,OVERRIDE_IDENTIFIER_PATTERN,OVERRIDE_IDENTIFIER_REGEX,OVERRIDE_PROPERTY_PATTERN,OVERRIDE_PROPERTY_REGEX,configurationRegistry;var init_configurationRegistry=__esm({"node_modules/monaco-editor/esm/vs/platform/configuration/common/configurationRegistry.js"(){init_arrays();init_event();init_types();init_nls();init_configuration();init_jsonContributionRegistry();init_platform2();Extensions2={Configuration:"base.contributions.configuration"};allSettings={properties:{},patternProperties:{}};applicationSettings={properties:{},patternProperties:{}};machineSettings={properties:{},patternProperties:{}};machineOverridableSettings={properties:{},patternProperties:{}};windowSettings={properties:{},patternProperties:{}};resourceSettings={properties:{},patternProperties:{}};resourceLanguageSettingsSchemaId="vscode://schemas/settings/resourceLanguage";contributionRegistry=Registry.as(Extensions.JSONContribution);ConfigurationRegistry=class{constructor(){this.overrideIdentifiers=new Set;this._onDidSchemaChange=new Emitter;this._onDidUpdateConfiguration=new Emitter;this.configurationDefaultsOverrides=new Map;this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:localize("defaultLanguageConfigurationOverrides.title","Default Language Configuration Overrides"),properties:{}};this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode];this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:true,allowTrailingCommas:true,allowComments:true};this.configurationProperties={};this.policyConfigurations=new Map;this.excludedConfigurationProperties={};contributionRegistry.registerSchema(resourceLanguageSettingsSchemaId,this.resourceLanguageSettingsSchema);this.registerOverridePropertyPatternKey()}registerConfiguration(configuration,validate=true){this.registerConfigurations([configuration],validate)}registerConfigurations(configurations,validate=true){const properties=new Set;this.doRegisterConfigurations(configurations,validate,properties);contributionRegistry.registerSchema(resourceLanguageSettingsSchemaId,this.resourceLanguageSettingsSchema);this._onDidSchemaChange.fire();this._onDidUpdateConfiguration.fire({properties:properties})}registerDefaultConfigurations(configurationDefaults){const properties=new Set;this.doRegisterDefaultConfigurations(configurationDefaults,properties);this._onDidSchemaChange.fire();this._onDidUpdateConfiguration.fire({properties:properties,defaultsOverrides:true})}doRegisterDefaultConfigurations(configurationDefaults,bucket){var _a6;const overrideIdentifiers=[];for(const{overrides:overrides,source:source}of configurationDefaults){for(const key in overrides){bucket.add(key);if(OVERRIDE_PROPERTY_REGEX.test(key)){const configurationDefaultOverride=this.configurationDefaultsOverrides.get(key);const valuesSources=(_a6=configurationDefaultOverride===null||configurationDefaultOverride===void 0?void 0:configurationDefaultOverride.valuesSources)!==null&&_a6!==void 0?_a6:new Map;if(source){for(const configuration of Object.keys(overrides[key])){valuesSources.set(configuration,source)}}const defaultValue=Object.assign(Object.assign({},(configurationDefaultOverride===null||configurationDefaultOverride===void 0?void 0:configurationDefaultOverride.value)||{}),overrides[key]);this.configurationDefaultsOverrides.set(key,{source:source,value:defaultValue,valuesSources:valuesSources});const plainKey=getLanguageTagSettingPlainKey(key);const property={type:"object",default:defaultValue,description:localize("defaultLanguageConfiguration.description","Configure settings to be overridden for the {0} language.",plainKey),$ref:resourceLanguageSettingsSchemaId,defaultDefaultValue:defaultValue,source:isString(source)?void 0:source,defaultValueSource:source};overrideIdentifiers.push(...overrideIdentifiersFromKey(key));this.configurationProperties[key]=property;this.defaultLanguageConfigurationOverridesNode.properties[key]=property}else{this.configurationDefaultsOverrides.set(key,{value:overrides[key],source:source});const property=this.configurationProperties[key];if(property){this.updatePropertyDefaultValue(key,property);this.updateSchema(key,property)}}}}this.doRegisterOverrideIdentifiers(overrideIdentifiers)}registerOverrideIdentifiers(overrideIdentifiers){this.doRegisterOverrideIdentifiers(overrideIdentifiers);this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(overrideIdentifiers){for(const overrideIdentifier of overrideIdentifiers){this.overrideIdentifiers.add(overrideIdentifier)}this.updateOverridePropertyPatternKey()}doRegisterConfigurations(configurations,validate,bucket){configurations.forEach((configuration=>{this.validateAndRegisterProperties(configuration,validate,configuration.extensionInfo,configuration.restrictedProperties,void 0,bucket);this.configurationContributors.push(configuration);this.registerJSONConfiguration(configuration)}))}validateAndRegisterProperties(configuration,validate=true,extensionInfo,restrictedProperties,scope=3,bucket){var _a6;scope=isUndefinedOrNull(configuration.scope)?scope:configuration.scope;const properties=configuration.properties;if(properties){for(const key in properties){const property=properties[key];if(validate&&validateProperty(key,property)){delete properties[key];continue}property.source=extensionInfo;property.defaultDefaultValue=properties[key].default;this.updatePropertyDefaultValue(key,property);if(OVERRIDE_PROPERTY_REGEX.test(key)){property.scope=void 0}else{property.scope=isUndefinedOrNull(property.scope)?scope:property.scope;property.restricted=isUndefinedOrNull(property.restricted)?!!(restrictedProperties===null||restrictedProperties===void 0?void 0:restrictedProperties.includes(key)):property.restricted}if(properties[key].hasOwnProperty("included")&&!properties[key].included){this.excludedConfigurationProperties[key]=properties[key];delete properties[key];continue}else{this.configurationProperties[key]=properties[key];if((_a6=properties[key].policy)===null||_a6===void 0?void 0:_a6.name){this.policyConfigurations.set(properties[key].policy.name,key)}}if(!properties[key].deprecationMessage&&properties[key].markdownDeprecationMessage){properties[key].deprecationMessage=properties[key].markdownDeprecationMessage}bucket.add(key)}}const subNodes=configuration.allOf;if(subNodes){for(const node of subNodes){this.validateAndRegisterProperties(node,validate,extensionInfo,restrictedProperties,scope,bucket)}}}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}registerJSONConfiguration(configuration){const register4=configuration2=>{const properties=configuration2.properties;if(properties){for(const key in properties){this.updateSchema(key,properties[key])}}const subNodes=configuration2.allOf;subNodes===null||subNodes===void 0?void 0:subNodes.forEach(register4)};register4(configuration)}updateSchema(key,property){allSettings.properties[key]=property;switch(property.scope){case 1:applicationSettings.properties[key]=property;break;case 2:machineSettings.properties[key]=property;break;case 6:machineOverridableSettings.properties[key]=property;break;case 3:windowSettings.properties[key]=property;break;case 4:resourceSettings.properties[key]=property;break;case 5:resourceSettings.properties[key]=property;this.resourceLanguageSettingsSchema.properties[key]=property;break}}updateOverridePropertyPatternKey(){for(const overrideIdentifier of this.overrideIdentifiers.values()){const overrideIdentifierProperty=`[${overrideIdentifier}]`;const resourceLanguagePropertiesSchema={type:"object",description:localize("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:localize("overrideSettings.errorMessage","This setting does not support per-language configuration."),$ref:resourceLanguageSettingsSchemaId};this.updatePropertyDefaultValue(overrideIdentifierProperty,resourceLanguagePropertiesSchema);allSettings.properties[overrideIdentifierProperty]=resourceLanguagePropertiesSchema;applicationSettings.properties[overrideIdentifierProperty]=resourceLanguagePropertiesSchema;machineSettings.properties[overrideIdentifierProperty]=resourceLanguagePropertiesSchema;machineOverridableSettings.properties[overrideIdentifierProperty]=resourceLanguagePropertiesSchema;windowSettings.properties[overrideIdentifierProperty]=resourceLanguagePropertiesSchema;resourceSettings.properties[overrideIdentifierProperty]=resourceLanguagePropertiesSchema}}registerOverridePropertyPatternKey(){const resourceLanguagePropertiesSchema={type:"object",description:localize("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:localize("overrideSettings.errorMessage","This setting does not support per-language configuration."),$ref:resourceLanguageSettingsSchemaId};allSettings.patternProperties[OVERRIDE_PROPERTY_PATTERN]=resourceLanguagePropertiesSchema;applicationSettings.patternProperties[OVERRIDE_PROPERTY_PATTERN]=resourceLanguagePropertiesSchema;machineSettings.patternProperties[OVERRIDE_PROPERTY_PATTERN]=resourceLanguagePropertiesSchema;machineOverridableSettings.patternProperties[OVERRIDE_PROPERTY_PATTERN]=resourceLanguagePropertiesSchema;windowSettings.patternProperties[OVERRIDE_PROPERTY_PATTERN]=resourceLanguagePropertiesSchema;resourceSettings.patternProperties[OVERRIDE_PROPERTY_PATTERN]=resourceLanguagePropertiesSchema;this._onDidSchemaChange.fire()}updatePropertyDefaultValue(key,property){const configurationdefaultOverride=this.configurationDefaultsOverrides.get(key);let defaultValue=configurationdefaultOverride===null||configurationdefaultOverride===void 0?void 0:configurationdefaultOverride.value;let defaultSource=configurationdefaultOverride===null||configurationdefaultOverride===void 0?void 0:configurationdefaultOverride.source;if(isUndefined(defaultValue)){defaultValue=property.defaultDefaultValue;defaultSource=void 0}if(isUndefined(defaultValue)){defaultValue=getDefaultValue(property.type)}property.default=defaultValue;property.defaultValueSource=defaultSource}};OVERRIDE_IDENTIFIER_PATTERN=`\\[([^\\]]+)\\]`;OVERRIDE_IDENTIFIER_REGEX=new RegExp(OVERRIDE_IDENTIFIER_PATTERN,"g");OVERRIDE_PROPERTY_PATTERN=`^(${OVERRIDE_IDENTIFIER_PATTERN})+$`;OVERRIDE_PROPERTY_REGEX=new RegExp(OVERRIDE_PROPERTY_PATTERN);configurationRegistry=new ConfigurationRegistry;Registry.add(Extensions2.Configuration,configurationRegistry)}});var Extensions3,EditorModesRegistry,ModesRegistry,PLAINTEXT_LANGUAGE_ID,PLAINTEXT_EXTENSION;var init_modesRegistry=__esm({"node_modules/monaco-editor/esm/vs/editor/common/languages/modesRegistry.js"(){init_nls();init_event();init_platform2();init_mime();init_configurationRegistry();Extensions3={ModesRegistry:"editor.modesRegistry"};EditorModesRegistry=class{constructor(){this._onDidChangeLanguages=new Emitter;this.onDidChangeLanguages=this._onDidChangeLanguages.event;this._languages=[]}registerLanguage(def){this._languages.push(def);this._onDidChangeLanguages.fire(void 0);return{dispose:()=>{for(let i=0,len=this._languages.length;i<len;i++){if(this._languages[i]===def){this._languages.splice(i,1);return}}}}}getLanguages(){return this._languages}};ModesRegistry=new EditorModesRegistry;Registry.add(Extensions3.ModesRegistry,ModesRegistry);PLAINTEXT_LANGUAGE_ID="plaintext";PLAINTEXT_EXTENSION=".txt";ModesRegistry.registerLanguage({id:PLAINTEXT_LANGUAGE_ID,extensions:[PLAINTEXT_EXTENSION],aliases:[localize("plainText.alias","Plain Text"),"text"],mimetypes:[Mimes.text]});Registry.as(Extensions2.Configuration).registerDefaultConfigurations([{overrides:{"[plaintext]":{"editor.unicodeHighlight.ambiguousCharacters":false,"editor.unicodeHighlight.invisibleCharacters":false}}}])}});function filterValidBrackets(bracketPairs){return bracketPairs.filter((([open,close])=>open!==""&&close!==""))}var LanguageBracketsConfiguration,BracketKindBase,OpeningBracketKind,ClosingBracketKind;var init_languageBracketsConfiguration=__esm({"node_modules/monaco-editor/esm/vs/editor/common/languages/supports/languageBracketsConfiguration.js"(){init_cache();LanguageBracketsConfiguration=class{constructor(languageId,config){this.languageId=languageId;const bracketPairs=config.brackets?filterValidBrackets(config.brackets):[];const openingBracketInfos=new CachedFunction((bracket=>{const closing=new Set;return{info:new OpeningBracketKind(this,bracket,closing),closing:closing}}));const closingBracketInfos=new CachedFunction((bracket=>{const opening=new Set;const openingColorized=new Set;return{info:new ClosingBracketKind(this,bracket,opening,openingColorized),opening:opening,openingColorized:openingColorized}}));for(const[open,close]of bracketPairs){const opening=openingBracketInfos.get(open);const closing=closingBracketInfos.get(close);opening.closing.add(closing.info);closing.opening.add(opening.info)}const colorizedBracketPairs=config.colorizedBracketPairs?filterValidBrackets(config.colorizedBracketPairs):bracketPairs.filter((p=>!(p[0]==="<"&&p[1]===">")));for(const[open,close]of colorizedBracketPairs){const opening=openingBracketInfos.get(open);const closing=closingBracketInfos.get(close);opening.closing.add(closing.info);closing.openingColorized.add(opening.info);closing.opening.add(opening.info)}this._openingBrackets=new Map([...openingBracketInfos.cachedValues].map((([k,v])=>[k,v.info])));this._closingBrackets=new Map([...closingBracketInfos.cachedValues].map((([k,v])=>[k,v.info])))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(bracketText){return this._openingBrackets.get(bracketText)}getClosingBracketInfo(bracketText){return this._closingBrackets.get(bracketText)}getBracketInfo(bracketText){return this.getOpeningBracketInfo(bracketText)||this.getClosingBracketInfo(bracketText)}};BracketKindBase=class{constructor(config,bracketText){this.config=config;this.bracketText=bracketText}get languageId(){return this.config.languageId}};OpeningBracketKind=class extends BracketKindBase{constructor(config,bracketText,openedBrackets){super(config,bracketText);this.openedBrackets=openedBrackets;this.isOpeningBracket=true}};ClosingBracketKind=class extends BracketKindBase{constructor(config,bracketText,openingBrackets,openingColorizedBrackets){super(config,bracketText);this.openingBrackets=openingBrackets;this.openingColorizedBrackets=openingColorizedBrackets;this.isOpeningBracket=false}closes(other){if(other["config"]!==this.config){return false}return this.openingBrackets.has(other)}closesColorized(other){if(other["config"]!==this.config){return false}return this.openingColorizedBrackets.has(other)}getOpeningBrackets(){return[...this.openingBrackets]}}}});function computeConfig(languageId,registry,configurationService,languageService){let languageConfig=registry.getLanguageConfiguration(languageId);if(!languageConfig){if(!languageService.isRegisteredLanguageId(languageId)){return new ResolvedLanguageConfiguration(languageId,{})}languageConfig=new ResolvedLanguageConfiguration(languageId,{})}const customizedConfig=getCustomizedLanguageConfig(languageConfig.languageId,configurationService);const data=combineLanguageConfigurations([languageConfig.underlyingConfig,customizedConfig]);const config=new ResolvedLanguageConfiguration(languageConfig.languageId,data);return config}function getCustomizedLanguageConfig(languageId,configurationService){const brackets=configurationService.getValue(customizedLanguageConfigKeys.brackets,{overrideIdentifier:languageId});const colorizedBracketPairs=configurationService.getValue(customizedLanguageConfigKeys.colorizedBracketPairs,{overrideIdentifier:languageId});return{brackets:validateBracketPairs(brackets),colorizedBracketPairs:validateBracketPairs(colorizedBracketPairs)}}function validateBracketPairs(data){if(!Array.isArray(data)){return void 0}return data.map((pair=>{if(!Array.isArray(pair)||pair.length!==2){return void 0}return[pair[0],pair[1]]})).filter((p=>!!p))}function getIndentationAtPosition(model,lineNumber,column){const lineText=model.getLineContent(lineNumber);let indentation=getLeadingWhitespace(lineText);if(indentation.length>column-1){indentation=indentation.substring(0,column-1)}return indentation}function getScopedLineTokens(model,lineNumber,columnNumber){model.tokenization.forceTokenization(lineNumber);const lineTokens=model.tokenization.getLineTokens(lineNumber);const column=typeof columnNumber==="undefined"?model.getLineMaxColumn(lineNumber)-1:columnNumber-1;return createScopedLineTokens(lineTokens,column)}function combineLanguageConfigurations(configs){let result={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 entry of configs){result={comments:entry.comments||result.comments,brackets:entry.brackets||result.brackets,wordPattern:entry.wordPattern||result.wordPattern,indentationRules:entry.indentationRules||result.indentationRules,onEnterRules:entry.onEnterRules||result.onEnterRules,autoClosingPairs:entry.autoClosingPairs||result.autoClosingPairs,surroundingPairs:entry.surroundingPairs||result.surroundingPairs,autoCloseBefore:entry.autoCloseBefore||result.autoCloseBefore,folding:entry.folding||result.folding,colorizedBracketPairs:entry.colorizedBracketPairs||result.colorizedBracketPairs,__electricCharacterSupport:entry.__electricCharacterSupport||result.__electricCharacterSupport}}return result}var __decorate2,__param2,LanguageConfigurationServiceChangeEvent,ILanguageConfigurationService,LanguageConfigurationService,customizedLanguageConfigKeys,ComposedLanguageConfiguration,LanguageConfigurationContribution,LanguageConfigurationChangeEvent,LanguageConfigurationRegistry,ResolvedLanguageConfiguration;var init_languageConfigurationRegistry=__esm({"node_modules/monaco-editor/esm/vs/editor/common/languages/languageConfigurationRegistry.js"(){init_event();init_lifecycle();init_strings();init_wordHelper();init_languageConfiguration();init_supports();init_characterPair();init_electricCharacter();init_indentRules();init_onEnter();init_richEditBrackets();init_instantiation();init_configuration();init_language();init_extensions();init_modesRegistry();init_languageBracketsConfiguration();__decorate2=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param2=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};LanguageConfigurationServiceChangeEvent=class{constructor(languageId){this.languageId=languageId}affects(languageId){return!this.languageId?true:this.languageId===languageId}};ILanguageConfigurationService=createDecorator("languageConfigurationService");LanguageConfigurationService=class LanguageConfigurationService2 extends Disposable{constructor(configurationService,languageService){super();this.configurationService=configurationService;this.languageService=languageService;this._registry=this._register(new LanguageConfigurationRegistry);this.onDidChangeEmitter=this._register(new Emitter);this.onDidChange=this.onDidChangeEmitter.event;this.configurations=new Map;const languageConfigKeys=new Set(Object.values(customizedLanguageConfigKeys));this._register(this.configurationService.onDidChangeConfiguration((e=>{const globalConfigChanged=e.change.keys.some((k=>languageConfigKeys.has(k)));const localConfigChanged=e.change.overrides.filter((([overrideLangName,keys])=>keys.some((k=>languageConfigKeys.has(k))))).map((([overrideLangName])=>overrideLangName));if(globalConfigChanged){this.configurations.clear();this.onDidChangeEmitter.fire(new LanguageConfigurationServiceChangeEvent(void 0))}else{for(const languageId of localConfigChanged){if(this.languageService.isRegisteredLanguageId(languageId)){this.configurations.delete(languageId);this.onDidChangeEmitter.fire(new LanguageConfigurationServiceChangeEvent(languageId))}}}})));this._register(this._registry.onDidChange((e=>{this.configurations.delete(e.languageId);this.onDidChangeEmitter.fire(new LanguageConfigurationServiceChangeEvent(e.languageId))})))}register(languageId,configuration,priority){return this._registry.register(languageId,configuration,priority)}getLanguageConfiguration(languageId){let result=this.configurations.get(languageId);if(!result){result=computeConfig(languageId,this._registry,this.configurationService,this.languageService);this.configurations.set(languageId,result)}return result}};LanguageConfigurationService=__decorate2([__param2(0,IConfigurationService),__param2(1,ILanguageService)],LanguageConfigurationService);customizedLanguageConfigKeys={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};ComposedLanguageConfiguration=class{constructor(languageId){this.languageId=languageId;this._resolved=null;this._entries=[];this._order=0;this._resolved=null}register(configuration,priority){const entry=new LanguageConfigurationContribution(configuration,priority,++this._order);this._entries.push(entry);this._resolved=null;return toDisposable((()=>{for(let i=0;i<this._entries.length;i++){if(this._entries[i]===entry){this._entries.splice(i,1);this._resolved=null;break}}}))}getResolvedConfiguration(){if(!this._resolved){const config=this._resolve();if(config){this._resolved=new ResolvedLanguageConfiguration(this.languageId,config)}}return this._resolved}_resolve(){if(this._entries.length===0){return null}this._entries.sort(LanguageConfigurationContribution.cmp);return combineLanguageConfigurations(this._entries.map((e=>e.configuration)))}};LanguageConfigurationContribution=class{constructor(configuration,priority,order){this.configuration=configuration;this.priority=priority;this.order=order}static cmp(a,b){if(a.priority===b.priority){return a.order-b.order}return a.priority-b.priority}};LanguageConfigurationChangeEvent=class{constructor(languageId){this.languageId=languageId}};LanguageConfigurationRegistry=class extends Disposable{constructor(){super();this._entries=new Map;this._onDidChange=this._register(new Emitter);this.onDidChange=this._onDidChange.event;this._register(this.register(PLAINTEXT_LANGUAGE_ID,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:true}},0))}register(languageId,configuration,priority=0){let entries2=this._entries.get(languageId);if(!entries2){entries2=new ComposedLanguageConfiguration(languageId);this._entries.set(languageId,entries2)}const disposable=entries2.register(configuration,priority);this._onDidChange.fire(new LanguageConfigurationChangeEvent(languageId));return toDisposable((()=>{disposable.dispose();this._onDidChange.fire(new LanguageConfigurationChangeEvent(languageId))}))}getLanguageConfiguration(languageId){const entries2=this._entries.get(languageId);return(entries2===null||entries2===void 0?void 0:entries2.getResolvedConfiguration())||null}};ResolvedLanguageConfiguration=class{constructor(languageId,underlyingConfig){this.languageId=languageId;this.underlyingConfig=underlyingConfig;this._brackets=null;this._electricCharacter=null;this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new OnEnterSupport(this.underlyingConfig):null;this.comments=ResolvedLanguageConfiguration._handleComments(this.underlyingConfig);this.characterPair=new CharacterPairSupport(this.underlyingConfig);this.wordDefinition=this.underlyingConfig.wordPattern||DEFAULT_WORD_REGEXP;this.indentationRules=this.underlyingConfig.indentationRules;if(this.underlyingConfig.indentationRules){this.indentRulesSupport=new IndentRulesSupport(this.underlyingConfig.indentationRules)}else{this.indentRulesSupport=null}this.foldingRules=this.underlyingConfig.folding||{};this.bracketsNew=new LanguageBracketsConfiguration(languageId,this.underlyingConfig)}getWordDefinition(){return ensureValidWordDefinition(this.wordDefinition)}get brackets(){if(!this._brackets&&this.underlyingConfig.brackets){this._brackets=new RichEditBrackets(this.languageId,this.underlyingConfig.brackets)}return this._brackets}get electricCharacter(){if(!this._electricCharacter){this._electricCharacter=new BracketElectricCharacterSupport(this.brackets)}return this._electricCharacter}onEnter(autoIndent,previousLineText,beforeEnterText,afterEnterText){if(!this._onEnterSupport){return null}return this._onEnterSupport.onEnter(autoIndent,previousLineText,beforeEnterText,afterEnterText)}getAutoClosingPairs(){return new AutoClosingPairs(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(forQuotes){return this.characterPair.getAutoCloseBeforeSet(forQuotes)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(conf80){const commentRule=conf80.comments;if(!commentRule){return null}const comments={};if(commentRule.lineComment){comments.lineCommentToken=commentRule.lineComment}if(commentRule.blockComment){const[blockStart,blockEnd]=commentRule.blockComment;comments.blockCommentStartToken=blockStart;comments.blockCommentEndToken=blockEnd}return comments}};registerSingleton(ILanguageConfigurationService,LanguageConfigurationService,1)}});function nullTokenize(languageId,state){return new TokenizationResult([new Token(0,"",languageId)],state)}function nullTokenizeEncoded(languageId,state){const tokens=new Uint32Array(2);tokens[0]=0;tokens[1]=(languageId<<0|0<<8|0<<11|1<<15|2<<24)>>>0;return new EncodedTokenizationResult(tokens,state===null?NullState:state)}var NullState;var init_nullTokenize=__esm({"node_modules/monaco-editor/esm/vs/editor/common/languages/nullTokenize.js"(){init_languages();NullState=new class{clone(){return this}equals(other){return this===other}}}});var IModelService;var init_model2=__esm({"node_modules/monaco-editor/esm/vs/editor/common/services/model.js"(){init_instantiation();IModelService=createDecorator("modelService")}});var MicrotaskDelay;var init_symbols=__esm({"node_modules/monaco-editor/esm/vs/base/common/symbols.js"(){MicrotaskDelay=Symbol("MicrotaskDelay")}});function isThenable(obj){return!!obj&&typeof obj.then==="function"}function createCancelablePromise(callback){const source=new CancellationTokenSource;const thenable=callback(source.token);const promise=new Promise(((resolve2,reject)=>{const subscription=source.token.onCancellationRequested((()=>{subscription.dispose();source.dispose();reject(new CancellationError)}));Promise.resolve(thenable).then((value=>{subscription.dispose();source.dispose();resolve2(value)}),(err=>{subscription.dispose();source.dispose();reject(err)}))}));return new class{cancel(){source.cancel()}then(resolve2,reject){return promise.then(resolve2,reject)}catch(reject){return this.then(void 0,reject)}finally(onfinally){return promise.finally(onfinally)}}}function raceCancellation(promise,token,defaultValue){return new Promise(((resolve2,reject)=>{const ref=token.onCancellationRequested((()=>{ref.dispose();resolve2(defaultValue)}));promise.then(resolve2,reject).finally((()=>ref.dispose()))}))}function timeout(millis,token){if(!token){return createCancelablePromise((token2=>timeout(millis,token2)))}return new Promise(((resolve2,reject)=>{const handle=setTimeout((()=>{disposable.dispose();resolve2()}),millis);const disposable=token.onCancellationRequested((()=>{clearTimeout(handle);disposable.dispose();reject(new CancellationError)}))}))}function disposableTimeout(handler,timeout2=0){const timer=setTimeout(handler,timeout2);return toDisposable((()=>clearTimeout(timer)))}function first(promiseFactories,shouldStop=(t2=>!!t2),defaultValue=null){let index=0;const len=promiseFactories.length;const loop=()=>{if(index>=len){return Promise.resolve(defaultValue)}const factory=promiseFactories[index++];const promise=Promise.resolve(factory());return promise.then((result=>{if(shouldStop(result)){return Promise.resolve(result)}return loop()}))};return loop()}function createCancelableAsyncIterable(callback){const source=new CancellationTokenSource;const innerIterable=callback(source.token);return new CancelableAsyncIterableObject(source,(emitter=>__awaiter2(this,void 0,void 0,(function*(){var _a6,e_5,_b3,_c2;const subscription=source.token.onCancellationRequested((()=>{subscription.dispose();source.dispose();emitter.reject(new CancellationError)}));try{try{for(var _d2=true,innerIterable_1=__asyncValues(innerIterable),innerIterable_1_1;innerIterable_1_1=yield innerIterable_1.next(),_a6=innerIterable_1_1.done,!_a6;_d2=true){_c2=innerIterable_1_1.value;_d2=false;const item=_c2;if(source.token.isCancellationRequested){return}emitter.emitOne(item)}}catch(e_5_1){e_5={error:e_5_1}}finally{try{if(!_d2&&!_a6&&(_b3=innerIterable_1.return))yield _b3.call(innerIterable_1)}finally{if(e_5)throw e_5.error}}subscription.dispose();source.dispose()}catch(err){subscription.dispose();source.dispose();emitter.reject(err)}}))))}var __awaiter2,__asyncValues,Throttler,timeoutDeferred,microtaskDeferred,Delayer,ThrottledDelayer,TimeoutTimer,IntervalTimer,RunOnceScheduler,runWhenIdle,IdleValue,DeferredPromise,Promises,AsyncIterableObject,CancelableAsyncIterableObject;var init_async=__esm({"node_modules/monaco-editor/esm/vs/base/common/async.js"(){init_cancellation();init_errors();init_event();init_lifecycle();init_platform();init_symbols();__awaiter2=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};__asyncValues=function(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var m=o[Symbol.asyncIterator],i;return m?m.call(o):(o=typeof __values==="function"?__values(o):o[Symbol.iterator](),i={},verb("next"),verb("throw"),verb("return"),i[Symbol.asyncIterator]=function(){return this},i);function verb(n){i[n]=o[n]&&function(v){return new Promise((function(resolve2,reject){v=o[n](v),settle(resolve2,reject,v.done,v.value)}))}}function settle(resolve2,reject,d,v){Promise.resolve(v).then((function(v2){resolve2({value:v2,done:d})}),reject)}};Throttler=class{constructor(){this.isDisposed=false;this.activePromise=null;this.queuedPromise=null;this.queuedPromiseFactory=null}queue(promiseFactory){if(this.isDisposed){throw new Error("Throttler is disposed")}if(this.activePromise){this.queuedPromiseFactory=promiseFactory;if(!this.queuedPromise){const onComplete=()=>{this.queuedPromise=null;if(this.isDisposed){return}const result=this.queue(this.queuedPromiseFactory);this.queuedPromiseFactory=null;return result};this.queuedPromise=new Promise((resolve2=>{this.activePromise.then(onComplete,onComplete).then(resolve2)}))}return new Promise(((resolve2,reject)=>{this.queuedPromise.then(resolve2,reject)}))}this.activePromise=promiseFactory();return new Promise(((resolve2,reject)=>{this.activePromise.then((result=>{this.activePromise=null;resolve2(result)}),(err=>{this.activePromise=null;reject(err)}))}))}dispose(){this.isDisposed=true}};timeoutDeferred=(timeout2,fn)=>{let scheduled=true;const handle=setTimeout((()=>{scheduled=false;fn()}),timeout2);return{isTriggered:()=>scheduled,dispose:()=>{clearTimeout(handle);scheduled=false}}};microtaskDeferred=fn=>{let scheduled=true;queueMicrotask((()=>{if(scheduled){scheduled=false;fn()}}));return{isTriggered:()=>scheduled,dispose:()=>{scheduled=false}}};Delayer=class{constructor(defaultDelay){this.defaultDelay=defaultDelay;this.deferred=null;this.completionPromise=null;this.doResolve=null;this.doReject=null;this.task=null}trigger(task,delay=this.defaultDelay){this.task=task;this.cancelTimeout();if(!this.completionPromise){this.completionPromise=new Promise(((resolve2,reject)=>{this.doResolve=resolve2;this.doReject=reject})).then((()=>{this.completionPromise=null;this.doResolve=null;if(this.task){const task2=this.task;this.task=null;return task2()}return void 0}))}const fn=()=>{var _a6;this.deferred=null;(_a6=this.doResolve)===null||_a6===void 0?void 0:_a6.call(this,null)};this.deferred=delay===MicrotaskDelay?microtaskDeferred(fn):timeoutDeferred(delay,fn);return this.completionPromise}isTriggered(){var _a6;return!!((_a6=this.deferred)===null||_a6===void 0?void 0:_a6.isTriggered())}cancel(){var _a6;this.cancelTimeout();if(this.completionPromise){(_a6=this.doReject)===null||_a6===void 0?void 0:_a6.call(this,new CancellationError);this.completionPromise=null}}cancelTimeout(){var _a6;(_a6=this.deferred)===null||_a6===void 0?void 0:_a6.dispose();this.deferred=null}dispose(){this.cancel()}};ThrottledDelayer=class{constructor(defaultDelay){this.delayer=new Delayer(defaultDelay);this.throttler=new Throttler}trigger(promiseFactory,delay){return this.delayer.trigger((()=>this.throttler.queue(promiseFactory)),delay)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose();this.throttler.dispose()}};TimeoutTimer=class{constructor(runner,timeout2){this._token=-1;if(typeof runner==="function"&&typeof timeout2==="number"){this.setIfNotSet(runner,timeout2)}}dispose(){this.cancel()}cancel(){if(this._token!==-1){clearTimeout(this._token);this._token=-1}}cancelAndSet(runner,timeout2){this.cancel();this._token=setTimeout((()=>{this._token=-1;runner()}),timeout2)}setIfNotSet(runner,timeout2){if(this._token!==-1){return}this._token=setTimeout((()=>{this._token=-1;runner()}),timeout2)}};IntervalTimer=class{constructor(){this._token=-1}dispose(){this.cancel()}cancel(){if(this._token!==-1){clearInterval(this._token);this._token=-1}}cancelAndSet(runner,interval){this.cancel();this._token=setInterval((()=>{runner()}),interval)}};RunOnceScheduler=class{constructor(runner,delay){this.timeoutToken=-1;this.runner=runner;this.timeout=delay;this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel();this.runner=null}cancel(){if(this.isScheduled()){clearTimeout(this.timeoutToken);this.timeoutToken=-1}}schedule(delay=this.timeout){this.cancel();this.timeoutToken=setTimeout(this.timeoutHandler,delay)}get delay(){return this.timeout}set delay(value){this.timeout=value}isScheduled(){return this.timeoutToken!==-1}onTimeout(){this.timeoutToken=-1;if(this.runner){this.doRun()}}doRun(){var _a6;(_a6=this.runner)===null||_a6===void 0?void 0:_a6.call(this)}};(function(){if(typeof requestIdleCallback!=="function"||typeof cancelIdleCallback!=="function"){runWhenIdle=runner=>{setTimeout0((()=>{if(disposed){return}const end=Date.now()+15;runner(Object.freeze({didTimeout:true,timeRemaining(){return Math.max(0,end-Date.now())}}))}));let disposed=false;return{dispose(){if(disposed){return}disposed=true}}}}else{runWhenIdle=(runner,timeout2)=>{const handle=requestIdleCallback(runner,typeof timeout2==="number"?{timeout:timeout2}:void 0);let disposed=false;return{dispose(){if(disposed){return}disposed=true;cancelIdleCallback(handle)}}}}})();IdleValue=class{constructor(executor){this._didRun=false;this._executor=()=>{try{this._value=executor()}catch(err){this._error=err}finally{this._didRun=true}};this._handle=runWhenIdle((()=>this._executor()))}dispose(){this._handle.dispose()}get value(){if(!this._didRun){this._handle.dispose();this._executor()}if(this._error){throw this._error}return this._value}get isInitialized(){return this._didRun}};DeferredPromise=class{get isRejected(){var _a6;return((_a6=this.outcome)===null||_a6===void 0?void 0:_a6.outcome)===1}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise(((c,e)=>{this.completeCallback=c;this.errorCallback=e}))}complete(value){return new Promise((resolve2=>{this.completeCallback(value);this.outcome={outcome:0,value:value};resolve2()}))}error(err){return new Promise((resolve2=>{this.errorCallback(err);this.outcome={outcome:1,value:err};resolve2()}))}cancel(){return this.error(new CancellationError)}};(function(Promises2){function settled(promises){return __awaiter2(this,void 0,void 0,(function*(){let firstError=void 0;const result=yield Promise.all(promises.map((promise=>promise.then((value=>value),(error=>{if(!firstError){firstError=error}return void 0})))));if(typeof firstError!=="undefined"){throw firstError}return result}))}Promises2.settled=settled;function withAsyncBody(bodyFn){return new Promise(((resolve2,reject)=>__awaiter2(this,void 0,void 0,(function*(){try{yield bodyFn(resolve2,reject)}catch(error){reject(error)}}))))}Promises2.withAsyncBody=withAsyncBody})(Promises||(Promises={}));AsyncIterableObject=class{static fromArray(items){return new AsyncIterableObject((writer=>{writer.emitMany(items)}))}static fromPromise(promise){return new AsyncIterableObject((emitter=>__awaiter2(this,void 0,void 0,(function*(){emitter.emitMany(yield promise)}))))}static fromPromises(promises){return new AsyncIterableObject((emitter=>__awaiter2(this,void 0,void 0,(function*(){yield Promise.all(promises.map((p=>__awaiter2(this,void 0,void 0,(function*(){return emitter.emitOne(yield p)})))))}))))}static merge(iterables){return new AsyncIterableObject((emitter=>__awaiter2(this,void 0,void 0,(function*(){yield Promise.all(iterables.map((iterable=>{var _a6,iterable_1,iterable_1_1;return __awaiter2(this,void 0,void 0,(function*(){var _b3,e_1,_c2,_d2;try{for(_a6=true,iterable_1=__asyncValues(iterable);iterable_1_1=yield iterable_1.next(),_b3=iterable_1_1.done,!_b3;_a6=true){_d2=iterable_1_1.value;_a6=false;const item=_d2;emitter.emitOne(item)}}catch(e_1_1){e_1={error:e_1_1}}finally{try{if(!_a6&&!_b3&&(_c2=iterable_1.return))yield _c2.call(iterable_1)}finally{if(e_1)throw e_1.error}}}))})))}))))}constructor(executor){this._state=0;this._results=[];this._error=null;this._onStateChanged=new Emitter;queueMicrotask((()=>__awaiter2(this,void 0,void 0,(function*(){const writer={emitOne:item=>this.emitOne(item),emitMany:items=>this.emitMany(items),reject:error=>this.reject(error)};try{yield Promise.resolve(executor(writer));this.resolve()}catch(err){this.reject(err)}finally{writer.emitOne=void 0;writer.emitMany=void 0;writer.reject=void 0}}))))}[Symbol.asyncIterator](){let i=0;return{next:()=>__awaiter2(this,void 0,void 0,(function*(){do{if(this._state===2){throw this._error}if(i<this._results.length){return{done:false,value:this._results[i++]}}if(this._state===1){return{done:true,value:void 0}}yield Event.toPromise(this._onStateChanged.event)}while(true)}))}}static map(iterable,mapFn){return new AsyncIterableObject((emitter=>__awaiter2(this,void 0,void 0,(function*(){var _a6,e_2,_b3,_c2;try{for(var _d2=true,iterable_2=__asyncValues(iterable),iterable_2_1;iterable_2_1=yield iterable_2.next(),_a6=iterable_2_1.done,!_a6;_d2=true){_c2=iterable_2_1.value;_d2=false;const item=_c2;emitter.emitOne(mapFn(item))}}catch(e_2_1){e_2={error:e_2_1}}finally{try{if(!_d2&&!_a6&&(_b3=iterable_2.return))yield _b3.call(iterable_2)}finally{if(e_2)throw e_2.error}}}))))}map(mapFn){return AsyncIterableObject.map(this,mapFn)}static filter(iterable,filterFn){return new AsyncIterableObject((emitter=>__awaiter2(this,void 0,void 0,(function*(){var _a6,e_3,_b3,_c2;try{for(var _d2=true,iterable_3=__asyncValues(iterable),iterable_3_1;iterable_3_1=yield iterable_3.next(),_a6=iterable_3_1.done,!_a6;_d2=true){_c2=iterable_3_1.value;_d2=false;const item=_c2;if(filterFn(item)){emitter.emitOne(item)}}}catch(e_3_1){e_3={error:e_3_1}}finally{try{if(!_d2&&!_a6&&(_b3=iterable_3.return))yield _b3.call(iterable_3)}finally{if(e_3)throw e_3.error}}}))))}filter(filterFn){return AsyncIterableObject.filter(this,filterFn)}static coalesce(iterable){return AsyncIterableObject.filter(iterable,(item=>!!item))}coalesce(){return AsyncIterableObject.coalesce(this)}static toPromise(iterable){var _a6,iterable_4,iterable_4_1;var _b3,e_4,_c2,_d2;return __awaiter2(this,void 0,void 0,(function*(){const result=[];try{for(_a6=true,iterable_4=__asyncValues(iterable);iterable_4_1=yield iterable_4.next(),_b3=iterable_4_1.done,!_b3;_a6=true){_d2=iterable_4_1.value;_a6=false;const item=_d2;result.push(item)}}catch(e_4_1){e_4={error:e_4_1}}finally{try{if(!_a6&&!_b3&&(_c2=iterable_4.return))yield _c2.call(iterable_4)}finally{if(e_4)throw e_4.error}}return result}))}toPromise(){return AsyncIterableObject.toPromise(this)}emitOne(value){if(this._state!==0){return}this._results.push(value);this._onStateChanged.fire()}emitMany(values){if(this._state!==0){return}this._results=this._results.concat(values);this._onStateChanged.fire()}resolve(){if(this._state!==0){return}this._state=1;this._onStateChanged.fire()}reject(error){if(this._state!==0){return}this._state=2;this._error=error;this._onStateChanged.fire()}};AsyncIterableObject.EMPTY=AsyncIterableObject.fromArray([]);CancelableAsyncIterableObject=class extends AsyncIterableObject{constructor(_source,executor){super(executor);this._source=_source}cancel(){this._source.cancel()}}}});function logOnceWebWorkerWarning(err){if(!isWeb){return}if(!webWorkerWarningLogged){webWorkerWarningLogged=true;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(err.message)}function propertyIsEvent(name){return name[0]==="o"&&name[1]==="n"&&isUpperAsciiLetter(name.charCodeAt(2))}function propertyIsDynamicEvent(name){return/^onDynamic/.test(name)&&isUpperAsciiLetter(name.charCodeAt(9))}function createProxyObject2(methodNames,invoke,proxyListen){const createProxyMethod=method=>function(){const args=Array.prototype.slice.call(arguments,0);return invoke(method,args)};const createProxyDynamicEvent=eventName=>function(arg){return proxyListen(eventName,arg)};const result={};for(const methodName of methodNames){if(propertyIsDynamicEvent(methodName)){result[methodName]=createProxyDynamicEvent(methodName);continue}if(propertyIsEvent(methodName)){result[methodName]=proxyListen(methodName,void 0);continue}result[methodName]=createProxyMethod(methodName)}return result}var INITIALIZE,webWorkerWarningLogged,RequestMessage,ReplyMessage,SubscribeEventMessage,EventMessage,UnsubscribeEventMessage,SimpleWorkerProtocol,SimpleWorkerClient;var init_simpleWorker=__esm({"node_modules/monaco-editor/esm/vs/base/common/worker/simpleWorker.js"(){init_errors();init_event();init_lifecycle();init_objects();init_platform();init_strings();INITIALIZE="$initialize";webWorkerWarningLogged=false;RequestMessage=class{constructor(vsWorker,req,method,args){this.vsWorker=vsWorker;this.req=req;this.method=method;this.args=args;this.type=0}};ReplyMessage=class{constructor(vsWorker,seq,res,err){this.vsWorker=vsWorker;this.seq=seq;this.res=res;this.err=err;this.type=1}};SubscribeEventMessage=class{constructor(vsWorker,req,eventName,arg){this.vsWorker=vsWorker;this.req=req;this.eventName=eventName;this.arg=arg;this.type=2}};EventMessage=class{constructor(vsWorker,req,event){this.vsWorker=vsWorker;this.req=req;this.event=event;this.type=3}};UnsubscribeEventMessage=class{constructor(vsWorker,req){this.vsWorker=vsWorker;this.req=req;this.type=4}};SimpleWorkerProtocol=class{constructor(handler){this._workerId=-1;this._handler=handler;this._lastSentReq=0;this._pendingReplies=Object.create(null);this._pendingEmitters=new Map;this._pendingEvents=new Map}setWorkerId(workerId){this._workerId=workerId}sendMessage(method,args){const req=String(++this._lastSentReq);return new Promise(((resolve2,reject)=>{this._pendingReplies[req]={resolve:resolve2,reject:reject};this._send(new RequestMessage(this._workerId,req,method,args))}))}listen(eventName,arg){let req=null;const emitter=new Emitter({onWillAddFirstListener:()=>{req=String(++this._lastSentReq);this._pendingEmitters.set(req,emitter);this._send(new SubscribeEventMessage(this._workerId,req,eventName,arg))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(req);this._send(new UnsubscribeEventMessage(this._workerId,req));req=null}});return emitter.event}handleMessage(message){if(!message||!message.vsWorker){return}if(this._workerId!==-1&&message.vsWorker!==this._workerId){return}this._handleMessage(message)}_handleMessage(msg){switch(msg.type){case 1:return this._handleReplyMessage(msg);case 0:return this._handleRequestMessage(msg);case 2:return this._handleSubscribeEventMessage(msg);case 3:return this._handleEventMessage(msg);case 4:return this._handleUnsubscribeEventMessage(msg)}}_handleReplyMessage(replyMessage){if(!this._pendingReplies[replyMessage.seq]){console.warn("Got reply to unknown seq");return}const reply=this._pendingReplies[replyMessage.seq];delete this._pendingReplies[replyMessage.seq];if(replyMessage.err){let err=replyMessage.err;if(replyMessage.err.$isError){err=new Error;err.name=replyMessage.err.name;err.message=replyMessage.err.message;err.stack=replyMessage.err.stack}reply.reject(err);return}reply.resolve(replyMessage.res)}_handleRequestMessage(requestMessage){const req=requestMessage.req;const result=this._handler.handleMessage(requestMessage.method,requestMessage.args);result.then((r=>{this._send(new ReplyMessage(this._workerId,req,r,void 0))}),(e=>{if(e.detail instanceof Error){e.detail=transformErrorForSerialization(e.detail)}this._send(new ReplyMessage(this._workerId,req,void 0,transformErrorForSerialization(e)))}))}_handleSubscribeEventMessage(msg){const req=msg.req;const disposable=this._handler.handleEvent(msg.eventName,msg.arg)((event=>{this._send(new EventMessage(this._workerId,req,event))}));this._pendingEvents.set(req,disposable)}_handleEventMessage(msg){if(!this._pendingEmitters.has(msg.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(msg.req).fire(msg.event)}_handleUnsubscribeEventMessage(msg){if(!this._pendingEvents.has(msg.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(msg.req).dispose();this._pendingEvents.delete(msg.req)}_send(msg){const transfer=[];if(msg.type===0){for(let i=0;i<msg.args.length;i++){if(msg.args[i]instanceof ArrayBuffer){transfer.push(msg.args[i])}}}else if(msg.type===1){if(msg.res instanceof ArrayBuffer){transfer.push(msg.res)}}this._handler.sendMessage(msg,transfer)}};SimpleWorkerClient=class extends Disposable{constructor(workerFactory,moduleId,host){super();let lazyProxyReject=null;this._worker=this._register(workerFactory.create("vs/base/common/worker/simpleWorker",(msg=>{this._protocol.handleMessage(msg)}),(err=>{lazyProxyReject===null||lazyProxyReject===void 0?void 0:lazyProxyReject(err)})));this._protocol=new SimpleWorkerProtocol({sendMessage:(msg,transfer)=>{this._worker.postMessage(msg,transfer)},handleMessage:(method,args)=>{if(typeof host[method]!=="function"){return Promise.reject(new Error("Missing method "+method+" on main thread host."))}try{return Promise.resolve(host[method].apply(host,args))}catch(e){return Promise.reject(e)}},handleEvent:(eventName,arg)=>{if(propertyIsDynamicEvent(eventName)){const event=host[eventName].call(host,arg);if(typeof event!=="function"){throw new Error(`Missing dynamic event ${eventName} on main thread host.`)}return event}if(propertyIsEvent(eventName)){const event=host[eventName];if(typeof event!=="function"){throw new Error(`Missing event ${eventName} on main thread host.`)}return event}throw new Error(`Malformed event name ${eventName}`)}});this._protocol.setWorkerId(this._worker.getId());let loaderConfiguration=null;const globalRequire=globalThis.require;if(typeof globalRequire!=="undefined"&&typeof globalRequire.getConfig==="function"){loaderConfiguration=globalRequire.getConfig()}else if(typeof globalThis.requirejs!=="undefined"){loaderConfiguration=globalThis.requirejs.s.contexts._.config}const hostMethods=getAllMethodNames(host);this._onModuleLoaded=this._protocol.sendMessage(INITIALIZE,[this._worker.getId(),JSON.parse(JSON.stringify(loaderConfiguration)),moduleId,hostMethods]);const proxyMethodRequest=(method,args)=>this._request(method,args);const proxyListen=(eventName,arg)=>this._protocol.listen(eventName,arg);this._lazyProxy=new Promise(((resolve2,reject)=>{lazyProxyReject=reject;this._onModuleLoaded.then((availableMethods=>{resolve2(createProxyObject2(availableMethods,proxyMethodRequest,proxyListen))}),(e=>{reject(e);this._onError("Worker failed to load "+moduleId,e)}))}))}getProxyObject(){return this._lazyProxy}_request(method,args){return new Promise(((resolve2,reject)=>{this._onModuleLoaded.then((()=>{this._protocol.sendMessage(method,args).then(resolve2,reject)}),reject)}))}_onError(message,error){console.error(message);console.info(error)}}}});function createTrustedTypesPolicy(policyName,policyOptions){var _a6;const monacoEnvironment2=globalThis.MonacoEnvironment;if(monacoEnvironment2===null||monacoEnvironment2===void 0?void 0:monacoEnvironment2.createTrustedTypesPolicy){try{return monacoEnvironment2.createTrustedTypesPolicy(policyName,policyOptions)}catch(err){onUnexpectedError(err);return void 0}}try{return(_a6=window.trustedTypes)===null||_a6===void 0?void 0:_a6.createPolicy(policyName,policyOptions)}catch(err){onUnexpectedError(err);return void 0}}var init_trustedTypes=__esm({"node_modules/monaco-editor/esm/vs/base/browser/trustedTypes.js"(){init_errors()}});function getWorker(label){const monacoEnvironment2=globalThis.MonacoEnvironment;if(monacoEnvironment2){if(typeof monacoEnvironment2.getWorker==="function"){return monacoEnvironment2.getWorker("workerMain.js",label)}if(typeof monacoEnvironment2.getWorkerUrl==="function"){const workerUrl=monacoEnvironment2.getWorkerUrl("workerMain.js",label);return new Worker(ttPolicy?ttPolicy.createScriptURL(workerUrl):workerUrl,{name:label})}}throw new Error(`You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker`)}function isPromiseLike(obj){if(typeof obj.then==="function"){return true}return false}var ttPolicy,WebWorker,DefaultWorkerFactory;var init_defaultWorkerFactory=__esm({"node_modules/monaco-editor/esm/vs/base/browser/defaultWorkerFactory.js"(){init_trustedTypes();init_errors();init_simpleWorker();ttPolicy=createTrustedTypesPolicy("defaultWorkerFactory",{createScriptURL:value=>value});WebWorker=class{constructor(moduleId,id,label,onMessageCallback,onErrorCallback){this.id=id;this.label=label;const workerOrPromise=getWorker(label);if(isPromiseLike(workerOrPromise)){this.worker=workerOrPromise}else{this.worker=Promise.resolve(workerOrPromise)}this.postMessage(moduleId,[]);this.worker.then((w=>{w.onmessage=function(ev){onMessageCallback(ev.data)};w.onmessageerror=onErrorCallback;if(typeof w.addEventListener==="function"){w.addEventListener("error",onErrorCallback)}}))}getId(){return this.id}postMessage(message,transfer){var _a6;(_a6=this.worker)===null||_a6===void 0?void 0:_a6.then((w=>{try{w.postMessage(message,transfer)}catch(err){onUnexpectedError(err);onUnexpectedError(new Error(`FAILED to post message to '${this.label}'-worker`,{cause:err}))}}))}dispose(){var _a6;(_a6=this.worker)===null||_a6===void 0?void 0:_a6.then((w=>w.terminate()));this.worker=null}};DefaultWorkerFactory=class{constructor(label){this._label=label;this._webWorkerFailedBeforeError=false}create(moduleId,onMessageCallback,onErrorCallback){const workerId=++DefaultWorkerFactory.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError){throw this._webWorkerFailedBeforeError}return new WebWorker(moduleId,workerId,this._label||"anonymous"+workerId,onMessageCallback,(err=>{logOnceWebWorkerWarning(err);this._webWorkerFailedBeforeError=err;onErrorCallback(err)}))}};DefaultWorkerFactory.LAST_WORKER_ID=0}});var DiffChange;var init_diffChange=__esm({"node_modules/monaco-editor/esm/vs/base/common/diff/diffChange.js"(){DiffChange=class{constructor(originalStart,originalLength,modifiedStart,modifiedLength){this.originalStart=originalStart;this.originalLength=originalLength;this.modifiedStart=modifiedStart;this.modifiedLength=modifiedLength}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}}});function hash(obj){return doHash(obj,0)}function doHash(obj,hashVal){switch(typeof obj){case"object":if(obj===null){return numberHash(349,hashVal)}else if(Array.isArray(obj)){return arrayHash(obj,hashVal)}return objectHash(obj,hashVal);case"string":return stringHash(obj,hashVal);case"boolean":return booleanHash(obj,hashVal);case"number":return numberHash(obj,hashVal);case"undefined":return numberHash(937,hashVal);default:return numberHash(617,hashVal)}}function numberHash(val,initialHashVal){return(initialHashVal<<5)-initialHashVal+val|0}function booleanHash(b,initialHashVal){return numberHash(b?433:863,initialHashVal)}function stringHash(s,hashVal){hashVal=numberHash(149417,hashVal);for(let i=0,length2=s.length;i<length2;i++){hashVal=numberHash(s.charCodeAt(i),hashVal)}return hashVal}function arrayHash(arr,initialHashVal){initialHashVal=numberHash(104579,initialHashVal);return arr.reduce(((hashVal,item)=>doHash(item,hashVal)),initialHashVal)}function objectHash(obj,initialHashVal){initialHashVal=numberHash(181387,initialHashVal);return Object.keys(obj).sort().reduce(((hashVal,key)=>{hashVal=stringHash(key,hashVal);return doHash(obj[key],hashVal)}),initialHashVal)}function leftRotate(value,bits,totalBits=32){const delta=totalBits-bits;const mask=~((1<<delta)-1);return(value<<bits|(mask&value)>>>delta)>>>0}function fill(dest,index=0,count=dest.byteLength,value=0){for(let i=0;i<count;i++){dest[index+i]=value}}function leftPad(value,length2,char="0"){while(value.length<length2){value=char+value}return value}function toHexString(bufferOrValue,bitsize=32){if(bufferOrValue instanceof ArrayBuffer){return Array.from(new Uint8Array(bufferOrValue)).map((b=>b.toString(16).padStart(2,"0"))).join("")}return leftPad((bufferOrValue>>>0).toString(16),bitsize/4)}var StringSHA1;var init_hash=__esm({"node_modules/monaco-editor/esm/vs/base/common/hash.js"(){init_strings();StringSHA1=class{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=false}update(str){const strLen=str.length;if(strLen===0){return}const buff=this._buff;let buffLen=this._buffLen;let leftoverHighSurrogate=this._leftoverHighSurrogate;let charCode;let offset;if(leftoverHighSurrogate!==0){charCode=leftoverHighSurrogate;offset=-1;leftoverHighSurrogate=0}else{charCode=str.charCodeAt(0);offset=0}while(true){let codePoint=charCode;if(isHighSurrogate(charCode)){if(offset+1<strLen){const nextCharCode=str.charCodeAt(offset+1);if(isLowSurrogate(nextCharCode)){offset++;codePoint=computeCodePoint(charCode,nextCharCode)}else{codePoint=65533}}else{leftoverHighSurrogate=charCode;break}}else if(isLowSurrogate(charCode)){codePoint=65533}buffLen=this._push(buff,buffLen,codePoint);offset++;if(offset<strLen){charCode=str.charCodeAt(offset)}else{break}}this._buffLen=buffLen;this._leftoverHighSurrogate=leftoverHighSurrogate}_push(buff,buffLen,codePoint){if(codePoint<128){buff[buffLen++]=codePoint}else if(codePoint<2048){buff[buffLen++]=192|(codePoint&1984)>>>6;buff[buffLen++]=128|(codePoint&63)>>>0}else if(codePoint<65536){buff[buffLen++]=224|(codePoint&61440)>>>12;buff[buffLen++]=128|(codePoint&4032)>>>6;buff[buffLen++]=128|(codePoint&63)>>>0}else{buff[buffLen++]=240|(codePoint&1835008)>>>18;buff[buffLen++]=128|(codePoint&258048)>>>12;buff[buffLen++]=128|(codePoint&4032)>>>6;buff[buffLen++]=128|(codePoint&63)>>>0}if(buffLen>=64){this._step();buffLen-=64;this._totalLen+=64;buff[0]=buff[64+0];buff[1]=buff[64+1];buff[2]=buff[64+2]}return buffLen}digest(){if(!this._finished){this._finished=true;if(this._leftoverHighSurrogate){this._leftoverHighSurrogate=0;this._buffLen=this._push(this._buff,this._buffLen,65533)}this._totalLen+=this._buffLen;this._wrapUp()}return toHexString(this._h0)+toHexString(this._h1)+toHexString(this._h2)+toHexString(this._h3)+toHexString(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128;fill(this._buff,this._buffLen);if(this._buffLen>56){this._step();fill(this._buff)}const ml=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(ml/4294967296),false);this._buffDV.setUint32(60,ml%4294967296,false);this._step()}_step(){const bigBlock32=StringSHA1._bigBlock32;const data=this._buffDV;for(let j=0;j<64;j+=4){bigBlock32.setUint32(j,data.getUint32(j,false),false)}for(let j=64;j<320;j+=4){bigBlock32.setUint32(j,leftRotate(bigBlock32.getUint32(j-12,false)^bigBlock32.getUint32(j-32,false)^bigBlock32.getUint32(j-56,false)^bigBlock32.getUint32(j-64,false),1),false)}let a=this._h0;let b=this._h1;let c=this._h2;let d=this._h3;let e=this._h4;let f,k;let temp;for(let j=0;j<80;j++){if(j<20){f=b&c|~b&d;k=1518500249}else if(j<40){f=b^c^d;k=1859775393}else if(j<60){f=b&c|b&d|c&d;k=2400959708}else{f=b^c^d;k=3395469782}temp=leftRotate(a,5)+f+e+k+bigBlock32.getUint32(j*4,false)&4294967295;e=d;d=c;c=leftRotate(b,30);b=a;a=temp}this._h0=this._h0+a&4294967295;this._h1=this._h1+b&4294967295;this._h2=this._h2+c&4294967295;this._h3=this._h3+d&4294967295;this._h4=this._h4+e&4294967295}};StringSHA1._bigBlock32=new DataView(new ArrayBuffer(320))}});function stringDiff(original,modified,pretty){return new LcsDiff(new StringDiffSequence(original),new StringDiffSequence(modified)).ComputeDiff(pretty).changes}var StringDiffSequence,Debug,MyArray,DiffChangeHelper,LcsDiff;var init_diff=__esm({"node_modules/monaco-editor/esm/vs/base/common/diff/diff.js"(){init_diffChange();init_hash();StringDiffSequence=class{constructor(source){this.source=source}getElements(){const source=this.source;const characters=new Int32Array(source.length);for(let i=0,len=source.length;i<len;i++){characters[i]=source.charCodeAt(i)}return characters}};Debug=class{static Assert(condition,message){if(!condition){throw new Error(message)}}};MyArray=class{static Copy(sourceArray,sourceIndex,destinationArray,destinationIndex,length2){for(let i=0;i<length2;i++){destinationArray[destinationIndex+i]=sourceArray[sourceIndex+i]}}static Copy2(sourceArray,sourceIndex,destinationArray,destinationIndex,length2){for(let i=0;i<length2;i++){destinationArray[destinationIndex+i]=sourceArray[sourceIndex+i]}}};DiffChangeHelper=class{constructor(){this.m_changes=[];this.m_originalStart=1073741824;this.m_modifiedStart=1073741824;this.m_originalCount=0;this.m_modifiedCount=0}MarkNextChange(){if(this.m_originalCount>0||this.m_modifiedCount>0){this.m_changes.push(new DiffChange(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(originalIndex,modifiedIndex){this.m_originalStart=Math.min(this.m_originalStart,originalIndex);this.m_modifiedStart=Math.min(this.m_modifiedStart,modifiedIndex);this.m_originalCount++}AddModifiedElement(originalIndex,modifiedIndex){this.m_originalStart=Math.min(this.m_originalStart,originalIndex);this.m_modifiedStart=Math.min(this.m_modifiedStart,modifiedIndex);this.m_modifiedCount++}getChanges(){if(this.m_originalCount>0||this.m_modifiedCount>0){this.MarkNextChange()}return this.m_changes}getReverseChanges(){if(this.m_originalCount>0||this.m_modifiedCount>0){this.MarkNextChange()}this.m_changes.reverse();return this.m_changes}};LcsDiff=class{constructor(originalSequence,modifiedSequence,continueProcessingPredicate=null){this.ContinueProcessingPredicate=continueProcessingPredicate;this._originalSequence=originalSequence;this._modifiedSequence=modifiedSequence;const[originalStringElements,originalElementsOrHash,originalHasStrings]=LcsDiff._getElements(originalSequence);const[modifiedStringElements,modifiedElementsOrHash,modifiedHasStrings]=LcsDiff._getElements(modifiedSequence);this._hasStrings=originalHasStrings&&modifiedHasStrings;this._originalStringElements=originalStringElements;this._originalElementsOrHash=originalElementsOrHash;this._modifiedStringElements=modifiedStringElements;this._modifiedElementsOrHash=modifiedElementsOrHash;this.m_forwardHistory=[];this.m_reverseHistory=[]}static _isStringArray(arr){return arr.length>0&&typeof arr[0]==="string"}static _getElements(sequence){const elements=sequence.getElements();if(LcsDiff._isStringArray(elements)){const hashes=new Int32Array(elements.length);for(let i=0,len=elements.length;i<len;i++){hashes[i]=stringHash(elements[i],0)}return[elements,hashes,true]}if(elements instanceof Int32Array){return[[],elements,false]}return[[],new Int32Array(elements),false]}ElementsAreEqual(originalIndex,newIndex){if(this._originalElementsOrHash[originalIndex]!==this._modifiedElementsOrHash[newIndex]){return false}return this._hasStrings?this._originalStringElements[originalIndex]===this._modifiedStringElements[newIndex]:true}ElementsAreStrictEqual(originalIndex,newIndex){if(!this.ElementsAreEqual(originalIndex,newIndex)){return false}const originalElement=LcsDiff._getStrictElement(this._originalSequence,originalIndex);const modifiedElement=LcsDiff._getStrictElement(this._modifiedSequence,newIndex);return originalElement===modifiedElement}static _getStrictElement(sequence,index){if(typeof sequence.getStrictElement==="function"){return sequence.getStrictElement(index)}return null}OriginalElementsAreEqual(index1,index2){if(this._originalElementsOrHash[index1]!==this._originalElementsOrHash[index2]){return false}return this._hasStrings?this._originalStringElements[index1]===this._originalStringElements[index2]:true}ModifiedElementsAreEqual(index1,index2){if(this._modifiedElementsOrHash[index1]!==this._modifiedElementsOrHash[index2]){return false}return this._hasStrings?this._modifiedStringElements[index1]===this._modifiedStringElements[index2]:true}ComputeDiff(pretty){return this._ComputeDiff(0,this._originalElementsOrHash.length-1,0,this._modifiedElementsOrHash.length-1,pretty)}_ComputeDiff(originalStart,originalEnd,modifiedStart,modifiedEnd,pretty){const quitEarlyArr=[false];let changes=this.ComputeDiffRecursive(originalStart,originalEnd,modifiedStart,modifiedEnd,quitEarlyArr);if(pretty){changes=this.PrettifyChanges(changes)}return{quitEarly:quitEarlyArr[0],changes:changes}}ComputeDiffRecursive(originalStart,originalEnd,modifiedStart,modifiedEnd,quitEarlyArr){quitEarlyArr[0]=false;while(originalStart<=originalEnd&&modifiedStart<=modifiedEnd&&this.ElementsAreEqual(originalStart,modifiedStart)){originalStart++;modifiedStart++}while(originalEnd>=originalStart&&modifiedEnd>=modifiedStart&&this.ElementsAreEqual(originalEnd,modifiedEnd)){originalEnd--;modifiedEnd--}if(originalStart>originalEnd||modifiedStart>modifiedEnd){let changes;if(modifiedStart<=modifiedEnd){Debug.Assert(originalStart===originalEnd+1,"originalStart should only be one more than originalEnd");changes=[new DiffChange(originalStart,0,modifiedStart,modifiedEnd-modifiedStart+1)]}else if(originalStart<=originalEnd){Debug.Assert(modifiedStart===modifiedEnd+1,"modifiedStart should only be one more than modifiedEnd");changes=[new DiffChange(originalStart,originalEnd-originalStart+1,modifiedStart,0)]}else{Debug.Assert(originalStart===originalEnd+1,"originalStart should only be one more than originalEnd");Debug.Assert(modifiedStart===modifiedEnd+1,"modifiedStart should only be one more than modifiedEnd");changes=[]}return changes}const midOriginalArr=[0];const midModifiedArr=[0];const result=this.ComputeRecursionPoint(originalStart,originalEnd,modifiedStart,modifiedEnd,midOriginalArr,midModifiedArr,quitEarlyArr);const midOriginal=midOriginalArr[0];const midModified=midModifiedArr[0];if(result!==null){return result}else if(!quitEarlyArr[0]){const leftChanges=this.ComputeDiffRecursive(originalStart,midOriginal,modifiedStart,midModified,quitEarlyArr);let rightChanges=[];if(!quitEarlyArr[0]){rightChanges=this.ComputeDiffRecursive(midOriginal+1,originalEnd,midModified+1,modifiedEnd,quitEarlyArr)}else{rightChanges=[new DiffChange(midOriginal+1,originalEnd-(midOriginal+1)+1,midModified+1,modifiedEnd-(midModified+1)+1)]}return this.ConcatenateChanges(leftChanges,rightChanges)}return[new DiffChange(originalStart,originalEnd-originalStart+1,modifiedStart,modifiedEnd-modifiedStart+1)]}WALKTRACE(diagonalForwardBase,diagonalForwardStart,diagonalForwardEnd,diagonalForwardOffset,diagonalReverseBase,diagonalReverseStart,diagonalReverseEnd,diagonalReverseOffset,forwardPoints,reversePoints,originalIndex,originalEnd,midOriginalArr,modifiedIndex,modifiedEnd,midModifiedArr,deltaIsEven,quitEarlyArr){let forwardChanges=null;let reverseChanges=null;let changeHelper=new DiffChangeHelper;let diagonalMin=diagonalForwardStart;let diagonalMax=diagonalForwardEnd;let diagonalRelative=midOriginalArr[0]-midModifiedArr[0]-diagonalForwardOffset;let lastOriginalIndex=-1073741824;let historyIndex=this.m_forwardHistory.length-1;do{const diagonal=diagonalRelative+diagonalForwardBase;if(diagonal===diagonalMin||diagonal<diagonalMax&&forwardPoints[diagonal-1]<forwardPoints[diagonal+1]){originalIndex=forwardPoints[diagonal+1];modifiedIndex=originalIndex-diagonalRelative-diagonalForwardOffset;if(originalIndex<lastOriginalIndex){changeHelper.MarkNextChange()}lastOriginalIndex=originalIndex;changeHelper.AddModifiedElement(originalIndex+1,modifiedIndex);diagonalRelative=diagonal+1-diagonalForwardBase}else{originalIndex=forwardPoints[diagonal-1]+1;modifiedIndex=originalIndex-diagonalRelative-diagonalForwardOffset;if(originalIndex<lastOriginalIndex){changeHelper.MarkNextChange()}lastOriginalIndex=originalIndex-1;changeHelper.AddOriginalElement(originalIndex,modifiedIndex+1);diagonalRelative=diagonal-1-diagonalForwardBase}if(historyIndex>=0){forwardPoints=this.m_forwardHistory[historyIndex];diagonalForwardBase=forwardPoints[0];diagonalMin=1;diagonalMax=forwardPoints.length-1}}while(--historyIndex>=-1);forwardChanges=changeHelper.getReverseChanges();if(quitEarlyArr[0]){let originalStartPoint=midOriginalArr[0]+1;let modifiedStartPoint=midModifiedArr[0]+1;if(forwardChanges!==null&&forwardChanges.length>0){const lastForwardChange=forwardChanges[forwardChanges.length-1];originalStartPoint=Math.max(originalStartPoint,lastForwardChange.getOriginalEnd());modifiedStartPoint=Math.max(modifiedStartPoint,lastForwardChange.getModifiedEnd())}reverseChanges=[new DiffChange(originalStartPoint,originalEnd-originalStartPoint+1,modifiedStartPoint,modifiedEnd-modifiedStartPoint+1)]}else{changeHelper=new DiffChangeHelper;diagonalMin=diagonalReverseStart;diagonalMax=diagonalReverseEnd;diagonalRelative=midOriginalArr[0]-midModifiedArr[0]-diagonalReverseOffset;lastOriginalIndex=1073741824;historyIndex=deltaIsEven?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const diagonal=diagonalRelative+diagonalReverseBase;if(diagonal===diagonalMin||diagonal<diagonalMax&&reversePoints[diagonal-1]>=reversePoints[diagonal+1]){originalIndex=reversePoints[diagonal+1]-1;modifiedIndex=originalIndex-diagonalRelative-diagonalReverseOffset;if(originalIndex>lastOriginalIndex){changeHelper.MarkNextChange()}lastOriginalIndex=originalIndex+1;changeHelper.AddOriginalElement(originalIndex+1,modifiedIndex+1);diagonalRelative=diagonal+1-diagonalReverseBase}else{originalIndex=reversePoints[diagonal-1];modifiedIndex=originalIndex-diagonalRelative-diagonalReverseOffset;if(originalIndex>lastOriginalIndex){changeHelper.MarkNextChange()}lastOriginalIndex=originalIndex;changeHelper.AddModifiedElement(originalIndex+1,modifiedIndex+1);diagonalRelative=diagonal-1-diagonalReverseBase}if(historyIndex>=0){reversePoints=this.m_reverseHistory[historyIndex];diagonalReverseBase=reversePoints[0];diagonalMin=1;diagonalMax=reversePoints.length-1}}while(--historyIndex>=-1);reverseChanges=changeHelper.getChanges()}return this.ConcatenateChanges(forwardChanges,reverseChanges)}ComputeRecursionPoint(originalStart,originalEnd,modifiedStart,modifiedEnd,midOriginalArr,midModifiedArr,quitEarlyArr){let originalIndex=0,modifiedIndex=0;let diagonalForwardStart=0,diagonalForwardEnd=0;let diagonalReverseStart=0,diagonalReverseEnd=0;originalStart--;modifiedStart--;midOriginalArr[0]=0;midModifiedArr[0]=0;this.m_forwardHistory=[];this.m_reverseHistory=[];const maxDifferences=originalEnd-originalStart+(modifiedEnd-modifiedStart);const numDiagonals=maxDifferences+1;const forwardPoints=new Int32Array(numDiagonals);const reversePoints=new Int32Array(numDiagonals);const diagonalForwardBase=modifiedEnd-modifiedStart;const diagonalReverseBase=originalEnd-originalStart;const diagonalForwardOffset=originalStart-modifiedStart;const diagonalReverseOffset=originalEnd-modifiedEnd;const delta=diagonalReverseBase-diagonalForwardBase;const deltaIsEven=delta%2===0;forwardPoints[diagonalForwardBase]=originalStart;reversePoints[diagonalReverseBase]=originalEnd;quitEarlyArr[0]=false;for(let numDifferences=1;numDifferences<=maxDifferences/2+1;numDifferences++){let furthestOriginalIndex=0;let furthestModifiedIndex=0;diagonalForwardStart=this.ClipDiagonalBound(diagonalForwardBase-numDifferences,numDifferences,diagonalForwardBase,numDiagonals);diagonalForwardEnd=this.ClipDiagonalBound(diagonalForwardBase+numDifferences,numDifferences,diagonalForwardBase,numDiagonals);for(let diagonal=diagonalForwardStart;diagonal<=diagonalForwardEnd;diagonal+=2){if(diagonal===diagonalForwardStart||diagonal<diagonalForwardEnd&&forwardPoints[diagonal-1]<forwardPoints[diagonal+1]){originalIndex=forwardPoints[diagonal+1]}else{originalIndex=forwardPoints[diagonal-1]+1}modifiedIndex=originalIndex-(diagonal-diagonalForwardBase)-diagonalForwardOffset;const tempOriginalIndex=originalIndex;while(originalIndex<originalEnd&&modifiedIndex<modifiedEnd&&this.ElementsAreEqual(originalIndex+1,modifiedIndex+1)){originalIndex++;modifiedIndex++}forwardPoints[diagonal]=originalIndex;if(originalIndex+modifiedIndex>furthestOriginalIndex+furthestModifiedIndex){furthestOriginalIndex=originalIndex;furthestModifiedIndex=modifiedIndex}if(!deltaIsEven&&Math.abs(diagonal-diagonalReverseBase)<=numDifferences-1){if(originalIndex>=reversePoints[diagonal]){midOriginalArr[0]=originalIndex;midModifiedArr[0]=modifiedIndex;if(tempOriginalIndex<=reversePoints[diagonal]&&1447>0&&numDifferences<=1447+1){return this.WALKTRACE(diagonalForwardBase,diagonalForwardStart,diagonalForwardEnd,diagonalForwardOffset,diagonalReverseBase,diagonalReverseStart,diagonalReverseEnd,diagonalReverseOffset,forwardPoints,reversePoints,originalIndex,originalEnd,midOriginalArr,modifiedIndex,modifiedEnd,midModifiedArr,deltaIsEven,quitEarlyArr)}else{return null}}}}const matchLengthOfLongest=(furthestOriginalIndex-originalStart+(furthestModifiedIndex-modifiedStart)-numDifferences)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(furthestOriginalIndex,matchLengthOfLongest)){quitEarlyArr[0]=true;midOriginalArr[0]=furthestOriginalIndex;midModifiedArr[0]=furthestModifiedIndex;if(matchLengthOfLongest>0&&1447>0&&numDifferences<=1447+1){return this.WALKTRACE(diagonalForwardBase,diagonalForwardStart,diagonalForwardEnd,diagonalForwardOffset,diagonalReverseBase,diagonalReverseStart,diagonalReverseEnd,diagonalReverseOffset,forwardPoints,reversePoints,originalIndex,originalEnd,midOriginalArr,modifiedIndex,modifiedEnd,midModifiedArr,deltaIsEven,quitEarlyArr)}else{originalStart++;modifiedStart++;return[new DiffChange(originalStart,originalEnd-originalStart+1,modifiedStart,modifiedEnd-modifiedStart+1)]}}diagonalReverseStart=this.ClipDiagonalBound(diagonalReverseBase-numDifferences,numDifferences,diagonalReverseBase,numDiagonals);diagonalReverseEnd=this.ClipDiagonalBound(diagonalReverseBase+numDifferences,numDifferences,diagonalReverseBase,numDiagonals);for(let diagonal=diagonalReverseStart;diagonal<=diagonalReverseEnd;diagonal+=2){if(diagonal===diagonalReverseStart||diagonal<diagonalReverseEnd&&reversePoints[diagonal-1]>=reversePoints[diagonal+1]){originalIndex=reversePoints[diagonal+1]-1}else{originalIndex=reversePoints[diagonal-1]}modifiedIndex=originalIndex-(diagonal-diagonalReverseBase)-diagonalReverseOffset;const tempOriginalIndex=originalIndex;while(originalIndex>originalStart&&modifiedIndex>modifiedStart&&this.ElementsAreEqual(originalIndex,modifiedIndex)){originalIndex--;modifiedIndex--}reversePoints[diagonal]=originalIndex;if(deltaIsEven&&Math.abs(diagonal-diagonalForwardBase)<=numDifferences){if(originalIndex<=forwardPoints[diagonal]){midOriginalArr[0]=originalIndex;midModifiedArr[0]=modifiedIndex;if(tempOriginalIndex>=forwardPoints[diagonal]&&1447>0&&numDifferences<=1447+1){return this.WALKTRACE(diagonalForwardBase,diagonalForwardStart,diagonalForwardEnd,diagonalForwardOffset,diagonalReverseBase,diagonalReverseStart,diagonalReverseEnd,diagonalReverseOffset,forwardPoints,reversePoints,originalIndex,originalEnd,midOriginalArr,modifiedIndex,modifiedEnd,midModifiedArr,deltaIsEven,quitEarlyArr)}else{return null}}}}if(numDifferences<=1447){let temp=new Int32Array(diagonalForwardEnd-diagonalForwardStart+2);temp[0]=diagonalForwardBase-diagonalForwardStart+1;MyArray.Copy2(forwardPoints,diagonalForwardStart,temp,1,diagonalForwardEnd-diagonalForwardStart+1);this.m_forwardHistory.push(temp);temp=new Int32Array(diagonalReverseEnd-diagonalReverseStart+2);temp[0]=diagonalReverseBase-diagonalReverseStart+1;MyArray.Copy2(reversePoints,diagonalReverseStart,temp,1,diagonalReverseEnd-diagonalReverseStart+1);this.m_reverseHistory.push(temp)}}return this.WALKTRACE(diagonalForwardBase,diagonalForwardStart,diagonalForwardEnd,diagonalForwardOffset,diagonalReverseBase,diagonalReverseStart,diagonalReverseEnd,diagonalReverseOffset,forwardPoints,reversePoints,originalIndex,originalEnd,midOriginalArr,modifiedIndex,modifiedEnd,midModifiedArr,deltaIsEven,quitEarlyArr)}PrettifyChanges(changes){for(let i=0;i<changes.length;i++){const change=changes[i];const originalStop=i<changes.length-1?changes[i+1].originalStart:this._originalElementsOrHash.length;const modifiedStop=i<changes.length-1?changes[i+1].modifiedStart:this._modifiedElementsOrHash.length;const checkOriginal=change.originalLength>0;const checkModified=change.modifiedLength>0;while(change.originalStart+change.originalLength<originalStop&&change.modifiedStart+change.modifiedLength<modifiedStop&&(!checkOriginal||this.OriginalElementsAreEqual(change.originalStart,change.originalStart+change.originalLength))&&(!checkModified||this.ModifiedElementsAreEqual(change.modifiedStart,change.modifiedStart+change.modifiedLength))){const startStrictEqual=this.ElementsAreStrictEqual(change.originalStart,change.modifiedStart);const endStrictEqual=this.ElementsAreStrictEqual(change.originalStart+change.originalLength,change.modifiedStart+change.modifiedLength);if(endStrictEqual&&!startStrictEqual){break}change.originalStart++;change.modifiedStart++}const mergedChangeArr=[null];if(i<changes.length-1&&this.ChangesOverlap(changes[i],changes[i+1],mergedChangeArr)){changes[i]=mergedChangeArr[0];changes.splice(i+1,1);i--;continue}}for(let i=changes.length-1;i>=0;i--){const change=changes[i];let originalStop=0;let modifiedStop=0;if(i>0){const prevChange=changes[i-1];originalStop=prevChange.originalStart+prevChange.originalLength;modifiedStop=prevChange.modifiedStart+prevChange.modifiedLength}const checkOriginal=change.originalLength>0;const checkModified=change.modifiedLength>0;let bestDelta=0;let bestScore=this._boundaryScore(change.originalStart,change.originalLength,change.modifiedStart,change.modifiedLength);for(let delta=1;;delta++){const originalStart=change.originalStart-delta;const modifiedStart=change.modifiedStart-delta;if(originalStart<originalStop||modifiedStart<modifiedStop){break}if(checkOriginal&&!this.OriginalElementsAreEqual(originalStart,originalStart+change.originalLength)){break}if(checkModified&&!this.ModifiedElementsAreEqual(modifiedStart,modifiedStart+change.modifiedLength)){break}const touchingPreviousChange=originalStart===originalStop&&modifiedStart===modifiedStop;const score3=(touchingPreviousChange?5:0)+this._boundaryScore(originalStart,change.originalLength,modifiedStart,change.modifiedLength);if(score3>bestScore){bestScore=score3;bestDelta=delta}}change.originalStart-=bestDelta;change.modifiedStart-=bestDelta;const mergedChangeArr=[null];if(i>0&&this.ChangesOverlap(changes[i-1],changes[i],mergedChangeArr)){changes[i-1]=mergedChangeArr[0];changes.splice(i,1);i++;continue}}if(this._hasStrings){for(let i=1,len=changes.length;i<len;i++){const aChange=changes[i-1];const bChange=changes[i];const matchedLength=bChange.originalStart-aChange.originalStart-aChange.originalLength;const aOriginalStart=aChange.originalStart;const bOriginalEnd=bChange.originalStart+bChange.originalLength;const abOriginalLength=bOriginalEnd-aOriginalStart;const aModifiedStart=aChange.modifiedStart;const bModifiedEnd=bChange.modifiedStart+bChange.modifiedLength;const abModifiedLength=bModifiedEnd-aModifiedStart;if(matchedLength<5&&abOriginalLength<20&&abModifiedLength<20){const t2=this._findBetterContiguousSequence(aOriginalStart,abOriginalLength,aModifiedStart,abModifiedLength,matchedLength);if(t2){const[originalMatchStart,modifiedMatchStart]=t2;if(originalMatchStart!==aChange.originalStart+aChange.originalLength||modifiedMatchStart!==aChange.modifiedStart+aChange.modifiedLength){aChange.originalLength=originalMatchStart-aChange.originalStart;aChange.modifiedLength=modifiedMatchStart-aChange.modifiedStart;bChange.originalStart=originalMatchStart+matchedLength;bChange.modifiedStart=modifiedMatchStart+matchedLength;bChange.originalLength=bOriginalEnd-bChange.originalStart;bChange.modifiedLength=bModifiedEnd-bChange.modifiedStart}}}}}return changes}_findBetterContiguousSequence(originalStart,originalLength,modifiedStart,modifiedLength,desiredLength){if(originalLength<desiredLength||modifiedLength<desiredLength){return null}const originalMax=originalStart+originalLength-desiredLength+1;const modifiedMax=modifiedStart+modifiedLength-desiredLength+1;let bestScore=0;let bestOriginalStart=0;let bestModifiedStart=0;for(let i=originalStart;i<originalMax;i++){for(let j=modifiedStart;j<modifiedMax;j++){const score3=this._contiguousSequenceScore(i,j,desiredLength);if(score3>0&&score3>bestScore){bestScore=score3;bestOriginalStart=i;bestModifiedStart=j}}}if(bestScore>0){return[bestOriginalStart,bestModifiedStart]}return null}_contiguousSequenceScore(originalStart,modifiedStart,length2){let score3=0;for(let l=0;l<length2;l++){if(!this.ElementsAreEqual(originalStart+l,modifiedStart+l)){return 0}score3+=this._originalStringElements[originalStart+l].length}return score3}_OriginalIsBoundary(index){if(index<=0||index>=this._originalElementsOrHash.length-1){return true}return this._hasStrings&&/^\s*$/.test(this._originalStringElements[index])}_OriginalRegionIsBoundary(originalStart,originalLength){if(this._OriginalIsBoundary(originalStart)||this._OriginalIsBoundary(originalStart-1)){return true}if(originalLength>0){const originalEnd=originalStart+originalLength;if(this._OriginalIsBoundary(originalEnd-1)||this._OriginalIsBoundary(originalEnd)){return true}}return false}_ModifiedIsBoundary(index){if(index<=0||index>=this._modifiedElementsOrHash.length-1){return true}return this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[index])}_ModifiedRegionIsBoundary(modifiedStart,modifiedLength){if(this._ModifiedIsBoundary(modifiedStart)||this._ModifiedIsBoundary(modifiedStart-1)){return true}if(modifiedLength>0){const modifiedEnd=modifiedStart+modifiedLength;if(this._ModifiedIsBoundary(modifiedEnd-1)||this._ModifiedIsBoundary(modifiedEnd)){return true}}return false}_boundaryScore(originalStart,originalLength,modifiedStart,modifiedLength){const originalScore=this._OriginalRegionIsBoundary(originalStart,originalLength)?1:0;const modifiedScore=this._ModifiedRegionIsBoundary(modifiedStart,modifiedLength)?1:0;return originalScore+modifiedScore}ConcatenateChanges(left,right){const mergedChangeArr=[];if(left.length===0||right.length===0){return right.length>0?right:left}else if(this.ChangesOverlap(left[left.length-1],right[0],mergedChangeArr)){const result=new Array(left.length+right.length-1);MyArray.Copy(left,0,result,0,left.length-1);result[left.length-1]=mergedChangeArr[0];MyArray.Copy(right,1,result,left.length,right.length-1);return result}else{const result=new Array(left.length+right.length);MyArray.Copy(left,0,result,0,left.length);MyArray.Copy(right,0,result,left.length,right.length);return result}}ChangesOverlap(left,right,mergedChangeArr){Debug.Assert(left.originalStart<=right.originalStart,"Left change is not less than or equal to right change");Debug.Assert(left.modifiedStart<=right.modifiedStart,"Left change is not less than or equal to right change");if(left.originalStart+left.originalLength>=right.originalStart||left.modifiedStart+left.modifiedLength>=right.modifiedStart){const originalStart=left.originalStart;let originalLength=left.originalLength;const modifiedStart=left.modifiedStart;let modifiedLength=left.modifiedLength;if(left.originalStart+left.originalLength>=right.originalStart){originalLength=right.originalStart+right.originalLength-left.originalStart}if(left.modifiedStart+left.modifiedLength>=right.modifiedStart){modifiedLength=right.modifiedStart+right.modifiedLength-left.modifiedStart}mergedChangeArr[0]=new DiffChange(originalStart,originalLength,modifiedStart,modifiedLength);return true}else{mergedChangeArr[0]=null;return false}}ClipDiagonalBound(diagonal,numDifferences,diagonalBaseIndex,numDiagonals){if(diagonal>=0&&diagonal<numDiagonals){return diagonal}const diagonalsBelow=diagonalBaseIndex;const diagonalsAbove=numDiagonals-diagonalBaseIndex-1;const diffEven=numDifferences%2===0;if(diagonal<0){const lowerBoundEven=diagonalsBelow%2===0;return diffEven===lowerBoundEven?0:1}else{const upperBoundEven=diagonalsAbove%2===0;return diffEven===upperBoundEven?numDiagonals-1:numDiagonals-2}}}}});function toUint8(v){if(v<0){return 0}if(v>255){return 255}return v|0}function toUint32(v){if(v<0){return 0}if(v>4294967295){return 4294967295}return v|0}var init_uint=__esm({"node_modules/monaco-editor/esm/vs/base/common/uint.js"(){}});var PrefixSumComputer,ConstantTimePrefixSumComputer,PrefixSumIndexOfResult;var init_prefixSumComputer=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/prefixSumComputer.js"(){init_arrays();init_uint();PrefixSumComputer=class{constructor(values){this.values=values;this.prefixSum=new Uint32Array(values.length);this.prefixSumValidIndex=new Int32Array(1);this.prefixSumValidIndex[0]=-1}insertValues(insertIndex,insertValues){insertIndex=toUint32(insertIndex);const oldValues=this.values;const oldPrefixSum=this.prefixSum;const insertValuesLen=insertValues.length;if(insertValuesLen===0){return false}this.values=new Uint32Array(oldValues.length+insertValuesLen);this.values.set(oldValues.subarray(0,insertIndex),0);this.values.set(oldValues.subarray(insertIndex),insertIndex+insertValuesLen);this.values.set(insertValues,insertIndex);if(insertIndex-1<this.prefixSumValidIndex[0]){this.prefixSumValidIndex[0]=insertIndex-1}this.prefixSum=new Uint32Array(this.values.length);if(this.prefixSumValidIndex[0]>=0){this.prefixSum.set(oldPrefixSum.subarray(0,this.prefixSumValidIndex[0]+1))}return true}setValue(index,value){index=toUint32(index);value=toUint32(value);if(this.values[index]===value){return false}this.values[index]=value;if(index-1<this.prefixSumValidIndex[0]){this.prefixSumValidIndex[0]=index-1}return true}removeValues(startIndex,count){startIndex=toUint32(startIndex);count=toUint32(count);const oldValues=this.values;const oldPrefixSum=this.prefixSum;if(startIndex>=oldValues.length){return false}const maxCount=oldValues.length-startIndex;if(count>=maxCount){count=maxCount}if(count===0){return false}this.values=new Uint32Array(oldValues.length-count);this.values.set(oldValues.subarray(0,startIndex),0);this.values.set(oldValues.subarray(startIndex+count),startIndex);this.prefixSum=new Uint32Array(this.values.length);if(startIndex-1<this.prefixSumValidIndex[0]){this.prefixSumValidIndex[0]=startIndex-1}if(this.prefixSumValidIndex[0]>=0){this.prefixSum.set(oldPrefixSum.subarray(0,this.prefixSumValidIndex[0]+1))}return true}getTotalSum(){if(this.values.length===0){return 0}return this._getPrefixSum(this.values.length-1)}getPrefixSum(index){if(index<0){return 0}index=toUint32(index);return this._getPrefixSum(index)}_getPrefixSum(index){if(index<=this.prefixSumValidIndex[0]){return this.prefixSum[index]}let startIndex=this.prefixSumValidIndex[0]+1;if(startIndex===0){this.prefixSum[0]=this.values[0];startIndex++}if(index>=this.values.length){index=this.values.length-1}for(let i=startIndex;i<=index;i++){this.prefixSum[i]=this.prefixSum[i-1]+this.values[i]}this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],index);return this.prefixSum[index]}getIndexOf(sum){sum=Math.floor(sum);this.getTotalSum();let low=0;let high=this.values.length-1;let mid=0;let midStop=0;let midStart=0;while(low<=high){mid=low+(high-low)/2|0;midStop=this.prefixSum[mid];midStart=midStop-this.values[mid];if(sum<midStart){high=mid-1}else if(sum>=midStop){low=mid+1}else{break}}return new PrefixSumIndexOfResult(mid,sum-midStart)}};ConstantTimePrefixSumComputer=class{constructor(values){this._values=values;this._isValid=false;this._validEndIndex=-1;this._prefixSum=[];this._indexBySum=[]}getTotalSum(){this._ensureValid();return this._indexBySum.length}getPrefixSum(count){this._ensureValid();if(count===0){return 0}return this._prefixSum[count-1]}getIndexOf(sum){this._ensureValid();const idx=this._indexBySum[sum];const viewLinesAbove=idx>0?this._prefixSum[idx-1]:0;return new PrefixSumIndexOfResult(idx,sum-viewLinesAbove)}removeValues(start,deleteCount){this._values.splice(start,deleteCount);this._invalidate(start)}insertValues(insertIndex,insertArr){this._values=arrayInsert(this._values,insertIndex,insertArr);this._invalidate(insertIndex)}_invalidate(index){this._isValid=false;this._validEndIndex=Math.min(this._validEndIndex,index-1)}_ensureValid(){if(this._isValid){return}for(let i=this._validEndIndex+1,len=this._values.length;i<len;i++){const value=this._values[i];const sumAbove=i>0?this._prefixSum[i-1]:0;this._prefixSum[i]=sumAbove+value;for(let j=0;j<value;j++){this._indexBySum[sumAbove+j]=i}}this._prefixSum.length=this._values.length;this._indexBySum.length=this._prefixSum[this._prefixSum.length-1];this._isValid=true;this._validEndIndex=this._values.length-1}setValue(index,value){if(this._values[index]===value){return}this._values[index]=value;this._invalidate(index)}};PrefixSumIndexOfResult=class{constructor(index,remainder){this.index=index;this.remainder=remainder;this._prefixSumIndexOfResultBrand=void 0;this.index=index;this.remainder=remainder}}}});var MirrorTextModel;var init_mirrorTextModel=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/mirrorTextModel.js"(){init_strings();init_position();init_prefixSumComputer();MirrorTextModel=class{constructor(uri,lines,eol,versionId){this._uri=uri;this._lines=lines;this._eol=eol;this._versionId=versionId;this._lineStarts=null;this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){if(this._cachedTextValue===null){this._cachedTextValue=this._lines.join(this._eol)}return this._cachedTextValue}onEvents(e){if(e.eol&&e.eol!==this._eol){this._eol=e.eol;this._lineStarts=null}const changes=e.changes;for(const change of changes){this._acceptDeleteRange(change.range);this._acceptInsertText(new Position(change.range.startLineNumber,change.range.startColumn),change.text)}this._versionId=e.versionId;this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const eolLength=this._eol.length;const linesLength=this._lines.length;const lineStartValues=new Uint32Array(linesLength);for(let i=0;i<linesLength;i++){lineStartValues[i]=this._lines[i].length+eolLength}this._lineStarts=new PrefixSumComputer(lineStartValues)}}_setLineText(lineIndex,newValue){this._lines[lineIndex]=newValue;if(this._lineStarts){this._lineStarts.setValue(lineIndex,this._lines[lineIndex].length+this._eol.length)}}_acceptDeleteRange(range2){if(range2.startLineNumber===range2.endLineNumber){if(range2.startColumn===range2.endColumn){return}this._setLineText(range2.startLineNumber-1,this._lines[range2.startLineNumber-1].substring(0,range2.startColumn-1)+this._lines[range2.startLineNumber-1].substring(range2.endColumn-1));return}this._setLineText(range2.startLineNumber-1,this._lines[range2.startLineNumber-1].substring(0,range2.startColumn-1)+this._lines[range2.endLineNumber-1].substring(range2.endColumn-1));this._lines.splice(range2.startLineNumber,range2.endLineNumber-range2.startLineNumber);if(this._lineStarts){this._lineStarts.removeValues(range2.startLineNumber,range2.endLineNumber-range2.startLineNumber)}}_acceptInsertText(position,insertText){if(insertText.length===0){return}const insertLines=splitLines(insertText);if(insertLines.length===1){this._setLineText(position.lineNumber-1,this._lines[position.lineNumber-1].substring(0,position.column-1)+insertLines[0]+this._lines[position.lineNumber-1].substring(position.column-1));return}insertLines[insertLines.length-1]+=this._lines[position.lineNumber-1].substring(position.column-1);this._setLineText(position.lineNumber-1,this._lines[position.lineNumber-1].substring(0,position.column-1)+insertLines[0]);const newLengths=new Uint32Array(insertLines.length-1);for(let i=1;i<insertLines.length;i++){this._lines.splice(position.lineNumber+i-1,0,insertLines[i]);newLengths[i-1]=insertLines[i].length+this._eol.length}if(this._lineStarts){this._lineStarts.insertValues(position.lineNumber,newLengths)}}}}});var CharacterClassifier,CharacterSet;var init_characterClassifier=__esm({"node_modules/monaco-editor/esm/vs/editor/common/core/characterClassifier.js"(){init_uint();CharacterClassifier=class{constructor(_defaultValue){const defaultValue=toUint8(_defaultValue);this._defaultValue=defaultValue;this._asciiMap=CharacterClassifier._createAsciiMap(defaultValue);this._map=new Map}static _createAsciiMap(defaultValue){const asciiMap=new Uint8Array(256);asciiMap.fill(defaultValue);return asciiMap}set(charCode,_value){const value=toUint8(_value);if(charCode>=0&&charCode<256){this._asciiMap[charCode]=value}else{this._map.set(charCode,value)}}get(charCode){if(charCode>=0&&charCode<256){return this._asciiMap[charCode]}else{return this._map.get(charCode)||this._defaultValue}}clear(){this._asciiMap.fill(this._defaultValue);this._map.clear()}};CharacterSet=class{constructor(){this._actual=new CharacterClassifier(0)}add(charCode){this._actual.set(charCode,1)}has(charCode){return this._actual.get(charCode)===1}clear(){return this._actual.clear()}}}});function getStateMachine(){if(_stateMachine===null){_stateMachine=new StateMachine([[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]])}return _stateMachine}function getClassifier(){if(_classifier===null){_classifier=new CharacterClassifier(0);const FORCE_TERMINATION_CHARACTERS=` \t<>'"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…`;for(let i=0;i<FORCE_TERMINATION_CHARACTERS.length;i++){_classifier.set(FORCE_TERMINATION_CHARACTERS.charCodeAt(i),1)}const CANNOT_END_WITH_CHARACTERS=".,;:";for(let i=0;i<CANNOT_END_WITH_CHARACTERS.length;i++){_classifier.set(CANNOT_END_WITH_CHARACTERS.charCodeAt(i),2)}}return _classifier}function computeLinks(model){if(!model||typeof model.getLineCount!=="function"||typeof model.getLineContent!=="function"){return[]}return LinkComputer.computeLinks(model)}var Uint8Matrix,StateMachine,_stateMachine,_classifier,LinkComputer;var init_linkComputer=__esm({"node_modules/monaco-editor/esm/vs/editor/common/languages/linkComputer.js"(){init_characterClassifier();Uint8Matrix=class{constructor(rows,cols,defaultValue){const data=new Uint8Array(rows*cols);for(let i=0,len=rows*cols;i<len;i++){data[i]=defaultValue}this._data=data;this.rows=rows;this.cols=cols}get(row,col){return this._data[row*this.cols+col]}set(row,col,value){this._data[row*this.cols+col]=value}};StateMachine=class{constructor(edges){let maxCharCode=0;let maxState=0;for(let i=0,len=edges.length;i<len;i++){const[from,chCode,to]=edges[i];if(chCode>maxCharCode){maxCharCode=chCode}if(from>maxState){maxState=from}if(to>maxState){maxState=to}}maxCharCode++;maxState++;const states=new Uint8Matrix(maxState,maxCharCode,0);for(let i=0,len=edges.length;i<len;i++){const[from,chCode,to]=edges[i];states.set(from,chCode,to)}this._states=states;this._maxCharCode=maxCharCode}nextState(currentState,chCode){if(chCode<0||chCode>=this._maxCharCode){return 0}return this._states.get(currentState,chCode)}};_stateMachine=null;_classifier=null;LinkComputer=class{static _createLink(classifier,line,lineNumber,linkBeginIndex,linkEndIndex){let lastIncludedCharIndex=linkEndIndex-1;do{const chCode=line.charCodeAt(lastIncludedCharIndex);const chClass=classifier.get(chCode);if(chClass!==2){break}lastIncludedCharIndex--}while(lastIncludedCharIndex>linkBeginIndex);if(linkBeginIndex>0){const charCodeBeforeLink=line.charCodeAt(linkBeginIndex-1);const lastCharCodeInLink=line.charCodeAt(lastIncludedCharIndex);if(charCodeBeforeLink===40&&lastCharCodeInLink===41||charCodeBeforeLink===91&&lastCharCodeInLink===93||charCodeBeforeLink===123&&lastCharCodeInLink===125){lastIncludedCharIndex--}}return{range:{startLineNumber:lineNumber,startColumn:linkBeginIndex+1,endLineNumber:lineNumber,endColumn:lastIncludedCharIndex+2},url:line.substring(linkBeginIndex,lastIncludedCharIndex+1)}}static computeLinks(model,stateMachine=getStateMachine()){const classifier=getClassifier();const result=[];for(let i=1,lineCount=model.getLineCount();i<=lineCount;i++){const line=model.getLineContent(i);const len=line.length;let j=0;let linkBeginIndex=0;let linkBeginChCode=0;let state=1;let hasOpenParens=false;let hasOpenSquareBracket=false;let inSquareBrackets=false;let hasOpenCurlyBracket=false;while(j<len){let resetStateMachine=false;const chCode=line.charCodeAt(j);if(state===13){let chClass;switch(chCode){case 40:hasOpenParens=true;chClass=0;break;case 41:chClass=hasOpenParens?0:1;break;case 91:inSquareBrackets=true;hasOpenSquareBracket=true;chClass=0;break;case 93:inSquareBrackets=false;chClass=hasOpenSquareBracket?0:1;break;case 123:hasOpenCurlyBracket=true;chClass=0;break;case 125:chClass=hasOpenCurlyBracket?0:1;break;case 39:case 34:case 96:if(linkBeginChCode===chCode){chClass=1}else if(linkBeginChCode===39||linkBeginChCode===34||linkBeginChCode===96){chClass=0}else{chClass=1}break;case 42:chClass=linkBeginChCode===42?1:0;break;case 124:chClass=linkBeginChCode===124?1:0;break;case 32:chClass=inSquareBrackets?0:1;break;default:chClass=classifier.get(chCode)}if(chClass===1){result.push(LinkComputer._createLink(classifier,line,i,linkBeginIndex,j));resetStateMachine=true}}else if(state===12){let chClass;if(chCode===91){hasOpenSquareBracket=true;chClass=0}else{chClass=classifier.get(chCode)}if(chClass===1){resetStateMachine=true}else{state=13}}else{state=stateMachine.nextState(state,chCode);if(state===0){resetStateMachine=true}}if(resetStateMachine){state=1;hasOpenParens=false;hasOpenSquareBracket=false;hasOpenCurlyBracket=false;linkBeginIndex=j+1;linkBeginChCode=chCode}j++}if(state===13){result.push(LinkComputer._createLink(classifier,line,i,linkBeginIndex,len))}}return result}}}});var BasicInplaceReplace;var init_inplaceReplaceSupport=__esm({"node_modules/monaco-editor/esm/vs/editor/common/languages/supports/inplaceReplaceSupport.js"(){BasicInplaceReplace=class{constructor(){this._defaultValueSet=[["true","false"],["True","False"],["Private","Public","Friend","ReadOnly","Partial","Protected","WriteOnly"],["public","protected","private"]]}navigateValueSet(range1,text1,range2,text2,up){if(range1&&text1){const result=this.doNavigateValueSet(text1,up);if(result){return{range:range1,value:result}}}if(range2&&text2){const result=this.doNavigateValueSet(text2,up);if(result){return{range:range2,value:result}}}return null}doNavigateValueSet(text2,up){const numberResult=this.numberReplace(text2,up);if(numberResult!==null){return numberResult}return this.textReplace(text2,up)}numberReplace(value,up){const precision=Math.pow(10,value.length-(value.lastIndexOf(".")+1));let n1=Number(value);const n2=parseFloat(value);if(!isNaN(n1)&&!isNaN(n2)&&n1===n2){if(n1===0&&!up){return null}else{n1=Math.floor(n1*precision);n1+=up?precision:-precision;return String(n1/precision)}}return null}textReplace(value,up){return this.valueSetsReplace(this._defaultValueSet,value,up)}valueSetsReplace(valueSets,value,up){let result=null;for(let i=0,len=valueSets.length;result===null&&i<len;i++){result=this.valueSetReplace(valueSets[i],value,up)}return result}valueSetReplace(valueSet,value,up){let idx=valueSet.indexOf(value);if(idx>=0){idx+=up?1:-1;if(idx<0){idx=valueSet.length-1}else{idx%=valueSet.length}return valueSet[idx]}return null}};BasicInplaceReplace.INSTANCE=new BasicInplaceReplace}});function once2(computeFn){const cache={};return input=>{if(!cache.hasOwnProperty(input)){cache[input]=computeFn(input)}return cache[input]}}var WordCharacterClassifier,getMapForWordSeparators;var init_wordCharacterClassifier=__esm({"node_modules/monaco-editor/esm/vs/editor/common/core/wordCharacterClassifier.js"(){init_characterClassifier();WordCharacterClassifier=class extends CharacterClassifier{constructor(wordSeparators2){super(0);for(let i=0,len=wordSeparators2.length;i<len;i++){this.set(wordSeparators2.charCodeAt(i),2)}this.set(32,1);this.set(9,1)}};getMapForWordSeparators=once2((input=>new WordCharacterClassifier(input)))}});function isMultilineRegexSource(searchString){if(!searchString||searchString.length===0){return false}for(let i=0,len=searchString.length;i<len;i++){const chCode=searchString.charCodeAt(i);if(chCode===10){return true}if(chCode===92){i++;if(i>=len){break}const nextChCode=searchString.charCodeAt(i);if(nextChCode===110||nextChCode===114||nextChCode===87){return true}}}return false}function createFindMatch(range2,rawMatches,captureMatches){if(!captureMatches){return new FindMatch(range2,null)}const matches=[];for(let i=0,len=rawMatches.length;i<len;i++){matches[i]=rawMatches[i]}return new FindMatch(range2,matches)}function leftIsWordBounday(wordSeparators2,text2,textLength,matchStartIndex,matchLength){if(matchStartIndex===0){return true}const charBefore=text2.charCodeAt(matchStartIndex-1);if(wordSeparators2.get(charBefore)!==0){return true}if(charBefore===13||charBefore===10){return true}if(matchLength>0){const firstCharInMatch=text2.charCodeAt(matchStartIndex);if(wordSeparators2.get(firstCharInMatch)!==0){return true}}return false}function rightIsWordBounday(wordSeparators2,text2,textLength,matchStartIndex,matchLength){if(matchStartIndex+matchLength===textLength){return true}const charAfter=text2.charCodeAt(matchStartIndex+matchLength);if(wordSeparators2.get(charAfter)!==0){return true}if(charAfter===13||charAfter===10){return true}if(matchLength>0){const lastCharInMatch=text2.charCodeAt(matchStartIndex+matchLength-1);if(wordSeparators2.get(lastCharInMatch)!==0){return true}}return false}function isValidMatch(wordSeparators2,text2,textLength,matchStartIndex,matchLength){return leftIsWordBounday(wordSeparators2,text2,textLength,matchStartIndex,matchLength)&&rightIsWordBounday(wordSeparators2,text2,textLength,matchStartIndex,matchLength)}var LIMIT_FIND_COUNT,SearchParams,LineFeedCounter,TextModelSearch,Searcher;var init_textModelSearch=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/textModelSearch.js"(){init_strings();init_wordCharacterClassifier();init_position();init_range();init_model();LIMIT_FIND_COUNT=999;SearchParams=class{constructor(searchString,isRegex,matchCase,wordSeparators2){this.searchString=searchString;this.isRegex=isRegex;this.matchCase=matchCase;this.wordSeparators=wordSeparators2}parseSearchRequest(){if(this.searchString===""){return null}let multiline;if(this.isRegex){multiline=isMultilineRegexSource(this.searchString)}else{multiline=this.searchString.indexOf("\n")>=0}let regex=null;try{regex=createRegExp(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:false,multiline:multiline,global:true,unicode:true})}catch(err){return null}if(!regex){return null}let canUseSimpleSearch=!this.isRegex&&!multiline;if(canUseSimpleSearch&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()){canUseSimpleSearch=this.matchCase}return new SearchData(regex,this.wordSeparators?getMapForWordSeparators(this.wordSeparators):null,canUseSimpleSearch?this.searchString:null)}};LineFeedCounter=class{constructor(text2){const lineFeedsOffsets=[];let lineFeedsOffsetsLen=0;for(let i=0,textLen=text2.length;i<textLen;i++){if(text2.charCodeAt(i)===10){lineFeedsOffsets[lineFeedsOffsetsLen++]=i}}this._lineFeedsOffsets=lineFeedsOffsets}findLineFeedCountBeforeOffset(offset){const lineFeedsOffsets=this._lineFeedsOffsets;let min=0;let max=lineFeedsOffsets.length-1;if(max===-1){return 0}if(offset<=lineFeedsOffsets[0]){return 0}while(min<max){const mid=min+((max-min)/2>>0);if(lineFeedsOffsets[mid]>=offset){max=mid-1}else{if(lineFeedsOffsets[mid+1]>=offset){min=mid;max=mid}else{min=mid+1}}}return min+1}};TextModelSearch=class{static findMatches(model,searchParams,searchRange,captureMatches,limitResultCount){const searchData=searchParams.parseSearchRequest();if(!searchData){return[]}if(searchData.regex.multiline){return this._doFindMatchesMultiline(model,searchRange,new Searcher(searchData.wordSeparators,searchData.regex),captureMatches,limitResultCount)}return this._doFindMatchesLineByLine(model,searchRange,searchData,captureMatches,limitResultCount)}static _getMultilineMatchRange(model,deltaOffset,text2,lfCounter,matchIndex,match0){let startOffset;let lineFeedCountBeforeMatch=0;if(lfCounter){lineFeedCountBeforeMatch=lfCounter.findLineFeedCountBeforeOffset(matchIndex);startOffset=deltaOffset+matchIndex+lineFeedCountBeforeMatch}else{startOffset=deltaOffset+matchIndex}let endOffset;if(lfCounter){const lineFeedCountBeforeEndOfMatch=lfCounter.findLineFeedCountBeforeOffset(matchIndex+match0.length);const lineFeedCountInMatch=lineFeedCountBeforeEndOfMatch-lineFeedCountBeforeMatch;endOffset=startOffset+match0.length+lineFeedCountInMatch}else{endOffset=startOffset+match0.length}const startPosition=model.getPositionAt(startOffset);const endPosition=model.getPositionAt(endOffset);return new Range(startPosition.lineNumber,startPosition.column,endPosition.lineNumber,endPosition.column)}static _doFindMatchesMultiline(model,searchRange,searcher,captureMatches,limitResultCount){const deltaOffset=model.getOffsetAt(searchRange.getStartPosition());const text2=model.getValueInRange(searchRange,1);const lfCounter=model.getEOL()==="\r\n"?new LineFeedCounter(text2):null;const result=[];let counter=0;let m;searcher.reset(0);while(m=searcher.next(text2)){result[counter++]=createFindMatch(this._getMultilineMatchRange(model,deltaOffset,text2,lfCounter,m.index,m[0]),m,captureMatches);if(counter>=limitResultCount){return result}}return result}static _doFindMatchesLineByLine(model,searchRange,searchData,captureMatches,limitResultCount){const result=[];let resultLen=0;if(searchRange.startLineNumber===searchRange.endLineNumber){const text3=model.getLineContent(searchRange.startLineNumber).substring(searchRange.startColumn-1,searchRange.endColumn-1);resultLen=this._findMatchesInLine(searchData,text3,searchRange.startLineNumber,searchRange.startColumn-1,resultLen,result,captureMatches,limitResultCount);return result}const text2=model.getLineContent(searchRange.startLineNumber).substring(searchRange.startColumn-1);resultLen=this._findMatchesInLine(searchData,text2,searchRange.startLineNumber,searchRange.startColumn-1,resultLen,result,captureMatches,limitResultCount);for(let lineNumber=searchRange.startLineNumber+1;lineNumber<searchRange.endLineNumber&&resultLen<limitResultCount;lineNumber++){resultLen=this._findMatchesInLine(searchData,model.getLineContent(lineNumber),lineNumber,0,resultLen,result,captureMatches,limitResultCount)}if(resultLen<limitResultCount){const text3=model.getLineContent(searchRange.endLineNumber).substring(0,searchRange.endColumn-1);resultLen=this._findMatchesInLine(searchData,text3,searchRange.endLineNumber,0,resultLen,result,captureMatches,limitResultCount)}return result}static _findMatchesInLine(searchData,text2,lineNumber,deltaOffset,resultLen,result,captureMatches,limitResultCount){const wordSeparators2=searchData.wordSeparators;if(!captureMatches&&searchData.simpleSearch){const searchString=searchData.simpleSearch;const searchStringLen=searchString.length;const textLength=text2.length;let lastMatchIndex=-searchStringLen;while((lastMatchIndex=text2.indexOf(searchString,lastMatchIndex+searchStringLen))!==-1){if(!wordSeparators2||isValidMatch(wordSeparators2,text2,textLength,lastMatchIndex,searchStringLen)){result[resultLen++]=new FindMatch(new Range(lineNumber,lastMatchIndex+1+deltaOffset,lineNumber,lastMatchIndex+1+searchStringLen+deltaOffset),null);if(resultLen>=limitResultCount){return resultLen}}}return resultLen}const searcher=new Searcher(searchData.wordSeparators,searchData.regex);let m;searcher.reset(0);do{m=searcher.next(text2);if(m){result[resultLen++]=createFindMatch(new Range(lineNumber,m.index+1+deltaOffset,lineNumber,m.index+1+m[0].length+deltaOffset),m,captureMatches);if(resultLen>=limitResultCount){return resultLen}}}while(m);return resultLen}static findNextMatch(model,searchParams,searchStart,captureMatches){const searchData=searchParams.parseSearchRequest();if(!searchData){return null}const searcher=new Searcher(searchData.wordSeparators,searchData.regex);if(searchData.regex.multiline){return this._doFindNextMatchMultiline(model,searchStart,searcher,captureMatches)}return this._doFindNextMatchLineByLine(model,searchStart,searcher,captureMatches)}static _doFindNextMatchMultiline(model,searchStart,searcher,captureMatches){const searchTextStart=new Position(searchStart.lineNumber,1);const deltaOffset=model.getOffsetAt(searchTextStart);const lineCount=model.getLineCount();const text2=model.getValueInRange(new Range(searchTextStart.lineNumber,searchTextStart.column,lineCount,model.getLineMaxColumn(lineCount)),1);const lfCounter=model.getEOL()==="\r\n"?new LineFeedCounter(text2):null;searcher.reset(searchStart.column-1);const m=searcher.next(text2);if(m){return createFindMatch(this._getMultilineMatchRange(model,deltaOffset,text2,lfCounter,m.index,m[0]),m,captureMatches)}if(searchStart.lineNumber!==1||searchStart.column!==1){return this._doFindNextMatchMultiline(model,new Position(1,1),searcher,captureMatches)}return null}static _doFindNextMatchLineByLine(model,searchStart,searcher,captureMatches){const lineCount=model.getLineCount();const startLineNumber=searchStart.lineNumber;const text2=model.getLineContent(startLineNumber);const r=this._findFirstMatchInLine(searcher,text2,startLineNumber,searchStart.column,captureMatches);if(r){return r}for(let i=1;i<=lineCount;i++){const lineIndex=(startLineNumber+i-1)%lineCount;const text3=model.getLineContent(lineIndex+1);const r2=this._findFirstMatchInLine(searcher,text3,lineIndex+1,1,captureMatches);if(r2){return r2}}return null}static _findFirstMatchInLine(searcher,text2,lineNumber,fromColumn,captureMatches){searcher.reset(fromColumn-1);const m=searcher.next(text2);if(m){return createFindMatch(new Range(lineNumber,m.index+1,lineNumber,m.index+1+m[0].length),m,captureMatches)}return null}static findPreviousMatch(model,searchParams,searchStart,captureMatches){const searchData=searchParams.parseSearchRequest();if(!searchData){return null}const searcher=new Searcher(searchData.wordSeparators,searchData.regex);if(searchData.regex.multiline){return this._doFindPreviousMatchMultiline(model,searchStart,searcher,captureMatches)}return this._doFindPreviousMatchLineByLine(model,searchStart,searcher,captureMatches)}static _doFindPreviousMatchMultiline(model,searchStart,searcher,captureMatches){const matches=this._doFindMatchesMultiline(model,new Range(1,1,searchStart.lineNumber,searchStart.column),searcher,captureMatches,10*LIMIT_FIND_COUNT);if(matches.length>0){return matches[matches.length-1]}const lineCount=model.getLineCount();if(searchStart.lineNumber!==lineCount||searchStart.column!==model.getLineMaxColumn(lineCount)){return this._doFindPreviousMatchMultiline(model,new Position(lineCount,model.getLineMaxColumn(lineCount)),searcher,captureMatches)}return null}static _doFindPreviousMatchLineByLine(model,searchStart,searcher,captureMatches){const lineCount=model.getLineCount();const startLineNumber=searchStart.lineNumber;const text2=model.getLineContent(startLineNumber).substring(0,searchStart.column-1);const r=this._findLastMatchInLine(searcher,text2,startLineNumber,captureMatches);if(r){return r}for(let i=1;i<=lineCount;i++){const lineIndex=(lineCount+startLineNumber-i-1)%lineCount;const text3=model.getLineContent(lineIndex+1);const r2=this._findLastMatchInLine(searcher,text3,lineIndex+1,captureMatches);if(r2){return r2}}return null}static _findLastMatchInLine(searcher,text2,lineNumber,captureMatches){let bestResult=null;let m;searcher.reset(0);while(m=searcher.next(text2)){bestResult=createFindMatch(new Range(lineNumber,m.index+1,lineNumber,m.index+1+m[0].length),m,captureMatches)}return bestResult}};Searcher=class{constructor(wordSeparators2,searchRegex){this._wordSeparators=wordSeparators2;this._searchRegex=searchRegex;this._prevMatchStartIndex=-1;this._prevMatchLength=0}reset(lastIndex){this._searchRegex.lastIndex=lastIndex;this._prevMatchStartIndex=-1;this._prevMatchLength=0}next(text2){const textLength=text2.length;let m;do{if(this._prevMatchStartIndex+this._prevMatchLength===textLength){return null}m=this._searchRegex.exec(text2);if(!m){return null}const matchStartIndex=m.index;const matchLength=m[0].length;if(matchStartIndex===this._prevMatchStartIndex&&matchLength===this._prevMatchLength){if(matchLength===0){if(getNextCodePoint(text2,textLength,this._searchRegex.lastIndex)>65535){this._searchRegex.lastIndex+=2}else{this._searchRegex.lastIndex+=1}continue}return null}this._prevMatchStartIndex=matchStartIndex;this._prevMatchLength=matchLength;if(!this._wordSeparators||isValidMatch(this._wordSeparators,text2,textLength,matchStartIndex,matchLength)){return m}}while(m);return null}}}});function buildRegExpCharClassExpr(codePoints,flags){const src=`[${escapeRegExpCharacters(codePoints.map((i=>String.fromCodePoint(i))).join(""))}]`;return src}function isAllowedInvisibleCharacter(character){return character===" "||character==="\n"||character==="\t"}var UnicodeTextModelHighlighter,CodePointHighlighter;var init_unicodeTextModelHighlighter=__esm({"node_modules/monaco-editor/esm/vs/editor/common/services/unicodeTextModelHighlighter.js"(){init_range();init_textModelSearch();init_strings();init_assert();init_wordHelper();UnicodeTextModelHighlighter=class{static computeUnicodeHighlights(model,options2,range2){const startLine=range2?range2.startLineNumber:1;const endLine=range2?range2.endLineNumber:model.getLineCount();const codePointHighlighter=new CodePointHighlighter(options2);const candidates=codePointHighlighter.getCandidateCodePoints();let regex;if(candidates==="allNonBasicAscii"){regex=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g")}else{regex=new RegExp(`${buildRegExpCharClassExpr(Array.from(candidates))}`,"g")}const searcher=new Searcher(null,regex);const ranges=[];let hasMore=false;let m;let ambiguousCharacterCount=0;let invisibleCharacterCount=0;let nonBasicAsciiCharacterCount=0;forLoop:for(let lineNumber=startLine,lineCount=endLine;lineNumber<=lineCount;lineNumber++){const lineContent=model.getLineContent(lineNumber);const lineLength=lineContent.length;searcher.reset(0);do{m=searcher.next(lineContent);if(m){let startIndex=m.index;let endIndex=m.index+m[0].length;if(startIndex>0){const charCodeBefore=lineContent.charCodeAt(startIndex-1);if(isHighSurrogate(charCodeBefore)){startIndex--}}if(endIndex+1<lineLength){const charCodeBefore=lineContent.charCodeAt(endIndex-1);if(isHighSurrogate(charCodeBefore)){endIndex++}}const str=lineContent.substring(startIndex,endIndex);let word=getWordAtText(startIndex+1,DEFAULT_WORD_REGEXP,lineContent,0);if(word&&word.endColumn<=startIndex+1){word=null}const highlightReason=codePointHighlighter.shouldHighlightNonBasicASCII(str,word?word.word:null);if(highlightReason!==0){if(highlightReason===3){ambiguousCharacterCount++}else if(highlightReason===2){invisibleCharacterCount++}else if(highlightReason===1){nonBasicAsciiCharacterCount++}else{assertNever(highlightReason)}const MAX_RESULT_LENGTH=1e3;if(ranges.length>=MAX_RESULT_LENGTH){hasMore=true;break forLoop}ranges.push(new Range(lineNumber,startIndex+1,lineNumber,endIndex+1))}}}while(m)}return{ranges:ranges,hasMore:hasMore,ambiguousCharacterCount:ambiguousCharacterCount,invisibleCharacterCount:invisibleCharacterCount,nonBasicAsciiCharacterCount:nonBasicAsciiCharacterCount}}static computeUnicodeHighlightReason(char,options2){const codePointHighlighter=new CodePointHighlighter(options2);const reason=codePointHighlighter.shouldHighlightNonBasicASCII(char,null);switch(reason){case 0:return null;case 2:return{kind:1};case 3:{const codePoint=char.codePointAt(0);const primaryConfusable=codePointHighlighter.ambiguousCharacters.getPrimaryConfusable(codePoint);const notAmbiguousInLocales=AmbiguousCharacters.getLocales().filter((l=>!AmbiguousCharacters.getInstance(new Set([...options2.allowedLocales,l])).isAmbiguous(codePoint)));return{kind:0,confusableWith:String.fromCodePoint(primaryConfusable),notAmbiguousInLocales:notAmbiguousInLocales}}case 1:return{kind:2}}}};CodePointHighlighter=class{constructor(options2){this.options=options2;this.allowedCodePoints=new Set(options2.allowedCodePoints);this.ambiguousCharacters=AmbiguousCharacters.getInstance(new Set(options2.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII){return"allNonBasicAscii"}const set=new Set;if(this.options.invisibleCharacters){for(const cp of InvisibleCharacters.codePoints){if(!isAllowedInvisibleCharacter(String.fromCodePoint(cp))){set.add(cp)}}}if(this.options.ambiguousCharacters){for(const cp of this.ambiguousCharacters.getConfusableCodePoints()){set.add(cp)}}for(const cp of this.allowedCodePoints){set.delete(cp)}return set}shouldHighlightNonBasicASCII(character,wordContext){const codePoint=character.codePointAt(0);if(this.allowedCodePoints.has(codePoint)){return 0}if(this.options.nonBasicASCII){return 1}let hasBasicASCIICharacters=false;let hasNonConfusableNonBasicAsciiCharacter=false;if(wordContext){for(const char of wordContext){const codePoint2=char.codePointAt(0);const isBasicASCII2=isBasicASCII(char);hasBasicASCIICharacters=hasBasicASCIICharacters||isBasicASCII2;if(!isBasicASCII2&&!this.ambiguousCharacters.isAmbiguous(codePoint2)&&!InvisibleCharacters.isInvisibleCharacter(codePoint2)){hasNonConfusableNonBasicAsciiCharacter=true}}}if(!hasBasicASCIICharacters&&hasNonConfusableNonBasicAsciiCharacter){return 0}if(this.options.invisibleCharacters){if(!isAllowedInvisibleCharacter(character)&&InvisibleCharacters.isInvisibleCharacter(codePoint)){return 2}}if(this.options.ambiguousCharacters){if(this.ambiguousCharacters.isAmbiguous(codePoint)){return 3}}return 0}}}});var OffsetRange,OffsetRangeSet;var init_offsetRange=__esm({"node_modules/monaco-editor/esm/vs/editor/common/core/offsetRange.js"(){init_errors();OffsetRange=class{static addRange(range2,sortedRanges){let i=0;while(i<sortedRanges.length&&sortedRanges[i].endExclusive<range2.start){i++}let j=i;while(j<sortedRanges.length&&sortedRanges[j].start<=range2.endExclusive){j++}if(i===j){sortedRanges.splice(i,0,range2)}else{const start=Math.min(range2.start,sortedRanges[i].start);const end=Math.max(range2.endExclusive,sortedRanges[j-1].endExclusive);sortedRanges.splice(i,j-i,new OffsetRange(start,end))}}static tryCreate(start,endExclusive){if(start>endExclusive){return void 0}return new OffsetRange(start,endExclusive)}static ofLength(length2){return new OffsetRange(0,length2)}constructor(start,endExclusive){this.start=start;this.endExclusive=endExclusive;if(start>endExclusive){throw new BugIndicatingError(`Invalid range: ${this.toString()}`)}}get isEmpty(){return this.start===this.endExclusive}delta(offset){return new OffsetRange(this.start+offset,this.endExclusive+offset)}deltaStart(offset){return new OffsetRange(this.start+offset,this.endExclusive)}deltaEnd(offset){return new OffsetRange(this.start,this.endExclusive+offset)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}equals(other){return this.start===other.start&&this.endExclusive===other.endExclusive}containsRange(other){return this.start<=other.start&&other.endExclusive<=this.endExclusive}contains(offset){return this.start<=offset&&offset<this.endExclusive}join(other){return new OffsetRange(Math.min(this.start,other.start),Math.max(this.endExclusive,other.endExclusive))}intersect(other){const start=Math.max(this.start,other.start);const end=Math.min(this.endExclusive,other.endExclusive);if(start<=end){return new OffsetRange(start,end)}return void 0}slice(arr){return arr.slice(this.start,this.endExclusive)}clip(value){if(this.isEmpty){throw new BugIndicatingError(`Invalid clipping range: ${this.toString()}`)}return Math.max(this.start,Math.min(this.endExclusive-1,value))}clipCyclic(value){if(this.isEmpty){throw new BugIndicatingError(`Invalid clipping range: ${this.toString()}`)}if(value<this.start){return this.endExclusive-(this.start-value)%this.length}if(value>=this.endExclusive){return this.start+(value-this.start)%this.length}return value}};OffsetRangeSet=class{constructor(){this._sortedRanges=[]}addRange(range2){let i=0;while(i<this._sortedRanges.length&&this._sortedRanges[i].endExclusive<range2.start){i++}let j=i;while(j<this._sortedRanges.length&&this._sortedRanges[j].start<=range2.endExclusive){j++}if(i===j){this._sortedRanges.splice(i,0,range2)}else{const start=Math.min(range2.start,this._sortedRanges[i].start);const end=Math.max(range2.endExclusive,this._sortedRanges[j-1].endExclusive);this._sortedRanges.splice(i,j-i,new OffsetRange(start,end))}}toString(){return this._sortedRanges.map((r=>r.toString())).join(", ")}intersectsStrict(other){let i=0;while(i<this._sortedRanges.length&&this._sortedRanges[i].endExclusive<=other.start){i++}return i<this._sortedRanges.length&&this._sortedRanges[i].start<other.endExclusive}intersectWithRange(other){const result=new OffsetRangeSet;for(const range2 of this._sortedRanges){const intersection=range2.intersect(other);if(intersection){result.addRange(intersection)}}return result}intersectWithRangeLength(other){return this.intersectWithRange(other).length}get length(){return this._sortedRanges.reduce(((prev,cur)=>prev+cur.length),0)}}}});var LineRange;var init_lineRange=__esm({"node_modules/monaco-editor/esm/vs/editor/common/core/lineRange.js"(){init_errors();init_offsetRange();init_range();LineRange=class{static fromRange(range2){return new LineRange(range2.startLineNumber,range2.endLineNumber)}static subtract(a,b){if(!b){return[a]}if(a.startLineNumber<b.startLineNumber&&b.endLineNumberExclusive<a.endLineNumberExclusive){return[new LineRange(a.startLineNumber,b.startLineNumber),new LineRange(b.endLineNumberExclusive,a.endLineNumberExclusive)]}else if(b.startLineNumber<=a.startLineNumber&&a.endLineNumberExclusive<=b.endLineNumberExclusive){return[]}else if(b.endLineNumberExclusive<a.endLineNumberExclusive){return[new LineRange(Math.max(b.endLineNumberExclusive,a.startLineNumber),a.endLineNumberExclusive)]}else{return[new LineRange(a.startLineNumber,Math.min(b.startLineNumber,a.endLineNumberExclusive))]}}static joinMany(lineRanges){if(lineRanges.length===0){return[]}let result=lineRanges[0];for(let i=1;i<lineRanges.length;i++){result=this.join(result,lineRanges[i])}return result}static join(lineRanges1,lineRanges2){if(lineRanges1.length===0){return lineRanges2}if(lineRanges2.length===0){return lineRanges1}const result=[];let i1=0;let i2=0;let current=null;while(i1<lineRanges1.length||i2<lineRanges2.length){let next=null;if(i1<lineRanges1.length&&i2<lineRanges2.length){const lineRange1=lineRanges1[i1];const lineRange2=lineRanges2[i2];if(lineRange1.startLineNumber<lineRange2.startLineNumber){next=lineRange1;i1++}else{next=lineRange2;i2++}}else if(i1<lineRanges1.length){next=lineRanges1[i1];i1++}else{next=lineRanges2[i2];i2++}if(current===null){current=next}else{if(current.endLineNumberExclusive>=next.startLineNumber){current=new LineRange(current.startLineNumber,Math.max(current.endLineNumberExclusive,next.endLineNumberExclusive))}else{result.push(current);current=next}}}if(current!==null){result.push(current)}return result}static ofLength(startLineNumber,length2){return new LineRange(startLineNumber,startLineNumber+length2)}static deserialize(lineRange){return new LineRange(lineRange[0],lineRange[1])}constructor(startLineNumber,endLineNumberExclusive){if(startLineNumber>endLineNumberExclusive){throw new BugIndicatingError(`startLineNumber ${startLineNumber} cannot be after endLineNumberExclusive ${endLineNumberExclusive}`)}this.startLineNumber=startLineNumber;this.endLineNumberExclusive=endLineNumberExclusive}contains(lineNumber){return this.startLineNumber<=lineNumber&&lineNumber<this.endLineNumberExclusive}get isEmpty(){return this.startLineNumber===this.endLineNumberExclusive}delta(offset){return new LineRange(this.startLineNumber+offset,this.endLineNumberExclusive+offset)}deltaLength(offset){return new LineRange(this.startLineNumber,this.endLineNumberExclusive+offset)}get length(){return this.endLineNumberExclusive-this.startLineNumber}join(other){return new LineRange(Math.min(this.startLineNumber,other.startLineNumber),Math.max(this.endLineNumberExclusive,other.endLineNumberExclusive))}toString(){return`[${this.startLineNumber},${this.endLineNumberExclusive})`}intersect(other){const startLineNumber=Math.max(this.startLineNumber,other.startLineNumber);const endLineNumberExclusive=Math.min(this.endLineNumberExclusive,other.endLineNumberExclusive);if(startLineNumber<=endLineNumberExclusive){return new LineRange(startLineNumber,endLineNumberExclusive)}return void 0}intersectsStrict(other){return this.startLineNumber<other.endLineNumberExclusive&&other.startLineNumber<this.endLineNumberExclusive}overlapOrTouch(other){return this.startLineNumber<=other.endLineNumberExclusive&&other.startLineNumber<=this.endLineNumberExclusive}equals(b){return this.startLineNumber===b.startLineNumber&&this.endLineNumberExclusive===b.endLineNumberExclusive}toInclusiveRange(){if(this.isEmpty){return null}return new Range(this.startLineNumber,1,this.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER)}toExclusiveRange(){return new Range(this.startLineNumber,1,this.endLineNumberExclusive,1)}mapToLineArray(f){const result=[];for(let lineNumber=this.startLineNumber;lineNumber<this.endLineNumberExclusive;lineNumber++){result.push(f(lineNumber))}return result}forEach(f){for(let lineNumber=this.startLineNumber;lineNumber<this.endLineNumberExclusive;lineNumber++){f(lineNumber)}}serialize(){return[this.startLineNumber,this.endLineNumberExclusive]}includes(lineNumber){return this.startLineNumber<=lineNumber&&lineNumber<this.endLineNumberExclusive}toOffsetRange(){return new OffsetRange(this.startLineNumber-1,this.endLineNumberExclusive-1)}}}});var LinesDiff,LineRangeMapping,RangeMapping,SimpleLineRangeMapping,MovedText;var init_linesDiffComputer=__esm({"node_modules/monaco-editor/esm/vs/editor/common/diff/linesDiffComputer.js"(){init_lineRange();LinesDiff=class{constructor(changes,moves,hitTimeout){this.changes=changes;this.moves=moves;this.hitTimeout=hitTimeout}};LineRangeMapping=class{static inverse(mapping,originalLineCount,modifiedLineCount){const result=[];let lastOriginalEndLineNumber=1;let lastModifiedEndLineNumber=1;for(const m of mapping){const r2=new LineRangeMapping(new LineRange(lastOriginalEndLineNumber,m.originalRange.startLineNumber),new LineRange(lastModifiedEndLineNumber,m.modifiedRange.startLineNumber),void 0);if(!r2.modifiedRange.isEmpty){result.push(r2)}lastOriginalEndLineNumber=m.originalRange.endLineNumberExclusive;lastModifiedEndLineNumber=m.modifiedRange.endLineNumberExclusive}const r=new LineRangeMapping(new LineRange(lastOriginalEndLineNumber,originalLineCount+1),new LineRange(lastModifiedEndLineNumber,modifiedLineCount+1),void 0);if(!r.modifiedRange.isEmpty){result.push(r)}return result}constructor(originalRange,modifiedRange,innerChanges){this.originalRange=originalRange;this.modifiedRange=modifiedRange;this.innerChanges=innerChanges}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}get changedLineCount(){return Math.max(this.originalRange.length,this.modifiedRange.length)}flip(){var _a6;return new LineRangeMapping(this.modifiedRange,this.originalRange,(_a6=this.innerChanges)===null||_a6===void 0?void 0:_a6.map((c=>c.flip())))}};RangeMapping=class{constructor(originalRange,modifiedRange){this.originalRange=originalRange;this.modifiedRange=modifiedRange}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new RangeMapping(this.modifiedRange,this.originalRange)}};SimpleLineRangeMapping=class{constructor(original,modified){this.original=original;this.modified=modified}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new SimpleLineRangeMapping(this.modified,this.original)}join(other){return new SimpleLineRangeMapping(this.original.join(other.original),this.modified.join(other.modified))}};MovedText=class{constructor(lineRangeMapping,changes){this.lineRangeMapping=lineRangeMapping;this.changes=changes}flip(){return new MovedText(this.lineRangeMapping.flip(),this.changes.map((c=>c.flip())))}}}});function computeDiff(originalSequence,modifiedSequence,continueProcessingPredicate,pretty){const diffAlgo=new LcsDiff(originalSequence,modifiedSequence,continueProcessingPredicate);return diffAlgo.ComputeDiff(pretty)}function postProcessCharChanges(rawChanges){if(rawChanges.length<=1){return rawChanges}const result=[rawChanges[0]];let prevChange=result[0];for(let i=1,len=rawChanges.length;i<len;i++){const currChange=rawChanges[i];const originalMatchingLength=currChange.originalStart-(prevChange.originalStart+prevChange.originalLength);const modifiedMatchingLength=currChange.modifiedStart-(prevChange.modifiedStart+prevChange.modifiedLength);const matchingLength=Math.min(originalMatchingLength,modifiedMatchingLength);if(matchingLength<MINIMUM_MATCHING_CHARACTER_LENGTH){prevChange.originalLength=currChange.originalStart+currChange.originalLength-prevChange.originalStart;prevChange.modifiedLength=currChange.modifiedStart+currChange.modifiedLength-prevChange.modifiedStart}else{result.push(currChange);prevChange=currChange}}return result}function getFirstNonBlankColumn(txt,defaultValue){const r=firstNonWhitespaceIndex(txt);if(r===-1){return defaultValue}return r+1}function getLastNonBlankColumn(txt,defaultValue){const r=lastNonWhitespaceIndex(txt);if(r===-1){return defaultValue}return r+2}function createContinueProcessingPredicate(maximumRuntime){if(maximumRuntime===0){return()=>true}const startTime=Date.now();return()=>Date.now()-startTime<maximumRuntime}var MINIMUM_MATCHING_CHARACTER_LENGTH,LegacyLinesDiffComputer,LineSequence,CharSequence,CharChange,LineChange,DiffComputer;var init_legacyLinesDiffComputer=__esm({"node_modules/monaco-editor/esm/vs/editor/common/diff/legacyLinesDiffComputer.js"(){init_diff();init_linesDiffComputer();init_strings();init_range();init_assert();init_lineRange();MINIMUM_MATCHING_CHARACTER_LENGTH=3;LegacyLinesDiffComputer=class{computeDiff(originalLines,modifiedLines,options2){var _a6;const diffComputer=new DiffComputer(originalLines,modifiedLines,{maxComputationTime:options2.maxComputationTimeMs,shouldIgnoreTrimWhitespace:options2.ignoreTrimWhitespace,shouldComputeCharChanges:true,shouldMakePrettyDiff:true,shouldPostProcessCharChanges:true});const result=diffComputer.computeDiff();const changes=[];let lastChange=null;for(const c of result.changes){let originalRange;if(c.originalEndLineNumber===0){originalRange=new LineRange(c.originalStartLineNumber+1,c.originalStartLineNumber+1)}else{originalRange=new LineRange(c.originalStartLineNumber,c.originalEndLineNumber+1)}let modifiedRange;if(c.modifiedEndLineNumber===0){modifiedRange=new LineRange(c.modifiedStartLineNumber+1,c.modifiedStartLineNumber+1)}else{modifiedRange=new LineRange(c.modifiedStartLineNumber,c.modifiedEndLineNumber+1)}let change=new LineRangeMapping(originalRange,modifiedRange,(_a6=c.charChanges)===null||_a6===void 0?void 0:_a6.map((c2=>new RangeMapping(new Range(c2.originalStartLineNumber,c2.originalStartColumn,c2.originalEndLineNumber,c2.originalEndColumn),new Range(c2.modifiedStartLineNumber,c2.modifiedStartColumn,c2.modifiedEndLineNumber,c2.modifiedEndColumn)))));if(lastChange){if(lastChange.modifiedRange.endLineNumberExclusive===change.modifiedRange.startLineNumber||lastChange.originalRange.endLineNumberExclusive===change.originalRange.startLineNumber){change=new LineRangeMapping(lastChange.originalRange.join(change.originalRange),lastChange.modifiedRange.join(change.modifiedRange),lastChange.innerChanges&&change.innerChanges?lastChange.innerChanges.concat(change.innerChanges):void 0);changes.pop()}}changes.push(change);lastChange=change}assertFn((()=>checkAdjacentItems(changes,((m1,m2)=>m2.originalRange.startLineNumber-m1.originalRange.endLineNumberExclusive===m2.modifiedRange.startLineNumber-m1.modifiedRange.endLineNumberExclusive&&m1.originalRange.endLineNumberExclusive<m2.originalRange.startLineNumber&&m1.modifiedRange.endLineNumberExclusive<m2.modifiedRange.startLineNumber))));return new LinesDiff(changes,[],result.quitEarly)}};LineSequence=class{constructor(lines){const startColumns=[];const endColumns=[];for(let i=0,length2=lines.length;i<length2;i++){startColumns[i]=getFirstNonBlankColumn(lines[i],1);endColumns[i]=getLastNonBlankColumn(lines[i],1)}this.lines=lines;this._startColumns=startColumns;this._endColumns=endColumns}getElements(){const elements=[];for(let i=0,len=this.lines.length;i<len;i++){elements[i]=this.lines[i].substring(this._startColumns[i]-1,this._endColumns[i]-1)}return elements}getStrictElement(index){return this.lines[index]}getStartLineNumber(i){return i+1}getEndLineNumber(i){return i+1}createCharSequence(shouldIgnoreTrimWhitespace,startIndex,endIndex){const charCodes=[];const lineNumbers=[];const columns=[];let len=0;for(let index=startIndex;index<=endIndex;index++){const lineContent=this.lines[index];const startColumn=shouldIgnoreTrimWhitespace?this._startColumns[index]:1;const endColumn=shouldIgnoreTrimWhitespace?this._endColumns[index]:lineContent.length+1;for(let col=startColumn;col<endColumn;col++){charCodes[len]=lineContent.charCodeAt(col-1);lineNumbers[len]=index+1;columns[len]=col;len++}if(!shouldIgnoreTrimWhitespace&&index<endIndex){charCodes[len]=10;lineNumbers[len]=index+1;columns[len]=lineContent.length+1;len++}}return new CharSequence(charCodes,lineNumbers,columns)}};CharSequence=class{constructor(charCodes,lineNumbers,columns){this._charCodes=charCodes;this._lineNumbers=lineNumbers;this._columns=columns}toString(){return"["+this._charCodes.map(((s,idx)=>(s===10?"\\n":String.fromCharCode(s))+`-(${this._lineNumbers[idx]},${this._columns[idx]})`)).join(", ")+"]"}_assertIndex(index,arr){if(index<0||index>=arr.length){throw new Error(`Illegal index`)}}getElements(){return this._charCodes}getStartLineNumber(i){if(i>0&&i===this._lineNumbers.length){return this.getEndLineNumber(i-1)}this._assertIndex(i,this._lineNumbers);return this._lineNumbers[i]}getEndLineNumber(i){if(i===-1){return this.getStartLineNumber(i+1)}this._assertIndex(i,this._lineNumbers);if(this._charCodes[i]===10){return this._lineNumbers[i]+1}return this._lineNumbers[i]}getStartColumn(i){if(i>0&&i===this._columns.length){return this.getEndColumn(i-1)}this._assertIndex(i,this._columns);return this._columns[i]}getEndColumn(i){if(i===-1){return this.getStartColumn(i+1)}this._assertIndex(i,this._columns);if(this._charCodes[i]===10){return 1}return this._columns[i]+1}};CharChange=class{constructor(originalStartLineNumber,originalStartColumn,originalEndLineNumber,originalEndColumn,modifiedStartLineNumber,modifiedStartColumn,modifiedEndLineNumber,modifiedEndColumn){this.originalStartLineNumber=originalStartLineNumber;this.originalStartColumn=originalStartColumn;this.originalEndLineNumber=originalEndLineNumber;this.originalEndColumn=originalEndColumn;this.modifiedStartLineNumber=modifiedStartLineNumber;this.modifiedStartColumn=modifiedStartColumn;this.modifiedEndLineNumber=modifiedEndLineNumber;this.modifiedEndColumn=modifiedEndColumn}static createFromDiffChange(diffChange,originalCharSequence,modifiedCharSequence){const originalStartLineNumber=originalCharSequence.getStartLineNumber(diffChange.originalStart);const originalStartColumn=originalCharSequence.getStartColumn(diffChange.originalStart);const originalEndLineNumber=originalCharSequence.getEndLineNumber(diffChange.originalStart+diffChange.originalLength-1);const originalEndColumn=originalCharSequence.getEndColumn(diffChange.originalStart+diffChange.originalLength-1);const modifiedStartLineNumber=modifiedCharSequence.getStartLineNumber(diffChange.modifiedStart);const modifiedStartColumn=modifiedCharSequence.getStartColumn(diffChange.modifiedStart);const modifiedEndLineNumber=modifiedCharSequence.getEndLineNumber(diffChange.modifiedStart+diffChange.modifiedLength-1);const modifiedEndColumn=modifiedCharSequence.getEndColumn(diffChange.modifiedStart+diffChange.modifiedLength-1);return new CharChange(originalStartLineNumber,originalStartColumn,originalEndLineNumber,originalEndColumn,modifiedStartLineNumber,modifiedStartColumn,modifiedEndLineNumber,modifiedEndColumn)}};LineChange=class{constructor(originalStartLineNumber,originalEndLineNumber,modifiedStartLineNumber,modifiedEndLineNumber,charChanges){this.originalStartLineNumber=originalStartLineNumber;this.originalEndLineNumber=originalEndLineNumber;this.modifiedStartLineNumber=modifiedStartLineNumber;this.modifiedEndLineNumber=modifiedEndLineNumber;this.charChanges=charChanges}static createFromDiffResult(shouldIgnoreTrimWhitespace,diffChange,originalLineSequence,modifiedLineSequence,continueCharDiff,shouldComputeCharChanges,shouldPostProcessCharChanges){let originalStartLineNumber;let originalEndLineNumber;let modifiedStartLineNumber;let modifiedEndLineNumber;let charChanges=void 0;if(diffChange.originalLength===0){originalStartLineNumber=originalLineSequence.getStartLineNumber(diffChange.originalStart)-1;originalEndLineNumber=0}else{originalStartLineNumber=originalLineSequence.getStartLineNumber(diffChange.originalStart);originalEndLineNumber=originalLineSequence.getEndLineNumber(diffChange.originalStart+diffChange.originalLength-1)}if(diffChange.modifiedLength===0){modifiedStartLineNumber=modifiedLineSequence.getStartLineNumber(diffChange.modifiedStart)-1;modifiedEndLineNumber=0}else{modifiedStartLineNumber=modifiedLineSequence.getStartLineNumber(diffChange.modifiedStart);modifiedEndLineNumber=modifiedLineSequence.getEndLineNumber(diffChange.modifiedStart+diffChange.modifiedLength-1)}if(shouldComputeCharChanges&&diffChange.originalLength>0&&diffChange.originalLength<20&&diffChange.modifiedLength>0&&diffChange.modifiedLength<20&&continueCharDiff()){const originalCharSequence=originalLineSequence.createCharSequence(shouldIgnoreTrimWhitespace,diffChange.originalStart,diffChange.originalStart+diffChange.originalLength-1);const modifiedCharSequence=modifiedLineSequence.createCharSequence(shouldIgnoreTrimWhitespace,diffChange.modifiedStart,diffChange.modifiedStart+diffChange.modifiedLength-1);if(originalCharSequence.getElements().length>0&&modifiedCharSequence.getElements().length>0){let rawChanges=computeDiff(originalCharSequence,modifiedCharSequence,continueCharDiff,true).changes;if(shouldPostProcessCharChanges){rawChanges=postProcessCharChanges(rawChanges)}charChanges=[];for(let i=0,length2=rawChanges.length;i<length2;i++){charChanges.push(CharChange.createFromDiffChange(rawChanges[i],originalCharSequence,modifiedCharSequence))}}}return new LineChange(originalStartLineNumber,originalEndLineNumber,modifiedStartLineNumber,modifiedEndLineNumber,charChanges)}};DiffComputer=class{constructor(originalLines,modifiedLines,opts){this.shouldComputeCharChanges=opts.shouldComputeCharChanges;this.shouldPostProcessCharChanges=opts.shouldPostProcessCharChanges;this.shouldIgnoreTrimWhitespace=opts.shouldIgnoreTrimWhitespace;this.shouldMakePrettyDiff=opts.shouldMakePrettyDiff;this.originalLines=originalLines;this.modifiedLines=modifiedLines;this.original=new LineSequence(originalLines);this.modified=new LineSequence(modifiedLines);this.continueLineDiff=createContinueProcessingPredicate(opts.maxComputationTime);this.continueCharDiff=createContinueProcessingPredicate(opts.maxComputationTime===0?0:Math.min(opts.maxComputationTime,5e3))}computeDiff(){if(this.original.lines.length===1&&this.original.lines[0].length===0){if(this.modified.lines.length===1&&this.modified.lines[0].length===0){return{quitEarly:false,changes:[]}}return{quitEarly:false,changes:[{originalStartLineNumber:1,originalEndLineNumber:1,modifiedStartLineNumber:1,modifiedEndLineNumber:this.modified.lines.length,charChanges:void 0}]}}if(this.modified.lines.length===1&&this.modified.lines[0].length===0){return{quitEarly:false,changes:[{originalStartLineNumber:1,originalEndLineNumber:this.original.lines.length,modifiedStartLineNumber:1,modifiedEndLineNumber:1,charChanges:void 0}]}}const diffResult=computeDiff(this.original,this.modified,this.continueLineDiff,this.shouldMakePrettyDiff);const rawChanges=diffResult.changes;const quitEarly=diffResult.quitEarly;if(this.shouldIgnoreTrimWhitespace){const lineChanges=[];for(let i=0,length2=rawChanges.length;i<length2;i++){lineChanges.push(LineChange.createFromDiffResult(this.shouldIgnoreTrimWhitespace,rawChanges[i],this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges))}return{quitEarly:quitEarly,changes:lineChanges}}const result=[];let originalLineIndex=0;let modifiedLineIndex=0;for(let i=-1,len=rawChanges.length;i<len;i++){const nextChange=i+1<len?rawChanges[i+1]:null;const originalStop=nextChange?nextChange.originalStart:this.originalLines.length;const modifiedStop=nextChange?nextChange.modifiedStart:this.modifiedLines.length;while(originalLineIndex<originalStop&&modifiedLineIndex<modifiedStop){const originalLine=this.originalLines[originalLineIndex];const modifiedLine=this.modifiedLines[modifiedLineIndex];if(originalLine!==modifiedLine){{let originalStartColumn=getFirstNonBlankColumn(originalLine,1);let modifiedStartColumn=getFirstNonBlankColumn(modifiedLine,1);while(originalStartColumn>1&&modifiedStartColumn>1){const originalChar=originalLine.charCodeAt(originalStartColumn-2);const modifiedChar=modifiedLine.charCodeAt(modifiedStartColumn-2);if(originalChar!==modifiedChar){break}originalStartColumn--;modifiedStartColumn--}if(originalStartColumn>1||modifiedStartColumn>1){this._pushTrimWhitespaceCharChange(result,originalLineIndex+1,1,originalStartColumn,modifiedLineIndex+1,1,modifiedStartColumn)}}{let originalEndColumn=getLastNonBlankColumn(originalLine,1);let modifiedEndColumn=getLastNonBlankColumn(modifiedLine,1);const originalMaxColumn=originalLine.length+1;const modifiedMaxColumn=modifiedLine.length+1;while(originalEndColumn<originalMaxColumn&&modifiedEndColumn<modifiedMaxColumn){const originalChar=originalLine.charCodeAt(originalEndColumn-1);const modifiedChar=originalLine.charCodeAt(modifiedEndColumn-1);if(originalChar!==modifiedChar){break}originalEndColumn++;modifiedEndColumn++}if(originalEndColumn<originalMaxColumn||modifiedEndColumn<modifiedMaxColumn){this._pushTrimWhitespaceCharChange(result,originalLineIndex+1,originalEndColumn,originalMaxColumn,modifiedLineIndex+1,modifiedEndColumn,modifiedMaxColumn)}}}originalLineIndex++;modifiedLineIndex++}if(nextChange){result.push(LineChange.createFromDiffResult(this.shouldIgnoreTrimWhitespace,nextChange,this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges));originalLineIndex+=nextChange.originalLength;modifiedLineIndex+=nextChange.modifiedLength}}return{quitEarly:quitEarly,changes:result}}_pushTrimWhitespaceCharChange(result,originalLineNumber,originalStartColumn,originalEndColumn,modifiedLineNumber,modifiedStartColumn,modifiedEndColumn){if(this._mergeTrimWhitespaceCharChange(result,originalLineNumber,originalStartColumn,originalEndColumn,modifiedLineNumber,modifiedStartColumn,modifiedEndColumn)){return}let charChanges=void 0;if(this.shouldComputeCharChanges){charChanges=[new CharChange(originalLineNumber,originalStartColumn,originalLineNumber,originalEndColumn,modifiedLineNumber,modifiedStartColumn,modifiedLineNumber,modifiedEndColumn)]}result.push(new LineChange(originalLineNumber,originalLineNumber,modifiedLineNumber,modifiedLineNumber,charChanges))}_mergeTrimWhitespaceCharChange(result,originalLineNumber,originalStartColumn,originalEndColumn,modifiedLineNumber,modifiedStartColumn,modifiedEndColumn){const len=result.length;if(len===0){return false}const prevChange=result[len-1];if(prevChange.originalEndLineNumber===0||prevChange.modifiedEndLineNumber===0){return false}if(prevChange.originalEndLineNumber===originalLineNumber&&prevChange.modifiedEndLineNumber===modifiedLineNumber){if(this.shouldComputeCharChanges&&prevChange.charChanges){prevChange.charChanges.push(new CharChange(originalLineNumber,originalStartColumn,originalLineNumber,originalEndColumn,modifiedLineNumber,modifiedStartColumn,modifiedLineNumber,modifiedEndColumn))}return true}if(prevChange.originalEndLineNumber+1===originalLineNumber&&prevChange.modifiedEndLineNumber+1===modifiedLineNumber){prevChange.originalEndLineNumber=originalLineNumber;prevChange.modifiedEndLineNumber=modifiedLineNumber;if(this.shouldComputeCharChanges&&prevChange.charChanges){prevChange.charChanges.push(new CharChange(originalLineNumber,originalStartColumn,originalLineNumber,originalEndColumn,modifiedLineNumber,modifiedStartColumn,modifiedLineNumber,modifiedEndColumn))}return true}return false}}}});var SetMap;var init_collections=__esm({"node_modules/monaco-editor/esm/vs/base/common/collections.js"(){SetMap=class{constructor(){this.map=new Map}add(key,value){let values=this.map.get(key);if(!values){values=new Set;this.map.set(key,values)}values.add(value)}delete(key,value){const values=this.map.get(key);if(!values){return}values.delete(value);if(values.size===0){this.map.delete(key)}}forEach(key,fn){const values=this.map.get(key);if(!values){return}values.forEach(fn)}get(key){const values=this.map.get(key);if(!values){return new Set}return values}}}});var DiffAlgorithmResult,SequenceDiff,InfiniteTimeout,DateTimeout;var init_diffAlgorithm=__esm({"node_modules/monaco-editor/esm/vs/editor/common/diff/algorithms/diffAlgorithm.js"(){init_errors();init_offsetRange();DiffAlgorithmResult=class{static trivial(seq1,seq2){return new DiffAlgorithmResult([new SequenceDiff(new OffsetRange(0,seq1.length),new OffsetRange(0,seq2.length))],false)}static trivialTimedOut(seq1,seq2){return new DiffAlgorithmResult([new SequenceDiff(new OffsetRange(0,seq1.length),new OffsetRange(0,seq2.length))],true)}constructor(diffs,hitTimeout){this.diffs=diffs;this.hitTimeout=hitTimeout}};SequenceDiff=class{constructor(seq1Range,seq2Range){this.seq1Range=seq1Range;this.seq2Range=seq2Range}reverse(){return new SequenceDiff(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(other){return new SequenceDiff(this.seq1Range.join(other.seq1Range),this.seq2Range.join(other.seq2Range))}delta(offset){if(offset===0){return this}return new SequenceDiff(this.seq1Range.delta(offset),this.seq2Range.delta(offset))}};InfiniteTimeout=class{isValid(){return true}};InfiniteTimeout.instance=new InfiniteTimeout;DateTimeout=class{constructor(timeout2){this.timeout=timeout2;this.startTime=Date.now();this.valid=true;if(timeout2<=0){throw new BugIndicatingError("timeout must be positive")}}isValid(){const valid=Date.now()-this.startTime<this.timeout;if(!valid&&this.valid){this.valid=false;debugger}return this.valid}}}});var Array2D;var init_utils=__esm({"node_modules/monaco-editor/esm/vs/editor/common/diff/algorithms/utils.js"(){Array2D=class{constructor(width,height){this.width=width;this.height=height;this.array=[];this.array=new Array(width*height)}get(x,y){return this.array[x+y*this.width]}set(x,y,value){this.array[x+y*this.width]=value}}}});var DynamicProgrammingDiffing;var init_dynamicProgrammingDiffing=__esm({"node_modules/monaco-editor/esm/vs/editor/common/diff/algorithms/dynamicProgrammingDiffing.js"(){init_offsetRange();init_diffAlgorithm();init_utils();DynamicProgrammingDiffing=class{compute(sequence1,sequence2,timeout2=InfiniteTimeout.instance,equalityScore){if(sequence1.length===0||sequence2.length===0){return DiffAlgorithmResult.trivial(sequence1,sequence2)}const lcsLengths=new Array2D(sequence1.length,sequence2.length);const directions=new Array2D(sequence1.length,sequence2.length);const lengths=new Array2D(sequence1.length,sequence2.length);for(let s12=0;s12<sequence1.length;s12++){for(let s22=0;s22<sequence2.length;s22++){if(!timeout2.isValid()){return DiffAlgorithmResult.trivialTimedOut(sequence1,sequence2)}const horizontalLen=s12===0?0:lcsLengths.get(s12-1,s22);const verticalLen=s22===0?0:lcsLengths.get(s12,s22-1);let extendedSeqScore;if(sequence1.getElement(s12)===sequence2.getElement(s22)){if(s12===0||s22===0){extendedSeqScore=0}else{extendedSeqScore=lcsLengths.get(s12-1,s22-1)}if(s12>0&&s22>0&&directions.get(s12-1,s22-1)===3){extendedSeqScore+=lengths.get(s12-1,s22-1)}extendedSeqScore+=equalityScore?equalityScore(s12,s22):1}else{extendedSeqScore=-1}const newValue=Math.max(horizontalLen,verticalLen,extendedSeqScore);if(newValue===extendedSeqScore){const prevLen=s12>0&&s22>0?lengths.get(s12-1,s22-1):0;lengths.set(s12,s22,prevLen+1);directions.set(s12,s22,3)}else if(newValue===horizontalLen){lengths.set(s12,s22,0);directions.set(s12,s22,1)}else if(newValue===verticalLen){lengths.set(s12,s22,0);directions.set(s12,s22,2)}lcsLengths.set(s12,s22,newValue)}}const result=[];let lastAligningPosS1=sequence1.length;let lastAligningPosS2=sequence2.length;function reportDecreasingAligningPositions(s12,s22){if(s12+1!==lastAligningPosS1||s22+1!==lastAligningPosS2){result.push(new SequenceDiff(new OffsetRange(s12+1,lastAligningPosS1),new OffsetRange(s22+1,lastAligningPosS2)))}lastAligningPosS1=s12;lastAligningPosS2=s22}let s1=sequence1.length-1;let s2=sequence2.length-1;while(s1>=0&&s2>=0){if(directions.get(s1,s2)===3){reportDecreasingAligningPositions(s1,s2);s1--;s2--}else{if(directions.get(s1,s2)===1){s1--}else{s2--}}}reportDecreasingAligningPositions(-1,-1);result.reverse();return new DiffAlgorithmResult(result,false)}}}});function optimizeSequenceDiffs(sequence1,sequence2,sequenceDiffs){let result=sequenceDiffs;result=joinSequenceDiffs(sequence1,sequence2,result);result=shiftSequenceDiffs(sequence1,sequence2,result);return result}function smoothenSequenceDiffs(sequence1,sequence2,sequenceDiffs){const result=[];for(const s of sequenceDiffs){const last=result[result.length-1];if(!last){result.push(s);continue}if(s.seq1Range.start-last.seq1Range.endExclusive<=2||s.seq2Range.start-last.seq2Range.endExclusive<=2){result[result.length-1]=new SequenceDiff(last.seq1Range.join(s.seq1Range),last.seq2Range.join(s.seq2Range))}else{result.push(s)}}return result}function removeRandomLineMatches(sequence1,_sequence2,sequenceDiffs){let diffs=sequenceDiffs;if(diffs.length===0){return diffs}let counter=0;let shouldRepeat;do{shouldRepeat=false;const result=[diffs[0]];for(let i=1;i<diffs.length;i++){let shouldJoinDiffs=function(before,after){const unchangedRange=new OffsetRange(lastResult.seq1Range.endExclusive,cur.seq1Range.start);const unchangedText=sequence1.getText(unchangedRange);const unchangedTextWithoutWs=unchangedText.replace(/\s/g,"");if(unchangedTextWithoutWs.length<=4&&(before.seq1Range.length+before.seq2Range.length>5||after.seq1Range.length+after.seq2Range.length>5)){return true}return false};const cur=diffs[i];const lastResult=result[result.length-1];const shouldJoin=shouldJoinDiffs(lastResult,cur);if(shouldJoin){shouldRepeat=true;result[result.length-1]=result[result.length-1].join(cur)}else{result.push(cur)}}diffs=result}while(counter++<10&&shouldRepeat);return diffs}function removeRandomMatches(sequence1,sequence2,sequenceDiffs){let diffs=sequenceDiffs;if(diffs.length===0){return diffs}let counter=0;let shouldRepeat;do{shouldRepeat=false;const result=[diffs[0]];for(let i=1;i<diffs.length;i++){let shouldJoinDiffs=function(before,after){const unchangedRange=new OffsetRange(lastResult.seq1Range.endExclusive,cur.seq1Range.start);const unchangedLineCount=sequence1.countLinesIn(unchangedRange);if(unchangedLineCount>5||unchangedRange.length>500){return false}const unchangedText=sequence1.getText(unchangedRange).trim();if(unchangedText.length>20||unchangedText.split(/\r\n|\r|\n/).length>1){return false}const beforeLineCount1=sequence1.countLinesIn(before.seq1Range);const beforeSeq1Length=before.seq1Range.length;const beforeLineCount2=sequence2.countLinesIn(before.seq2Range);const beforeSeq2Length=before.seq2Range.length;const afterLineCount1=sequence1.countLinesIn(after.seq1Range);const afterSeq1Length=after.seq1Range.length;const afterLineCount2=sequence2.countLinesIn(after.seq2Range);const afterSeq2Length=after.seq2Range.length;const max=2*40+50;function cap(v){return Math.min(v,max)}if(Math.pow(Math.pow(cap(beforeLineCount1*40+beforeSeq1Length),1.5)+Math.pow(cap(beforeLineCount2*40+beforeSeq2Length),1.5),1.5)+Math.pow(Math.pow(cap(afterLineCount1*40+afterSeq1Length),1.5)+Math.pow(cap(afterLineCount2*40+afterSeq2Length),1.5),1.5)>Math.pow(Math.pow(max,1.5),1.5)*1.3){return true}return false};const cur=diffs[i];const lastResult=result[result.length-1];const shouldJoin=shouldJoinDiffs(lastResult,cur);if(shouldJoin){shouldRepeat=true;result[result.length-1]=result[result.length-1].join(cur)}else{result.push(cur)}}diffs=result}while(counter++<10&&shouldRepeat);for(let i=0;i<diffs.length;i++){const cur=diffs[i];let range1=cur.seq1Range;let range2=cur.seq2Range;const fullRange1=sequence1.extendToFullLines(cur.seq1Range);const prefix=sequence1.getText(new OffsetRange(fullRange1.start,cur.seq1Range.start));if(prefix.length>0&&prefix.trim().length<=3&&cur.seq1Range.length+cur.seq2Range.length>100){range1=cur.seq1Range.deltaStart(-prefix.length);range2=cur.seq2Range.deltaStart(-prefix.length)}const suffix=sequence1.getText(new OffsetRange(cur.seq1Range.endExclusive,fullRange1.endExclusive));if(suffix.length>0&&(suffix.trim().length<=3&&cur.seq1Range.length+cur.seq2Range.length>150)){range1=range1.deltaEnd(suffix.length);range2=range2.deltaEnd(suffix.length)}diffs[i]=new SequenceDiff(range1,range2)}return diffs}function joinSequenceDiffs(sequence1,sequence2,sequenceDiffs){if(sequenceDiffs.length===0){return sequenceDiffs}const result=[];result.push(sequenceDiffs[0]);for(let i=1;i<sequenceDiffs.length;i++){const prevResult=result[result.length-1];let cur=sequenceDiffs[i];if(cur.seq1Range.isEmpty||cur.seq2Range.isEmpty){const length2=cur.seq1Range.start-prevResult.seq1Range.endExclusive;let d;for(d=1;d<=length2;d++){if(sequence1.getElement(cur.seq1Range.start-d)!==sequence1.getElement(cur.seq1Range.endExclusive-d)||sequence2.getElement(cur.seq2Range.start-d)!==sequence2.getElement(cur.seq2Range.endExclusive-d)){break}}d--;if(d===length2){result[result.length-1]=new SequenceDiff(new OffsetRange(prevResult.seq1Range.start,cur.seq1Range.endExclusive-length2),new OffsetRange(prevResult.seq2Range.start,cur.seq2Range.endExclusive-length2));continue}cur=cur.delta(-d)}result.push(cur)}const result2=[];for(let i=0;i<result.length-1;i++){const nextResult=result[i+1];let cur=result[i];if(cur.seq1Range.isEmpty||cur.seq2Range.isEmpty){const length2=nextResult.seq1Range.start-cur.seq1Range.endExclusive;let d;for(d=0;d<length2;d++){if(sequence1.getElement(cur.seq1Range.start+d)!==sequence1.getElement(cur.seq1Range.endExclusive+d)||sequence2.getElement(cur.seq2Range.start+d)!==sequence2.getElement(cur.seq2Range.endExclusive+d)){break}}if(d===length2){result[i+1]=new SequenceDiff(new OffsetRange(cur.seq1Range.start+length2,nextResult.seq1Range.endExclusive),new OffsetRange(cur.seq2Range.start+length2,nextResult.seq2Range.endExclusive));continue}if(d>0){cur=cur.delta(d)}}result2.push(cur)}if(result.length>0){result2.push(result[result.length-1])}return result2}function shiftSequenceDiffs(sequence1,sequence2,sequenceDiffs){if(!sequence1.getBoundaryScore||!sequence2.getBoundaryScore){return sequenceDiffs}for(let i=0;i<sequenceDiffs.length;i++){const prevDiff=i>0?sequenceDiffs[i-1]:void 0;const diff=sequenceDiffs[i];const nextDiff=i+1<sequenceDiffs.length?sequenceDiffs[i+1]:void 0;const seq1ValidRange=new OffsetRange(prevDiff?prevDiff.seq1Range.start+1:0,nextDiff?nextDiff.seq1Range.endExclusive-1:sequence1.length);const seq2ValidRange=new OffsetRange(prevDiff?prevDiff.seq2Range.start+1:0,nextDiff?nextDiff.seq2Range.endExclusive-1:sequence2.length);if(diff.seq1Range.isEmpty){sequenceDiffs[i]=shiftDiffToBetterPosition(diff,sequence1,sequence2,seq1ValidRange,seq2ValidRange)}else if(diff.seq2Range.isEmpty){sequenceDiffs[i]=shiftDiffToBetterPosition(diff.reverse(),sequence2,sequence1,seq2ValidRange,seq1ValidRange).reverse()}}return sequenceDiffs}function shiftDiffToBetterPosition(diff,sequence1,sequence2,seq1ValidRange,seq2ValidRange){const maxShiftLimit=100;let deltaBefore=1;while(diff.seq1Range.start-deltaBefore>=seq1ValidRange.start&&diff.seq2Range.start-deltaBefore>=seq2ValidRange.start&&sequence2.isStronglyEqual(diff.seq2Range.start-deltaBefore,diff.seq2Range.endExclusive-deltaBefore)&&deltaBefore<maxShiftLimit){deltaBefore++}deltaBefore--;let deltaAfter=0;while(diff.seq1Range.start+deltaAfter<seq1ValidRange.endExclusive&&diff.seq2Range.endExclusive+deltaAfter<seq2ValidRange.endExclusive&&sequence2.isStronglyEqual(diff.seq2Range.start+deltaAfter,diff.seq2Range.endExclusive+deltaAfter)&&deltaAfter<maxShiftLimit){deltaAfter++}if(deltaBefore===0&&deltaAfter===0){return diff}let bestDelta=0;let bestScore=-1;for(let delta=-deltaBefore;delta<=deltaAfter;delta++){const seq2OffsetStart=diff.seq2Range.start+delta;const seq2OffsetEndExclusive=diff.seq2Range.endExclusive+delta;const seq1Offset=diff.seq1Range.start+delta;const score3=sequence1.getBoundaryScore(seq1Offset)+sequence2.getBoundaryScore(seq2OffsetStart)+sequence2.getBoundaryScore(seq2OffsetEndExclusive);if(score3>bestScore){bestScore=score3;bestDelta=delta}}return diff.delta(bestDelta)}var init_joinSequenceDiffs=__esm({"node_modules/monaco-editor/esm/vs/editor/common/diff/algorithms/joinSequenceDiffs.js"(){init_offsetRange();init_diffAlgorithm()}});var MyersDiffAlgorithm,SnakePath,FastInt32Array,FastArrayNegativeIndices;var init_myersDiffAlgorithm=__esm({"node_modules/monaco-editor/esm/vs/editor/common/diff/algorithms/myersDiffAlgorithm.js"(){init_offsetRange();init_diffAlgorithm();MyersDiffAlgorithm=class{compute(seq1,seq2,timeout2=InfiniteTimeout.instance){if(seq1.length===0||seq2.length===0){return DiffAlgorithmResult.trivial(seq1,seq2)}function getXAfterSnake(x,y){while(x<seq1.length&&y<seq2.length&&seq1.getElement(x)===seq2.getElement(y)){x++;y++}return x}let d=0;const V=new FastInt32Array;V.set(0,getXAfterSnake(0,0));const paths=new FastArrayNegativeIndices;paths.set(0,V.get(0)===0?null:new SnakePath(null,0,0,V.get(0)));let k=0;loop:while(true){d++;if(!timeout2.isValid()){return DiffAlgorithmResult.trivialTimedOut(seq1,seq2)}const lowerBound=-Math.min(d,seq2.length+d%2);const upperBound=Math.min(d,seq1.length+d%2);for(k=lowerBound;k<=upperBound;k+=2){const maxXofDLineTop=k===upperBound?-1:V.get(k+1);const maxXofDLineLeft=k===lowerBound?-1:V.get(k-1)+1;const x=Math.min(Math.max(maxXofDLineTop,maxXofDLineLeft),seq1.length);const y=x-k;if(x>seq1.length||y>seq2.length){continue}const newMaxX=getXAfterSnake(x,y);V.set(k,newMaxX);const lastPath=x===maxXofDLineTop?paths.get(k+1):paths.get(k-1);paths.set(k,newMaxX!==x?new SnakePath(lastPath,x,y,newMaxX-x):lastPath);if(V.get(k)===seq1.length&&V.get(k)-k===seq2.length){break loop}}}let path=paths.get(k);const result=[];let lastAligningPosS1=seq1.length;let lastAligningPosS2=seq2.length;while(true){const endX=path?path.x+path.length:0;const endY=path?path.y+path.length:0;if(endX!==lastAligningPosS1||endY!==lastAligningPosS2){result.push(new SequenceDiff(new OffsetRange(endX,lastAligningPosS1),new OffsetRange(endY,lastAligningPosS2)))}if(!path){break}lastAligningPosS1=path.x;lastAligningPosS2=path.y;path=path.prev}result.reverse();return new DiffAlgorithmResult(result,false)}};SnakePath=class{constructor(prev,x,y,length2){this.prev=prev;this.x=x;this.y=y;this.length=length2}};FastInt32Array=class{constructor(){this.positiveArr=new Int32Array(10);this.negativeArr=new Int32Array(10)}get(idx){if(idx<0){idx=-idx-1;return this.negativeArr[idx]}else{return this.positiveArr[idx]}}set(idx,value){if(idx<0){idx=-idx-1;if(idx>=this.negativeArr.length){const arr=this.negativeArr;this.negativeArr=new Int32Array(arr.length*2);this.negativeArr.set(arr)}this.negativeArr[idx]=value}else{if(idx>=this.positiveArr.length){const arr=this.positiveArr;this.positiveArr=new Int32Array(arr.length*2);this.positiveArr.set(arr)}this.positiveArr[idx]=value}}};FastArrayNegativeIndices=class{constructor(){this.positiveArr=[];this.negativeArr=[]}get(idx){if(idx<0){idx=-idx-1;return this.negativeArr[idx]}else{return this.positiveArr[idx]}}set(idx,value){if(idx<0){idx=-idx-1;this.negativeArr[idx]=value}else{this.positiveArr[idx]=value}}}}});function intersectRanges(ranges1,ranges2){const result=[];let i1=0;let i2=0;while(i1<ranges1.length&&i2<ranges2.length){const r1=ranges1[i1];const r2=ranges2[i2];const i=r1.intersect(r2);if(i&&!i.isEmpty){result.push(i)}if(r1.endLineNumberExclusive<r2.endLineNumberExclusive){i1++}else{i2++}}return result}function mapMinusOne(idx,mapTo){return idx===-1?mapTo:idx}function coverFullWords(sequence1,sequence2,sequenceDiffs){const additional=[];let lastModifiedWord=void 0;function maybePushWordToAdditional(){if(!lastModifiedWord){return}const originalLength1=lastModifiedWord.s1Range.length-lastModifiedWord.deleted;const originalLength2=lastModifiedWord.s2Range.length-lastModifiedWord.added;if(originalLength1!==originalLength2){}if(Math.max(lastModifiedWord.deleted,lastModifiedWord.added)+(lastModifiedWord.count-1)>originalLength1){additional.push(new SequenceDiff(lastModifiedWord.s1Range,lastModifiedWord.s2Range))}lastModifiedWord=void 0}for(const s of sequenceDiffs){let processWord=function(s1Range,s2Range){var _a6,_b3,_c2,_d2;if(!lastModifiedWord||!lastModifiedWord.s1Range.containsRange(s1Range)||!lastModifiedWord.s2Range.containsRange(s2Range)){if(lastModifiedWord&&!(lastModifiedWord.s1Range.endExclusive<s1Range.start&&lastModifiedWord.s2Range.endExclusive<s2Range.start)){const s1Added=OffsetRange.tryCreate(lastModifiedWord.s1Range.endExclusive,s1Range.start);const s2Added=OffsetRange.tryCreate(lastModifiedWord.s2Range.endExclusive,s2Range.start);lastModifiedWord.deleted+=(_a6=s1Added===null||s1Added===void 0?void 0:s1Added.length)!==null&&_a6!==void 0?_a6:0;lastModifiedWord.added+=(_b3=s2Added===null||s2Added===void 0?void 0:s2Added.length)!==null&&_b3!==void 0?_b3:0;lastModifiedWord.s1Range=lastModifiedWord.s1Range.join(s1Range);lastModifiedWord.s2Range=lastModifiedWord.s2Range.join(s2Range)}else{maybePushWordToAdditional();lastModifiedWord={added:0,deleted:0,count:0,s1Range:s1Range,s2Range:s2Range}}}const changedS1=s1Range.intersect(s.seq1Range);const changedS2=s2Range.intersect(s.seq2Range);lastModifiedWord.count++;lastModifiedWord.deleted+=(_c2=changedS1===null||changedS1===void 0?void 0:changedS1.length)!==null&&_c2!==void 0?_c2:0;lastModifiedWord.added+=(_d2=changedS2===null||changedS2===void 0?void 0:changedS2.length)!==null&&_d2!==void 0?_d2:0};const w1Before=sequence1.findWordContaining(s.seq1Range.start-1);const w2Before=sequence2.findWordContaining(s.seq2Range.start-1);const w1After=sequence1.findWordContaining(s.seq1Range.endExclusive);const w2After=sequence2.findWordContaining(s.seq2Range.endExclusive);if(w1Before&&w1After&&w2Before&&w2After&&w1Before.equals(w1After)&&w2Before.equals(w2After)){processWord(w1Before,w2Before)}else{if(w1Before&&w2Before){processWord(w1Before,w2Before)}if(w1After&&w2After){processWord(w1After,w2After)}}}maybePushWordToAdditional();const merged=mergeSequenceDiffs(sequenceDiffs,additional);return merged}function mergeSequenceDiffs(sequenceDiffs1,sequenceDiffs2){const result=[];while(sequenceDiffs1.length>0||sequenceDiffs2.length>0){const sd1=sequenceDiffs1[0];const sd2=sequenceDiffs2[0];let next;if(sd1&&(!sd2||sd1.seq1Range.start<sd2.seq1Range.start)){next=sequenceDiffs1.shift()}else{next=sequenceDiffs2.shift()}if(result.length>0&&result[result.length-1].seq1Range.endExclusive>=next.seq1Range.start){result[result.length-1]=result[result.length-1].join(next)}else{result.push(next)}}return result}function lineRangeMappingFromRangeMappings(alignments,originalLines,modifiedLines,dontAssertStartLine=false){const changes=[];for(const g of group(alignments.map((a=>getLineRangeMapping(a,originalLines,modifiedLines))),((a1,a2)=>a1.originalRange.overlapOrTouch(a2.originalRange)||a1.modifiedRange.overlapOrTouch(a2.modifiedRange)))){const first2=g[0];const last=g[g.length-1];changes.push(new LineRangeMapping(first2.originalRange.join(last.originalRange),first2.modifiedRange.join(last.modifiedRange),g.map((a=>a.innerChanges[0]))))}assertFn((()=>{if(!dontAssertStartLine){if(changes.length>0&&changes[0].originalRange.startLineNumber!==changes[0].modifiedRange.startLineNumber){return false}}return checkAdjacentItems(changes,((m1,m2)=>m2.originalRange.startLineNumber-m1.originalRange.endLineNumberExclusive===m2.modifiedRange.startLineNumber-m1.modifiedRange.endLineNumberExclusive&&m1.originalRange.endLineNumberExclusive<m2.originalRange.startLineNumber&&m1.modifiedRange.endLineNumberExclusive<m2.modifiedRange.startLineNumber))}));return changes}function getLineRangeMapping(rangeMapping,originalLines,modifiedLines){let lineStartDelta=0;let lineEndDelta=0;if(rangeMapping.modifiedRange.endColumn===1&&rangeMapping.originalRange.endColumn===1&&rangeMapping.originalRange.startLineNumber+lineStartDelta<=rangeMapping.originalRange.endLineNumber&&rangeMapping.modifiedRange.startLineNumber+lineStartDelta<=rangeMapping.modifiedRange.endLineNumber){lineEndDelta=-1}if(rangeMapping.modifiedRange.startColumn-1>=modifiedLines[rangeMapping.modifiedRange.startLineNumber-1].length&&rangeMapping.originalRange.startColumn-1>=originalLines[rangeMapping.originalRange.startLineNumber-1].length&&rangeMapping.originalRange.startLineNumber<=rangeMapping.originalRange.endLineNumber+lineEndDelta&&rangeMapping.modifiedRange.startLineNumber<=rangeMapping.modifiedRange.endLineNumber+lineEndDelta){lineStartDelta=1}const originalLineRange=new LineRange(rangeMapping.originalRange.startLineNumber+lineStartDelta,rangeMapping.originalRange.endLineNumber+1+lineEndDelta);const modifiedLineRange=new LineRange(rangeMapping.modifiedRange.startLineNumber+lineStartDelta,rangeMapping.modifiedRange.endLineNumber+1+lineEndDelta);return new LineRangeMapping(originalLineRange,modifiedLineRange,[rangeMapping])}function*group(items,shouldBeGrouped){let currentGroup;let last;for(const item of items){if(last!==void 0&&shouldBeGrouped(last,item)){currentGroup.push(item)}else{if(currentGroup){yield currentGroup}currentGroup=[item]}last=item}if(currentGroup){yield currentGroup}}function getIndentation(str){let i=0;while(i<str.length&&(str.charCodeAt(i)===32||str.charCodeAt(i)===9)){i++}return i}function findLastIdxMonotonous(arr,predicate){let i=0;let j=arr.length;while(i<j){const k=Math.floor((i+j)/2);if(predicate(arr[k])){i=k+1}else{j=k}}return i-1}function findLastMonotonous(arr,predicate){const idx=findLastIdxMonotonous(arr,predicate);return idx===-1?void 0:arr[idx]}function findFirstIdxMonotonous(arr,predicate){let i=0;let j=arr.length;while(i<j){const k=Math.floor((i+j)/2);if(predicate(arr[k])){j=k}else{i=k+1}}return i}function findFirstMonotonous(arr,predicate){const idx=findFirstIdxMonotonous(arr,predicate);return idx===arr.length?void 0:arr[idx]}function isWordChar(charCode){return charCode>=97&&charCode<=122||charCode>=65&&charCode<=90||charCode>=48&&charCode<=57}function getCategoryBoundaryScore(category){return score[category]}function getCategory(charCode){if(charCode===10){return 7}else if(charCode===13){return 6}else if(isSpace(charCode)){return 5}else if(charCode>=97&&charCode<=122){return 0}else if(charCode>=65&&charCode<=90){return 1}else if(charCode>=48&&charCode<=57){return 2}else if(charCode===-1){return 3}else{return 4}}function isSpace(charCode){return charCode===32||charCode===9}function getKey(chr){let key=chrKeys.get(chr);if(key===void 0){key=chrKeys.size;chrKeys.set(chr,key)}return key}var AdvancedLinesDiffComputer,MonotonousFinder,LineRangeSet,LineSequence2,LinesSliceCharSequence,score,chrKeys,LineRangeFragment;var init_advancedLinesDiffComputer=__esm({"node_modules/monaco-editor/esm/vs/editor/common/diff/advancedLinesDiffComputer.js"(){init_arrays();init_assert();init_collections();init_errors();init_lineRange();init_offsetRange();init_position();init_range();init_diffAlgorithm();init_dynamicProgrammingDiffing();init_joinSequenceDiffs();init_myersDiffAlgorithm();init_linesDiffComputer();AdvancedLinesDiffComputer=class{constructor(){this.dynamicProgrammingDiffing=new DynamicProgrammingDiffing;this.myersDiffingAlgorithm=new MyersDiffAlgorithm}computeDiff(originalLines,modifiedLines,options2){if(originalLines.length<=1&&equals(originalLines,modifiedLines,((a,b)=>a===b))){return new LinesDiff([],[],false)}if(originalLines.length===1&&originalLines[0].length===0||modifiedLines.length===1&&modifiedLines[0].length===0){return new LinesDiff([new LineRangeMapping(new LineRange(1,originalLines.length+1),new LineRange(1,modifiedLines.length+1),[new RangeMapping(new Range(1,1,originalLines.length,originalLines[0].length+1),new Range(1,1,modifiedLines.length,modifiedLines[0].length+1))])],[],false)}const timeout2=options2.maxComputationTimeMs===0?InfiniteTimeout.instance:new DateTimeout(options2.maxComputationTimeMs);const considerWhitespaceChanges=!options2.ignoreTrimWhitespace;const perfectHashes=new Map;function getOrCreateHash(text2){let hash2=perfectHashes.get(text2);if(hash2===void 0){hash2=perfectHashes.size;perfectHashes.set(text2,hash2)}return hash2}const srcDocLines=originalLines.map((l=>getOrCreateHash(l.trim())));const tgtDocLines=modifiedLines.map((l=>getOrCreateHash(l.trim())));const sequence1=new LineSequence2(srcDocLines,originalLines);const sequence2=new LineSequence2(tgtDocLines,modifiedLines);const lineAlignmentResult=(()=>{if(sequence1.length+sequence2.length<1700){return this.dynamicProgrammingDiffing.compute(sequence1,sequence2,timeout2,((offset1,offset2)=>originalLines[offset1]===modifiedLines[offset2]?modifiedLines[offset2].length===0?.1:1+Math.log(1+modifiedLines[offset2].length):.99))}return this.myersDiffingAlgorithm.compute(sequence1,sequence2)})();let lineAlignments=lineAlignmentResult.diffs;let hitTimeout=lineAlignmentResult.hitTimeout;lineAlignments=optimizeSequenceDiffs(sequence1,sequence2,lineAlignments);lineAlignments=removeRandomLineMatches(sequence1,sequence2,lineAlignments);const alignments=[];const scanForWhitespaceChanges=equalLinesCount=>{if(!considerWhitespaceChanges){return}for(let i=0;i<equalLinesCount;i++){const seq1Offset=seq1LastStart+i;const seq2Offset=seq2LastStart+i;if(originalLines[seq1Offset]!==modifiedLines[seq2Offset]){const characterDiffs=this.refineDiff(originalLines,modifiedLines,new SequenceDiff(new OffsetRange(seq1Offset,seq1Offset+1),new OffsetRange(seq2Offset,seq2Offset+1)),timeout2,considerWhitespaceChanges);for(const a of characterDiffs.mappings){alignments.push(a)}if(characterDiffs.hitTimeout){hitTimeout=true}}}};let seq1LastStart=0;let seq2LastStart=0;for(const diff of lineAlignments){assertFn((()=>diff.seq1Range.start-seq1LastStart===diff.seq2Range.start-seq2LastStart));const equalLinesCount=diff.seq1Range.start-seq1LastStart;scanForWhitespaceChanges(equalLinesCount);seq1LastStart=diff.seq1Range.endExclusive;seq2LastStart=diff.seq2Range.endExclusive;const characterDiffs=this.refineDiff(originalLines,modifiedLines,diff,timeout2,considerWhitespaceChanges);if(characterDiffs.hitTimeout){hitTimeout=true}for(const a of characterDiffs.mappings){alignments.push(a)}}scanForWhitespaceChanges(originalLines.length-seq1LastStart);const changes=lineRangeMappingFromRangeMappings(alignments,originalLines,modifiedLines);let moves=[];if(options2.computeMoves){moves=this.computeMoves(changes,originalLines,modifiedLines,srcDocLines,tgtDocLines,timeout2,considerWhitespaceChanges)}assertFn((()=>{function validatePosition(pos,lines){if(pos.lineNumber<1||pos.lineNumber>lines.length){return false}const line=lines[pos.lineNumber-1];if(pos.column<1||pos.column>line.length+1){return false}return true}function validateRange(range2,lines){if(range2.startLineNumber<1||range2.startLineNumber>lines.length+1){return false}if(range2.endLineNumberExclusive<1||range2.endLineNumberExclusive>lines.length+1){return false}return true}for(const c of changes){if(!c.innerChanges){return false}for(const ic of c.innerChanges){const valid=validatePosition(ic.modifiedRange.getStartPosition(),modifiedLines)&&validatePosition(ic.modifiedRange.getEndPosition(),modifiedLines)&&validatePosition(ic.originalRange.getStartPosition(),originalLines)&&validatePosition(ic.originalRange.getEndPosition(),originalLines);if(!valid){return false}}if(!validateRange(c.modifiedRange,modifiedLines)||!validateRange(c.originalRange,originalLines)){return false}}return true}));return new LinesDiff(changes,moves,hitTimeout)}computeMoves(changes,originalLines,modifiedLines,hashedOriginalLines,hashedModifiedLines,timeout2,considerWhitespaceChanges){const moves=[];const deletions=changes.filter((c=>c.modifiedRange.isEmpty&&c.originalRange.length>=3)).map((d=>new LineRangeFragment(d.originalRange,originalLines,d)));const insertions=new Set(changes.filter((c=>c.originalRange.isEmpty&&c.modifiedRange.length>=3)).map((d=>new LineRangeFragment(d.modifiedRange,modifiedLines,d))));const excludedChanges=new Set;for(const deletion of deletions){let highestSimilarity=-1;let best;for(const insertion of insertions){const similarity=deletion.computeSimilarity(insertion);if(similarity>highestSimilarity){highestSimilarity=similarity;best=insertion}}if(highestSimilarity>.9&&best){insertions.delete(best);moves.push(new SimpleLineRangeMapping(deletion.range,best.range));excludedChanges.add(deletion.source);excludedChanges.add(best.source)}if(!timeout2.isValid()){return[]}}const original3LineHashes=new SetMap;for(const change of changes){if(excludedChanges.has(change)){continue}for(let i=change.originalRange.startLineNumber;i<change.originalRange.endLineNumberExclusive-2;i++){const key=`${hashedOriginalLines[i-1]}:${hashedOriginalLines[i+1-1]}:${hashedOriginalLines[i+2-1]}`;original3LineHashes.add(key,{range:new LineRange(i,i+3)})}}const possibleMappings=[];changes.sort(compareBy((c=>c.modifiedRange.startLineNumber),numberComparator));for(const change of changes){if(excludedChanges.has(change)){continue}let lastMappings=[];for(let i=change.modifiedRange.startLineNumber;i<change.modifiedRange.endLineNumberExclusive-2;i++){const key=`${hashedModifiedLines[i-1]}:${hashedModifiedLines[i+1-1]}:${hashedModifiedLines[i+2-1]}`;const currentModifiedRange=new LineRange(i,i+3);const nextMappings=[];original3LineHashes.forEach(key,(({range:range2})=>{for(const lastMapping of lastMappings){if(lastMapping.originalLineRange.endLineNumberExclusive+1===range2.endLineNumberExclusive&&lastMapping.modifiedLineRange.endLineNumberExclusive+1===currentModifiedRange.endLineNumberExclusive){lastMapping.originalLineRange=new LineRange(lastMapping.originalLineRange.startLineNumber,range2.endLineNumberExclusive);lastMapping.modifiedLineRange=new LineRange(lastMapping.modifiedLineRange.startLineNumber,currentModifiedRange.endLineNumberExclusive);nextMappings.push(lastMapping);return}}const mapping={modifiedLineRange:currentModifiedRange,originalLineRange:range2};possibleMappings.push(mapping);nextMappings.push(mapping)}));lastMappings=nextMappings}if(!timeout2.isValid()){return[]}}possibleMappings.sort(reverseOrder(compareBy((m=>m.modifiedLineRange.length),numberComparator)));const modifiedSet=new LineRangeSet;const originalSet=new LineRangeSet;for(const mapping of possibleMappings){const diffOrigToMod=mapping.modifiedLineRange.startLineNumber-mapping.originalLineRange.startLineNumber;const modifiedSections=modifiedSet.subtractFrom(mapping.modifiedLineRange);const originalTranslatedSections=originalSet.subtractFrom(mapping.originalLineRange).map((r=>r.delta(diffOrigToMod)));const modifiedIntersectedSections=intersectRanges(modifiedSections,originalTranslatedSections);for(const s of modifiedIntersectedSections){if(s.length<3){continue}const modifiedLineRange=s;const originalLineRange=s.delta(-diffOrigToMod);moves.push(new SimpleLineRangeMapping(originalLineRange,modifiedLineRange));modifiedSet.addRange(modifiedLineRange);originalSet.addRange(originalLineRange)}}moves.sort(compareBy((m=>m.original.startLineNumber),numberComparator));if(moves.length===0){return[]}let joinedMoves=[moves[0]];for(let i=1;i<moves.length;i++){const last=joinedMoves[joinedMoves.length-1];const current=moves[i];const originalDist=current.original.startLineNumber-last.original.endLineNumberExclusive;const modifiedDist=current.modified.startLineNumber-last.modified.endLineNumberExclusive;const currentMoveAfterLast=originalDist>=0&&modifiedDist>=0;if(currentMoveAfterLast&&originalDist+modifiedDist<=2){joinedMoves[joinedMoves.length-1]=last.join(current);continue}const originalText=current.original.toOffsetRange().slice(originalLines).map((l=>l.trim())).join("\n");if(originalText.length<=10){continue}joinedMoves.push(current)}const originalChanges=MonotonousFinder.createOfSorted(changes,(c=>c.originalRange.endLineNumberExclusive),numberComparator);joinedMoves=joinedMoves.filter((m=>{const diffBeforeOriginalMove=originalChanges.findLastItemBeforeOrEqual(m.original.startLineNumber)||new LineRangeMapping(new LineRange(1,1),new LineRange(1,1),[]);const modifiedDistToPrevDiff=m.modified.startLineNumber-diffBeforeOriginalMove.modifiedRange.endLineNumberExclusive;const originalDistToPrevDiff=m.original.startLineNumber-diffBeforeOriginalMove.originalRange.endLineNumberExclusive;const differentDistances=modifiedDistToPrevDiff!==originalDistToPrevDiff;return differentDistances}));const fullMoves=joinedMoves.map((m=>{const moveChanges=this.refineDiff(originalLines,modifiedLines,new SequenceDiff(m.original.toOffsetRange(),m.modified.toOffsetRange()),timeout2,considerWhitespaceChanges);const mappings=lineRangeMappingFromRangeMappings(moveChanges.mappings,originalLines,modifiedLines,true);return new MovedText(m,mappings)}));return fullMoves}refineDiff(originalLines,modifiedLines,diff,timeout2,considerWhitespaceChanges){const slice1=new LinesSliceCharSequence(originalLines,diff.seq1Range,considerWhitespaceChanges);const slice2=new LinesSliceCharSequence(modifiedLines,diff.seq2Range,considerWhitespaceChanges);const diffResult=slice1.length+slice2.length<500?this.dynamicProgrammingDiffing.compute(slice1,slice2,timeout2):this.myersDiffingAlgorithm.compute(slice1,slice2,timeout2);let diffs=diffResult.diffs;diffs=optimizeSequenceDiffs(slice1,slice2,diffs);diffs=coverFullWords(slice1,slice2,diffs);diffs=smoothenSequenceDiffs(slice1,slice2,diffs);diffs=removeRandomMatches(slice1,slice2,diffs);const result=diffs.map((d=>new RangeMapping(slice1.translateRange(d.seq1Range),slice2.translateRange(d.seq2Range))));return{mappings:result,hitTimeout:diffResult.hitTimeout}}};MonotonousFinder=class{static createOfSorted(items,itemToDomain,domainComparator){return new MonotonousFinder(items,itemToDomain,domainComparator)}constructor(_items,_itemToDomain,_domainComparator){this._items=_items;this._itemToDomain=_itemToDomain;this._domainComparator=_domainComparator;this._currentIdx=0;this._lastValue=void 0;this._hasLastValue=false}findLastItemBeforeOrEqual(value){if(this._hasLastValue&&CompareResult.isLessThan(this._domainComparator(value,this._lastValue))){throw new BugIndicatingError}this._lastValue=value;this._hasLastValue=true;while(this._currentIdx<this._items.length&&CompareResult.isLessThanOrEqual(this._domainComparator(this._itemToDomain(this._items[this._currentIdx]),value))){this._currentIdx++}return this._currentIdx===0?void 0:this._items[this._currentIdx-1]}};LineRangeSet=class{constructor(){this._normalizedRanges=[]}addRange(range2){const joinRangeStartIdx=mapMinusOne(this._normalizedRanges.findIndex((r=>r.endLineNumberExclusive>=range2.startLineNumber)),this._normalizedRanges.length);const joinRangeEndIdxExclusive=findLastIndex(this._normalizedRanges,(r=>r.startLineNumber<=range2.endLineNumberExclusive))+1;if(joinRangeStartIdx===joinRangeEndIdxExclusive){this._normalizedRanges.splice(joinRangeStartIdx,0,range2)}else if(joinRangeStartIdx===joinRangeEndIdxExclusive-1){const joinRange=this._normalizedRanges[joinRangeStartIdx];this._normalizedRanges[joinRangeStartIdx]=joinRange.join(range2)}else{const joinRange=this._normalizedRanges[joinRangeStartIdx].join(this._normalizedRanges[joinRangeEndIdxExclusive-1]).join(range2);this._normalizedRanges.splice(joinRangeStartIdx,joinRangeEndIdxExclusive-joinRangeStartIdx,joinRange)}}subtractFrom(range2){const joinRangeStartIdx=mapMinusOne(this._normalizedRanges.findIndex((r=>r.endLineNumberExclusive>=range2.startLineNumber)),this._normalizedRanges.length);const joinRangeEndIdxExclusive=findLastIndex(this._normalizedRanges,(r=>r.startLineNumber<=range2.endLineNumberExclusive))+1;if(joinRangeStartIdx===joinRangeEndIdxExclusive){return[range2]}const result=[];let startLineNumber=range2.startLineNumber;for(let i=joinRangeStartIdx;i<joinRangeEndIdxExclusive;i++){const r=this._normalizedRanges[i];if(r.startLineNumber>startLineNumber){result.push(new LineRange(startLineNumber,r.startLineNumber))}startLineNumber=r.endLineNumberExclusive}if(startLineNumber<range2.endLineNumberExclusive){result.push(new LineRange(startLineNumber,range2.endLineNumberExclusive))}return result}};LineSequence2=class{constructor(trimmedHash,lines){this.trimmedHash=trimmedHash;this.lines=lines}getElement(offset){return this.trimmedHash[offset]}get length(){return this.trimmedHash.length}getBoundaryScore(length2){const indentationBefore=length2===0?0:getIndentation(this.lines[length2-1]);const indentationAfter=length2===this.lines.length?0:getIndentation(this.lines[length2]);return 1e3-(indentationBefore+indentationAfter)}getText(range2){return this.lines.slice(range2.start,range2.endExclusive).join("\n")}isStronglyEqual(offset1,offset2){return this.lines[offset1]===this.lines[offset2]}};LinesSliceCharSequence=class{constructor(lines,lineRange,considerWhitespaceChanges){this.lines=lines;this.considerWhitespaceChanges=considerWhitespaceChanges;this.elements=[];this.firstCharOffsetByLineMinusOne=[];this.additionalOffsetByLine=[];let trimFirstLineFully=false;if(lineRange.start>0&&lineRange.endExclusive>=lines.length){lineRange=new OffsetRange(lineRange.start-1,lineRange.endExclusive);trimFirstLineFully=true}this.lineRange=lineRange;for(let i=this.lineRange.start;i<this.lineRange.endExclusive;i++){let line=lines[i];let offset=0;if(trimFirstLineFully){offset=line.length;line="";trimFirstLineFully=false}else if(!considerWhitespaceChanges){const trimmedStartLine=line.trimStart();offset=line.length-trimmedStartLine.length;line=trimmedStartLine.trimEnd()}this.additionalOffsetByLine.push(offset);for(let i2=0;i2<line.length;i2++){this.elements.push(line.charCodeAt(i2))}if(i<lines.length-1){this.elements.push("\n".charCodeAt(0));this.firstCharOffsetByLineMinusOne[i-this.lineRange.start]=this.elements.length}}this.additionalOffsetByLine.push(0)}toString(){return`Slice: "${this.text}"`}get text(){return this.getText(new OffsetRange(0,this.length))}getText(range2){return this.elements.slice(range2.start,range2.endExclusive).map((e=>String.fromCharCode(e))).join("")}getElement(offset){return this.elements[offset]}get length(){return this.elements.length}getBoundaryScore(length2){const prevCategory=getCategory(length2>0?this.elements[length2-1]:-1);const nextCategory=getCategory(length2<this.elements.length?this.elements[length2]:-1);if(prevCategory===6&&nextCategory===7){return 0}let score3=0;if(prevCategory!==nextCategory){score3+=10;if(nextCategory===1){score3+=1}}score3+=getCategoryBoundaryScore(prevCategory);score3+=getCategoryBoundaryScore(nextCategory);return score3}translateOffset(offset){if(this.lineRange.isEmpty){return new Position(this.lineRange.start+1,1)}let i=0;let j=this.firstCharOffsetByLineMinusOne.length;while(i<j){const k=Math.floor((i+j)/2);if(this.firstCharOffsetByLineMinusOne[k]>offset){j=k}else{i=k+1}}const offsetOfFirstCharInLine=i===0?0:this.firstCharOffsetByLineMinusOne[i-1];return new Position(this.lineRange.start+i+1,offset-offsetOfFirstCharInLine+1+this.additionalOffsetByLine[i])}translateRange(range2){return Range.fromPositions(this.translateOffset(range2.start),this.translateOffset(range2.endExclusive))}findWordContaining(offset){if(offset<0||offset>=this.elements.length){return void 0}if(!isWordChar(this.elements[offset])){return void 0}let start=offset;while(start>0&&isWordChar(this.elements[start-1])){start--}let end=offset;while(end<this.elements.length&&isWordChar(this.elements[end])){end++}return new OffsetRange(start,end)}countLinesIn(range2){return this.translateOffset(range2.endExclusive).lineNumber-this.translateOffset(range2.start).lineNumber}isStronglyEqual(offset1,offset2){return this.elements[offset1]===this.elements[offset2]}extendToFullLines(range2){var _a6,_b3;const start=(_a6=findLastMonotonous(this.firstCharOffsetByLineMinusOne,(x=>x<=range2.start)))!==null&&_a6!==void 0?_a6:0;const end=(_b3=findFirstMonotonous(this.firstCharOffsetByLineMinusOne,(x=>range2.endExclusive<=x)))!==null&&_b3!==void 0?_b3:this.elements.length;return new OffsetRange(start,end)}};score={[0]:0,[1]:0,[2]:0,[3]:10,[4]:2,[5]:3,[6]:10,[7]:10};chrKeys=new Map;LineRangeFragment=class{constructor(range2,lines,source){this.range=range2;this.lines=lines;this.source=source;this.histogram=[];let counter=0;for(let i=range2.startLineNumber-1;i<range2.endLineNumberExclusive-1;i++){const line=lines[i];for(let j=0;j<line.length;j++){counter++;const chr=line[j];const key2=getKey(chr);this.histogram[key2]=(this.histogram[key2]||0)+1}counter++;const key=getKey("\n");this.histogram[key]=(this.histogram[key]||0)+1}this.totalCount=counter}computeSimilarity(other){var _a6,_b3;let sumDifferences=0;const maxLength=Math.max(this.histogram.length,other.histogram.length);for(let i=0;i<maxLength;i++){sumDifferences+=Math.abs(((_a6=this.histogram[i])!==null&&_a6!==void 0?_a6:0)-((_b3=other.histogram[i])!==null&&_b3!==void 0?_b3:0))}return 1-sumDifferences/(this.totalCount+other.totalCount)}}}});var linesDiffComputers;var init_linesDiffComputers=__esm({"node_modules/monaco-editor/esm/vs/editor/common/diff/linesDiffComputers.js"(){init_legacyLinesDiffComputer();init_advancedLinesDiffComputer();linesDiffComputers={getLegacy:()=>new LegacyLinesDiffComputer,getAdvanced:()=>new AdvancedLinesDiffComputer}}});function roundFloat(number,decimalPoints){const decimal=Math.pow(10,decimalPoints);return Math.round(number*decimal)/decimal}var RGBA,HSLA,HSVA,Color;var init_color=__esm({"node_modules/monaco-editor/esm/vs/base/common/color.js"(){RGBA=class{constructor(r,g,b,a=1){this._rgbaBrand=void 0;this.r=Math.min(255,Math.max(0,r))|0;this.g=Math.min(255,Math.max(0,g))|0;this.b=Math.min(255,Math.max(0,b))|0;this.a=roundFloat(Math.max(Math.min(1,a),0),3)}static equals(a,b){return a.r===b.r&&a.g===b.g&&a.b===b.b&&a.a===b.a}};HSLA=class{constructor(h2,s,l,a){this._hslaBrand=void 0;this.h=Math.max(Math.min(360,h2),0)|0;this.s=roundFloat(Math.max(Math.min(1,s),0),3);this.l=roundFloat(Math.max(Math.min(1,l),0),3);this.a=roundFloat(Math.max(Math.min(1,a),0),3)}static equals(a,b){return a.h===b.h&&a.s===b.s&&a.l===b.l&&a.a===b.a}static fromRGBA(rgba){const r=rgba.r/255;const g=rgba.g/255;const b=rgba.b/255;const a=rgba.a;const max=Math.max(r,g,b);const min=Math.min(r,g,b);let h2=0;let s=0;const l=(min+max)/2;const chroma=max-min;if(chroma>0){s=Math.min(l<=.5?chroma/(2*l):chroma/(2-2*l),1);switch(max){case r:h2=(g-b)/chroma+(g<b?6:0);break;case g:h2=(b-r)/chroma+2;break;case b:h2=(r-g)/chroma+4;break}h2*=60;h2=Math.round(h2)}return new HSLA(h2,s,l,a)}static _hue2rgb(p,q,t2){if(t2<0){t2+=1}if(t2>1){t2-=1}if(t2<1/6){return p+(q-p)*6*t2}if(t2<1/2){return q}if(t2<2/3){return p+(q-p)*(2/3-t2)*6}return p}static toRGBA(hsla){const h2=hsla.h/360;const{s:s,l:l,a:a}=hsla;let r,g,b;if(s===0){r=g=b=l}else{const q=l<.5?l*(1+s):l+s-l*s;const p=2*l-q;r=HSLA._hue2rgb(p,q,h2+1/3);g=HSLA._hue2rgb(p,q,h2);b=HSLA._hue2rgb(p,q,h2-1/3)}return new RGBA(Math.round(r*255),Math.round(g*255),Math.round(b*255),a)}};HSVA=class{constructor(h2,s,v,a){this._hsvaBrand=void 0;this.h=Math.max(Math.min(360,h2),0)|0;this.s=roundFloat(Math.max(Math.min(1,s),0),3);this.v=roundFloat(Math.max(Math.min(1,v),0),3);this.a=roundFloat(Math.max(Math.min(1,a),0),3)}static equals(a,b){return a.h===b.h&&a.s===b.s&&a.v===b.v&&a.a===b.a}static fromRGBA(rgba){const r=rgba.r/255;const g=rgba.g/255;const b=rgba.b/255;const cmax=Math.max(r,g,b);const cmin=Math.min(r,g,b);const delta=cmax-cmin;const s=cmax===0?0:delta/cmax;let m;if(delta===0){m=0}else if(cmax===r){m=((g-b)/delta%6+6)%6}else if(cmax===g){m=(b-r)/delta+2}else{m=(r-g)/delta+4}return new HSVA(Math.round(m*60),s,cmax,rgba.a)}static toRGBA(hsva){const{h:h2,s:s,v:v,a:a}=hsva;const c=v*s;const x=c*(1-Math.abs(h2/60%2-1));const m=v-c;let[r,g,b]=[0,0,0];if(h2<60){r=c;g=x}else if(h2<120){r=x;g=c}else if(h2<180){g=c;b=x}else if(h2<240){g=x;b=c}else if(h2<300){r=x;b=c}else if(h2<=360){r=c;b=x}r=Math.round((r+m)*255);g=Math.round((g+m)*255);b=Math.round((b+m)*255);return new RGBA(r,g,b,a)}};Color=class{static fromHex(hex){return Color.Format.CSS.parseHex(hex)||Color.red}static equals(a,b){if(!a&&!b){return true}if(!a||!b){return false}return a.equals(b)}get hsla(){if(this._hsla){return this._hsla}else{return HSLA.fromRGBA(this.rgba)}}get hsva(){if(this._hsva){return this._hsva}return HSVA.fromRGBA(this.rgba)}constructor(arg){if(!arg){throw new Error("Color needs a value")}else if(arg instanceof RGBA){this.rgba=arg}else if(arg instanceof HSLA){this._hsla=arg;this.rgba=HSLA.toRGBA(arg)}else if(arg instanceof HSVA){this._hsva=arg;this.rgba=HSVA.toRGBA(arg)}else{throw new Error("Invalid color ctor argument")}}equals(other){return!!other&&RGBA.equals(this.rgba,other.rgba)&&HSLA.equals(this.hsla,other.hsla)&&HSVA.equals(this.hsva,other.hsva)}getRelativeLuminance(){const R=Color._relativeLuminanceForComponent(this.rgba.r);const G=Color._relativeLuminanceForComponent(this.rgba.g);const B=Color._relativeLuminanceForComponent(this.rgba.b);const luminance=.2126*R+.7152*G+.0722*B;return roundFloat(luminance,4)}static _relativeLuminanceForComponent(color){const c=color/255;return c<=.03928?c/12.92:Math.pow((c+.055)/1.055,2.4)}isLighter(){const yiq=(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3;return yiq>=128}isLighterThan(another){const lum1=this.getRelativeLuminance();const lum2=another.getRelativeLuminance();return lum1>lum2}isDarkerThan(another){const lum1=this.getRelativeLuminance();const lum2=another.getRelativeLuminance();return lum1<lum2}lighten(factor2){return new Color(new HSLA(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*factor2,this.hsla.a))}darken(factor2){return new Color(new HSLA(this.hsla.h,this.hsla.s,this.hsla.l-this.hsla.l*factor2,this.hsla.a))}transparent(factor2){const{r:r,g:g,b:b,a:a}=this.rgba;return new Color(new RGBA(r,g,b,a*factor2))}isTransparent(){return this.rgba.a===0}isOpaque(){return this.rgba.a===1}opposite(){return new Color(new RGBA(255-this.rgba.r,255-this.rgba.g,255-this.rgba.b,this.rgba.a))}makeOpaque(opaqueBackground){if(this.isOpaque()||opaqueBackground.rgba.a!==1){return this}const{r:r,g:g,b:b,a:a}=this.rgba;return new Color(new RGBA(opaqueBackground.rgba.r-a*(opaqueBackground.rgba.r-r),opaqueBackground.rgba.g-a*(opaqueBackground.rgba.g-g),opaqueBackground.rgba.b-a*(opaqueBackground.rgba.b-b),1))}toString(){if(!this._toString){this._toString=Color.Format.CSS.format(this)}return this._toString}static getLighterColor(of,relative2,factor2){if(of.isLighterThan(relative2)){return of}factor2=factor2?factor2:.5;const lum1=of.getRelativeLuminance();const lum2=relative2.getRelativeLuminance();factor2=factor2*(lum2-lum1)/lum2;return of.lighten(factor2)}static getDarkerColor(of,relative2,factor2){if(of.isDarkerThan(relative2)){return of}factor2=factor2?factor2:.5;const lum1=of.getRelativeLuminance();const lum2=relative2.getRelativeLuminance();factor2=factor2*(lum1-lum2)/lum1;return of.darken(factor2)}};Color.white=new Color(new RGBA(255,255,255,1));Color.black=new Color(new RGBA(0,0,0,1));Color.red=new Color(new RGBA(255,0,0,1));Color.blue=new Color(new RGBA(0,0,255,1));Color.green=new Color(new RGBA(0,255,0,1));Color.cyan=new Color(new RGBA(0,255,255,1));Color.lightgrey=new Color(new RGBA(211,211,211,1));Color.transparent=new Color(new RGBA(0,0,0,0));(function(Color5){let Format;(function(Format2){let CSS;(function(CSS2){function formatRGB(color){if(color.rgba.a===1){return`rgb(${color.rgba.r}, ${color.rgba.g}, ${color.rgba.b})`}return Color5.Format.CSS.formatRGBA(color)}CSS2.formatRGB=formatRGB;function formatRGBA(color){return`rgba(${color.rgba.r}, ${color.rgba.g}, ${color.rgba.b}, ${+color.rgba.a.toFixed(2)})`}CSS2.formatRGBA=formatRGBA;function formatHSL(color){if(color.hsla.a===1){return`hsl(${color.hsla.h}, ${(color.hsla.s*100).toFixed(2)}%, ${(color.hsla.l*100).toFixed(2)}%)`}return Color5.Format.CSS.formatHSLA(color)}CSS2.formatHSL=formatHSL;function formatHSLA(color){return`hsla(${color.hsla.h}, ${(color.hsla.s*100).toFixed(2)}%, ${(color.hsla.l*100).toFixed(2)}%, ${color.hsla.a.toFixed(2)})`}CSS2.formatHSLA=formatHSLA;function _toTwoDigitHex(n){const r=n.toString(16);return r.length!==2?"0"+r:r}function formatHex(color){return`#${_toTwoDigitHex(color.rgba.r)}${_toTwoDigitHex(color.rgba.g)}${_toTwoDigitHex(color.rgba.b)}`}CSS2.formatHex=formatHex;function formatHexA(color,compact=false){if(compact&&color.rgba.a===1){return Color5.Format.CSS.formatHex(color)}return`#${_toTwoDigitHex(color.rgba.r)}${_toTwoDigitHex(color.rgba.g)}${_toTwoDigitHex(color.rgba.b)}${_toTwoDigitHex(Math.round(color.rgba.a*255))}`}CSS2.formatHexA=formatHexA;function format2(color){if(color.isOpaque()){return Color5.Format.CSS.formatHex(color)}return Color5.Format.CSS.formatRGBA(color)}CSS2.format=format2;function parseHex(hex){const length2=hex.length;if(length2===0){return null}if(hex.charCodeAt(0)!==35){return null}if(length2===7){const r=16*_parseHexDigit(hex.charCodeAt(1))+_parseHexDigit(hex.charCodeAt(2));const g=16*_parseHexDigit(hex.charCodeAt(3))+_parseHexDigit(hex.charCodeAt(4));const b=16*_parseHexDigit(hex.charCodeAt(5))+_parseHexDigit(hex.charCodeAt(6));return new Color5(new RGBA(r,g,b,1))}if(length2===9){const r=16*_parseHexDigit(hex.charCodeAt(1))+_parseHexDigit(hex.charCodeAt(2));const g=16*_parseHexDigit(hex.charCodeAt(3))+_parseHexDigit(hex.charCodeAt(4));const b=16*_parseHexDigit(hex.charCodeAt(5))+_parseHexDigit(hex.charCodeAt(6));const a=16*_parseHexDigit(hex.charCodeAt(7))+_parseHexDigit(hex.charCodeAt(8));return new Color5(new RGBA(r,g,b,a/255))}if(length2===4){const r=_parseHexDigit(hex.charCodeAt(1));const g=_parseHexDigit(hex.charCodeAt(2));const b=_parseHexDigit(hex.charCodeAt(3));return new Color5(new RGBA(16*r+r,16*g+g,16*b+b))}if(length2===5){const r=_parseHexDigit(hex.charCodeAt(1));const g=_parseHexDigit(hex.charCodeAt(2));const b=_parseHexDigit(hex.charCodeAt(3));const a=_parseHexDigit(hex.charCodeAt(4));return new Color5(new RGBA(16*r+r,16*g+g,16*b+b,(16*a+a)/255))}return null}CSS2.parseHex=parseHex;function _parseHexDigit(charCode){switch(charCode){case 48:return 0;case 49:return 1;case 50:return 2;case 51:return 3;case 52:return 4;case 53:return 5;case 54:return 6;case 55:return 7;case 56:return 8;case 57:return 9;case 97:return 10;case 65:return 10;case 98:return 11;case 66:return 11;case 99:return 12;case 67:return 12;case 100:return 13;case 68:return 13;case 101:return 14;case 69:return 14;case 102:return 15;case 70:return 15}return 0}})(CSS=Format2.CSS||(Format2.CSS={}))})(Format=Color5.Format||(Color5.Format={}))})(Color||(Color={}))}});function _parseCaptureGroups(captureGroups){const values=[];for(const captureGroup of captureGroups){const parsedNumber=Number(captureGroup);if(parsedNumber||parsedNumber===0&&captureGroup.replace(/\s/g,"")!==""){values.push(parsedNumber)}}return values}function _toIColor(r,g,b,a){return{red:r/255,blue:b/255,green:g/255,alpha:a}}function _findRange(model,match2){const index=match2.index;const length2=match2[0].length;if(!index){return}const startPosition=model.positionAt(index);const range2={startLineNumber:startPosition.lineNumber,startColumn:startPosition.column,endLineNumber:startPosition.lineNumber,endColumn:startPosition.column+length2};return range2}function _findHexColorInformation(range2,hexValue){if(!range2){return}const parsedHexColor=Color.Format.CSS.parseHex(hexValue);if(!parsedHexColor){return}return{range:range2,color:_toIColor(parsedHexColor.rgba.r,parsedHexColor.rgba.g,parsedHexColor.rgba.b,parsedHexColor.rgba.a)}}function _findRGBColorInformation(range2,matches,isAlpha){if(!range2||matches.length!==1){return}const match2=matches[0];const captureGroups=match2.values();const parsedRegex=_parseCaptureGroups(captureGroups);return{range:range2,color:_toIColor(parsedRegex[0],parsedRegex[1],parsedRegex[2],isAlpha?parsedRegex[3]:1)}}function _findHSLColorInformation(range2,matches,isAlpha){if(!range2||matches.length!==1){return}const match2=matches[0];const captureGroups=match2.values();const parsedRegex=_parseCaptureGroups(captureGroups);const colorEquivalent=new Color(new HSLA(parsedRegex[0],parsedRegex[1]/100,parsedRegex[2]/100,isAlpha?parsedRegex[3]:1));return{range:range2,color:_toIColor(colorEquivalent.rgba.r,colorEquivalent.rgba.g,colorEquivalent.rgba.b,colorEquivalent.rgba.a)}}function _findMatches(model,regex){if(typeof model==="string"){return[...model.matchAll(regex)]}else{return model.findMatches(regex)}}function computeColors(model){const result=[];const initialValidationRegex=/\b(rgb|rgba|hsl|hsla)(\([0-9\s,.\%]*\))|(#)([A-Fa-f0-9]{3})\b|(#)([A-Fa-f0-9]{4})\b|(#)([A-Fa-f0-9]{6})\b|(#)([A-Fa-f0-9]{8})\b/gm;const initialValidationMatches=_findMatches(model,initialValidationRegex);if(initialValidationMatches.length>0){for(const initialMatch of initialValidationMatches){const initialCaptureGroups=initialMatch.filter((captureGroup=>captureGroup!==void 0));const colorScheme=initialCaptureGroups[1];const colorParameters=initialCaptureGroups[2];if(!colorParameters){continue}let colorInformation;if(colorScheme==="rgb"){const regexParameters=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*\)$/gm;colorInformation=_findRGBColorInformation(_findRange(model,initialMatch),_findMatches(colorParameters,regexParameters),false)}else if(colorScheme==="rgba"){const regexParameters=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;colorInformation=_findRGBColorInformation(_findRange(model,initialMatch),_findMatches(colorParameters,regexParameters),true)}else if(colorScheme==="hsl"){const regexParameters=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*\)$/gm;colorInformation=_findHSLColorInformation(_findRange(model,initialMatch),_findMatches(colorParameters,regexParameters),false)}else if(colorScheme==="hsla"){const regexParameters=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;colorInformation=_findHSLColorInformation(_findRange(model,initialMatch),_findMatches(colorParameters,regexParameters),true)}else if(colorScheme==="#"){colorInformation=_findHexColorInformation(_findRange(model,initialMatch),colorScheme+colorParameters)}if(colorInformation){result.push(colorInformation)}}}return result}function computeDefaultDocumentColors(model){if(!model||typeof model.getValue!=="function"||typeof model.positionAt!=="function"){return[]}return computeColors(model)}var init_defaultDocumentColorsComputer=__esm({"node_modules/monaco-editor/esm/vs/editor/common/languages/defaultDocumentColorsComputer.js"(){init_color()}});var __awaiter3,MirrorModel,EditorSimpleWorker;var init_editorSimpleWorker=__esm({"node_modules/monaco-editor/esm/vs/editor/common/services/editorSimpleWorker.js"(){init_diff();init_uri();init_position();init_range();init_mirrorTextModel();init_wordHelper();init_linkComputer();init_inplaceReplaceSupport();init_editorBaseApi();init_stopwatch();init_unicodeTextModelHighlighter();init_linesDiffComputers();init_objects();init_defaultDocumentColorsComputer();__awaiter3=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};MirrorModel=class extends MirrorTextModel{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(regex){const matches=[];for(let i=0;i<this._lines.length;i++){const line=this._lines[i];const offsetToAdd=this.offsetAt(new Position(i+1,1));const iteratorOverMatches=line.matchAll(regex);for(const match2 of iteratorOverMatches){if(match2.index||match2.index===0){match2.index=match2.index+offsetToAdd}matches.push(match2)}}return matches}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(lineNumber){return this._lines[lineNumber-1]}getWordAtPosition(position,wordDefinition){const wordAtText=getWordAtText(position.column,ensureValidWordDefinition(wordDefinition),this._lines[position.lineNumber-1],0);if(wordAtText){return new Range(position.lineNumber,wordAtText.startColumn,position.lineNumber,wordAtText.endColumn)}return null}words(wordDefinition){const lines=this._lines;const wordenize=this._wordenize.bind(this);let lineNumber=0;let lineText="";let wordRangesIdx=0;let wordRanges=[];return{*[Symbol.iterator](){while(true){if(wordRangesIdx<wordRanges.length){const value=lineText.substring(wordRanges[wordRangesIdx].start,wordRanges[wordRangesIdx].end);wordRangesIdx+=1;yield value}else{if(lineNumber<lines.length){lineText=lines[lineNumber];wordRanges=wordenize(lineText,wordDefinition);wordRangesIdx=0;lineNumber+=1}else{break}}}}}}getLineWords(lineNumber,wordDefinition){const content=this._lines[lineNumber-1];const ranges=this._wordenize(content,wordDefinition);const words=[];for(const range2 of ranges){words.push({word:content.substring(range2.start,range2.end),startColumn:range2.start+1,endColumn:range2.end+1})}return words}_wordenize(content,wordDefinition){const result=[];let match2;wordDefinition.lastIndex=0;while(match2=wordDefinition.exec(content)){if(match2[0].length===0){break}result.push({start:match2.index,end:match2.index+match2[0].length})}return result}getValueInRange(range2){range2=this._validateRange(range2);if(range2.startLineNumber===range2.endLineNumber){return this._lines[range2.startLineNumber-1].substring(range2.startColumn-1,range2.endColumn-1)}const lineEnding=this._eol;const startLineIndex=range2.startLineNumber-1;const endLineIndex=range2.endLineNumber-1;const resultLines=[];resultLines.push(this._lines[startLineIndex].substring(range2.startColumn-1));for(let i=startLineIndex+1;i<endLineIndex;i++){resultLines.push(this._lines[i])}resultLines.push(this._lines[endLineIndex].substring(0,range2.endColumn-1));return resultLines.join(lineEnding)}offsetAt(position){position=this._validatePosition(position);this._ensureLineStarts();return this._lineStarts.getPrefixSum(position.lineNumber-2)+(position.column-1)}positionAt(offset){offset=Math.floor(offset);offset=Math.max(0,offset);this._ensureLineStarts();const out=this._lineStarts.getIndexOf(offset);const lineLength=this._lines[out.index].length;return{lineNumber:1+out.index,column:1+Math.min(out.remainder,lineLength)}}_validateRange(range2){const start=this._validatePosition({lineNumber:range2.startLineNumber,column:range2.startColumn});const end=this._validatePosition({lineNumber:range2.endLineNumber,column:range2.endColumn});if(start.lineNumber!==range2.startLineNumber||start.column!==range2.startColumn||end.lineNumber!==range2.endLineNumber||end.column!==range2.endColumn){return{startLineNumber:start.lineNumber,startColumn:start.column,endLineNumber:end.lineNumber,endColumn:end.column}}return range2}_validatePosition(position){if(!Position.isIPosition(position)){throw new Error("bad position")}let{lineNumber:lineNumber,column:column}=position;let hasChanged=false;if(lineNumber<1){lineNumber=1;column=1;hasChanged=true}else if(lineNumber>this._lines.length){lineNumber=this._lines.length;column=this._lines[lineNumber-1].length+1;hasChanged=true}else{const maxCharacter=this._lines[lineNumber-1].length+1;if(column<1){column=1;hasChanged=true}else if(column>maxCharacter){column=maxCharacter;hasChanged=true}}if(!hasChanged){return position}else{return{lineNumber:lineNumber,column:column}}}};EditorSimpleWorker=class{constructor(host,foreignModuleFactory){this._host=host;this._models=Object.create(null);this._foreignModuleFactory=foreignModuleFactory;this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(uri){return this._models[uri]}_getModels(){const all=[];Object.keys(this._models).forEach((key=>all.push(this._models[key])));return all}acceptNewModel(data){this._models[data.url]=new MirrorModel(URI.parse(data.url),data.lines,data.EOL,data.versionId)}acceptModelChanged(strURL,e){if(!this._models[strURL]){return}const model=this._models[strURL];model.onEvents(e)}acceptRemovedModel(strURL){if(!this._models[strURL]){return}delete this._models[strURL]}computeUnicodeHighlights(url,options2,range2){return __awaiter3(this,void 0,void 0,(function*(){const model=this._getModel(url);if(!model){return{ranges:[],hasMore:false,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}return UnicodeTextModelHighlighter.computeUnicodeHighlights(model,options2,range2)}))}computeDiff(originalUrl,modifiedUrl,options2,algorithm){return __awaiter3(this,void 0,void 0,(function*(){const original=this._getModel(originalUrl);const modified=this._getModel(modifiedUrl);if(!original||!modified){return null}return EditorSimpleWorker.computeDiff(original,modified,options2,algorithm)}))}static computeDiff(originalTextModel,modifiedTextModel,options2,algorithm){const diffAlgorithm=algorithm==="advanced"?linesDiffComputers.getAdvanced():linesDiffComputers.getLegacy();const originalLines=originalTextModel.getLinesContent();const modifiedLines=modifiedTextModel.getLinesContent();const result=diffAlgorithm.computeDiff(originalLines,modifiedLines,options2);const identical=result.changes.length>0?false:this._modelsAreIdentical(originalTextModel,modifiedTextModel);function getLineChanges(changes){return changes.map((m=>{var _a6;return[m.originalRange.startLineNumber,m.originalRange.endLineNumberExclusive,m.modifiedRange.startLineNumber,m.modifiedRange.endLineNumberExclusive,(_a6=m.innerChanges)===null||_a6===void 0?void 0:_a6.map((m2=>[m2.originalRange.startLineNumber,m2.originalRange.startColumn,m2.originalRange.endLineNumber,m2.originalRange.endColumn,m2.modifiedRange.startLineNumber,m2.modifiedRange.startColumn,m2.modifiedRange.endLineNumber,m2.modifiedRange.endColumn]))]}))}return{identical:identical,quitEarly:result.hitTimeout,changes:getLineChanges(result.changes),moves:result.moves.map((m=>[m.lineRangeMapping.original.startLineNumber,m.lineRangeMapping.original.endLineNumberExclusive,m.lineRangeMapping.modified.startLineNumber,m.lineRangeMapping.modified.endLineNumberExclusive,getLineChanges(m.changes)]))}}static _modelsAreIdentical(original,modified){const originalLineCount=original.getLineCount();const modifiedLineCount=modified.getLineCount();if(originalLineCount!==modifiedLineCount){return false}for(let line=1;line<=originalLineCount;line++){const originalLine=original.getLineContent(line);const modifiedLine=modified.getLineContent(line);if(originalLine!==modifiedLine){return false}}return true}computeMoreMinimalEdits(modelUrl,edits,pretty){return __awaiter3(this,void 0,void 0,(function*(){const model=this._getModel(modelUrl);if(!model){return edits}const result=[];let lastEol=void 0;edits=edits.slice(0).sort(((a,b)=>{if(a.range&&b.range){return Range.compareRangesUsingStarts(a.range,b.range)}const aRng=a.range?0:1;const bRng=b.range?0:1;return aRng-bRng}));for(let{range:range2,text:text2,eol:eol}of edits){if(typeof eol==="number"){lastEol=eol}if(Range.isEmpty(range2)&&!text2){continue}const original=model.getValueInRange(range2);text2=text2.replace(/\r\n|\n|\r/g,model.eol);if(original===text2){continue}if(Math.max(text2.length,original.length)>EditorSimpleWorker._diffLimit){result.push({range:range2,text:text2});continue}const changes=stringDiff(original,text2,pretty);const editOffset=model.offsetAt(Range.lift(range2).getStartPosition());for(const change of changes){const start=model.positionAt(editOffset+change.originalStart);const end=model.positionAt(editOffset+change.originalStart+change.originalLength);const newEdit={text:text2.substr(change.modifiedStart,change.modifiedLength),range:{startLineNumber:start.lineNumber,startColumn:start.column,endLineNumber:end.lineNumber,endColumn:end.column}};if(model.getValueInRange(newEdit.range)!==newEdit.text){result.push(newEdit)}}}if(typeof lastEol==="number"){result.push({eol:lastEol,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}})}return result}))}computeLinks(modelUrl){return __awaiter3(this,void 0,void 0,(function*(){const model=this._getModel(modelUrl);if(!model){return null}return computeLinks(model)}))}computeDefaultDocumentColors(modelUrl){return __awaiter3(this,void 0,void 0,(function*(){const model=this._getModel(modelUrl);if(!model){return null}return computeDefaultDocumentColors(model)}))}textualSuggest(modelUrls,leadingWord,wordDef,wordDefFlags){return __awaiter3(this,void 0,void 0,(function*(){const sw=new StopWatch;const wordDefRegExp=new RegExp(wordDef,wordDefFlags);const seen=new Set;outer:for(const url of modelUrls){const model=this._getModel(url);if(!model){continue}for(const word of model.words(wordDefRegExp)){if(word===leadingWord||!isNaN(Number(word))){continue}seen.add(word);if(seen.size>EditorSimpleWorker._suggestionsLimit){break outer}}}return{words:Array.from(seen),duration:sw.elapsed()}}))}computeWordRanges(modelUrl,range2,wordDef,wordDefFlags){return __awaiter3(this,void 0,void 0,(function*(){const model=this._getModel(modelUrl);if(!model){return Object.create(null)}const wordDefRegExp=new RegExp(wordDef,wordDefFlags);const result=Object.create(null);for(let line=range2.startLineNumber;line<range2.endLineNumber;line++){const words=model.getLineWords(line,wordDefRegExp);for(const word of words){if(!isNaN(Number(word.word))){continue}let array2=result[word.word];if(!array2){array2=[];result[word.word]=array2}array2.push({startLineNumber:line,startColumn:word.startColumn,endLineNumber:line,endColumn:word.endColumn})}}return result}))}navigateValueSet(modelUrl,range2,up,wordDef,wordDefFlags){return __awaiter3(this,void 0,void 0,(function*(){const model=this._getModel(modelUrl);if(!model){return null}const wordDefRegExp=new RegExp(wordDef,wordDefFlags);if(range2.startColumn===range2.endColumn){range2={startLineNumber:range2.startLineNumber,startColumn:range2.startColumn,endLineNumber:range2.endLineNumber,endColumn:range2.endColumn+1}}const selectionText=model.getValueInRange(range2);const wordRange=model.getWordAtPosition({lineNumber:range2.startLineNumber,column:range2.startColumn},wordDefRegExp);if(!wordRange){return null}const word=model.getValueInRange(wordRange);const result=BasicInplaceReplace.INSTANCE.navigateValueSet(range2,selectionText,wordRange,word,up);return result}))}loadForeignModule(moduleId,createData,foreignHostMethods){const proxyMethodRequest=(method,args)=>this._host.fhr(method,args);const foreignHost=createProxyObject(foreignHostMethods,proxyMethodRequest);const ctx={host:foreignHost,getMirrorModels:()=>this._getModels()};if(this._foreignModuleFactory){this._foreignModule=this._foreignModuleFactory(ctx,createData);return Promise.resolve(getAllMethodNames(this._foreignModule))}return Promise.reject(new Error(`Unexpected usage`))}fmr(method,args){if(!this._foreignModule||typeof this._foreignModule[method]!=="function"){return Promise.reject(new Error("Missing requestHandler or method: "+method))}try{return Promise.resolve(this._foreignModule[method].apply(this._foreignModule,args))}catch(e){return Promise.reject(e)}}};EditorSimpleWorker._diffLimit=1e5;EditorSimpleWorker._suggestionsLimit=1e4;if(typeof importScripts==="function"){globalThis.monaco=createMonacoBaseAPI()}}});var ITextResourceConfigurationService,ITextResourcePropertiesService;var init_textResourceConfiguration=__esm({"node_modules/monaco-editor/esm/vs/editor/common/services/textResourceConfiguration.js"(){init_instantiation();ITextResourceConfigurationService=createDecorator("textResourceConfigurationService");ITextResourcePropertiesService=createDecorator("textResourcePropertiesService")}});function LogLevelToString(logLevel){switch(logLevel){case LogLevel.Trace:return"trace";case LogLevel.Debug:return"debug";case LogLevel.Info:return"info";case LogLevel.Warning:return"warn";case LogLevel.Error:return"error";case LogLevel.Off:return"off"}}var ILogService,LogLevel,DEFAULT_LOG_LEVEL,AbstractLogger,ConsoleLogger,MultiplexLogger,CONTEXT_LOG_LEVEL;var init_log=__esm({"node_modules/monaco-editor/esm/vs/platform/log/common/log.js"(){init_event();init_lifecycle();init_contextkey();init_instantiation();ILogService=createDecorator("logService");(function(LogLevel2){LogLevel2[LogLevel2["Off"]=0]="Off";LogLevel2[LogLevel2["Trace"]=1]="Trace";LogLevel2[LogLevel2["Debug"]=2]="Debug";LogLevel2[LogLevel2["Info"]=3]="Info";LogLevel2[LogLevel2["Warning"]=4]="Warning";LogLevel2[LogLevel2["Error"]=5]="Error"})(LogLevel||(LogLevel={}));DEFAULT_LOG_LEVEL=LogLevel.Info;AbstractLogger=class extends Disposable{constructor(){super(...arguments);this.level=DEFAULT_LOG_LEVEL;this._onDidChangeLogLevel=this._register(new Emitter);this.onDidChangeLogLevel=this._onDidChangeLogLevel.event}setLevel(level){if(this.level!==level){this.level=level;this._onDidChangeLogLevel.fire(this.level)}}getLevel(){return this.level}checkLogLevel(level){return this.level!==LogLevel.Off&&this.level<=level}};ConsoleLogger=class extends AbstractLogger{constructor(logLevel=DEFAULT_LOG_LEVEL,useColors=true){super();this.useColors=useColors;this.setLevel(logLevel)}trace(message,...args){if(this.checkLogLevel(LogLevel.Trace)){if(this.useColors){console.log("%cTRACE","color: #888",message,...args)}else{console.log(message,...args)}}}debug(message,...args){if(this.checkLogLevel(LogLevel.Debug)){if(this.useColors){console.log("%cDEBUG","background: #eee; color: #888",message,...args)}else{console.log(message,...args)}}}info(message,...args){if(this.checkLogLevel(LogLevel.Info)){if(this.useColors){console.log("%c INFO","color: #33f",message,...args)}else{console.log(message,...args)}}}warn(message,...args){if(this.checkLogLevel(LogLevel.Warning)){if(this.useColors){console.log("%c WARN","color: #993",message,...args)}else{console.log(message,...args)}}}error(message,...args){if(this.checkLogLevel(LogLevel.Error)){if(this.useColors){console.log("%c ERR","color: #f33",message,...args)}else{console.error(message,...args)}}}dispose(){}};MultiplexLogger=class extends AbstractLogger{constructor(loggers){super();this.loggers=loggers;if(loggers.length){this.setLevel(loggers[0].getLevel())}}setLevel(level){for(const logger of this.loggers){logger.setLevel(level)}super.setLevel(level)}trace(message,...args){for(const logger of this.loggers){logger.trace(message,...args)}}debug(message,...args){for(const logger of this.loggers){logger.debug(message,...args)}}info(message,...args){for(const logger of this.loggers){logger.info(message,...args)}}warn(message,...args){for(const logger of this.loggers){logger.warn(message,...args)}}error(message,...args){for(const logger of this.loggers){logger.error(message,...args)}}dispose(){for(const logger of this.loggers){logger.dispose()}}};CONTEXT_LOG_LEVEL=new RawContextKey("logLevel",LogLevelToString(LogLevel.Info))}});var ILanguageFeaturesService;var init_languageFeatures=__esm({"node_modules/monaco-editor/esm/vs/editor/common/services/languageFeatures.js"(){init_instantiation();ILanguageFeaturesService=createDecorator("ILanguageFeaturesService")}});function canSyncModel(modelService,resource){const model=modelService.getModel(resource);if(!model){return false}if(model.isTooLargeForSyncing()){return false}return true}var __decorate3,__param3,__awaiter4,STOP_SYNC_MODEL_DELTA_TIME_MS,STOP_WORKER_DELTA_TIME_MS,EditorWorkerService,WordBasedCompletionItemProvider,WorkerManager,EditorModelManager,SynchronousWorkerClient,EditorWorkerHost,EditorWorkerClient;var init_editorWorkerService=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/services/editorWorkerService.js"(){init_async();init_lifecycle();init_simpleWorker();init_defaultWorkerFactory();init_range();init_languageConfigurationRegistry();init_editorSimpleWorker();init_model2();init_textResourceConfiguration();init_arrays();init_log();init_stopwatch();init_errors();init_languageFeatures();init_linesDiffComputer();init_lineRange();__decorate3=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param3=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};__awaiter4=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};STOP_SYNC_MODEL_DELTA_TIME_MS=60*1e3;STOP_WORKER_DELTA_TIME_MS=5*60*1e3;EditorWorkerService=class EditorWorkerService2 extends Disposable{constructor(modelService,configurationService,logService,languageConfigurationService,languageFeaturesService){super();this._modelService=modelService;this._workerManager=this._register(new WorkerManager(this._modelService,languageConfigurationService));this._logService=logService;this._register(languageFeaturesService.linkProvider.register({language:"*",hasAccessToAllModels:true},{provideLinks:(model,token)=>{if(!canSyncModel(this._modelService,model.uri)){return Promise.resolve({links:[]})}return this._workerManager.withWorker().then((client=>client.computeLinks(model.uri))).then((links=>links&&{links:links}))}}));this._register(languageFeaturesService.completionProvider.register("*",new WordBasedCompletionItemProvider(this._workerManager,configurationService,this._modelService,languageConfigurationService)))}dispose(){super.dispose()}canComputeUnicodeHighlights(uri){return canSyncModel(this._modelService,uri)}computedUnicodeHighlights(uri,options2,range2){return this._workerManager.withWorker().then((client=>client.computedUnicodeHighlights(uri,options2,range2)))}computeDiff(original,modified,options2,algorithm){return __awaiter4(this,void 0,void 0,(function*(){const result=yield this._workerManager.withWorker().then((client=>client.computeDiff(original,modified,options2,algorithm)));if(!result){return null}const diff={identical:result.identical,quitEarly:result.quitEarly,changes:toLineRangeMappings(result.changes),moves:result.moves.map((m=>new MovedText(new SimpleLineRangeMapping(new LineRange(m[0],m[1]),new LineRange(m[2],m[3])),toLineRangeMappings(m[4]))))};return diff;function toLineRangeMappings(changes){return changes.map((c=>{var _a6;return new LineRangeMapping(new LineRange(c[0],c[1]),new LineRange(c[2],c[3]),(_a6=c[4])===null||_a6===void 0?void 0:_a6.map((c2=>new RangeMapping(new Range(c2[0],c2[1],c2[2],c2[3]),new Range(c2[4],c2[5],c2[6],c2[7])))))}))}}))}computeMoreMinimalEdits(resource,edits,pretty=false){if(isNonEmptyArray(edits)){if(!canSyncModel(this._modelService,resource)){return Promise.resolve(edits)}const sw=StopWatch.create();const result=this._workerManager.withWorker().then((client=>client.computeMoreMinimalEdits(resource,edits,pretty)));result.finally((()=>this._logService.trace("FORMAT#computeMoreMinimalEdits",resource.toString(true),sw.elapsed())));return Promise.race([result,timeout(1e3).then((()=>edits))])}else{return Promise.resolve(void 0)}}canNavigateValueSet(resource){return canSyncModel(this._modelService,resource)}navigateValueSet(resource,range2,up){return this._workerManager.withWorker().then((client=>client.navigateValueSet(resource,range2,up)))}canComputeWordRanges(resource){return canSyncModel(this._modelService,resource)}computeWordRanges(resource,range2){return this._workerManager.withWorker().then((client=>client.computeWordRanges(resource,range2)))}};EditorWorkerService=__decorate3([__param3(0,IModelService),__param3(1,ITextResourceConfigurationService),__param3(2,ILogService),__param3(3,ILanguageConfigurationService),__param3(4,ILanguageFeaturesService)],EditorWorkerService);WordBasedCompletionItemProvider=class{constructor(workerManager,configurationService,modelService,languageConfigurationService){this.languageConfigurationService=languageConfigurationService;this._debugDisplayName="wordbasedCompletions";this._workerManager=workerManager;this._configurationService=configurationService;this._modelService=modelService}provideCompletionItems(model,position){return __awaiter4(this,void 0,void 0,(function*(){const config=this._configurationService.getValue(model.uri,position,"editor");if(!config.wordBasedSuggestions){return void 0}const models=[];if(config.wordBasedSuggestionsMode==="currentDocument"){if(canSyncModel(this._modelService,model.uri)){models.push(model.uri)}}else{for(const candidate of this._modelService.getModels()){if(!canSyncModel(this._modelService,candidate.uri)){continue}if(candidate===model){models.unshift(candidate.uri)}else if(config.wordBasedSuggestionsMode==="allDocuments"||candidate.getLanguageId()===model.getLanguageId()){models.push(candidate.uri)}}}if(models.length===0){return void 0}const wordDefRegExp=this.languageConfigurationService.getLanguageConfiguration(model.getLanguageId()).getWordDefinition();const word=model.getWordAtPosition(position);const replace=!word?Range.fromPositions(position):new Range(position.lineNumber,word.startColumn,position.lineNumber,word.endColumn);const insert=replace.setEndPosition(position.lineNumber,position.column);const client=yield this._workerManager.withWorker();const data=yield client.textualSuggest(models,word===null||word===void 0?void 0:word.word,wordDefRegExp);if(!data){return void 0}return{duration:data.duration,suggestions:data.words.map((word2=>({kind:18,label:word2,insertText:word2,range:{insert:insert,replace:replace}})))}}))}};WorkerManager=class extends Disposable{constructor(modelService,languageConfigurationService){super();this.languageConfigurationService=languageConfigurationService;this._modelService=modelService;this._editorWorkerClient=null;this._lastWorkerUsedTime=(new Date).getTime();const stopWorkerInterval=this._register(new IntervalTimer);stopWorkerInterval.cancelAndSet((()=>this._checkStopIdleWorker()),Math.round(STOP_WORKER_DELTA_TIME_MS/2));this._register(this._modelService.onModelRemoved((_=>this._checkStopEmptyWorker())))}dispose(){if(this._editorWorkerClient){this._editorWorkerClient.dispose();this._editorWorkerClient=null}super.dispose()}_checkStopEmptyWorker(){if(!this._editorWorkerClient){return}const models=this._modelService.getModels();if(models.length===0){this._editorWorkerClient.dispose();this._editorWorkerClient=null}}_checkStopIdleWorker(){if(!this._editorWorkerClient){return}const timeSinceLastWorkerUsedTime=(new Date).getTime()-this._lastWorkerUsedTime;if(timeSinceLastWorkerUsedTime>STOP_WORKER_DELTA_TIME_MS){this._editorWorkerClient.dispose();this._editorWorkerClient=null}}withWorker(){this._lastWorkerUsedTime=(new Date).getTime();if(!this._editorWorkerClient){this._editorWorkerClient=new EditorWorkerClient(this._modelService,false,"editorWorkerService",this.languageConfigurationService)}return Promise.resolve(this._editorWorkerClient)}};EditorModelManager=class extends Disposable{constructor(proxy,modelService,keepIdleModels){super();this._syncedModels=Object.create(null);this._syncedModelsLastUsedTime=Object.create(null);this._proxy=proxy;this._modelService=modelService;if(!keepIdleModels){const timer=new IntervalTimer;timer.cancelAndSet((()=>this._checkStopModelSync()),Math.round(STOP_SYNC_MODEL_DELTA_TIME_MS/2));this._register(timer)}}dispose(){for(const modelUrl in this._syncedModels){dispose(this._syncedModels[modelUrl])}this._syncedModels=Object.create(null);this._syncedModelsLastUsedTime=Object.create(null);super.dispose()}ensureSyncedResources(resources,forceLargeModels){for(const resource of resources){const resourceStr=resource.toString();if(!this._syncedModels[resourceStr]){this._beginModelSync(resource,forceLargeModels)}if(this._syncedModels[resourceStr]){this._syncedModelsLastUsedTime[resourceStr]=(new Date).getTime()}}}_checkStopModelSync(){const currentTime=(new Date).getTime();const toRemove=[];for(const modelUrl in this._syncedModelsLastUsedTime){const elapsedTime=currentTime-this._syncedModelsLastUsedTime[modelUrl];if(elapsedTime>STOP_SYNC_MODEL_DELTA_TIME_MS){toRemove.push(modelUrl)}}for(const e of toRemove){this._stopModelSync(e)}}_beginModelSync(resource,forceLargeModels){const model=this._modelService.getModel(resource);if(!model){return}if(!forceLargeModels&&model.isTooLargeForSyncing()){return}const modelUrl=resource.toString();this._proxy.acceptNewModel({url:model.uri.toString(),lines:model.getLinesContent(),EOL:model.getEOL(),versionId:model.getVersionId()});const toDispose=new DisposableStore;toDispose.add(model.onDidChangeContent((e=>{this._proxy.acceptModelChanged(modelUrl.toString(),e)})));toDispose.add(model.onWillDispose((()=>{this._stopModelSync(modelUrl)})));toDispose.add(toDisposable((()=>{this._proxy.acceptRemovedModel(modelUrl)})));this._syncedModels[modelUrl]=toDispose}_stopModelSync(modelUrl){const toDispose=this._syncedModels[modelUrl];delete this._syncedModels[modelUrl];delete this._syncedModelsLastUsedTime[modelUrl];dispose(toDispose)}};SynchronousWorkerClient=class{constructor(instance){this._instance=instance;this._proxyObj=Promise.resolve(this._instance)}dispose(){this._instance.dispose()}getProxyObject(){return this._proxyObj}};EditorWorkerHost=class{constructor(workerClient){this._workerClient=workerClient}fhr(method,args){return this._workerClient.fhr(method,args)}};EditorWorkerClient=class extends Disposable{constructor(modelService,keepIdleModels,label,languageConfigurationService){super();this.languageConfigurationService=languageConfigurationService;this._disposed=false;this._modelService=modelService;this._keepIdleModels=keepIdleModels;this._workerFactory=new DefaultWorkerFactory(label);this._worker=null;this._modelManager=null}fhr(method,args){throw new Error(`Not implemented!`)}_getOrCreateWorker(){if(!this._worker){try{this._worker=this._register(new SimpleWorkerClient(this._workerFactory,"vs/editor/common/services/editorSimpleWorker",new EditorWorkerHost(this)))}catch(err){logOnceWebWorkerWarning(err);this._worker=new SynchronousWorkerClient(new EditorSimpleWorker(new EditorWorkerHost(this),null))}}return this._worker}_getProxy(){return this._getOrCreateWorker().getProxyObject().then(void 0,(err=>{logOnceWebWorkerWarning(err);this._worker=new SynchronousWorkerClient(new EditorSimpleWorker(new EditorWorkerHost(this),null));return this._getOrCreateWorker().getProxyObject()}))}_getOrCreateModelManager(proxy){if(!this._modelManager){this._modelManager=this._register(new EditorModelManager(proxy,this._modelService,this._keepIdleModels))}return this._modelManager}_withSyncedResources(resources,forceLargeModels=false){return __awaiter4(this,void 0,void 0,(function*(){if(this._disposed){return Promise.reject(canceled())}return this._getProxy().then((proxy=>{this._getOrCreateModelManager(proxy).ensureSyncedResources(resources,forceLargeModels);return proxy}))}))}computedUnicodeHighlights(uri,options2,range2){return this._withSyncedResources([uri]).then((proxy=>proxy.computeUnicodeHighlights(uri.toString(),options2,range2)))}computeDiff(original,modified,options2,algorithm){return this._withSyncedResources([original,modified],true).then((proxy=>proxy.computeDiff(original.toString(),modified.toString(),options2,algorithm)))}computeMoreMinimalEdits(resource,edits,pretty){return this._withSyncedResources([resource]).then((proxy=>proxy.computeMoreMinimalEdits(resource.toString(),edits,pretty)))}computeLinks(resource){return this._withSyncedResources([resource]).then((proxy=>proxy.computeLinks(resource.toString())))}computeDefaultDocumentColors(resource){return this._withSyncedResources([resource]).then((proxy=>proxy.computeDefaultDocumentColors(resource.toString())))}textualSuggest(resources,leadingWord,wordDefRegExp){return __awaiter4(this,void 0,void 0,(function*(){const proxy=yield this._withSyncedResources(resources);const wordDef=wordDefRegExp.source;const wordDefFlags=wordDefRegExp.flags;return proxy.textualSuggest(resources.map((r=>r.toString())),leadingWord,wordDef,wordDefFlags)}))}computeWordRanges(resource,range2){return this._withSyncedResources([resource]).then((proxy=>{const model=this._modelService.getModel(resource);if(!model){return Promise.resolve(null)}const wordDefRegExp=this.languageConfigurationService.getLanguageConfiguration(model.getLanguageId()).getWordDefinition();const wordDef=wordDefRegExp.source;const wordDefFlags=wordDefRegExp.flags;return proxy.computeWordRanges(resource.toString(),range2,wordDef,wordDefFlags)}))}navigateValueSet(resource,range2,up){return this._withSyncedResources([resource]).then((proxy=>{const model=this._modelService.getModel(resource);if(!model){return null}const wordDefRegExp=this.languageConfigurationService.getLanguageConfiguration(model.getLanguageId()).getWordDefinition();const wordDef=wordDefRegExp.source;const wordDefFlags=wordDefRegExp.flags;return proxy.navigateValueSet(resource.toString(),range2,up,wordDef,wordDefFlags)}))}dispose(){super.dispose();this._disposed=true}}}});function createWebWorker(modelService,languageConfigurationService,opts){return new MonacoWebWorkerImpl(modelService,languageConfigurationService,opts)}var MonacoWebWorkerImpl;var init_webWorker=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/services/webWorker.js"(){init_objects();init_editorWorkerService();MonacoWebWorkerImpl=class extends EditorWorkerClient{constructor(modelService,languageConfigurationService,opts){super(modelService,opts.keepIdleModels||false,opts.label,languageConfigurationService);this._foreignModuleId=opts.moduleId;this._foreignModuleCreateData=opts.createData||null;this._foreignModuleHost=opts.host||null;this._foreignProxy=null}fhr(method,args){if(!this._foreignModuleHost||typeof this._foreignModuleHost[method]!=="function"){return Promise.reject(new Error("Missing method "+method+" or missing main thread foreign host."))}try{return Promise.resolve(this._foreignModuleHost[method].apply(this._foreignModuleHost,args))}catch(e){return Promise.reject(e)}}_getForeignProxy(){if(!this._foreignProxy){this._foreignProxy=this._getProxy().then((proxy=>{const foreignHostMethods=this._foreignModuleHost?getAllMethodNames(this._foreignModuleHost):[];return proxy.loadForeignModule(this._foreignModuleId,this._foreignModuleCreateData,foreignHostMethods).then((foreignMethods=>{this._foreignModuleCreateData=null;const proxyMethodRequest=(method,args)=>proxy.fmr(method,args);const createProxyMethod=(method,proxyMethodRequest2)=>function(){const args=Array.prototype.slice.call(arguments,0);return proxyMethodRequest2(method,args)};const foreignProxy={};for(const foreignMethod of foreignMethods){foreignProxy[foreignMethod]=createProxyMethod(foreignMethod,proxyMethodRequest)}return foreignProxy}))}))}return this._foreignProxy}getProxy(){return this._getForeignProxy()}withSyncedResources(resources){return this._withSyncedResources(resources).then((_=>this.getProxy()))}}}});var TokenMetadata;var init_encodedTokenAttributes=__esm({"node_modules/monaco-editor/esm/vs/editor/common/encodedTokenAttributes.js"(){TokenMetadata=class{static getLanguageId(metadata){return(metadata&255)>>>0}static getTokenType(metadata){return(metadata&768)>>>8}static containsBalancedBrackets(metadata){return(metadata&1024)!==0}static getFontStyle(metadata){return(metadata&30720)>>>11}static getForeground(metadata){return(metadata&16744448)>>>15}static getBackground(metadata){return(metadata&4278190080)>>>24}static getClassNameFromMetadata(metadata){const foreground2=this.getForeground(metadata);let className="mtk"+foreground2;const fontStyle=this.getFontStyle(metadata);if(fontStyle&1){className+=" mtki"}if(fontStyle&2){className+=" mtkb"}if(fontStyle&4){className+=" mtku"}if(fontStyle&8){className+=" mtks"}return className}static getInlineStyleFromMetadata(metadata,colorMap){const foreground2=this.getForeground(metadata);const fontStyle=this.getFontStyle(metadata);let result=`color: ${colorMap[foreground2]};`;if(fontStyle&1){result+="font-style: italic;"}if(fontStyle&2){result+="font-weight: bold;"}let textDecoration="";if(fontStyle&4){textDecoration+=" underline"}if(fontStyle&8){textDecoration+=" line-through"}if(textDecoration){result+=`text-decoration:${textDecoration};`}return result}static getPresentationFromMetadata(metadata){const foreground2=this.getForeground(metadata);const fontStyle=this.getFontStyle(metadata);return{foreground:foreground2,italic:Boolean(fontStyle&1),bold:Boolean(fontStyle&2),underline:Boolean(fontStyle&4),strikethrough:Boolean(fontStyle&8)}}}}});var LineTokens,SliceLineTokens;var init_lineTokens=__esm({"node_modules/monaco-editor/esm/vs/editor/common/tokens/lineTokens.js"(){init_encodedTokenAttributes();LineTokens=class{static createEmpty(lineContent,decoder){const defaultMetadata=LineTokens.defaultTokenMetadata;const tokens=new Uint32Array(2);tokens[0]=lineContent.length;tokens[1]=defaultMetadata;return new LineTokens(tokens,lineContent,decoder)}constructor(tokens,text2,decoder){this._lineTokensBrand=void 0;this._tokens=tokens;this._tokensCount=this._tokens.length>>>1;this._text=text2;this._languageIdCodec=decoder}equals(other){if(other instanceof LineTokens){return this.slicedEquals(other,0,this._tokensCount)}return false}slicedEquals(other,sliceFromTokenIndex,sliceTokenCount){if(this._text!==other._text){return false}if(this._tokensCount!==other._tokensCount){return false}const from=sliceFromTokenIndex<<1;const to=from+(sliceTokenCount<<1);for(let i=from;i<to;i++){if(this._tokens[i]!==other._tokens[i]){return false}}return true}getLineContent(){return this._text}getCount(){return this._tokensCount}getStartOffset(tokenIndex){if(tokenIndex>0){return this._tokens[tokenIndex-1<<1]}return 0}getMetadata(tokenIndex){const metadata=this._tokens[(tokenIndex<<1)+1];return metadata}getLanguageId(tokenIndex){const metadata=this._tokens[(tokenIndex<<1)+1];const languageId=TokenMetadata.getLanguageId(metadata);return this._languageIdCodec.decodeLanguageId(languageId)}getStandardTokenType(tokenIndex){const metadata=this._tokens[(tokenIndex<<1)+1];return TokenMetadata.getTokenType(metadata)}getForeground(tokenIndex){const metadata=this._tokens[(tokenIndex<<1)+1];return TokenMetadata.getForeground(metadata)}getClassName(tokenIndex){const metadata=this._tokens[(tokenIndex<<1)+1];return TokenMetadata.getClassNameFromMetadata(metadata)}getInlineStyle(tokenIndex,colorMap){const metadata=this._tokens[(tokenIndex<<1)+1];return TokenMetadata.getInlineStyleFromMetadata(metadata,colorMap)}getPresentation(tokenIndex){const metadata=this._tokens[(tokenIndex<<1)+1];return TokenMetadata.getPresentationFromMetadata(metadata)}getEndOffset(tokenIndex){return this._tokens[tokenIndex<<1]}findTokenIndexAtOffset(offset){return LineTokens.findIndexInTokensArray(this._tokens,offset)}inflate(){return this}sliceAndInflate(startOffset,endOffset,deltaOffset){return new SliceLineTokens(this,startOffset,endOffset,deltaOffset)}static convertToEndOffset(tokens,lineTextLength){const tokenCount=tokens.length>>>1;const lastTokenIndex=tokenCount-1;for(let tokenIndex=0;tokenIndex<lastTokenIndex;tokenIndex++){tokens[tokenIndex<<1]=tokens[tokenIndex+1<<1]}tokens[lastTokenIndex<<1]=lineTextLength}static findIndexInTokensArray(tokens,desiredIndex){if(tokens.length<=2){return 0}let low=0;let high=(tokens.length>>>1)-1;while(low<high){const mid=low+Math.floor((high-low)/2);const endOffset=tokens[mid<<1];if(endOffset===desiredIndex){return mid+1}else if(endOffset<desiredIndex){low=mid+1}else if(endOffset>desiredIndex){high=mid}}return low}withInserted(insertTokens){if(insertTokens.length===0){return this}let nextOriginalTokenIdx=0;let nextInsertTokenIdx=0;let text2="";const newTokens=new Array;let originalEndOffset=0;while(true){const nextOriginalTokenEndOffset=nextOriginalTokenIdx<this._tokensCount?this._tokens[nextOriginalTokenIdx<<1]:-1;const nextInsertToken=nextInsertTokenIdx<insertTokens.length?insertTokens[nextInsertTokenIdx]:null;if(nextOriginalTokenEndOffset!==-1&&(nextInsertToken===null||nextOriginalTokenEndOffset<=nextInsertToken.offset)){text2+=this._text.substring(originalEndOffset,nextOriginalTokenEndOffset);const metadata=this._tokens[(nextOriginalTokenIdx<<1)+1];newTokens.push(text2.length,metadata);nextOriginalTokenIdx++;originalEndOffset=nextOriginalTokenEndOffset}else if(nextInsertToken){if(nextInsertToken.offset>originalEndOffset){text2+=this._text.substring(originalEndOffset,nextInsertToken.offset);const metadata=this._tokens[(nextOriginalTokenIdx<<1)+1];newTokens.push(text2.length,metadata);originalEndOffset=nextInsertToken.offset}text2+=nextInsertToken.text;newTokens.push(text2.length,nextInsertToken.tokenMetadata);nextInsertTokenIdx++}else{break}}return new LineTokens(new Uint32Array(newTokens),text2,this._languageIdCodec)}};LineTokens.defaultTokenMetadata=(0<<11|1<<15|2<<24)>>>0;SliceLineTokens=class{constructor(source,startOffset,endOffset,deltaOffset){this._source=source;this._startOffset=startOffset;this._endOffset=endOffset;this._deltaOffset=deltaOffset;this._firstTokenIndex=source.findTokenIndexAtOffset(startOffset);this._tokensCount=0;for(let i=this._firstTokenIndex,len=source.getCount();i<len;i++){const tokenStartOffset=source.getStartOffset(i);if(tokenStartOffset>=endOffset){break}this._tokensCount++}}getMetadata(tokenIndex){return this._source.getMetadata(this._firstTokenIndex+tokenIndex)}getLanguageId(tokenIndex){return this._source.getLanguageId(this._firstTokenIndex+tokenIndex)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(other){if(other instanceof SliceLineTokens){return this._startOffset===other._startOffset&&this._endOffset===other._endOffset&&this._deltaOffset===other._deltaOffset&&this._source.slicedEquals(other._source,this._firstTokenIndex,this._tokensCount)}return false}getCount(){return this._tokensCount}getForeground(tokenIndex){return this._source.getForeground(this._firstTokenIndex+tokenIndex)}getEndOffset(tokenIndex){const tokenEndOffset=this._source.getEndOffset(this._firstTokenIndex+tokenIndex);return Math.min(this._endOffset,tokenEndOffset)-this._startOffset+this._deltaOffset}getClassName(tokenIndex){return this._source.getClassName(this._firstTokenIndex+tokenIndex)}getInlineStyle(tokenIndex,colorMap){return this._source.getInlineStyle(this._firstTokenIndex+tokenIndex,colorMap)}getPresentation(tokenIndex){return this._source.getPresentation(this._firstTokenIndex+tokenIndex)}findTokenIndexAtOffset(offset){return this._source.findTokenIndexAtOffset(offset+this._startOffset-this._deltaOffset)-this._firstTokenIndex}}}});var LineDecoration,DecorationSegment,Stack,LineDecorationsNormalizer;var init_lineDecorations=__esm({"node_modules/monaco-editor/esm/vs/editor/common/viewLayout/lineDecorations.js"(){init_strings();LineDecoration=class{constructor(startColumn,endColumn,className,type){this.startColumn=startColumn;this.endColumn=endColumn;this.className=className;this.type=type;this._lineDecorationBrand=void 0}static _equals(a,b){return a.startColumn===b.startColumn&&a.endColumn===b.endColumn&&a.className===b.className&&a.type===b.type}static equalsArr(a,b){const aLen=a.length;const bLen=b.length;if(aLen!==bLen){return false}for(let i=0;i<aLen;i++){if(!LineDecoration._equals(a[i],b[i])){return false}}return true}static extractWrapped(arr,startOffset,endOffset){if(arr.length===0){return arr}const startColumn=startOffset+1;const endColumn=endOffset+1;const lineLength=endOffset-startOffset;const r=[];let rLength=0;for(const dec of arr){if(dec.endColumn<=startColumn||dec.startColumn>=endColumn){continue}r[rLength++]=new LineDecoration(Math.max(1,dec.startColumn-startColumn+1),Math.min(lineLength+1,dec.endColumn-startColumn+1),dec.className,dec.type)}return r}static filter(lineDecorations,lineNumber,minLineColumn,maxLineColumn){if(lineDecorations.length===0){return[]}const result=[];let resultLen=0;for(let i=0,len=lineDecorations.length;i<len;i++){const d=lineDecorations[i];const range2=d.range;if(range2.endLineNumber<lineNumber||range2.startLineNumber>lineNumber){continue}if(range2.isEmpty()&&(d.type===0||d.type===3)){continue}const startColumn=range2.startLineNumber===lineNumber?range2.startColumn:minLineColumn;const endColumn=range2.endLineNumber===lineNumber?range2.endColumn:maxLineColumn;result[resultLen++]=new LineDecoration(startColumn,endColumn,d.inlineClassName,d.type)}return result}static _typeCompare(a,b){const ORDER=[2,0,1,3];return ORDER[a]-ORDER[b]}static compare(a,b){if(a.startColumn!==b.startColumn){return a.startColumn-b.startColumn}if(a.endColumn!==b.endColumn){return a.endColumn-b.endColumn}const typeCmp=LineDecoration._typeCompare(a.type,b.type);if(typeCmp!==0){return typeCmp}if(a.className!==b.className){return a.className<b.className?-1:1}return 0}};DecorationSegment=class{constructor(startOffset,endOffset,className,metadata){this.startOffset=startOffset;this.endOffset=endOffset;this.className=className;this.metadata=metadata}};Stack=class{constructor(){this.stopOffsets=[];this.classNames=[];this.metadata=[];this.count=0}static _metadata(metadata){let result=0;for(let i=0,len=metadata.length;i<len;i++){result|=metadata[i]}return result}consumeLowerThan(maxStopOffset,nextStartOffset,result){while(this.count>0&&this.stopOffsets[0]<maxStopOffset){let i=0;while(i+1<this.count&&this.stopOffsets[i]===this.stopOffsets[i+1]){i++}result.push(new DecorationSegment(nextStartOffset,this.stopOffsets[i],this.classNames.join(" "),Stack._metadata(this.metadata)));nextStartOffset=this.stopOffsets[i]+1;this.stopOffsets.splice(0,i+1);this.classNames.splice(0,i+1);this.metadata.splice(0,i+1);this.count-=i+1}if(this.count>0&&nextStartOffset<maxStopOffset){result.push(new DecorationSegment(nextStartOffset,maxStopOffset-1,this.classNames.join(" "),Stack._metadata(this.metadata)));nextStartOffset=maxStopOffset}return nextStartOffset}insert(stopOffset,className,metadata){if(this.count===0||this.stopOffsets[this.count-1]<=stopOffset){this.stopOffsets.push(stopOffset);this.classNames.push(className);this.metadata.push(metadata)}else{for(let i=0;i<this.count;i++){if(this.stopOffsets[i]>=stopOffset){this.stopOffsets.splice(i,0,stopOffset);this.classNames.splice(i,0,className);this.metadata.splice(i,0,metadata);break}}}this.count++;return}};LineDecorationsNormalizer=class{static normalize(lineContent,lineDecorations){if(lineDecorations.length===0){return[]}const result=[];const stack=new Stack;let nextStartOffset=0;for(let i=0,len=lineDecorations.length;i<len;i++){const d=lineDecorations[i];let startColumn=d.startColumn;let endColumn=d.endColumn;const className=d.className;const metadata=d.type===1?2:d.type===2?4:0;if(startColumn>1){const charCodeBefore=lineContent.charCodeAt(startColumn-2);if(isHighSurrogate(charCodeBefore)){startColumn--}}if(endColumn>1){const charCodeBefore=lineContent.charCodeAt(endColumn-2);if(isHighSurrogate(charCodeBefore)){endColumn--}}const currentStartOffset=startColumn-1;const currentEndOffset=endColumn-2;nextStartOffset=stack.consumeLowerThan(currentStartOffset,nextStartOffset,result);if(stack.count===0){nextStartOffset=currentStartOffset}stack.insert(currentEndOffset,className,metadata)}stack.consumeLowerThan(1073741824,nextStartOffset,result);return result}}}});var LinePart;var init_linePart=__esm({"node_modules/monaco-editor/esm/vs/editor/common/viewLayout/linePart.js"(){LinePart=class{constructor(endIndex,type,metadata,containsRTL2){this.endIndex=endIndex;this.type=type;this.metadata=metadata;this.containsRTL=containsRTL2;this._linePartBrand=void 0}isWhitespace(){return this.metadata&1?true:false}isPseudoAfter(){return this.metadata&4?true:false}}}});function renderViewLine(input,sb){if(input.lineContent.length===0){if(input.lineDecorations.length>0){sb.appendString(`<span>`);let beforeCount=0;let afterCount=0;let containsForeignElements=0;for(const lineDecoration of input.lineDecorations){if(lineDecoration.type===1||lineDecoration.type===2){sb.appendString(`<span class="`);sb.appendString(lineDecoration.className);sb.appendString(`"></span>`);if(lineDecoration.type===1){containsForeignElements|=1;beforeCount++}if(lineDecoration.type===2){containsForeignElements|=2;afterCount++}}}sb.appendString(`</span>`);const characterMapping=new CharacterMapping(1,beforeCount+afterCount);characterMapping.setColumnInfo(1,beforeCount,0,0);return new RenderLineOutput(characterMapping,false,containsForeignElements)}sb.appendString("<span><span></span></span>");return new RenderLineOutput(new CharacterMapping(0,0),false,0)}return _renderLine(resolveRenderLineInput(input),sb)}function renderViewLine2(input){const sb=new StringBuilder(1e4);const out=renderViewLine(input,sb);return new RenderLineOutput2(out.characterMapping,sb.build(),out.containsRTL,out.containsForeignElements)}function resolveRenderLineInput(input){const lineContent=input.lineContent;let isOverflowing;let overflowingCharCount;let len;if(input.stopRenderingLineAfter!==-1&&input.stopRenderingLineAfter<lineContent.length){isOverflowing=true;overflowingCharCount=lineContent.length-input.stopRenderingLineAfter;len=input.stopRenderingLineAfter}else{isOverflowing=false;overflowingCharCount=0;len=lineContent.length}let tokens=transformAndRemoveOverflowing(lineContent,input.containsRTL,input.lineTokens,input.fauxIndentLength,len);if(input.renderControlCharacters&&!input.isBasicASCII){tokens=extractControlCharacters(lineContent,tokens)}if(input.renderWhitespace===4||input.renderWhitespace===1||input.renderWhitespace===2&&!!input.selectionsOnLine||input.renderWhitespace===3&&!input.continuesWithWrappedLine){tokens=_applyRenderWhitespace(input,lineContent,len,tokens)}let containsForeignElements=0;if(input.lineDecorations.length>0){for(let i=0,len2=input.lineDecorations.length;i<len2;i++){const lineDecoration=input.lineDecorations[i];if(lineDecoration.type===3){containsForeignElements|=1}else if(lineDecoration.type===1){containsForeignElements|=1}else if(lineDecoration.type===2){containsForeignElements|=2}}tokens=_applyInlineDecorations(lineContent,len,tokens,input.lineDecorations)}if(!input.containsRTL){tokens=splitLargeTokens(lineContent,tokens,!input.isBasicASCII||input.fontLigatures)}return new ResolvedRenderLineInput(input.useMonospaceOptimizations,input.canUseHalfwidthRightwardsArrow,lineContent,len,isOverflowing,overflowingCharCount,tokens,containsForeignElements,input.fauxIndentLength,input.tabSize,input.startVisibleColumn,input.containsRTL,input.spaceWidth,input.renderSpaceCharCode,input.renderWhitespace,input.renderControlCharacters)}function transformAndRemoveOverflowing(lineContent,lineContainsRTL,tokens,fauxIndentLength,len){const result=[];let resultLen=0;if(fauxIndentLength>0){result[resultLen++]=new LinePart(fauxIndentLength,"",0,false)}let startOffset=fauxIndentLength;for(let tokenIndex=0,tokensLen=tokens.getCount();tokenIndex<tokensLen;tokenIndex++){const endIndex=tokens.getEndOffset(tokenIndex);if(endIndex<=fauxIndentLength){continue}const type=tokens.getClassName(tokenIndex);if(endIndex>=len){const tokenContainsRTL2=lineContainsRTL?containsRTL(lineContent.substring(startOffset,len)):false;result[resultLen++]=new LinePart(len,type,0,tokenContainsRTL2);break}const tokenContainsRTL=lineContainsRTL?containsRTL(lineContent.substring(startOffset,endIndex)):false;result[resultLen++]=new LinePart(endIndex,type,0,tokenContainsRTL);startOffset=endIndex}return result}function splitLargeTokens(lineContent,tokens,onlyAtSpaces){let lastTokenEndIndex=0;const result=[];let resultLen=0;if(onlyAtSpaces){for(let i=0,len=tokens.length;i<len;i++){const token=tokens[i];const tokenEndIndex=token.endIndex;if(lastTokenEndIndex+50<tokenEndIndex){const tokenType=token.type;const tokenMetadata=token.metadata;const tokenContainsRTL=token.containsRTL;let lastSpaceOffset=-1;let currTokenStart=lastTokenEndIndex;for(let j=lastTokenEndIndex;j<tokenEndIndex;j++){if(lineContent.charCodeAt(j)===32){lastSpaceOffset=j}if(lastSpaceOffset!==-1&&j-currTokenStart>=50){result[resultLen++]=new LinePart(lastSpaceOffset+1,tokenType,tokenMetadata,tokenContainsRTL);currTokenStart=lastSpaceOffset+1;lastSpaceOffset=-1}}if(currTokenStart!==tokenEndIndex){result[resultLen++]=new LinePart(tokenEndIndex,tokenType,tokenMetadata,tokenContainsRTL)}}else{result[resultLen++]=token}lastTokenEndIndex=tokenEndIndex}}else{for(let i=0,len=tokens.length;i<len;i++){const token=tokens[i];const tokenEndIndex=token.endIndex;const diff=tokenEndIndex-lastTokenEndIndex;if(diff>50){const tokenType=token.type;const tokenMetadata=token.metadata;const tokenContainsRTL=token.containsRTL;const piecesCount=Math.ceil(diff/50);for(let j=1;j<piecesCount;j++){const pieceEndIndex=lastTokenEndIndex+j*50;result[resultLen++]=new LinePart(pieceEndIndex,tokenType,tokenMetadata,tokenContainsRTL)}result[resultLen++]=new LinePart(tokenEndIndex,tokenType,tokenMetadata,tokenContainsRTL)}else{result[resultLen++]=token}lastTokenEndIndex=tokenEndIndex}}return result}function isControlCharacter(charCode){if(charCode<32){return charCode!==9}if(charCode===127){return true}if(charCode>=8234&&charCode<=8238||charCode>=8294&&charCode<=8297||charCode>=8206&&charCode<=8207||charCode===1564){return true}return false}function extractControlCharacters(lineContent,tokens){const result=[];let lastLinePart=new LinePart(0,"",0,false);let charOffset=0;for(const token of tokens){const tokenEndIndex=token.endIndex;for(;charOffset<tokenEndIndex;charOffset++){const charCode=lineContent.charCodeAt(charOffset);if(isControlCharacter(charCode)){if(charOffset>lastLinePart.endIndex){lastLinePart=new LinePart(charOffset,token.type,token.metadata,token.containsRTL);result.push(lastLinePart)}lastLinePart=new LinePart(charOffset+1,"mtkcontrol",token.metadata,false);result.push(lastLinePart)}}if(charOffset>lastLinePart.endIndex){lastLinePart=new LinePart(tokenEndIndex,token.type,token.metadata,token.containsRTL);result.push(lastLinePart)}}return result}function _applyRenderWhitespace(input,lineContent,len,tokens){const continuesWithWrappedLine=input.continuesWithWrappedLine;const fauxIndentLength=input.fauxIndentLength;const tabSize=input.tabSize;const startVisibleColumn=input.startVisibleColumn;const useMonospaceOptimizations=input.useMonospaceOptimizations;const selections=input.selectionsOnLine;const onlyBoundary=input.renderWhitespace===1;const onlyTrailing=input.renderWhitespace===3;const generateLinePartForEachWhitespace=input.renderSpaceWidth!==input.spaceWidth;const result=[];let resultLen=0;let tokenIndex=0;let tokenType=tokens[tokenIndex].type;let tokenContainsRTL=tokens[tokenIndex].containsRTL;let tokenEndIndex=tokens[tokenIndex].endIndex;const tokensLength=tokens.length;let lineIsEmptyOrWhitespace=false;let firstNonWhitespaceIndex2=firstNonWhitespaceIndex(lineContent);let lastNonWhitespaceIndex2;if(firstNonWhitespaceIndex2===-1){lineIsEmptyOrWhitespace=true;firstNonWhitespaceIndex2=len;lastNonWhitespaceIndex2=len}else{lastNonWhitespaceIndex2=lastNonWhitespaceIndex(lineContent)}let wasInWhitespace=false;let currentSelectionIndex=0;let currentSelection=selections&&selections[currentSelectionIndex];let tmpIndent=startVisibleColumn%tabSize;for(let charIndex=fauxIndentLength;charIndex<len;charIndex++){const chCode=lineContent.charCodeAt(charIndex);if(currentSelection&&charIndex>=currentSelection.endOffset){currentSelectionIndex++;currentSelection=selections&&selections[currentSelectionIndex]}let isInWhitespace;if(charIndex<firstNonWhitespaceIndex2||charIndex>lastNonWhitespaceIndex2){isInWhitespace=true}else if(chCode===9){isInWhitespace=true}else if(chCode===32){if(onlyBoundary){if(wasInWhitespace){isInWhitespace=true}else{const nextChCode=charIndex+1<len?lineContent.charCodeAt(charIndex+1):0;isInWhitespace=nextChCode===32||nextChCode===9}}else{isInWhitespace=true}}else{isInWhitespace=false}if(isInWhitespace&&selections){isInWhitespace=!!currentSelection&&currentSelection.startOffset<=charIndex&&currentSelection.endOffset>charIndex}if(isInWhitespace&&onlyTrailing){isInWhitespace=lineIsEmptyOrWhitespace||charIndex>lastNonWhitespaceIndex2}if(isInWhitespace&&tokenContainsRTL){if(charIndex>=firstNonWhitespaceIndex2&&charIndex<=lastNonWhitespaceIndex2){isInWhitespace=false}}if(wasInWhitespace){if(!isInWhitespace||!useMonospaceOptimizations&&tmpIndent>=tabSize){if(generateLinePartForEachWhitespace){const lastEndIndex=resultLen>0?result[resultLen-1].endIndex:fauxIndentLength;for(let i=lastEndIndex+1;i<=charIndex;i++){result[resultLen++]=new LinePart(i,"mtkw",1,false)}}else{result[resultLen++]=new LinePart(charIndex,"mtkw",1,false)}tmpIndent=tmpIndent%tabSize}}else{if(charIndex===tokenEndIndex||isInWhitespace&&charIndex>fauxIndentLength){result[resultLen++]=new LinePart(charIndex,tokenType,0,tokenContainsRTL);tmpIndent=tmpIndent%tabSize}}if(chCode===9){tmpIndent=tabSize}else if(isFullWidthCharacter(chCode)){tmpIndent+=2}else{tmpIndent++}wasInWhitespace=isInWhitespace;while(charIndex===tokenEndIndex){tokenIndex++;if(tokenIndex<tokensLength){tokenType=tokens[tokenIndex].type;tokenContainsRTL=tokens[tokenIndex].containsRTL;tokenEndIndex=tokens[tokenIndex].endIndex}else{break}}}let generateWhitespace=false;if(wasInWhitespace){if(continuesWithWrappedLine&&onlyBoundary){const lastCharCode=len>0?lineContent.charCodeAt(len-1):0;const prevCharCode=len>1?lineContent.charCodeAt(len-2):0;const isSingleTrailingSpace=lastCharCode===32&&(prevCharCode!==32&&prevCharCode!==9);if(!isSingleTrailingSpace){generateWhitespace=true}}else{generateWhitespace=true}}if(generateWhitespace){if(generateLinePartForEachWhitespace){const lastEndIndex=resultLen>0?result[resultLen-1].endIndex:fauxIndentLength;for(let i=lastEndIndex+1;i<=len;i++){result[resultLen++]=new LinePart(i,"mtkw",1,false)}}else{result[resultLen++]=new LinePart(len,"mtkw",1,false)}}else{result[resultLen++]=new LinePart(len,tokenType,0,tokenContainsRTL)}return result}function _applyInlineDecorations(lineContent,len,tokens,_lineDecorations){_lineDecorations.sort(LineDecoration.compare);const lineDecorations=LineDecorationsNormalizer.normalize(lineContent,_lineDecorations);const lineDecorationsLen=lineDecorations.length;let lineDecorationIndex=0;const result=[];let resultLen=0;let lastResultEndIndex=0;for(let tokenIndex=0,len2=tokens.length;tokenIndex<len2;tokenIndex++){const token=tokens[tokenIndex];const tokenEndIndex=token.endIndex;const tokenType=token.type;const tokenMetadata=token.metadata;const tokenContainsRTL=token.containsRTL;while(lineDecorationIndex<lineDecorationsLen&&lineDecorations[lineDecorationIndex].startOffset<tokenEndIndex){const lineDecoration=lineDecorations[lineDecorationIndex];if(lineDecoration.startOffset>lastResultEndIndex){lastResultEndIndex=lineDecoration.startOffset;result[resultLen++]=new LinePart(lastResultEndIndex,tokenType,tokenMetadata,tokenContainsRTL)}if(lineDecoration.endOffset+1<=tokenEndIndex){lastResultEndIndex=lineDecoration.endOffset+1;result[resultLen++]=new LinePart(lastResultEndIndex,tokenType+" "+lineDecoration.className,tokenMetadata|lineDecoration.metadata,tokenContainsRTL);lineDecorationIndex++}else{lastResultEndIndex=tokenEndIndex;result[resultLen++]=new LinePart(lastResultEndIndex,tokenType+" "+lineDecoration.className,tokenMetadata|lineDecoration.metadata,tokenContainsRTL);break}}if(tokenEndIndex>lastResultEndIndex){lastResultEndIndex=tokenEndIndex;result[resultLen++]=new LinePart(lastResultEndIndex,tokenType,tokenMetadata,tokenContainsRTL)}}const lastTokenEndIndex=tokens[tokens.length-1].endIndex;if(lineDecorationIndex<lineDecorationsLen&&lineDecorations[lineDecorationIndex].startOffset===lastTokenEndIndex){while(lineDecorationIndex<lineDecorationsLen&&lineDecorations[lineDecorationIndex].startOffset===lastTokenEndIndex){const lineDecoration=lineDecorations[lineDecorationIndex];result[resultLen++]=new LinePart(lastResultEndIndex,lineDecoration.className,lineDecoration.metadata,false);lineDecorationIndex++}}return result}function _renderLine(input,sb){const fontIsMonospace=input.fontIsMonospace;const canUseHalfwidthRightwardsArrow=input.canUseHalfwidthRightwardsArrow;const containsForeignElements=input.containsForeignElements;const lineContent=input.lineContent;const len=input.len;const isOverflowing=input.isOverflowing;const overflowingCharCount=input.overflowingCharCount;const parts=input.parts;const fauxIndentLength=input.fauxIndentLength;const tabSize=input.tabSize;const startVisibleColumn=input.startVisibleColumn;const containsRTL2=input.containsRTL;const spaceWidth=input.spaceWidth;const renderSpaceCharCode=input.renderSpaceCharCode;const renderWhitespace=input.renderWhitespace;const renderControlCharacters=input.renderControlCharacters;const characterMapping=new CharacterMapping(len+1,parts.length);let lastCharacterMappingDefined=false;let charIndex=0;let visibleColumn=startVisibleColumn;let charOffsetInPart=0;let charHorizontalOffset=0;let partDisplacement=0;if(containsRTL2){sb.appendString('<span dir="ltr">')}else{sb.appendString("<span>")}for(let partIndex=0,tokensLen=parts.length;partIndex<tokensLen;partIndex++){const part=parts[partIndex];const partEndIndex=part.endIndex;const partType=part.type;const partContainsRTL=part.containsRTL;const partRendersWhitespace=renderWhitespace!==0&&part.isWhitespace();const partRendersWhitespaceWithWidth=partRendersWhitespace&&!fontIsMonospace&&(partType==="mtkw"||!containsForeignElements);const partIsEmptyAndHasPseudoAfter=charIndex===partEndIndex&&part.isPseudoAfter();charOffsetInPart=0;sb.appendString("<span ");if(partContainsRTL){sb.appendString('style="unicode-bidi:isolate" ')}sb.appendString('class="');sb.appendString(partRendersWhitespaceWithWidth?"mtkz":partType);sb.appendASCIICharCode(34);if(partRendersWhitespace){let partWidth=0;{let _charIndex=charIndex;let _visibleColumn=visibleColumn;for(;_charIndex<partEndIndex;_charIndex++){const charCode=lineContent.charCodeAt(_charIndex);const charWidth=(charCode===9?tabSize-_visibleColumn%tabSize:1)|0;partWidth+=charWidth;if(_charIndex>=fauxIndentLength){_visibleColumn+=charWidth}}}if(partRendersWhitespaceWithWidth){sb.appendString(' style="width:');sb.appendString(String(spaceWidth*partWidth));sb.appendString('px"')}sb.appendASCIICharCode(62);for(;charIndex<partEndIndex;charIndex++){characterMapping.setColumnInfo(charIndex+1,partIndex-partDisplacement,charOffsetInPart,charHorizontalOffset);partDisplacement=0;const charCode=lineContent.charCodeAt(charIndex);let producedCharacters;let charWidth;if(charCode===9){producedCharacters=tabSize-visibleColumn%tabSize|0;charWidth=producedCharacters;if(!canUseHalfwidthRightwardsArrow||charWidth>1){sb.appendCharCode(8594)}else{sb.appendCharCode(65515)}for(let space=2;space<=charWidth;space++){sb.appendCharCode(160)}}else{producedCharacters=2;charWidth=1;sb.appendCharCode(renderSpaceCharCode);sb.appendCharCode(8204)}charOffsetInPart+=producedCharacters;charHorizontalOffset+=charWidth;if(charIndex>=fauxIndentLength){visibleColumn+=charWidth}}}else{sb.appendASCIICharCode(62);for(;charIndex<partEndIndex;charIndex++){characterMapping.setColumnInfo(charIndex+1,partIndex-partDisplacement,charOffsetInPart,charHorizontalOffset);partDisplacement=0;const charCode=lineContent.charCodeAt(charIndex);let producedCharacters=1;let charWidth=1;switch(charCode){case 9:producedCharacters=tabSize-visibleColumn%tabSize;charWidth=producedCharacters;for(let space=1;space<=producedCharacters;space++){sb.appendCharCode(160)}break;case 32:sb.appendCharCode(160);break;case 60:sb.appendString("&lt;");break;case 62:sb.appendString("&gt;");break;case 38:sb.appendString("&amp;");break;case 0:if(renderControlCharacters){sb.appendCharCode(9216)}else{sb.appendString("&#00;")}break;case 65279:case 8232:case 8233:case 133:sb.appendCharCode(65533);break;default:if(isFullWidthCharacter(charCode)){charWidth++}if(renderControlCharacters&&charCode<32){sb.appendCharCode(9216+charCode)}else if(renderControlCharacters&&charCode===127){sb.appendCharCode(9249)}else if(renderControlCharacters&&isControlCharacter(charCode)){sb.appendString("[U+");sb.appendString(to4CharHex(charCode));sb.appendString("]");producedCharacters=8;charWidth=producedCharacters}else{sb.appendCharCode(charCode)}}charOffsetInPart+=producedCharacters;charHorizontalOffset+=charWidth;if(charIndex>=fauxIndentLength){visibleColumn+=charWidth}}}if(partIsEmptyAndHasPseudoAfter){partDisplacement++}else{partDisplacement=0}if(charIndex>=len&&!lastCharacterMappingDefined&&part.isPseudoAfter()){lastCharacterMappingDefined=true;characterMapping.setColumnInfo(charIndex+1,partIndex,charOffsetInPart,charHorizontalOffset)}sb.appendString("</span>")}if(!lastCharacterMappingDefined){characterMapping.setColumnInfo(len+1,parts.length-1,charOffsetInPart,charHorizontalOffset)}if(isOverflowing){sb.appendString('<span class="mtkoverflow">');sb.appendString(localize("showMore","Show more ({0})",renderOverflowingCharCount(overflowingCharCount)));sb.appendString("</span>")}sb.appendString("</span>");return new RenderLineOutput(characterMapping,containsRTL2,containsForeignElements)}function to4CharHex(n){return n.toString(16).toUpperCase().padStart(4,"0")}function renderOverflowingCharCount(n){if(n<1024){return localize("overflow.chars","{0} chars",n)}if(n<1024*1024){return`${(n/1024).toFixed(1)} KB`}return`${(n/1024/1024).toFixed(1)} MB`}var LineRange2,RenderLineInput,DomPosition,CharacterMapping,RenderLineOutput,RenderLineOutput2,ResolvedRenderLineInput;var init_viewLineRenderer=__esm({"node_modules/monaco-editor/esm/vs/editor/common/viewLayout/viewLineRenderer.js"(){init_nls();init_strings();init_stringBuilder();init_lineDecorations();init_linePart();LineRange2=class{constructor(startIndex,endIndex){this.startOffset=startIndex;this.endOffset=endIndex}equals(otherLineRange){return this.startOffset===otherLineRange.startOffset&&this.endOffset===otherLineRange.endOffset}};RenderLineInput=class{constructor(useMonospaceOptimizations,canUseHalfwidthRightwardsArrow,lineContent,continuesWithWrappedLine,isBasicASCII2,containsRTL2,fauxIndentLength,lineTokens,lineDecorations,tabSize,startVisibleColumn,spaceWidth,middotWidth,wsmiddotWidth,stopRenderingLineAfter,renderWhitespace,renderControlCharacters,fontLigatures,selectionsOnLine){this.useMonospaceOptimizations=useMonospaceOptimizations;this.canUseHalfwidthRightwardsArrow=canUseHalfwidthRightwardsArrow;this.lineContent=lineContent;this.continuesWithWrappedLine=continuesWithWrappedLine;this.isBasicASCII=isBasicASCII2;this.containsRTL=containsRTL2;this.fauxIndentLength=fauxIndentLength;this.lineTokens=lineTokens;this.lineDecorations=lineDecorations.sort(LineDecoration.compare);this.tabSize=tabSize;this.startVisibleColumn=startVisibleColumn;this.spaceWidth=spaceWidth;this.stopRenderingLineAfter=stopRenderingLineAfter;this.renderWhitespace=renderWhitespace==="all"?4:renderWhitespace==="boundary"?1:renderWhitespace==="selection"?2:renderWhitespace==="trailing"?3:0;this.renderControlCharacters=renderControlCharacters;this.fontLigatures=fontLigatures;this.selectionsOnLine=selectionsOnLine&&selectionsOnLine.sort(((a,b)=>a.startOffset<b.startOffset?-1:1));const wsmiddotDiff=Math.abs(wsmiddotWidth-spaceWidth);const middotDiff=Math.abs(middotWidth-spaceWidth);if(wsmiddotDiff<middotDiff){this.renderSpaceWidth=wsmiddotWidth;this.renderSpaceCharCode=11825}else{this.renderSpaceWidth=middotWidth;this.renderSpaceCharCode=183}}sameSelection(otherSelections){if(this.selectionsOnLine===null){return otherSelections===null}if(otherSelections===null){return false}if(otherSelections.length!==this.selectionsOnLine.length){return false}for(let i=0;i<this.selectionsOnLine.length;i++){if(!this.selectionsOnLine[i].equals(otherSelections[i])){return false}}return true}equals(other){return this.useMonospaceOptimizations===other.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===other.canUseHalfwidthRightwardsArrow&&this.lineContent===other.lineContent&&this.continuesWithWrappedLine===other.continuesWithWrappedLine&&this.isBasicASCII===other.isBasicASCII&&this.containsRTL===other.containsRTL&&this.fauxIndentLength===other.fauxIndentLength&&this.tabSize===other.tabSize&&this.startVisibleColumn===other.startVisibleColumn&&this.spaceWidth===other.spaceWidth&&this.renderSpaceWidth===other.renderSpaceWidth&&this.renderSpaceCharCode===other.renderSpaceCharCode&&this.stopRenderingLineAfter===other.stopRenderingLineAfter&&this.renderWhitespace===other.renderWhitespace&&this.renderControlCharacters===other.renderControlCharacters&&this.fontLigatures===other.fontLigatures&&LineDecoration.equalsArr(this.lineDecorations,other.lineDecorations)&&this.lineTokens.equals(other.lineTokens)&&this.sameSelection(other.selectionsOnLine)}};DomPosition=class{constructor(partIndex,charIndex){this.partIndex=partIndex;this.charIndex=charIndex}};CharacterMapping=class{static getPartIndex(partData){return(partData&4294901760)>>>16}static getCharIndex(partData){return(partData&65535)>>>0}constructor(length2,partCount){this.length=length2;this._data=new Uint32Array(this.length);this._horizontalOffset=new Uint32Array(this.length)}setColumnInfo(column,partIndex,charIndex,horizontalOffset){const partData=(partIndex<<16|charIndex<<0)>>>0;this._data[column-1]=partData;this._horizontalOffset[column-1]=horizontalOffset}getHorizontalOffset(column){if(this._horizontalOffset.length===0){return 0}return this._horizontalOffset[column-1]}charOffsetToPartData(charOffset){if(this.length===0){return 0}if(charOffset<0){return this._data[0]}if(charOffset>=this.length){return this._data[this.length-1]}return this._data[charOffset]}getDomPosition(column){const partData=this.charOffsetToPartData(column-1);const partIndex=CharacterMapping.getPartIndex(partData);const charIndex=CharacterMapping.getCharIndex(partData);return new DomPosition(partIndex,charIndex)}getColumn(domPosition,partLength){const charOffset=this.partDataToCharOffset(domPosition.partIndex,partLength,domPosition.charIndex);return charOffset+1}partDataToCharOffset(partIndex,partLength,charIndex){if(this.length===0){return 0}const searchEntry=(partIndex<<16|charIndex<<0)>>>0;let min=0;let max=this.length-1;while(min+1<max){const mid=min+max>>>1;const midEntry=this._data[mid];if(midEntry===searchEntry){return mid}else if(midEntry>searchEntry){max=mid}else{min=mid}}if(min===max){return min}const minEntry=this._data[min];const maxEntry=this._data[max];if(minEntry===searchEntry){return min}if(maxEntry===searchEntry){return max}const minPartIndex=CharacterMapping.getPartIndex(minEntry);const minCharIndex=CharacterMapping.getCharIndex(minEntry);const maxPartIndex=CharacterMapping.getPartIndex(maxEntry);let maxCharIndex;if(minPartIndex!==maxPartIndex){maxCharIndex=partLength}else{maxCharIndex=CharacterMapping.getCharIndex(maxEntry)}const minEntryDistance=charIndex-minCharIndex;const maxEntryDistance=maxCharIndex-charIndex;if(minEntryDistance<=maxEntryDistance){return min}return max}};RenderLineOutput=class{constructor(characterMapping,containsRTL2,containsForeignElements){this._renderLineOutputBrand=void 0;this.characterMapping=characterMapping;this.containsRTL=containsRTL2;this.containsForeignElements=containsForeignElements}};RenderLineOutput2=class{constructor(characterMapping,html2,containsRTL2,containsForeignElements){this.characterMapping=characterMapping;this.html=html2;this.containsRTL=containsRTL2;this.containsForeignElements=containsForeignElements}};ResolvedRenderLineInput=class{constructor(fontIsMonospace,canUseHalfwidthRightwardsArrow,lineContent,len,isOverflowing,overflowingCharCount,parts,containsForeignElements,fauxIndentLength,tabSize,startVisibleColumn,containsRTL2,spaceWidth,renderSpaceCharCode,renderWhitespace,renderControlCharacters){this.fontIsMonospace=fontIsMonospace;this.canUseHalfwidthRightwardsArrow=canUseHalfwidthRightwardsArrow;this.lineContent=lineContent;this.len=len;this.isOverflowing=isOverflowing;this.overflowingCharCount=overflowingCharCount;this.parts=parts;this.containsForeignElements=containsForeignElements;this.fauxIndentLength=fauxIndentLength;this.tabSize=tabSize;this.startVisibleColumn=startVisibleColumn;this.containsRTL=containsRTL2;this.spaceWidth=spaceWidth;this.renderSpaceCharCode=renderSpaceCharCode;this.renderWhitespace=renderWhitespace;this.renderControlCharacters=renderControlCharacters}}}});var Viewport,MinimapLinesRenderingData,ViewLineData,ViewLineRenderingData,InlineDecoration,SingleLineInlineDecoration,ViewModelDecoration,OverviewRulerDecorationsGroup;var init_viewModel=__esm({"node_modules/monaco-editor/esm/vs/editor/common/viewModel.js"(){init_strings();init_range();Viewport=class{constructor(top,left,width,height){this._viewportBrand=void 0;this.top=top|0;this.left=left|0;this.width=width|0;this.height=height|0}};MinimapLinesRenderingData=class{constructor(tabSize,data){this.tabSize=tabSize;this.data=data}};ViewLineData=class{constructor(content,continuesWithWrappedLine,minColumn,maxColumn,startVisibleColumn,tokens,inlineDecorations){this._viewLineDataBrand=void 0;this.content=content;this.continuesWithWrappedLine=continuesWithWrappedLine;this.minColumn=minColumn;this.maxColumn=maxColumn;this.startVisibleColumn=startVisibleColumn;this.tokens=tokens;this.inlineDecorations=inlineDecorations}};ViewLineRenderingData=class{constructor(minColumn,maxColumn,content,continuesWithWrappedLine,mightContainRTL,mightContainNonBasicASCII,tokens,inlineDecorations,tabSize,startVisibleColumn){this.minColumn=minColumn;this.maxColumn=maxColumn;this.content=content;this.continuesWithWrappedLine=continuesWithWrappedLine;this.isBasicASCII=ViewLineRenderingData.isBasicASCII(content,mightContainNonBasicASCII);this.containsRTL=ViewLineRenderingData.containsRTL(content,this.isBasicASCII,mightContainRTL);this.tokens=tokens;this.inlineDecorations=inlineDecorations;this.tabSize=tabSize;this.startVisibleColumn=startVisibleColumn}static isBasicASCII(lineContent,mightContainNonBasicASCII){if(mightContainNonBasicASCII){return isBasicASCII(lineContent)}return true}static containsRTL(lineContent,isBasicASCII2,mightContainRTL){if(!isBasicASCII2&&mightContainRTL){return containsRTL(lineContent)}return false}};InlineDecoration=class{constructor(range2,inlineClassName,type){this.range=range2;this.inlineClassName=inlineClassName;this.type=type}};SingleLineInlineDecoration=class{constructor(startOffset,endOffset,inlineClassName,inlineClassNameAffectsLetterSpacing){this.startOffset=startOffset;this.endOffset=endOffset;this.inlineClassName=inlineClassName;this.inlineClassNameAffectsLetterSpacing=inlineClassNameAffectsLetterSpacing}toInlineDecoration(lineNumber){return new InlineDecoration(new Range(lineNumber,this.startOffset+1,lineNumber,this.endOffset+1),this.inlineClassName,this.inlineClassNameAffectsLetterSpacing?3:0)}};ViewModelDecoration=class{constructor(range2,options2){this._viewModelDecorationBrand=void 0;this.range=range2;this.options=options2}};OverviewRulerDecorationsGroup=class{constructor(color,zIndex,data){this.color=color;this.zIndex=zIndex;this.data=data}static cmp(a,b){if(a.zIndex===b.zIndex){if(a.color<b.color){return-1}if(a.color>b.color){return 1}return 0}return a.zIndex-b.zIndex}}}});function isFuzzyActionArr(what){return Array.isArray(what)}function isFuzzyAction(what){return!isFuzzyActionArr(what)}function isString2(what){return typeof what==="string"}function isIAction(what){return!isString2(what)}function empty(s){return s?false:true}function fixCase(lexer2,str){return lexer2.ignoreCase&&str?str.toLowerCase():str}function sanitize(s){return s.replace(/[&<>'"_]/g,"-")}function log(lexer2,msg){console.log(`${lexer2.languageId}: ${msg}`)}function createError(lexer2,msg){return new Error(`${lexer2.languageId}: ${msg}`)}function substituteMatches(lexer2,str,id,matches,state){const re=/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g;let stateMatches=null;return str.replace(re,(function(full,sub,dollar,hash2,n,s,attr,ofs,total){if(!empty(dollar)){return"$"}if(!empty(hash2)){return fixCase(lexer2,id)}if(!empty(n)&&n<matches.length){return fixCase(lexer2,matches[n])}if(!empty(attr)&&lexer2&&typeof lexer2[attr]==="string"){return lexer2[attr]}if(stateMatches===null){stateMatches=state.split(".");stateMatches.unshift(state)}if(!empty(s)&&s<stateMatches.length){return fixCase(lexer2,stateMatches[s])}return""}))}function findRules(lexer2,inState){let state=inState;while(state&&state.length>0){const rules=lexer2.tokenizer[state];if(rules){return rules}const idx=state.lastIndexOf(".");if(idx<0){state=null}else{state=state.substr(0,idx)}}return null}function stateExists(lexer2,inState){let state=inState;while(state&&state.length>0){const exist=lexer2.stateNames[state];if(exist){return true}const idx=state.lastIndexOf(".");if(idx<0){state=null}else{state=state.substr(0,idx)}}return false}var init_monarchCommon=__esm({"node_modules/monaco-editor/esm/vs/editor/standalone/common/monarch/monarchCommon.js"(){}});function findBracket(lexer2,matched){if(!matched){return null}matched=fixCase(lexer2,matched);const brackets=lexer2.brackets;for(const bracket of brackets){if(bracket.open===matched){return{token:bracket.token,bracketType:1}}else if(bracket.close===matched){return{token:bracket.token,bracketType:-1}}}return null}var __decorate4,__param4,MonarchTokenizer_1,CACHE_STACK_DEPTH,MonarchStackElementFactory,MonarchStackElement,EmbeddedLanguageData,MonarchLineStateFactory,MonarchLineState,MonarchClassicTokensCollector,MonarchModernTokensCollector,MonarchTokenizer;var init_monarchLexer=__esm({"node_modules/monaco-editor/esm/vs/editor/standalone/common/monarch/monarchLexer.js"(){init_languages();init_nullTokenize();init_monarchCommon();init_configuration();__decorate4=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param4=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};CACHE_STACK_DEPTH=5;MonarchStackElementFactory=class{static create(parent,state){return this._INSTANCE.create(parent,state)}constructor(maxCacheDepth){this._maxCacheDepth=maxCacheDepth;this._entries=Object.create(null)}create(parent,state){if(parent!==null&&parent.depth>=this._maxCacheDepth){return new MonarchStackElement(parent,state)}let stackElementId=MonarchStackElement.getStackElementId(parent);if(stackElementId.length>0){stackElementId+="|"}stackElementId+=state;let result=this._entries[stackElementId];if(result){return result}result=new MonarchStackElement(parent,state);this._entries[stackElementId]=result;return result}};MonarchStackElementFactory._INSTANCE=new MonarchStackElementFactory(CACHE_STACK_DEPTH);MonarchStackElement=class{constructor(parent,state){this.parent=parent;this.state=state;this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(element){let result="";while(element!==null){if(result.length>0){result+="|"}result+=element.state;element=element.parent}return result}static _equals(a,b){while(a!==null&&b!==null){if(a===b){return true}if(a.state!==b.state){return false}a=a.parent;b=b.parent}if(a===null&&b===null){return true}return false}equals(other){return MonarchStackElement._equals(this,other)}push(state){return MonarchStackElementFactory.create(this,state)}pop(){return this.parent}popall(){let result=this;while(result.parent){result=result.parent}return result}switchTo(state){return MonarchStackElementFactory.create(this.parent,state)}};EmbeddedLanguageData=class{constructor(languageId,state){this.languageId=languageId;this.state=state}equals(other){return this.languageId===other.languageId&&this.state.equals(other.state)}clone(){const stateClone=this.state.clone();if(stateClone===this.state){return this}return new EmbeddedLanguageData(this.languageId,this.state)}};MonarchLineStateFactory=class{static create(stack,embeddedLanguageData){return this._INSTANCE.create(stack,embeddedLanguageData)}constructor(maxCacheDepth){this._maxCacheDepth=maxCacheDepth;this._entries=Object.create(null)}create(stack,embeddedLanguageData){if(embeddedLanguageData!==null){return new MonarchLineState(stack,embeddedLanguageData)}if(stack!==null&&stack.depth>=this._maxCacheDepth){return new MonarchLineState(stack,embeddedLanguageData)}const stackElementId=MonarchStackElement.getStackElementId(stack);let result=this._entries[stackElementId];if(result){return result}result=new MonarchLineState(stack,null);this._entries[stackElementId]=result;return result}};MonarchLineStateFactory._INSTANCE=new MonarchLineStateFactory(CACHE_STACK_DEPTH);MonarchLineState=class{constructor(stack,embeddedLanguageData){this.stack=stack;this.embeddedLanguageData=embeddedLanguageData}clone(){const embeddedlanguageDataClone=this.embeddedLanguageData?this.embeddedLanguageData.clone():null;if(embeddedlanguageDataClone===this.embeddedLanguageData){return this}return MonarchLineStateFactory.create(this.stack,this.embeddedLanguageData)}equals(other){if(!(other instanceof MonarchLineState)){return false}if(!this.stack.equals(other.stack)){return false}if(this.embeddedLanguageData===null&&other.embeddedLanguageData===null){return true}if(this.embeddedLanguageData===null||other.embeddedLanguageData===null){return false}return this.embeddedLanguageData.equals(other.embeddedLanguageData)}};MonarchClassicTokensCollector=class{constructor(){this._tokens=[];this._languageId=null;this._lastTokenType=null;this._lastTokenLanguage=null}enterLanguage(languageId){this._languageId=languageId}emit(startOffset,type){if(this._lastTokenType===type&&this._lastTokenLanguage===this._languageId){return}this._lastTokenType=type;this._lastTokenLanguage=this._languageId;this._tokens.push(new Token(startOffset,type,this._languageId))}nestedLanguageTokenize(embeddedLanguageLine,hasEOL,embeddedLanguageData,offsetDelta){const nestedLanguageId=embeddedLanguageData.languageId;const embeddedModeState=embeddedLanguageData.state;const nestedLanguageTokenizationSupport=TokenizationRegistry2.get(nestedLanguageId);if(!nestedLanguageTokenizationSupport){this.enterLanguage(nestedLanguageId);this.emit(offsetDelta,"");return embeddedModeState}const nestedResult=nestedLanguageTokenizationSupport.tokenize(embeddedLanguageLine,hasEOL,embeddedModeState);if(offsetDelta!==0){for(const token of nestedResult.tokens){this._tokens.push(new Token(token.offset+offsetDelta,token.type,token.language))}}else{this._tokens=this._tokens.concat(nestedResult.tokens)}this._lastTokenType=null;this._lastTokenLanguage=null;this._languageId=null;return nestedResult.endState}finalize(endState){return new TokenizationResult(this._tokens,endState)}};MonarchModernTokensCollector=class{constructor(languageService,theme){this._languageService=languageService;this._theme=theme;this._prependTokens=null;this._tokens=[];this._currentLanguageId=0;this._lastTokenMetadata=0}enterLanguage(languageId){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(languageId)}emit(startOffset,type){const metadata=this._theme.match(this._currentLanguageId,type)|1024;if(this._lastTokenMetadata===metadata){return}this._lastTokenMetadata=metadata;this._tokens.push(startOffset);this._tokens.push(metadata)}static _merge(a,b,c){const aLen=a!==null?a.length:0;const bLen=b.length;const cLen=c!==null?c.length:0;if(aLen===0&&bLen===0&&cLen===0){return new Uint32Array(0)}if(aLen===0&&bLen===0){return c}if(bLen===0&&cLen===0){return a}const result=new Uint32Array(aLen+bLen+cLen);if(a!==null){result.set(a)}for(let i=0;i<bLen;i++){result[aLen+i]=b[i]}if(c!==null){result.set(c,aLen+bLen)}return result}nestedLanguageTokenize(embeddedLanguageLine,hasEOL,embeddedLanguageData,offsetDelta){const nestedLanguageId=embeddedLanguageData.languageId;const embeddedModeState=embeddedLanguageData.state;const nestedLanguageTokenizationSupport=TokenizationRegistry2.get(nestedLanguageId);if(!nestedLanguageTokenizationSupport){this.enterLanguage(nestedLanguageId);this.emit(offsetDelta,"");return embeddedModeState}const nestedResult=nestedLanguageTokenizationSupport.tokenizeEncoded(embeddedLanguageLine,hasEOL,embeddedModeState);if(offsetDelta!==0){for(let i=0,len=nestedResult.tokens.length;i<len;i+=2){nestedResult.tokens[i]+=offsetDelta}}this._prependTokens=MonarchModernTokensCollector._merge(this._prependTokens,this._tokens,nestedResult.tokens);this._tokens=[];this._currentLanguageId=0;this._lastTokenMetadata=0;return nestedResult.endState}finalize(endState){return new EncodedTokenizationResult(MonarchModernTokensCollector._merge(this._prependTokens,this._tokens,null),endState)}};MonarchTokenizer=MonarchTokenizer_1=class MonarchTokenizer2{constructor(languageService,standaloneThemeService,languageId,lexer2,_configurationService){this._configurationService=_configurationService;this._languageService=languageService;this._standaloneThemeService=standaloneThemeService;this._languageId=languageId;this._lexer=lexer2;this._embeddedLanguages=Object.create(null);this.embeddedLoaded=Promise.resolve(void 0);let emitting=false;this._tokenizationRegistryListener=TokenizationRegistry2.onDidChange((e=>{if(emitting){return}let isOneOfMyEmbeddedModes=false;for(let i=0,len=e.changedLanguages.length;i<len;i++){const language81=e.changedLanguages[i];if(this._embeddedLanguages[language81]){isOneOfMyEmbeddedModes=true;break}}if(isOneOfMyEmbeddedModes){emitting=true;TokenizationRegistry2.handleChange([this._languageId]);emitting=false}}));this._maxTokenizationLineLength=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:this._languageId});this._configurationService.onDidChangeConfiguration((e=>{if(e.affectsConfiguration("editor.maxTokenizationLineLength")){this._maxTokenizationLineLength=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:this._languageId})}}))}dispose(){this._tokenizationRegistryListener.dispose()}getLoadStatus(){const promises=[];for(const nestedLanguageId in this._embeddedLanguages){const tokenizationSupport=TokenizationRegistry2.get(nestedLanguageId);if(tokenizationSupport){if(tokenizationSupport instanceof MonarchTokenizer_1){const nestedModeStatus=tokenizationSupport.getLoadStatus();if(nestedModeStatus.loaded===false){promises.push(nestedModeStatus.promise)}}continue}if(!TokenizationRegistry2.isResolved(nestedLanguageId)){promises.push(TokenizationRegistry2.getOrCreate(nestedLanguageId))}}if(promises.length===0){return{loaded:true}}return{loaded:false,promise:Promise.all(promises).then((_=>void 0))}}getInitialState(){const rootState=MonarchStackElementFactory.create(null,this._lexer.start);return MonarchLineStateFactory.create(rootState,null)}tokenize(line,hasEOL,lineState){if(line.length>=this._maxTokenizationLineLength){return nullTokenize(this._languageId,lineState)}const tokensCollector=new MonarchClassicTokensCollector;const endLineState=this._tokenize(line,hasEOL,lineState,tokensCollector);return tokensCollector.finalize(endLineState)}tokenizeEncoded(line,hasEOL,lineState){if(line.length>=this._maxTokenizationLineLength){return nullTokenizeEncoded(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),lineState)}const tokensCollector=new MonarchModernTokensCollector(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme);const endLineState=this._tokenize(line,hasEOL,lineState,tokensCollector);return tokensCollector.finalize(endLineState)}_tokenize(line,hasEOL,lineState,collector){if(lineState.embeddedLanguageData){return this._nestedTokenize(line,hasEOL,lineState,0,collector)}else{return this._myTokenize(line,hasEOL,lineState,0,collector)}}_findLeavingNestedLanguageOffset(line,state){let rules=this._lexer.tokenizer[state.stack.state];if(!rules){rules=findRules(this._lexer,state.stack.state);if(!rules){throw createError(this._lexer,"tokenizer state is not defined: "+state.stack.state)}}let popOffset=-1;let hasEmbeddedPopRule=false;for(const rule of rules){if(!isIAction(rule.action)||rule.action.nextEmbedded!=="@pop"){continue}hasEmbeddedPopRule=true;let regex=rule.regex;const regexSource=rule.regex.source;if(regexSource.substr(0,4)==="^(?:"&&regexSource.substr(regexSource.length-1,1)===")"){const flags=(regex.ignoreCase?"i":"")+(regex.unicode?"u":"");regex=new RegExp(regexSource.substr(4,regexSource.length-5),flags)}const result=line.search(regex);if(result===-1||result!==0&&rule.matchOnlyAtLineStart){continue}if(popOffset===-1||result<popOffset){popOffset=result}}if(!hasEmbeddedPopRule){throw createError(this._lexer,'no rule containing nextEmbedded: "@pop" in tokenizer embedded state: '+state.stack.state)}return popOffset}_nestedTokenize(line,hasEOL,lineState,offsetDelta,tokensCollector){const popOffset=this._findLeavingNestedLanguageOffset(line,lineState);if(popOffset===-1){const nestedEndState=tokensCollector.nestedLanguageTokenize(line,hasEOL,lineState.embeddedLanguageData,offsetDelta);return MonarchLineStateFactory.create(lineState.stack,new EmbeddedLanguageData(lineState.embeddedLanguageData.languageId,nestedEndState))}const nestedLanguageLine=line.substring(0,popOffset);if(nestedLanguageLine.length>0){tokensCollector.nestedLanguageTokenize(nestedLanguageLine,false,lineState.embeddedLanguageData,offsetDelta)}const restOfTheLine=line.substring(popOffset);return this._myTokenize(restOfTheLine,hasEOL,lineState,offsetDelta+popOffset,tokensCollector)}_safeRuleName(rule){if(rule){return rule.name}return"(unknown)"}_myTokenize(lineWithoutLF,hasEOL,lineState,offsetDelta,tokensCollector){tokensCollector.enterLanguage(this._languageId);const lineWithoutLFLength=lineWithoutLF.length;const line=hasEOL&&this._lexer.includeLF?lineWithoutLF+"\n":lineWithoutLF;const lineLength=line.length;let embeddedLanguageData=lineState.embeddedLanguageData;let stack=lineState.stack;let pos=0;let groupMatching=null;let forceEvaluation=true;while(forceEvaluation||pos<lineLength){const pos0=pos;const stackLen0=stack.depth;const groupLen0=groupMatching?groupMatching.groups.length:0;const state=stack.state;let matches=null;let matched=null;let action=null;let rule=null;let enteringEmbeddedLanguage=null;if(groupMatching){matches=groupMatching.matches;const groupEntry=groupMatching.groups.shift();matched=groupEntry.matched;action=groupEntry.action;rule=groupMatching.rule;if(groupMatching.groups.length===0){groupMatching=null}}else{if(!forceEvaluation&&pos>=lineLength){break}forceEvaluation=false;let rules=this._lexer.tokenizer[state];if(!rules){rules=findRules(this._lexer,state);if(!rules){throw createError(this._lexer,"tokenizer state is not defined: "+state)}}const restOfLine=line.substr(pos);for(const rule2 of rules){if(pos===0||!rule2.matchOnlyAtLineStart){matches=restOfLine.match(rule2.regex);if(matches){matched=matches[0];action=rule2.action;break}}}}if(!matches){matches=[""];matched=""}if(!action){if(pos<lineLength){matches=[line.charAt(pos)];matched=matches[0]}action=this._lexer.defaultToken}if(matched===null){break}pos+=matched.length;while(isFuzzyAction(action)&&isIAction(action)&&action.test){action=action.test(matched,matches,state,pos===lineLength)}let result=null;if(typeof action==="string"||Array.isArray(action)){result=action}else if(action.group){result=action.group}else if(action.token!==null&&action.token!==void 0){if(action.tokenSubst){result=substituteMatches(this._lexer,action.token,matched,matches,state)}else{result=action.token}if(action.nextEmbedded){if(action.nextEmbedded==="@pop"){if(!embeddedLanguageData){throw createError(this._lexer,"cannot pop embedded language if not inside one")}embeddedLanguageData=null}else if(embeddedLanguageData){throw createError(this._lexer,"cannot enter embedded language from within an embedded language")}else{enteringEmbeddedLanguage=substituteMatches(this._lexer,action.nextEmbedded,matched,matches,state)}}if(action.goBack){pos=Math.max(0,pos-action.goBack)}if(action.switchTo&&typeof action.switchTo==="string"){let nextState=substituteMatches(this._lexer,action.switchTo,matched,matches,state);if(nextState[0]==="@"){nextState=nextState.substr(1)}if(!findRules(this._lexer,nextState)){throw createError(this._lexer,"trying to switch to a state '"+nextState+"' that is undefined in rule: "+this._safeRuleName(rule))}else{stack=stack.switchTo(nextState)}}else if(action.transform&&typeof action.transform==="function"){throw createError(this._lexer,"action.transform not supported")}else if(action.next){if(action.next==="@push"){if(stack.depth>=this._lexer.maxStack){throw createError(this._lexer,"maximum tokenizer stack size reached: ["+stack.state+","+stack.parent.state+",...]")}else{stack=stack.push(state)}}else if(action.next==="@pop"){if(stack.depth<=1){throw createError(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(rule))}else{stack=stack.pop()}}else if(action.next==="@popall"){stack=stack.popall()}else{let nextState=substituteMatches(this._lexer,action.next,matched,matches,state);if(nextState[0]==="@"){nextState=nextState.substr(1)}if(!findRules(this._lexer,nextState)){throw createError(this._lexer,"trying to set a next state '"+nextState+"' that is undefined in rule: "+this._safeRuleName(rule))}else{stack=stack.push(nextState)}}}if(action.log&&typeof action.log==="string"){log(this._lexer,this._lexer.languageId+": "+substituteMatches(this._lexer,action.log,matched,matches,state))}}if(result===null){throw createError(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(rule))}const computeNewStateForEmbeddedLanguage=enteringEmbeddedLanguage2=>{const languageId=this._languageService.getLanguageIdByLanguageName(enteringEmbeddedLanguage2)||this._languageService.getLanguageIdByMimeType(enteringEmbeddedLanguage2)||enteringEmbeddedLanguage2;const embeddedLanguageData2=this._getNestedEmbeddedLanguageData(languageId);if(pos<lineLength){const restOfLine=lineWithoutLF.substr(pos);return this._nestedTokenize(restOfLine,hasEOL,MonarchLineStateFactory.create(stack,embeddedLanguageData2),offsetDelta+pos,tokensCollector)}else{return MonarchLineStateFactory.create(stack,embeddedLanguageData2)}};if(Array.isArray(result)){if(groupMatching&&groupMatching.groups.length>0){throw createError(this._lexer,"groups cannot be nested: "+this._safeRuleName(rule))}if(matches.length!==result.length+1){throw createError(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(rule))}let totalLen=0;for(let i=1;i<matches.length;i++){totalLen+=matches[i].length}if(totalLen!==matched.length){throw createError(this._lexer,"with groups, all characters should be matched in consecutive groups in rule: "+this._safeRuleName(rule))}groupMatching={rule:rule,matches:matches,groups:[]};for(let i=0;i<result.length;i++){groupMatching.groups[i]={action:result[i],matched:matches[i+1]}}pos-=matched.length;continue}else{if(result==="@rematch"){pos-=matched.length;matched="";matches=null;result="";if(enteringEmbeddedLanguage!==null){return computeNewStateForEmbeddedLanguage(enteringEmbeddedLanguage)}}if(matched.length===0){if(lineLength===0||stackLen0!==stack.depth||state!==stack.state||(!groupMatching?0:groupMatching.groups.length)!==groupLen0){continue}else{throw createError(this._lexer,"no progress in tokenizer in rule: "+this._safeRuleName(rule))}}let tokenType=null;if(isString2(result)&&result.indexOf("@brackets")===0){const rest=result.substr("@brackets".length);const bracket=findBracket(this._lexer,matched);if(!bracket){throw createError(this._lexer,"@brackets token returned but no bracket defined as: "+matched)}tokenType=sanitize(bracket.token+rest)}else{const token=result===""?"":result+this._lexer.tokenPostfix;tokenType=sanitize(token)}if(pos0<lineWithoutLFLength){tokensCollector.emit(pos0+offsetDelta,tokenType)}}if(enteringEmbeddedLanguage!==null){return computeNewStateForEmbeddedLanguage(enteringEmbeddedLanguage)}}return MonarchLineStateFactory.create(stack,embeddedLanguageData)}_getNestedEmbeddedLanguageData(languageId){if(!this._languageService.isRegisteredLanguageId(languageId)){return new EmbeddedLanguageData(languageId,NullState)}if(languageId!==this._languageId){this._languageService.requestBasicLanguageFeatures(languageId);TokenizationRegistry2.getOrCreate(languageId);this._embeddedLanguages[languageId]=true}const tokenizationSupport=TokenizationRegistry2.get(languageId);if(tokenizationSupport){return new EmbeddedLanguageData(languageId,tokenizationSupport.getInitialState())}return new EmbeddedLanguageData(languageId,NullState)}};MonarchTokenizer=MonarchTokenizer_1=__decorate4([__param4(4,IConfigurationService)],MonarchTokenizer)}});function _colorize(lines,tabSize,tokenizationSupport,languageIdCodec){return new Promise(((c,e)=>{const execute=()=>{const result=_actualColorize(lines,tabSize,tokenizationSupport,languageIdCodec);if(tokenizationSupport instanceof MonarchTokenizer){const status2=tokenizationSupport.getLoadStatus();if(status2.loaded===false){status2.promise.then(execute,e);return}}c(result)};execute()}))}function _fakeColorize(lines,tabSize,languageIdCodec){let html2=[];const defaultMetadata=(0<<11|1<<15|2<<24)>>>0;const tokens=new Uint32Array(2);tokens[0]=0;tokens[1]=defaultMetadata;for(let i=0,length2=lines.length;i<length2;i++){const line=lines[i];tokens[0]=line.length;const lineTokens=new LineTokens(tokens,line,languageIdCodec);const isBasicASCII2=ViewLineRenderingData.isBasicASCII(line,true);const containsRTL2=ViewLineRenderingData.containsRTL(line,isBasicASCII2,true);const renderResult=renderViewLine2(new RenderLineInput(false,true,line,false,isBasicASCII2,containsRTL2,0,lineTokens,[],tabSize,0,0,0,0,-1,"none",false,false,null));html2=html2.concat(renderResult.html);html2.push("<br/>")}return html2.join("")}function _actualColorize(lines,tabSize,tokenizationSupport,languageIdCodec){let html2=[];let state=tokenizationSupport.getInitialState();for(let i=0,length2=lines.length;i<length2;i++){const line=lines[i];const tokenizeResult=tokenizationSupport.tokenizeEncoded(line,true,state);LineTokens.convertToEndOffset(tokenizeResult.tokens,line.length);const lineTokens=new LineTokens(tokenizeResult.tokens,line,languageIdCodec);const isBasicASCII2=ViewLineRenderingData.isBasicASCII(line,true);const containsRTL2=ViewLineRenderingData.containsRTL(line,isBasicASCII2,true);const renderResult=renderViewLine2(new RenderLineInput(false,true,line,false,isBasicASCII2,containsRTL2,0,lineTokens.inflate(),[],tabSize,0,0,0,0,-1,"none",false,false,null));html2=html2.concat(renderResult.html);html2.push("<br/>");state=tokenizeResult.endState}return html2.join("")}var __awaiter5,ttPolicy2,Colorizer;var init_colorizer=__esm({"node_modules/monaco-editor/esm/vs/editor/standalone/browser/colorizer.js"(){init_trustedTypes();init_strings();init_languages();init_lineTokens();init_viewLineRenderer();init_viewModel();init_monarchLexer();__awaiter5=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};ttPolicy2=createTrustedTypesPolicy("standaloneColorizer",{createHTML:value=>value});Colorizer=class{static colorizeElement(themeService,languageService,domNode,options2){options2=options2||{};const theme=options2.theme||"vs";const mimeType=options2.mimeType||domNode.getAttribute("lang")||domNode.getAttribute("data-lang");if(!mimeType){console.error("Mode not detected");return Promise.resolve()}const languageId=languageService.getLanguageIdByMimeType(mimeType)||mimeType;themeService.setTheme(theme);const text2=domNode.firstChild?domNode.firstChild.nodeValue:"";domNode.className+=" "+theme;const render=str=>{var _a6;const trustedhtml=(_a6=ttPolicy2===null||ttPolicy2===void 0?void 0:ttPolicy2.createHTML(str))!==null&&_a6!==void 0?_a6:str;domNode.innerHTML=trustedhtml};return this.colorize(languageService,text2||"",languageId,options2).then(render,(err=>console.error(err)))}static colorize(languageService,text2,languageId,options2){return __awaiter5(this,void 0,void 0,(function*(){const languageIdCodec=languageService.languageIdCodec;let tabSize=4;if(options2&&typeof options2.tabSize==="number"){tabSize=options2.tabSize}if(startsWithUTF8BOM(text2)){text2=text2.substr(1)}const lines=splitLines(text2);if(!languageService.isRegisteredLanguageId(languageId)){return _fakeColorize(lines,tabSize,languageIdCodec)}const tokenizationSupport=yield TokenizationRegistry2.getOrCreate(languageId);if(tokenizationSupport){return _colorize(lines,tabSize,tokenizationSupport,languageIdCodec)}return _fakeColorize(lines,tabSize,languageIdCodec)}))}static colorizeLine(line,mightContainNonBasicASCII,mightContainRTL,tokens,tabSize=4){const isBasicASCII2=ViewLineRenderingData.isBasicASCII(line,mightContainNonBasicASCII);const containsRTL2=ViewLineRenderingData.containsRTL(line,isBasicASCII2,mightContainRTL);const renderResult=renderViewLine2(new RenderLineInput(false,true,line,false,isBasicASCII2,containsRTL2,0,tokens,[],tabSize,0,0,0,0,-1,"none",false,false,null));return renderResult.html}static colorizeModelLine(model,lineNumber,tabSize=4){const content=model.getLineContent(lineNumber);model.tokenization.forceTokenization(lineNumber);const tokens=model.tokenization.getLineTokens(lineNumber);const inflatedTokens=tokens.inflate();return this.colorizeLine(content,model.mightContainNonBasicASCII(),model.mightContainRTL(),inflatedTokens,tabSize)}}}});var BrowserFeatures;var init_canIUse=__esm({"node_modules/monaco-editor/esm/vs/base/browser/canIUse.js"(){init_browser();init_platform();BrowserFeatures={clipboard:{writeText:isNative||document.queryCommandSupported&&document.queryCommandSupported("copy")||!!(navigator&&navigator.clipboard&&navigator.clipboard.writeText),readText:isNative||!!(navigator&&navigator.clipboard&&navigator.clipboard.readText)},keyboard:(()=>{if(isNative||isStandalone()){return 0}if(navigator.keyboard||isSafari2){return 1}return 2})(),touch:"ontouchstart"in window||navigator.maxTouchPoints>0,pointerEvents:window.PointerEvent&&("ontouchstart"in window||window.navigator.maxTouchPoints>0||navigator.maxTouchPoints>0)}}});function decodeKeybinding(keybinding,OS2){if(typeof keybinding==="number"){if(keybinding===0){return null}const firstChord=(keybinding&65535)>>>0;const secondChord=(keybinding&4294901760)>>>16;if(secondChord!==0){return new Keybinding([createSimpleKeybinding(firstChord,OS2),createSimpleKeybinding(secondChord,OS2)])}return new Keybinding([createSimpleKeybinding(firstChord,OS2)])}else{const chords=[];for(let i=0;i<keybinding.length;i++){chords.push(createSimpleKeybinding(keybinding[i],OS2))}return new Keybinding(chords)}}function createSimpleKeybinding(keybinding,OS2){const ctrlCmd=keybinding&2048?true:false;const winCtrl=keybinding&256?true:false;const ctrlKey=OS2===2?winCtrl:ctrlCmd;const shiftKey=keybinding&1024?true:false;const altKey=keybinding&512?true:false;const metaKey=OS2===2?ctrlCmd:winCtrl;const keyCode=keybinding&255;return new KeyCodeChord(ctrlKey,shiftKey,altKey,metaKey,keyCode)}var KeyCodeChord,Keybinding,ResolvedChord,ResolvedKeybinding;var init_keybindings=__esm({"node_modules/monaco-editor/esm/vs/base/common/keybindings.js"(){init_errors();KeyCodeChord=class{constructor(ctrlKey,shiftKey,altKey,metaKey,keyCode){this.ctrlKey=ctrlKey;this.shiftKey=shiftKey;this.altKey=altKey;this.metaKey=metaKey;this.keyCode=keyCode}equals(other){return other instanceof KeyCodeChord&&this.ctrlKey===other.ctrlKey&&this.shiftKey===other.shiftKey&&this.altKey===other.altKey&&this.metaKey===other.metaKey&&this.keyCode===other.keyCode}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}};Keybinding=class{constructor(chords){if(chords.length===0){throw illegalArgument(`chords`)}this.chords=chords}};ResolvedChord=class{constructor(ctrlKey,shiftKey,altKey,metaKey,keyLabel,keyAriaLabel){this.ctrlKey=ctrlKey;this.shiftKey=shiftKey;this.altKey=altKey;this.metaKey=metaKey;this.keyLabel=keyLabel;this.keyAriaLabel=keyAriaLabel}};ResolvedKeybinding=class{}}});function extractKeyCode(e){if(e.charCode){const char=String.fromCharCode(e.charCode).toUpperCase();return KeyCodeUtils.fromString(char)}const keyCode=e.keyCode;if(keyCode===3){return 7}else if(isFirefox2){switch(keyCode){case 59:return 85;case 60:if(isLinux){return 97}break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(isMacintosh){return 57}break}}else if(isWebKit){if(isMacintosh&&keyCode===93){return 57}else if(!isMacintosh&&keyCode===92){return 57}}return EVENT_KEY_CODE_MAP[keyCode]||0}var ctrlKeyMod,altKeyMod,shiftKeyMod,metaKeyMod,StandardKeyboardEvent;var init_keyboardEvent=__esm({"node_modules/monaco-editor/esm/vs/base/browser/keyboardEvent.js"(){init_browser();init_keyCodes();init_keybindings();init_platform();ctrlKeyMod=isMacintosh?256:2048;altKeyMod=512;shiftKeyMod=1024;metaKeyMod=isMacintosh?2048:256;StandardKeyboardEvent=class{constructor(source){this._standardKeyboardEventBrand=true;const e=source;this.browserEvent=e;this.target=e.target;this.ctrlKey=e.ctrlKey;this.shiftKey=e.shiftKey;this.altKey=e.altKey;this.metaKey=e.metaKey;this.altGraphKey=e.getModifierState("AltGraph");this.keyCode=extractKeyCode(e);this.code=e.code;this.ctrlKey=this.ctrlKey||this.keyCode===5;this.altKey=this.altKey||this.keyCode===6;this.shiftKey=this.shiftKey||this.keyCode===4;this.metaKey=this.metaKey||this.keyCode===57;this._asKeybinding=this._computeKeybinding();this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){if(this.browserEvent&&this.browserEvent.preventDefault){this.browserEvent.preventDefault()}}stopPropagation(){if(this.browserEvent&&this.browserEvent.stopPropagation){this.browserEvent.stopPropagation()}}toKeyCodeChord(){return this._asKeyCodeChord}equals(other){return this._asKeybinding===other}_computeKeybinding(){let key=0;if(this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57){key=this.keyCode}let result=0;if(this.ctrlKey){result|=ctrlKeyMod}if(this.altKey){result|=altKeyMod}if(this.shiftKey){result|=shiftKeyMod}if(this.metaKey){result|=metaKeyMod}result|=key;return result}_computeKeyCodeChord(){let key=0;if(this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57){key=this.keyCode}return new KeyCodeChord(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,key)}}}});function getParentWindowIfSameOrigin(w){if(!w.parent||w.parent===w){return null}try{const location=w.location;const parentLocation=w.parent.location;if(location.origin!=="null"&&parentLocation.origin!=="null"&&location.origin!==parentLocation.origin){hasDifferentOriginAncestorFlag=true;return null}}catch(e){hasDifferentOriginAncestorFlag=true;return null}return w.parent}var hasDifferentOriginAncestorFlag,sameOriginWindowChainCache,IframeUtils;var init_iframe=__esm({"node_modules/monaco-editor/esm/vs/base/browser/iframe.js"(){hasDifferentOriginAncestorFlag=false;sameOriginWindowChainCache=null;IframeUtils=class{static getSameOriginWindowChain(){if(!sameOriginWindowChainCache){sameOriginWindowChainCache=[];let w=window;let parent;do{parent=getParentWindowIfSameOrigin(w);if(parent){sameOriginWindowChainCache.push({window:w,iframeElement:w.frameElement||null})}else{sameOriginWindowChainCache.push({window:w,iframeElement:null})}w=parent}while(w)}return sameOriginWindowChainCache.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(childWindow,ancestorWindow){if(!ancestorWindow||childWindow===ancestorWindow){return{top:0,left:0}}let top=0,left=0;const windowChain=this.getSameOriginWindowChain();for(const windowChainEl of windowChain){top+=windowChainEl.window.scrollY;left+=windowChainEl.window.scrollX;if(windowChainEl.window===ancestorWindow){break}if(!windowChainEl.iframeElement){break}const boundingRect=windowChainEl.iframeElement.getBoundingClientRect();top+=boundingRect.top;left+=boundingRect.left}return{top:top,left:left}}}}});var StandardMouseEvent,StandardWheelEvent;var init_mouseEvent=__esm({"node_modules/monaco-editor/esm/vs/base/browser/mouseEvent.js"(){init_browser();init_iframe();init_platform();StandardMouseEvent=class{constructor(e){this.timestamp=Date.now();this.browserEvent=e;this.leftButton=e.button===0;this.middleButton=e.button===1;this.rightButton=e.button===2;this.buttons=e.buttons;this.target=e.target;this.detail=e.detail||1;if(e.type==="dblclick"){this.detail=2}this.ctrlKey=e.ctrlKey;this.shiftKey=e.shiftKey;this.altKey=e.altKey;this.metaKey=e.metaKey;if(typeof e.pageX==="number"){this.posx=e.pageX;this.posy=e.pageY}else{this.posx=e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft;this.posy=e.clientY+document.body.scrollTop+document.documentElement.scrollTop}const iframeOffsets=IframeUtils.getPositionOfChildWindowRelativeToAncestorWindow(window,e.view);this.posx-=iframeOffsets.left;this.posy-=iframeOffsets.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}};StandardWheelEvent=class{constructor(e,deltaX=0,deltaY=0){this.browserEvent=e||null;this.target=e?e.target||e.targetNode||e.srcElement:null;this.deltaY=deltaY;this.deltaX=deltaX;if(e){const e1=e;const e2=e;if(typeof e1.wheelDeltaY!=="undefined"){this.deltaY=e1.wheelDeltaY/120}else if(typeof e2.VERTICAL_AXIS!=="undefined"&&e2.axis===e2.VERTICAL_AXIS){this.deltaY=-e2.detail/3}else if(e.type==="wheel"){const ev=e;if(ev.deltaMode===ev.DOM_DELTA_LINE){if(isFirefox2&&!isMacintosh){this.deltaY=-e.deltaY/3}else{this.deltaY=-e.deltaY}}else{this.deltaY=-e.deltaY/40}}if(typeof e1.wheelDeltaX!=="undefined"){if(isSafari2&&isWindows){this.deltaX=-(e1.wheelDeltaX/120)}else{this.deltaX=e1.wheelDeltaX/120}}else if(typeof e2.HORIZONTAL_AXIS!=="undefined"&&e2.axis===e2.HORIZONTAL_AXIS){this.deltaX=-e.detail/3}else if(e.type==="wheel"){const ev=e;if(ev.deltaMode===ev.DOM_DELTA_LINE){if(isFirefox2&&!isMacintosh){this.deltaX=-e.deltaX/3}else{this.deltaX=-e.deltaX}}else{this.deltaX=-e.deltaX/40}}if(this.deltaY===0&&this.deltaX===0&&e.wheelDelta){this.deltaY=e.wheelDelta/120}}}preventDefault(){var _a6;(_a6=this.browserEvent)===null||_a6===void 0?void 0:_a6.preventDefault()}stopPropagation(){var _a6;(_a6=this.browserEvent)===null||_a6===void 0?void 0:_a6.stopPropagation()}}}});function unapply(func){return function(thisArg){for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}return apply(func,thisArg,args)}}function unconstruct(func){return function(){for(var _len2=arguments.length,args=new Array(_len2),_key2=0;_key2<_len2;_key2++){args[_key2]=arguments[_key2]}return construct(func,args)}}function addToSet(set,array2,transformCaseFunc){var _transformCaseFunc;transformCaseFunc=(_transformCaseFunc=transformCaseFunc)!==null&&_transformCaseFunc!==void 0?_transformCaseFunc:stringToLowerCase;if(setPrototypeOf){setPrototypeOf(set,null)}let l=array2.length;while(l--){let element=array2[l];if(typeof element==="string"){const lcElement=transformCaseFunc(element);if(lcElement!==element){if(!isFrozen(array2)){array2[l]=lcElement}element=lcElement}}set[element]=true}return set}function clone(object){const newObject=create(null);for(const[property,value]of entries(object)){newObject[property]=value}return newObject}function lookupGetter(object,prop){while(object!==null){const desc=getOwnPropertyDescriptor(object,prop);if(desc){if(desc.get){return unapply(desc.get)}if(typeof desc.value==="function"){return unapply(desc.value)}}object=getPrototypeOf(object)}function fallbackValue(element){console.warn("fallback value for",element);return null}return fallbackValue}function createDOMPurify(){let window2=arguments.length>0&&arguments[0]!==void 0?arguments[0]:getGlobal();const DOMPurify=root=>createDOMPurify(root);DOMPurify.version="3.0.5";DOMPurify.removed=[];if(!window2||!window2.document||window2.document.nodeType!==9){DOMPurify.isSupported=false;return DOMPurify}const originalDocument=window2.document;const currentScript=originalDocument.currentScript;let{document:document2}=window2;const{DocumentFragment:DocumentFragment,HTMLTemplateElement:HTMLTemplateElement,Node:Node4,Element:Element2,NodeFilter:NodeFilter,NamedNodeMap:NamedNodeMap=window2.NamedNodeMap||window2.MozNamedAttrMap,HTMLFormElement:HTMLFormElement,DOMParser:DOMParser2,trustedTypes:trustedTypes}=window2;const ElementPrototype=Element2.prototype;const cloneNode=lookupGetter(ElementPrototype,"cloneNode");const getNextSibling=lookupGetter(ElementPrototype,"nextSibling");const getChildNodes=lookupGetter(ElementPrototype,"childNodes");const getParentNode=lookupGetter(ElementPrototype,"parentNode");if(typeof HTMLTemplateElement==="function"){const template=document2.createElement("template");if(template.content&&template.content.ownerDocument){document2=template.content.ownerDocument}}let trustedTypesPolicy;let emptyHTML="";const{implementation:implementation,createNodeIterator:createNodeIterator,createDocumentFragment:createDocumentFragment,getElementsByTagName:getElementsByTagName}=document2;const{importNode:importNode}=originalDocument;let hooks={};DOMPurify.isSupported=typeof entries==="function"&&typeof getParentNode==="function"&&implementation&&implementation.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:MUSTACHE_EXPR2,ERB_EXPR:ERB_EXPR2,TMPLIT_EXPR:TMPLIT_EXPR2,DATA_ATTR:DATA_ATTR2,ARIA_ATTR:ARIA_ATTR2,IS_SCRIPT_OR_DATA:IS_SCRIPT_OR_DATA2,ATTR_WHITESPACE:ATTR_WHITESPACE2}=EXPRESSIONS;let{IS_ALLOWED_URI:IS_ALLOWED_URI$1}=EXPRESSIONS;let ALLOWED_TAGS=null;const DEFAULT_ALLOWED_TAGS=addToSet({},[...html$1,...svg$1,...svgFilters,...mathMl$1,...text]);let ALLOWED_ATTR=null;const DEFAULT_ALLOWED_ATTR=addToSet({},[...html,...svg,...mathMl,...xml]);let CUSTOM_ELEMENT_HANDLING=Object.seal(Object.create(null,{tagNameCheck:{writable:true,configurable:false,enumerable:true,value:null},attributeNameCheck:{writable:true,configurable:false,enumerable:true,value:null},allowCustomizedBuiltInElements:{writable:true,configurable:false,enumerable:true,value:false}}));let FORBID_TAGS=null;let FORBID_ATTR=null;let ALLOW_ARIA_ATTR=true;let ALLOW_DATA_ATTR=true;let ALLOW_UNKNOWN_PROTOCOLS=false;let ALLOW_SELF_CLOSE_IN_ATTR=true;let SAFE_FOR_TEMPLATES=false;let WHOLE_DOCUMENT=false;let SET_CONFIG=false;let FORCE_BODY=false;let RETURN_DOM=false;let RETURN_DOM_FRAGMENT=false;let RETURN_TRUSTED_TYPE=false;let SANITIZE_DOM=true;let SANITIZE_NAMED_PROPS=false;const SANITIZE_NAMED_PROPS_PREFIX="user-content-";let KEEP_CONTENT=true;let IN_PLACE=false;let USE_PROFILES={};let FORBID_CONTENTS=null;const DEFAULT_FORBID_CONTENTS=addToSet({},["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"]);let DATA_URI_TAGS=null;const DEFAULT_DATA_URI_TAGS=addToSet({},["audio","video","img","source","image","track"]);let URI_SAFE_ATTRIBUTES=null;const DEFAULT_URI_SAFE_ATTRIBUTES=addToSet({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]);const MATHML_NAMESPACE="http://www.w3.org/1998/Math/MathML";const SVG_NAMESPACE="http://www.w3.org/2000/svg";const HTML_NAMESPACE="http://www.w3.org/1999/xhtml";let NAMESPACE=HTML_NAMESPACE;let IS_EMPTY_INPUT=false;let ALLOWED_NAMESPACES=null;const DEFAULT_ALLOWED_NAMESPACES=addToSet({},[MATHML_NAMESPACE,SVG_NAMESPACE,HTML_NAMESPACE],stringToString);let PARSER_MEDIA_TYPE;const SUPPORTED_PARSER_MEDIA_TYPES=["application/xhtml+xml","text/html"];const DEFAULT_PARSER_MEDIA_TYPE="text/html";let transformCaseFunc;let CONFIG=null;const formElement=document2.createElement("form");const isRegexOrFunction=function isRegexOrFunction2(testValue){return testValue instanceof RegExp||testValue instanceof Function};const _parseConfig=function _parseConfig2(cfg){if(CONFIG&&CONFIG===cfg){return}if(!cfg||typeof cfg!=="object"){cfg={}}cfg=clone(cfg);PARSER_MEDIA_TYPE=SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE)===-1?PARSER_MEDIA_TYPE=DEFAULT_PARSER_MEDIA_TYPE:PARSER_MEDIA_TYPE=cfg.PARSER_MEDIA_TYPE;transformCaseFunc=PARSER_MEDIA_TYPE==="application/xhtml+xml"?stringToString:stringToLowerCase;ALLOWED_TAGS="ALLOWED_TAGS"in cfg?addToSet({},cfg.ALLOWED_TAGS,transformCaseFunc):DEFAULT_ALLOWED_TAGS;ALLOWED_ATTR="ALLOWED_ATTR"in cfg?addToSet({},cfg.ALLOWED_ATTR,transformCaseFunc):DEFAULT_ALLOWED_ATTR;ALLOWED_NAMESPACES="ALLOWED_NAMESPACES"in cfg?addToSet({},cfg.ALLOWED_NAMESPACES,stringToString):DEFAULT_ALLOWED_NAMESPACES;URI_SAFE_ATTRIBUTES="ADD_URI_SAFE_ATTR"in cfg?addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES),cfg.ADD_URI_SAFE_ATTR,transformCaseFunc):DEFAULT_URI_SAFE_ATTRIBUTES;DATA_URI_TAGS="ADD_DATA_URI_TAGS"in cfg?addToSet(clone(DEFAULT_DATA_URI_TAGS),cfg.ADD_DATA_URI_TAGS,transformCaseFunc):DEFAULT_DATA_URI_TAGS;FORBID_CONTENTS="FORBID_CONTENTS"in cfg?addToSet({},cfg.FORBID_CONTENTS,transformCaseFunc):DEFAULT_FORBID_CONTENTS;FORBID_TAGS="FORBID_TAGS"in cfg?addToSet({},cfg.FORBID_TAGS,transformCaseFunc):{};FORBID_ATTR="FORBID_ATTR"in cfg?addToSet({},cfg.FORBID_ATTR,transformCaseFunc):{};USE_PROFILES="USE_PROFILES"in cfg?cfg.USE_PROFILES:false;ALLOW_ARIA_ATTR=cfg.ALLOW_ARIA_ATTR!==false;ALLOW_DATA_ATTR=cfg.ALLOW_DATA_ATTR!==false;ALLOW_UNKNOWN_PROTOCOLS=cfg.ALLOW_UNKNOWN_PROTOCOLS||false;ALLOW_SELF_CLOSE_IN_ATTR=cfg.ALLOW_SELF_CLOSE_IN_ATTR!==false;SAFE_FOR_TEMPLATES=cfg.SAFE_FOR_TEMPLATES||false;WHOLE_DOCUMENT=cfg.WHOLE_DOCUMENT||false;RETURN_DOM=cfg.RETURN_DOM||false;RETURN_DOM_FRAGMENT=cfg.RETURN_DOM_FRAGMENT||false;RETURN_TRUSTED_TYPE=cfg.RETURN_TRUSTED_TYPE||false;FORCE_BODY=cfg.FORCE_BODY||false;SANITIZE_DOM=cfg.SANITIZE_DOM!==false;SANITIZE_NAMED_PROPS=cfg.SANITIZE_NAMED_PROPS||false;KEEP_CONTENT=cfg.KEEP_CONTENT!==false;IN_PLACE=cfg.IN_PLACE||false;IS_ALLOWED_URI$1=cfg.ALLOWED_URI_REGEXP||IS_ALLOWED_URI;NAMESPACE=cfg.NAMESPACE||HTML_NAMESPACE;CUSTOM_ELEMENT_HANDLING=cfg.CUSTOM_ELEMENT_HANDLING||{};if(cfg.CUSTOM_ELEMENT_HANDLING&&isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)){CUSTOM_ELEMENT_HANDLING.tagNameCheck=cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck}if(cfg.CUSTOM_ELEMENT_HANDLING&&isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)){CUSTOM_ELEMENT_HANDLING.attributeNameCheck=cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck}if(cfg.CUSTOM_ELEMENT_HANDLING&&typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements==="boolean"){CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements}if(SAFE_FOR_TEMPLATES){ALLOW_DATA_ATTR=false}if(RETURN_DOM_FRAGMENT){RETURN_DOM=true}if(USE_PROFILES){ALLOWED_TAGS=addToSet({},[...text]);ALLOWED_ATTR=[];if(USE_PROFILES.html===true){addToSet(ALLOWED_TAGS,html$1);addToSet(ALLOWED_ATTR,html)}if(USE_PROFILES.svg===true){addToSet(ALLOWED_TAGS,svg$1);addToSet(ALLOWED_ATTR,svg);addToSet(ALLOWED_ATTR,xml)}if(USE_PROFILES.svgFilters===true){addToSet(ALLOWED_TAGS,svgFilters);addToSet(ALLOWED_ATTR,svg);addToSet(ALLOWED_ATTR,xml)}if(USE_PROFILES.mathMl===true){addToSet(ALLOWED_TAGS,mathMl$1);addToSet(ALLOWED_ATTR,mathMl);addToSet(ALLOWED_ATTR,xml)}}if(cfg.ADD_TAGS){if(ALLOWED_TAGS===DEFAULT_ALLOWED_TAGS){ALLOWED_TAGS=clone(ALLOWED_TAGS)}addToSet(ALLOWED_TAGS,cfg.ADD_TAGS,transformCaseFunc)}if(cfg.ADD_ATTR){if(ALLOWED_ATTR===DEFAULT_ALLOWED_ATTR){ALLOWED_ATTR=clone(ALLOWED_ATTR)}addToSet(ALLOWED_ATTR,cfg.ADD_ATTR,transformCaseFunc)}if(cfg.ADD_URI_SAFE_ATTR){addToSet(URI_SAFE_ATTRIBUTES,cfg.ADD_URI_SAFE_ATTR,transformCaseFunc)}if(cfg.FORBID_CONTENTS){if(FORBID_CONTENTS===DEFAULT_FORBID_CONTENTS){FORBID_CONTENTS=clone(FORBID_CONTENTS)}addToSet(FORBID_CONTENTS,cfg.FORBID_CONTENTS,transformCaseFunc)}if(KEEP_CONTENT){ALLOWED_TAGS["#text"]=true}if(WHOLE_DOCUMENT){addToSet(ALLOWED_TAGS,["html","head","body"])}if(ALLOWED_TAGS.table){addToSet(ALLOWED_TAGS,["tbody"]);delete FORBID_TAGS.tbody}if(cfg.TRUSTED_TYPES_POLICY){if(typeof cfg.TRUSTED_TYPES_POLICY.createHTML!=="function"){throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.')}if(typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL!=="function"){throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.')}trustedTypesPolicy=cfg.TRUSTED_TYPES_POLICY;emptyHTML=trustedTypesPolicy.createHTML("")}else{if(trustedTypesPolicy===void 0){trustedTypesPolicy=_createTrustedTypesPolicy(trustedTypes,currentScript)}if(trustedTypesPolicy!==null&&typeof emptyHTML==="string"){emptyHTML=trustedTypesPolicy.createHTML("")}}if(freeze){freeze(cfg)}CONFIG=cfg};const MATHML_TEXT_INTEGRATION_POINTS=addToSet({},["mi","mo","mn","ms","mtext"]);const HTML_INTEGRATION_POINTS=addToSet({},["foreignobject","desc","title","annotation-xml"]);const COMMON_SVG_AND_HTML_ELEMENTS=addToSet({},["title","style","font","a","script"]);const ALL_SVG_TAGS=addToSet({},svg$1);addToSet(ALL_SVG_TAGS,svgFilters);addToSet(ALL_SVG_TAGS,svgDisallowed);const ALL_MATHML_TAGS=addToSet({},mathMl$1);addToSet(ALL_MATHML_TAGS,mathMlDisallowed);const _checkValidNamespace=function _checkValidNamespace2(element){let parent=getParentNode(element);if(!parent||!parent.tagName){parent={namespaceURI:NAMESPACE,tagName:"template"}}const tagName=stringToLowerCase(element.tagName);const parentTagName=stringToLowerCase(parent.tagName);if(!ALLOWED_NAMESPACES[element.namespaceURI]){return false}if(element.namespaceURI===SVG_NAMESPACE){if(parent.namespaceURI===HTML_NAMESPACE){return tagName==="svg"}if(parent.namespaceURI===MATHML_NAMESPACE){return tagName==="svg"&&(parentTagName==="annotation-xml"||MATHML_TEXT_INTEGRATION_POINTS[parentTagName])}return Boolean(ALL_SVG_TAGS[tagName])}if(element.namespaceURI===MATHML_NAMESPACE){if(parent.namespaceURI===HTML_NAMESPACE){return tagName==="math"}if(parent.namespaceURI===SVG_NAMESPACE){return tagName==="math"&&HTML_INTEGRATION_POINTS[parentTagName]}return Boolean(ALL_MATHML_TAGS[tagName])}if(element.namespaceURI===HTML_NAMESPACE){if(parent.namespaceURI===SVG_NAMESPACE&&!HTML_INTEGRATION_POINTS[parentTagName]){return false}if(parent.namespaceURI===MATHML_NAMESPACE&&!MATHML_TEXT_INTEGRATION_POINTS[parentTagName]){return false}return!ALL_MATHML_TAGS[tagName]&&(COMMON_SVG_AND_HTML_ELEMENTS[tagName]||!ALL_SVG_TAGS[tagName])}if(PARSER_MEDIA_TYPE==="application/xhtml+xml"&&ALLOWED_NAMESPACES[element.namespaceURI]){return true}return false};const _forceRemove=function _forceRemove2(node){arrayPush(DOMPurify.removed,{element:node});try{node.parentNode.removeChild(node)}catch(_){node.remove()}};const _removeAttribute=function _removeAttribute2(name,node){try{arrayPush(DOMPurify.removed,{attribute:node.getAttributeNode(name),from:node})}catch(_){arrayPush(DOMPurify.removed,{attribute:null,from:node})}node.removeAttribute(name);if(name==="is"&&!ALLOWED_ATTR[name]){if(RETURN_DOM||RETURN_DOM_FRAGMENT){try{_forceRemove(node)}catch(_){}}else{try{node.setAttribute(name,"")}catch(_){}}}};const _initDocument=function _initDocument2(dirty){let doc;let leadingWhitespace;if(FORCE_BODY){dirty="<remove></remove>"+dirty}else{const matches=stringMatch(dirty,/^[\r\n\t ]+/);leadingWhitespace=matches&&matches[0]}if(PARSER_MEDIA_TYPE==="application/xhtml+xml"&&NAMESPACE===HTML_NAMESPACE){dirty='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+dirty+"</body></html>"}const dirtyPayload=trustedTypesPolicy?trustedTypesPolicy.createHTML(dirty):dirty;if(NAMESPACE===HTML_NAMESPACE){try{doc=(new DOMParser2).parseFromString(dirtyPayload,PARSER_MEDIA_TYPE)}catch(_){}}if(!doc||!doc.documentElement){doc=implementation.createDocument(NAMESPACE,"template",null);try{doc.documentElement.innerHTML=IS_EMPTY_INPUT?emptyHTML:dirtyPayload}catch(_){}}const body=doc.body||doc.documentElement;if(dirty&&leadingWhitespace){body.insertBefore(document2.createTextNode(leadingWhitespace),body.childNodes[0]||null)}if(NAMESPACE===HTML_NAMESPACE){return getElementsByTagName.call(doc,WHOLE_DOCUMENT?"html":"body")[0]}return WHOLE_DOCUMENT?doc.documentElement:body};const _createIterator=function _createIterator2(root){return createNodeIterator.call(root.ownerDocument||root,root,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_COMMENT|NodeFilter.SHOW_TEXT,null,false)};const _isClobbered=function _isClobbered2(elm){return elm instanceof HTMLFormElement&&(typeof elm.nodeName!=="string"||typeof elm.textContent!=="string"||typeof elm.removeChild!=="function"||!(elm.attributes instanceof NamedNodeMap)||typeof elm.removeAttribute!=="function"||typeof elm.setAttribute!=="function"||typeof elm.namespaceURI!=="string"||typeof elm.insertBefore!=="function"||typeof elm.hasChildNodes!=="function")};const _isNode=function _isNode2(object){return typeof Node4==="object"?object instanceof Node4:object&&typeof object==="object"&&typeof object.nodeType==="number"&&typeof object.nodeName==="string"};const _executeHook=function _executeHook2(entryPoint,currentNode,data){if(!hooks[entryPoint]){return}arrayForEach(hooks[entryPoint],(hook=>{hook.call(DOMPurify,currentNode,data,CONFIG)}))};const _sanitizeElements=function _sanitizeElements2(currentNode){let content;_executeHook("beforeSanitizeElements",currentNode,null);if(_isClobbered(currentNode)){_forceRemove(currentNode);return true}const tagName=transformCaseFunc(currentNode.nodeName);_executeHook("uponSanitizeElement",currentNode,{tagName:tagName,allowedTags:ALLOWED_TAGS});if(currentNode.hasChildNodes()&&!_isNode(currentNode.firstElementChild)&&(!_isNode(currentNode.content)||!_isNode(currentNode.content.firstElementChild))&&regExpTest(/<[/\w]/g,currentNode.innerHTML)&&regExpTest(/<[/\w]/g,currentNode.textContent)){_forceRemove(currentNode);return true}if(!ALLOWED_TAGS[tagName]||FORBID_TAGS[tagName]){if(!FORBID_TAGS[tagName]&&_basicCustomElementTest(tagName)){if(CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp&&regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck,tagName))return false;if(CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function&&CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName))return false}if(KEEP_CONTENT&&!FORBID_CONTENTS[tagName]){const parentNode=getParentNode(currentNode)||currentNode.parentNode;const childNodes=getChildNodes(currentNode)||currentNode.childNodes;if(childNodes&&parentNode){const childCount=childNodes.length;for(let i=childCount-1;i>=0;--i){parentNode.insertBefore(cloneNode(childNodes[i],true),getNextSibling(currentNode))}}}_forceRemove(currentNode);return true}if(currentNode instanceof Element2&&!_checkValidNamespace(currentNode)){_forceRemove(currentNode);return true}if((tagName==="noscript"||tagName==="noembed"||tagName==="noframes")&&regExpTest(/<\/no(script|embed|frames)/i,currentNode.innerHTML)){_forceRemove(currentNode);return true}if(SAFE_FOR_TEMPLATES&&currentNode.nodeType===3){content=currentNode.textContent;content=stringReplace(content,MUSTACHE_EXPR2," ");content=stringReplace(content,ERB_EXPR2," ");content=stringReplace(content,TMPLIT_EXPR2," ");if(currentNode.textContent!==content){arrayPush(DOMPurify.removed,{element:currentNode.cloneNode()});currentNode.textContent=content}}_executeHook("afterSanitizeElements",currentNode,null);return false};const _isValidAttribute=function _isValidAttribute2(lcTag,lcName,value){if(SANITIZE_DOM&&(lcName==="id"||lcName==="name")&&(value in document2||value in formElement)){return false}if(ALLOW_DATA_ATTR&&!FORBID_ATTR[lcName]&&regExpTest(DATA_ATTR2,lcName));else if(ALLOW_ARIA_ATTR&&regExpTest(ARIA_ATTR2,lcName));else if(!ALLOWED_ATTR[lcName]||FORBID_ATTR[lcName]){if(_basicCustomElementTest(lcTag)&&(CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp&&regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck,lcTag)||CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function&&CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag))&&(CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp&&regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck,lcName)||CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function&&CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName))||lcName==="is"&&CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp&&regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck,value)||CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function&&CUSTOM_ELEMENT_HANDLING.tagNameCheck(value)));else{return false}}else if(URI_SAFE_ATTRIBUTES[lcName]);else if(regExpTest(IS_ALLOWED_URI$1,stringReplace(value,ATTR_WHITESPACE2,"")));else if((lcName==="src"||lcName==="xlink:href"||lcName==="href")&&lcTag!=="script"&&stringIndexOf(value,"data:")===0&&DATA_URI_TAGS[lcTag]);else if(ALLOW_UNKNOWN_PROTOCOLS&&!regExpTest(IS_SCRIPT_OR_DATA2,stringReplace(value,ATTR_WHITESPACE2,"")));else if(value){return false}else;return true};const _basicCustomElementTest=function _basicCustomElementTest2(tagName){return tagName.indexOf("-")>0};const _sanitizeAttributes=function _sanitizeAttributes2(currentNode){let attr;let value;let lcName;let l;_executeHook("beforeSanitizeAttributes",currentNode,null);const{attributes:attributes}=currentNode;if(!attributes){return}const hookEvent={attrName:"",attrValue:"",keepAttr:true,allowedAttributes:ALLOWED_ATTR};l=attributes.length;while(l--){attr=attributes[l];const{name:name,namespaceURI:namespaceURI}=attr;value=name==="value"?attr.value:stringTrim(attr.value);lcName=transformCaseFunc(name);hookEvent.attrName=lcName;hookEvent.attrValue=value;hookEvent.keepAttr=true;hookEvent.forceKeepAttr=void 0;_executeHook("uponSanitizeAttribute",currentNode,hookEvent);value=hookEvent.attrValue;if(hookEvent.forceKeepAttr){continue}_removeAttribute(name,currentNode);if(!hookEvent.keepAttr){continue}if(!ALLOW_SELF_CLOSE_IN_ATTR&&regExpTest(/\/>/i,value)){_removeAttribute(name,currentNode);continue}if(SAFE_FOR_TEMPLATES){value=stringReplace(value,MUSTACHE_EXPR2," ");value=stringReplace(value,ERB_EXPR2," ");value=stringReplace(value,TMPLIT_EXPR2," ")}const lcTag=transformCaseFunc(currentNode.nodeName);if(!_isValidAttribute(lcTag,lcName,value)){continue}if(SANITIZE_NAMED_PROPS&&(lcName==="id"||lcName==="name")){_removeAttribute(name,currentNode);value=SANITIZE_NAMED_PROPS_PREFIX+value}if(trustedTypesPolicy&&typeof trustedTypes==="object"&&typeof trustedTypes.getAttributeType==="function"){if(namespaceURI);else{switch(trustedTypes.getAttributeType(lcTag,lcName)){case"TrustedHTML":{value=trustedTypesPolicy.createHTML(value);break}case"TrustedScriptURL":{value=trustedTypesPolicy.createScriptURL(value);break}}}}try{if(namespaceURI){currentNode.setAttributeNS(namespaceURI,name,value)}else{currentNode.setAttribute(name,value)}arrayPop(DOMPurify.removed)}catch(_){}}_executeHook("afterSanitizeAttributes",currentNode,null)};const _sanitizeShadowDOM=function _sanitizeShadowDOM2(fragment){let shadowNode;const shadowIterator=_createIterator(fragment);_executeHook("beforeSanitizeShadowDOM",fragment,null);while(shadowNode=shadowIterator.nextNode()){_executeHook("uponSanitizeShadowNode",shadowNode,null);if(_sanitizeElements(shadowNode)){continue}if(shadowNode.content instanceof DocumentFragment){_sanitizeShadowDOM2(shadowNode.content)}_sanitizeAttributes(shadowNode)}_executeHook("afterSanitizeShadowDOM",fragment,null)};DOMPurify.sanitize=function(dirty){let cfg=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};let body;let importedNode;let currentNode;let returnNode;IS_EMPTY_INPUT=!dirty;if(IS_EMPTY_INPUT){dirty="\x3c!--\x3e"}if(typeof dirty!=="string"&&!_isNode(dirty)){if(typeof dirty.toString==="function"){dirty=dirty.toString();if(typeof dirty!=="string"){throw typeErrorCreate("dirty is not a string, aborting")}}else{throw typeErrorCreate("toString is not a function")}}if(!DOMPurify.isSupported){return dirty}if(!SET_CONFIG){_parseConfig(cfg)}DOMPurify.removed=[];if(typeof dirty==="string"){IN_PLACE=false}if(IN_PLACE){if(dirty.nodeName){const tagName=transformCaseFunc(dirty.nodeName);if(!ALLOWED_TAGS[tagName]||FORBID_TAGS[tagName]){throw typeErrorCreate("root node is forbidden and cannot be sanitized in-place")}}}else if(dirty instanceof Node4){body=_initDocument("\x3c!----\x3e");importedNode=body.ownerDocument.importNode(dirty,true);if(importedNode.nodeType===1&&importedNode.nodeName==="BODY"){body=importedNode}else if(importedNode.nodeName==="HTML"){body=importedNode}else{body.appendChild(importedNode)}}else{if(!RETURN_DOM&&!SAFE_FOR_TEMPLATES&&!WHOLE_DOCUMENT&&dirty.indexOf("<")===-1){return trustedTypesPolicy&&RETURN_TRUSTED_TYPE?trustedTypesPolicy.createHTML(dirty):dirty}body=_initDocument(dirty);if(!body){return RETURN_DOM?null:RETURN_TRUSTED_TYPE?emptyHTML:""}}if(body&&FORCE_BODY){_forceRemove(body.firstChild)}const nodeIterator=_createIterator(IN_PLACE?dirty:body);while(currentNode=nodeIterator.nextNode()){if(_sanitizeElements(currentNode)){continue}if(currentNode.content instanceof DocumentFragment){_sanitizeShadowDOM(currentNode.content)}_sanitizeAttributes(currentNode)}if(IN_PLACE){return dirty}if(RETURN_DOM){if(RETURN_DOM_FRAGMENT){returnNode=createDocumentFragment.call(body.ownerDocument);while(body.firstChild){returnNode.appendChild(body.firstChild)}}else{returnNode=body}if(ALLOWED_ATTR.shadowroot||ALLOWED_ATTR.shadowrootmode){returnNode=importNode.call(originalDocument,returnNode,true)}return returnNode}let serializedHTML=WHOLE_DOCUMENT?body.outerHTML:body.innerHTML;if(WHOLE_DOCUMENT&&ALLOWED_TAGS["!doctype"]&&body.ownerDocument&&body.ownerDocument.doctype&&body.ownerDocument.doctype.name&&regExpTest(DOCTYPE_NAME,body.ownerDocument.doctype.name)){serializedHTML="<!DOCTYPE "+body.ownerDocument.doctype.name+">\n"+serializedHTML}if(SAFE_FOR_TEMPLATES){serializedHTML=stringReplace(serializedHTML,MUSTACHE_EXPR2," ");serializedHTML=stringReplace(serializedHTML,ERB_EXPR2," ");serializedHTML=stringReplace(serializedHTML,TMPLIT_EXPR2," ")}return trustedTypesPolicy&&RETURN_TRUSTED_TYPE?trustedTypesPolicy.createHTML(serializedHTML):serializedHTML};DOMPurify.setConfig=function(cfg){_parseConfig(cfg);SET_CONFIG=true};DOMPurify.clearConfig=function(){CONFIG=null;SET_CONFIG=false};DOMPurify.isValidAttribute=function(tag,attr,value){if(!CONFIG){_parseConfig({})}const lcTag=transformCaseFunc(tag);const lcName=transformCaseFunc(attr);return _isValidAttribute(lcTag,lcName,value)};DOMPurify.addHook=function(entryPoint,hookFunction){if(typeof hookFunction!=="function"){return}hooks[entryPoint]=hooks[entryPoint]||[];arrayPush(hooks[entryPoint],hookFunction)};DOMPurify.removeHook=function(entryPoint){if(hooks[entryPoint]){return arrayPop(hooks[entryPoint])}};DOMPurify.removeHooks=function(entryPoint){if(hooks[entryPoint]){hooks[entryPoint]=[]}};DOMPurify.removeAllHooks=function(){hooks={}};return DOMPurify}var entries,setPrototypeOf,isFrozen,getPrototypeOf,getOwnPropertyDescriptor,freeze,seal,create,apply,construct,arrayForEach,arrayPop,arrayPush,stringToLowerCase,stringToString,stringMatch,stringReplace,stringIndexOf,stringTrim,regExpTest,typeErrorCreate,html$1,svg$1,svgFilters,svgDisallowed,mathMl$1,mathMlDisallowed,text,html,svg,mathMl,xml,MUSTACHE_EXPR,ERB_EXPR,TMPLIT_EXPR,DATA_ATTR,ARIA_ATTR,IS_ALLOWED_URI,IS_SCRIPT_OR_DATA,ATTR_WHITESPACE,DOCTYPE_NAME,EXPRESSIONS,getGlobal,_createTrustedTypesPolicy,purify,version,isSupported,sanitize2,setConfig,clearConfig,isValidAttribute,addHook,removeHook,removeHooks,removeAllHooks;var init_dompurify=__esm({"node_modules/monaco-editor/esm/vs/base/browser/dompurify/dompurify.js"(){({entries:entries,setPrototypeOf:setPrototypeOf,isFrozen:isFrozen,getPrototypeOf:getPrototypeOf,getOwnPropertyDescriptor:getOwnPropertyDescriptor}=Object);({freeze:freeze,seal:seal,create:create}=Object);({apply:apply,construct:construct}=typeof Reflect!=="undefined"&&Reflect);if(!apply){apply=function apply2(fun,thisValue,args){return fun.apply(thisValue,args)}}if(!freeze){freeze=function freeze3(x){return x}}if(!seal){seal=function seal2(x){return x}}if(!construct){construct=function construct2(Func,args){return new Func(...args)}}arrayForEach=unapply(Array.prototype.forEach);arrayPop=unapply(Array.prototype.pop);arrayPush=unapply(Array.prototype.push);stringToLowerCase=unapply(String.prototype.toLowerCase);stringToString=unapply(String.prototype.toString);stringMatch=unapply(String.prototype.match);stringReplace=unapply(String.prototype.replace);stringIndexOf=unapply(String.prototype.indexOf);stringTrim=unapply(String.prototype.trim);regExpTest=unapply(RegExp.prototype.test);typeErrorCreate=unconstruct(TypeError);html$1=freeze(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]);svg$1=freeze(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]);svgFilters=freeze(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]);svgDisallowed=freeze(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]);mathMl$1=freeze(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]);mathMlDisallowed=freeze(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]);text=freeze(["#text"]);html=freeze(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]);svg=freeze(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]);mathMl=freeze(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]);xml=freeze(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]);MUSTACHE_EXPR=seal(/\{\{[\w\W]*|[\w\W]*\}\}/gm);ERB_EXPR=seal(/<%[\w\W]*|[\w\W]*%>/gm);TMPLIT_EXPR=seal(/\${[\w\W]*}/gm);DATA_ATTR=seal(/^data-[\-\w.\u00B7-\uFFFF]/);ARIA_ATTR=seal(/^aria-[\-\w]+$/);IS_ALLOWED_URI=seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i);IS_SCRIPT_OR_DATA=seal(/^(?:\w+script|data):/i);ATTR_WHITESPACE=seal(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g);DOCTYPE_NAME=seal(/^html$/i);EXPRESSIONS=Object.freeze({__proto__:null,MUSTACHE_EXPR:MUSTACHE_EXPR,ERB_EXPR:ERB_EXPR,TMPLIT_EXPR:TMPLIT_EXPR,DATA_ATTR:DATA_ATTR,ARIA_ATTR:ARIA_ATTR,IS_ALLOWED_URI:IS_ALLOWED_URI,IS_SCRIPT_OR_DATA:IS_SCRIPT_OR_DATA,ATTR_WHITESPACE:ATTR_WHITESPACE,DOCTYPE_NAME:DOCTYPE_NAME});getGlobal=()=>typeof window==="undefined"?null:window;_createTrustedTypesPolicy=function _createTrustedTypesPolicy2(trustedTypes,purifyHostElement){if(typeof trustedTypes!=="object"||typeof trustedTypes.createPolicy!=="function"){return null}let suffix=null;const ATTR_NAME="data-tt-policy-suffix";if(purifyHostElement&&purifyHostElement.hasAttribute(ATTR_NAME)){suffix=purifyHostElement.getAttribute(ATTR_NAME)}const policyName="dompurify"+(suffix?"#"+suffix:"");try{return trustedTypes.createPolicy(policyName,{createHTML(html2){return html2},createScriptURL(scriptUrl){return scriptUrl}})}catch(_){console.warn("TrustedTypes policy "+policyName+" could not be created.");return null}};purify=createDOMPurify();version=purify.version;isSupported=purify.isSupported;sanitize2=purify.sanitize;setConfig=purify.setConfig;clearConfig=purify.clearConfig;isValidAttribute=purify.isValidAttribute;addHook=purify.addHook;removeHook=purify.removeHook;removeHooks=purify.removeHooks;removeAllHooks=purify.removeAllHooks}});var Schemas,connectionTokenQueryName,RemoteAuthoritiesImpl,RemoteAuthorities,FileAccessImpl,FileAccess,COI;var init_network=__esm({"node_modules/monaco-editor/esm/vs/base/common/network.js"(){init_errors();init_platform();init_uri();(function(Schemas2){Schemas2.inMemory="inmemory";Schemas2.vscode="vscode";Schemas2.internal="private";Schemas2.walkThrough="walkThrough";Schemas2.walkThroughSnippet="walkThroughSnippet";Schemas2.http="http";Schemas2.https="https";Schemas2.file="file";Schemas2.mailto="mailto";Schemas2.untitled="untitled";Schemas2.data="data";Schemas2.command="command";Schemas2.vscodeRemote="vscode-remote";Schemas2.vscodeRemoteResource="vscode-remote-resource";Schemas2.vscodeManagedRemoteResource="vscode-managed-remote-resource";Schemas2.vscodeUserData="vscode-userdata";Schemas2.vscodeCustomEditor="vscode-custom-editor";Schemas2.vscodeNotebookCell="vscode-notebook-cell";Schemas2.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata";Schemas2.vscodeNotebookCellOutput="vscode-notebook-cell-output";Schemas2.vscodeInteractiveInput="vscode-interactive-input";Schemas2.vscodeSettings="vscode-settings";Schemas2.vscodeWorkspaceTrust="vscode-workspace-trust";Schemas2.vscodeTerminal="vscode-terminal";Schemas2.vscodeChatSesssion="vscode-chat-editor";Schemas2.webviewPanel="webview-panel";Schemas2.vscodeWebview="vscode-webview";Schemas2.extension="extension";Schemas2.vscodeFileResource="vscode-file";Schemas2.tmp="tmp";Schemas2.vsls="vsls";Schemas2.vscodeSourceControl="vscode-scm"})(Schemas||(Schemas={}));connectionTokenQueryName="tkn";RemoteAuthoritiesImpl=class{constructor(){this._hosts=Object.create(null);this._ports=Object.create(null);this._connectionTokens=Object.create(null);this._preferredWebSchema="http";this._delegate=null;this._remoteResourcesPath=`/${Schemas.vscodeRemoteResource}`}setPreferredWebSchema(schema){this._preferredWebSchema=schema}rewrite(uri){if(this._delegate){try{return this._delegate(uri)}catch(err){onUnexpectedError(err);return uri}}const authority=uri.authority;let host=this._hosts[authority];if(host&&host.indexOf(":")!==-1&&host.indexOf("[")===-1){host=`[${host}]`}const port=this._ports[authority];const connectionToken=this._connectionTokens[authority];let query=`path=${encodeURIComponent(uri.path)}`;if(typeof connectionToken==="string"){query+=`&${connectionTokenQueryName}=${encodeURIComponent(connectionToken)}`}return URI.from({scheme:isWeb?this._preferredWebSchema:Schemas.vscodeRemoteResource,authority:`${host}:${port}`,path:this._remoteResourcesPath,query:query})}};RemoteAuthorities=new RemoteAuthoritiesImpl;FileAccessImpl=class{uriToBrowserUri(uri){if(uri.scheme===Schemas.vscodeRemote){return RemoteAuthorities.rewrite(uri)}if(uri.scheme===Schemas.file&&(isNative||isWebWorker&&globals.origin===`${Schemas.vscodeFileResource}://${FileAccessImpl.FALLBACK_AUTHORITY}`)){return uri.with({scheme:Schemas.vscodeFileResource,authority:uri.authority||FileAccessImpl.FALLBACK_AUTHORITY,query:null,fragment:null})}return uri}};FileAccessImpl.FALLBACK_AUTHORITY="vscode-app";FileAccess=new FileAccessImpl;(function(COI2){const coiHeaders=new Map([["1",{"Cross-Origin-Opener-Policy":"same-origin"}],["2",{"Cross-Origin-Embedder-Policy":"require-corp"}],["3",{"Cross-Origin-Opener-Policy":"same-origin","Cross-Origin-Embedder-Policy":"require-corp"}]]);COI2.CoopAndCoep=Object.freeze(coiHeaders.get("3"));const coiSearchParamName="vscode-coi";function getHeadersFromQuery(url){let params;if(typeof url==="string"){params=new URL(url).searchParams}else if(url instanceof URL){params=url.searchParams}else if(URI.isUri(url)){params=new URL(url.toString(true)).searchParams}const value=params===null||params===void 0?void 0:params.get(coiSearchParamName);if(!value){return void 0}return coiHeaders.get(value)}COI2.getHeadersFromQuery=getHeadersFromQuery;function addSearchParam(urlOrSearch,coop,coep){if(!globalThis.crossOriginIsolated){return}const value=coop&&coep?"3":coep?"2":"1";if(urlOrSearch instanceof URLSearchParams){urlOrSearch.set(coiSearchParamName,value)}else{urlOrSearch[coiSearchParamName]=value}}COI2.addSearchParam=addSearchParam})(COI||(COI={}))}});function clearNode(node){while(node.firstChild){node.firstChild.remove()}}function isInDOM(node){var _a6;return(_a6=node===null||node===void 0?void 0:node.isConnected)!==null&&_a6!==void 0?_a6:false}function addDisposableListener(node,type,handler,useCaptureOrOptions){return new DomListener(node,type,handler,useCaptureOrOptions)}function _wrapAsStandardMouseEvent(handler){return function(e){return handler(new StandardMouseEvent(e))}}function _wrapAsStandardKeyboardEvent(handler){return function(e){return handler(new StandardKeyboardEvent(e))}}function addDisposableGenericMouseDownListener(node,handler,useCapture){return addDisposableListener(node,isIOS&&BrowserFeatures.pointerEvents?EventType.POINTER_DOWN:EventType.MOUSE_DOWN,handler,useCapture)}function getComputedStyle2(el){return document.defaultView.getComputedStyle(el,null)}function getClientArea(element){if(element!==document.body){return new Dimension(element.clientWidth,element.clientHeight)}if(isIOS&&window.visualViewport){return new Dimension(window.visualViewport.width,window.visualViewport.height)}if(window.innerWidth&&window.innerHeight){return new Dimension(window.innerWidth,window.innerHeight)}if(document.body&&document.body.clientWidth&&document.body.clientHeight){return new Dimension(document.body.clientWidth,document.body.clientHeight)}if(document.documentElement&&document.documentElement.clientWidth&&document.documentElement.clientHeight){return new Dimension(document.documentElement.clientWidth,document.documentElement.clientHeight)}throw new Error("Unable to figure out browser width and height")}function getTopLeftOffset(element){let offsetParent=element.offsetParent;let top=element.offsetTop;let left=element.offsetLeft;while((element=element.parentNode)!==null&&element!==document.body&&element!==document.documentElement){top-=element.scrollTop;const c=isShadowRoot(element)?null:getComputedStyle2(element);if(c){left-=c.direction!=="rtl"?element.scrollLeft:-element.scrollLeft}if(element===offsetParent){left+=SizeUtils.getBorderLeftWidth(element);top+=SizeUtils.getBorderTopWidth(element);top+=element.offsetTop;left+=element.offsetLeft;offsetParent=element.offsetParent}}return{left:left,top:top}}function size(element,width,height){if(typeof width==="number"){element.style.width=`${width}px`}if(typeof height==="number"){element.style.height=`${height}px`}}function getDomNodePagePosition(domNode){const bb=domNode.getBoundingClientRect();return{left:bb.left+window.scrollX,top:bb.top+window.scrollY,width:bb.width,height:bb.height}}function getDomNodeZoomLevel(domNode){let testElement=domNode;let zoom=1;do{const elementZoomLevel=getComputedStyle2(testElement).zoom;if(elementZoomLevel!==null&&elementZoomLevel!==void 0&&elementZoomLevel!=="1"){zoom*=elementZoomLevel}testElement=testElement.parentElement}while(testElement!==null&&testElement!==document.documentElement);return zoom}function getTotalWidth(element){const margin=SizeUtils.getMarginLeft(element)+SizeUtils.getMarginRight(element);return element.offsetWidth+margin}function getContentWidth(element){const border=SizeUtils.getBorderLeftWidth(element)+SizeUtils.getBorderRightWidth(element);const padding=SizeUtils.getPaddingLeft(element)+SizeUtils.getPaddingRight(element);return element.offsetWidth-border-padding}function getContentHeight(element){const border=SizeUtils.getBorderTopWidth(element)+SizeUtils.getBorderBottomWidth(element);const padding=SizeUtils.getPaddingTop(element)+SizeUtils.getPaddingBottom(element);return element.offsetHeight-border-padding}function getTotalHeight(element){const margin=SizeUtils.getMarginTop(element)+SizeUtils.getMarginBottom(element);return element.offsetHeight+margin}function isAncestor(testChild,testAncestor){while(testChild){if(testChild===testAncestor){return true}testChild=testChild.parentNode}return false}function findParentWithClass(node,clazz,stopAtClazzOrNode){while(node&&node.nodeType===node.ELEMENT_NODE){if(node.classList.contains(clazz)){return node}if(stopAtClazzOrNode){if(typeof stopAtClazzOrNode==="string"){if(node.classList.contains(stopAtClazzOrNode)){return null}}else{if(node===stopAtClazzOrNode){return null}}}node=node.parentNode}return null}function hasParentWithClass(node,clazz,stopAtClazzOrNode){return!!findParentWithClass(node,clazz,stopAtClazzOrNode)}function isShadowRoot(node){return node&&!!node.host&&!!node.mode}function isInShadowDOM(domNode){return!!getShadowRoot(domNode)}function getShadowRoot(domNode){while(domNode.parentNode){if(domNode===document.body){return null}domNode=domNode.parentNode}return isShadowRoot(domNode)?domNode:null}function getActiveElement(){let result=document.activeElement;while(result===null||result===void 0?void 0:result.shadowRoot){result=result.shadowRoot.activeElement}return result}function createStyleSheet(container=document.getElementsByTagName("head")[0],beforeAppend){const style=document.createElement("style");style.type="text/css";style.media="screen";beforeAppend===null||beforeAppend===void 0?void 0:beforeAppend(style);container.appendChild(style);return style}function getSharedStyleSheet(){if(!_sharedStyleSheet){_sharedStyleSheet=createStyleSheet()}return _sharedStyleSheet}function getDynamicStyleSheetRules(style){var _a6,_b3;if((_a6=style===null||style===void 0?void 0:style.sheet)===null||_a6===void 0?void 0:_a6.rules){return style.sheet.rules}if((_b3=style===null||style===void 0?void 0:style.sheet)===null||_b3===void 0?void 0:_b3.cssRules){return style.sheet.cssRules}return[]}function createCSSRule(selector,cssText,style=getSharedStyleSheet()){if(!style||!cssText){return}style.sheet.insertRule(selector+"{"+cssText+"}",0)}function removeCSSRulesContainingSelector(ruleName,style=getSharedStyleSheet()){if(!style){return}const rules=getDynamicStyleSheetRules(style);const toDelete=[];for(let i=0;i<rules.length;i++){const rule=rules[i];if(rule.selectorText.indexOf(ruleName)!==-1){toDelete.push(i)}}for(let i=toDelete.length-1;i>=0;i--){style.sheet.deleteRule(toDelete[i])}}function isHTMLElement(o){if(typeof HTMLElement==="object"){return o instanceof HTMLElement}return o&&typeof o==="object"&&o.nodeType===1&&typeof o.nodeName==="string"}function isEventLike(obj){const candidate=obj;return!!(candidate&&typeof candidate.preventDefault==="function"&&typeof candidate.stopPropagation==="function")}function saveParentsScrollTop(node){const r=[];for(let i=0;node&&node.nodeType===node.ELEMENT_NODE;i++){r[i]=node.scrollTop;node=node.parentNode}return r}function restoreParentsScrollTop(node,state){for(let i=0;node&&node.nodeType===node.ELEMENT_NODE;i++){if(node.scrollTop!==state[i]){node.scrollTop=state[i]}node=node.parentNode}}function trackFocus(element){return new FocusTracker(element)}function append(parent,...children){parent.append(...children);if(children.length===1&&typeof children[0]!=="string"){return children[0]}}function prepend(parent,child){parent.insertBefore(child,parent.firstChild);return child}function reset(parent,...children){parent.innerText="";append(parent,...children)}function _$(namespace,description,attrs,...children){const match2=SELECTOR_REGEX.exec(description);if(!match2){throw new Error("Bad use of emmet")}const tagName=match2[1]||"div";let result;if(namespace!==Namespace.HTML){result=document.createElementNS(namespace,tagName)}else{result=document.createElement(tagName)}if(match2[3]){result.id=match2[3]}if(match2[4]){result.className=match2[4].replace(/\./g," ").trim()}if(attrs){Object.entries(attrs).forEach((([name,value])=>{if(typeof value==="undefined"){return}if(/^on\w+$/.test(name)){result[name]=value}else if(name==="selected"){if(value){result.setAttribute(name,"true")}}else{result.setAttribute(name,value)}}))}result.append(...children);return result}function $(description,attrs,...children){return _$(Namespace.HTML,description,attrs,...children)}function setVisibility(visible,...elements){if(visible){show(...elements)}else{hide(...elements)}}function show(...elements){for(const element of elements){element.style.display="";element.removeAttribute("aria-hidden")}}function hide(...elements){for(const element of elements){element.style.display="none";element.setAttribute("aria-hidden","true")}}function computeScreenAwareSize(cssPx){const screenPx=window.devicePixelRatio*cssPx;return Math.max(1,Math.floor(screenPx))/window.devicePixelRatio}function windowOpenNoOpener(url){window.open(url,"_blank","noopener")}function animate(fn){const step=()=>{fn();stepDisposable=scheduleAtNextAnimationFrame(step)};let stepDisposable=scheduleAtNextAnimationFrame(step);return toDisposable((()=>stepDisposable.dispose()))}function asCSSUrl(uri){if(!uri){return`url('')`}return`url('${FileAccess.uriToBrowserUri(uri).toString(true).replace(/'/g,"%27")}')`}function asCSSPropertyValue(value){return`'${value.replace(/'/g,"%27")}'`}function asCssValueWithDefault(cssPropertyValue,dflt){if(cssPropertyValue!==void 0){const variableMatch=cssPropertyValue.match(/^\s*var\((.+)\)$/);if(variableMatch){const varArguments=variableMatch[1].split(",",2);if(varArguments.length===2){dflt=asCssValueWithDefault(varArguments[1].trim(),dflt)}return`var(${varArguments[0]}, ${dflt})`}return cssPropertyValue}return dflt}function hookDomPurifyHrefAndSrcSanitizer(allowedProtocols,allowDataImages=false){const anchor=document.createElement("a");addHook("afterSanitizeAttributes",(node=>{for(const attr of["href","src"]){if(node.hasAttribute(attr)){const attrValue=node.getAttribute(attr);if(attr==="href"&&attrValue.startsWith("#")){continue}anchor.href=attrValue;if(!allowedProtocols.includes(anchor.protocol.replace(/:$/,""))){if(allowDataImages&&attr==="src"&&anchor.href.startsWith("data:")){continue}node.removeAttribute(attr)}}}}));return toDisposable((()=>{removeHook("afterSanitizeAttributes")}))}function h(tag,...args){let attributes;let children;if(Array.isArray(args[0])){attributes={};children=args[0]}else{attributes=args[0]||{};children=args[1]}const match2=H_REGEX.exec(tag);if(!match2||!match2.groups){throw new Error("Bad use of h")}const tagName=match2.groups["tag"]||"div";const el=document.createElement(tagName);if(match2.groups["id"]){el.id=match2.groups["id"]}const classNames=[];if(match2.groups["class"]){for(const className of match2.groups["class"].split(".")){if(className!==""){classNames.push(className)}}}if(attributes.className!==void 0){for(const className of attributes.className.split(".")){if(className!==""){classNames.push(className)}}}if(classNames.length>0){el.className=classNames.join(" ")}const result={};if(match2.groups["name"]){result[match2.groups["name"]]=el}if(children){for(const c of children){if(c instanceof HTMLElement){el.appendChild(c)}else if(typeof c==="string"){el.append(c)}else if("root"in c){Object.assign(result,c);el.appendChild(c.root)}}}for(const[key,value]of Object.entries(attributes)){if(key==="className"){continue}else if(key==="style"){for(const[cssKey,cssValue]of Object.entries(value)){el.style.setProperty(camelCaseToHyphenCase(cssKey),typeof cssValue==="number"?cssValue+"px":""+cssValue)}}else if(key==="tabIndex"){el.tabIndex=value}else{el.setAttribute(camelCaseToHyphenCase(key),value.toString())}}result["root"]=el;return result}function camelCaseToHyphenCase(str){return str.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}var DomListener,addStandardDisposableListener,addStandardDisposableGenericMouseDownListener,runAtThisOrScheduleAtNextAnimationFrame,scheduleAtNextAnimationFrame,AnimationFrameQueueItem,SizeUtils,Dimension,_sharedStyleSheet,EventType,EventHelper,FocusTracker,SELECTOR_REGEX,Namespace,basicMarkupHtmlTags,defaultDomPurifyConfig,ModifierKeyEmitter,DragAndDropObserver,H_REGEX;var init_dom=__esm({"node_modules/monaco-editor/esm/vs/base/browser/dom.js"(){init_browser();init_canIUse();init_keyboardEvent();init_mouseEvent();init_errors();init_event();init_dompurify();init_lifecycle();init_network();init_platform();DomListener=class{constructor(node,type,handler,options2){this._node=node;this._type=type;this._handler=handler;this._options=options2||false;this._node.addEventListener(this._type,this._handler,this._options)}dispose(){if(!this._handler){return}this._node.removeEventListener(this._type,this._handler,this._options);this._node=null;this._handler=null}};addStandardDisposableListener=function addStandardDisposableListener2(node,type,handler,useCapture){let wrapHandler=handler;if(type==="click"||type==="mousedown"){wrapHandler=_wrapAsStandardMouseEvent(handler)}else if(type==="keydown"||type==="keypress"||type==="keyup"){wrapHandler=_wrapAsStandardKeyboardEvent(handler)}return addDisposableListener(node,type,wrapHandler,useCapture)};addStandardDisposableGenericMouseDownListener=function addStandardDisposableListener3(node,handler,useCapture){const wrapHandler=_wrapAsStandardMouseEvent(handler);return addDisposableGenericMouseDownListener(node,wrapHandler,useCapture)};AnimationFrameQueueItem=class{constructor(runner,priority=0){this._runner=runner;this.priority=priority;this._canceled=false}dispose(){this._canceled=true}execute(){if(this._canceled){return}try{this._runner()}catch(e){onUnexpectedError(e)}}static sort(a,b){return b.priority-a.priority}};(function(){let NEXT_QUEUE=[];let CURRENT_QUEUE=null;let animFrameRequested=false;let inAnimationFrameRunner=false;const animationFrameRunner=()=>{animFrameRequested=false;CURRENT_QUEUE=NEXT_QUEUE;NEXT_QUEUE=[];inAnimationFrameRunner=true;while(CURRENT_QUEUE.length>0){CURRENT_QUEUE.sort(AnimationFrameQueueItem.sort);const top=CURRENT_QUEUE.shift();top.execute()}inAnimationFrameRunner=false};scheduleAtNextAnimationFrame=(runner,priority=0)=>{const item=new AnimationFrameQueueItem(runner,priority);NEXT_QUEUE.push(item);if(!animFrameRequested){animFrameRequested=true;requestAnimationFrame(animationFrameRunner)}return item};runAtThisOrScheduleAtNextAnimationFrame=(runner,priority)=>{if(inAnimationFrameRunner){const item=new AnimationFrameQueueItem(runner,priority);CURRENT_QUEUE.push(item);return item}else{return scheduleAtNextAnimationFrame(runner,priority)}}})();SizeUtils=class{static convertToPixels(element,value){return parseFloat(value)||0}static getDimension(element,cssPropertyName,jsPropertyName){const computedStyle=getComputedStyle2(element);const value=computedStyle?computedStyle.getPropertyValue(cssPropertyName):"0";return SizeUtils.convertToPixels(element,value)}static getBorderLeftWidth(element){return SizeUtils.getDimension(element,"border-left-width","borderLeftWidth")}static getBorderRightWidth(element){return SizeUtils.getDimension(element,"border-right-width","borderRightWidth")}static getBorderTopWidth(element){return SizeUtils.getDimension(element,"border-top-width","borderTopWidth")}static getBorderBottomWidth(element){return SizeUtils.getDimension(element,"border-bottom-width","borderBottomWidth")}static getPaddingLeft(element){return SizeUtils.getDimension(element,"padding-left","paddingLeft")}static getPaddingRight(element){return SizeUtils.getDimension(element,"padding-right","paddingRight")}static getPaddingTop(element){return SizeUtils.getDimension(element,"padding-top","paddingTop")}static getPaddingBottom(element){return SizeUtils.getDimension(element,"padding-bottom","paddingBottom")}static getMarginLeft(element){return SizeUtils.getDimension(element,"margin-left","marginLeft")}static getMarginTop(element){return SizeUtils.getDimension(element,"margin-top","marginTop")}static getMarginRight(element){return SizeUtils.getDimension(element,"margin-right","marginRight")}static getMarginBottom(element){return SizeUtils.getDimension(element,"margin-bottom","marginBottom")}};Dimension=class{constructor(width,height){this.width=width;this.height=height}with(width=this.width,height=this.height){if(width!==this.width||height!==this.height){return new Dimension(width,height)}else{return this}}static is(obj){return typeof obj==="object"&&typeof obj.height==="number"&&typeof obj.width==="number"}static lift(obj){if(obj instanceof Dimension){return obj}else{return new Dimension(obj.width,obj.height)}}static equals(a,b){if(a===b){return true}if(!a||!b){return false}return a.width===b.width&&a.height===b.height}};Dimension.None=new Dimension(0,0);_sharedStyleSheet=null;EventType={CLICK:"click",AUXCLICK:"auxclick",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",POINTER_LEAVE:"pointerleave",CONTEXT_MENU:"contextmenu",WHEEL:"wheel",KEY_DOWN:"keydown",KEY_PRESS:"keypress",KEY_UP:"keyup",LOAD:"load",BEFORE_UNLOAD:"beforeunload",UNLOAD:"unload",PAGE_SHOW:"pageshow",PAGE_HIDE:"pagehide",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_CHANGE:"fullscreenchange",WK_FULLSCREEN_CHANGE:"webkitfullscreenchange",SELECT:"select",CHANGE:"change",SUBMIT:"submit",RESET:"reset",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",STORAGE:"storage",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend",ANIMATION_START:isWebKit?"webkitAnimationStart":"animationstart",ANIMATION_END:isWebKit?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:isWebKit?"webkitAnimationIteration":"animationiteration"};EventHelper={stop:(e,cancelBubble)=>{e.preventDefault();if(cancelBubble){e.stopPropagation()}return e}};FocusTracker=class extends Disposable{static hasFocusWithin(element){const shadowRoot=getShadowRoot(element);const activeElement=shadowRoot?shadowRoot.activeElement:document.activeElement;return isAncestor(activeElement,element)}constructor(element){super();this._onDidFocus=this._register(new Emitter);this.onDidFocus=this._onDidFocus.event;this._onDidBlur=this._register(new Emitter);this.onDidBlur=this._onDidBlur.event;let hasFocus=FocusTracker.hasFocusWithin(element);let loosingFocus=false;const onFocus=()=>{loosingFocus=false;if(!hasFocus){hasFocus=true;this._onDidFocus.fire()}};const onBlur=()=>{if(hasFocus){loosingFocus=true;window.setTimeout((()=>{if(loosingFocus){loosingFocus=false;hasFocus=false;this._onDidBlur.fire()}}),0)}};this._refreshStateHandler=()=>{const currentNodeHasFocus=FocusTracker.hasFocusWithin(element);if(currentNodeHasFocus!==hasFocus){if(hasFocus){onBlur()}else{onFocus()}}};this._register(addDisposableListener(element,EventType.FOCUS,onFocus,true));this._register(addDisposableListener(element,EventType.BLUR,onBlur,true));this._register(addDisposableListener(element,EventType.FOCUS_IN,(()=>this._refreshStateHandler())));this._register(addDisposableListener(element,EventType.FOCUS_OUT,(()=>this._refreshStateHandler())))}};SELECTOR_REGEX=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;(function(Namespace2){Namespace2["HTML"]="http://www.w3.org/1999/xhtml";Namespace2["SVG"]="http://www.w3.org/2000/svg"})(Namespace||(Namespace={}));$.SVG=function(description,attrs,...children){return _$(Namespace.SVG,description,attrs,...children)};RemoteAuthorities.setPreferredWebSchema(/^https:/.test(window.location.href)?"https":"http");basicMarkupHtmlTags=Object.freeze(["a","abbr","b","bdo","blockquote","br","caption","cite","code","col","colgroup","dd","del","details","dfn","div","dl","dt","em","figcaption","figure","h1","h2","h3","h4","h5","h6","hr","i","img","ins","kbd","label","li","mark","ol","p","pre","q","rp","rt","ruby","samp","small","small","source","span","strike","strong","sub","summary","sup","table","tbody","td","tfoot","th","thead","time","tr","tt","u","ul","var","video","wbr"]);defaultDomPurifyConfig=Object.freeze({ALLOWED_TAGS:["a","button","blockquote","code","div","h1","h2","h3","h4","h5","h6","hr","input","label","li","p","pre","select","small","span","strong","textarea","ul","ol"],ALLOWED_ATTR:["href","data-href","data-command","target","title","name","src","alt","class","id","role","tabindex","style","data-code","width","height","align","x-dispatch","required","checked","placeholder","type","start"],RETURN_DOM:false,RETURN_DOM_FRAGMENT:false,RETURN_TRUSTED_TYPE:true});ModifierKeyEmitter=class extends Emitter{constructor(){super();this._subscriptions=new DisposableStore;this._keyStatus={altKey:false,shiftKey:false,ctrlKey:false,metaKey:false};this._subscriptions.add(addDisposableListener(window,"keydown",(e=>{if(e.defaultPrevented){return}const event=new StandardKeyboardEvent(e);if(event.keyCode===6&&e.repeat){return}if(e.altKey&&!this._keyStatus.altKey){this._keyStatus.lastKeyPressed="alt"}else if(e.ctrlKey&&!this._keyStatus.ctrlKey){this._keyStatus.lastKeyPressed="ctrl"}else if(e.metaKey&&!this._keyStatus.metaKey){this._keyStatus.lastKeyPressed="meta"}else if(e.shiftKey&&!this._keyStatus.shiftKey){this._keyStatus.lastKeyPressed="shift"}else if(event.keyCode!==6){this._keyStatus.lastKeyPressed=void 0}else{return}this._keyStatus.altKey=e.altKey;this._keyStatus.ctrlKey=e.ctrlKey;this._keyStatus.metaKey=e.metaKey;this._keyStatus.shiftKey=e.shiftKey;if(this._keyStatus.lastKeyPressed){this._keyStatus.event=e;this.fire(this._keyStatus)}}),true));this._subscriptions.add(addDisposableListener(window,"keyup",(e=>{if(e.defaultPrevented){return}if(!e.altKey&&this._keyStatus.altKey){this._keyStatus.lastKeyReleased="alt"}else if(!e.ctrlKey&&this._keyStatus.ctrlKey){this._keyStatus.lastKeyReleased="ctrl"}else if(!e.metaKey&&this._keyStatus.metaKey){this._keyStatus.lastKeyReleased="meta"}else if(!e.shiftKey&&this._keyStatus.shiftKey){this._keyStatus.lastKeyReleased="shift"}else{this._keyStatus.lastKeyReleased=void 0}if(this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased){this._keyStatus.lastKeyPressed=void 0}this._keyStatus.altKey=e.altKey;this._keyStatus.ctrlKey=e.ctrlKey;this._keyStatus.metaKey=e.metaKey;this._keyStatus.shiftKey=e.shiftKey;if(this._keyStatus.lastKeyReleased){this._keyStatus.event=e;this.fire(this._keyStatus)}}),true));this._subscriptions.add(addDisposableListener(document.body,"mousedown",(()=>{this._keyStatus.lastKeyPressed=void 0}),true));this._subscriptions.add(addDisposableListener(document.body,"mouseup",(()=>{this._keyStatus.lastKeyPressed=void 0}),true));this._subscriptions.add(addDisposableListener(document.body,"mousemove",(e=>{if(e.buttons){this._keyStatus.lastKeyPressed=void 0}}),true));this._subscriptions.add(addDisposableListener(window,"blur",(()=>{this.resetKeyStatus()})))}get keyStatus(){return this._keyStatus}resetKeyStatus(){this.doResetKeyStatus();this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:false,shiftKey:false,ctrlKey:false,metaKey:false}}static getInstance(){if(!ModifierKeyEmitter.instance){ModifierKeyEmitter.instance=new ModifierKeyEmitter}return ModifierKeyEmitter.instance}dispose(){super.dispose();this._subscriptions.dispose()}};DragAndDropObserver=class extends Disposable{constructor(element,callbacks){super();this.element=element;this.callbacks=callbacks;this.counter=0;this.dragStartTime=0;this.registerListeners()}registerListeners(){this._register(addDisposableListener(this.element,EventType.DRAG_ENTER,(e=>{this.counter++;this.dragStartTime=e.timeStamp;this.callbacks.onDragEnter(e)})));this._register(addDisposableListener(this.element,EventType.DRAG_OVER,(e=>{var _a6,_b3;e.preventDefault();(_b3=(_a6=this.callbacks).onDragOver)===null||_b3===void 0?void 0:_b3.call(_a6,e,e.timeStamp-this.dragStartTime)})));this._register(addDisposableListener(this.element,EventType.DRAG_LEAVE,(e=>{this.counter--;if(this.counter===0){this.dragStartTime=0;this.callbacks.onDragLeave(e)}})));this._register(addDisposableListener(this.element,EventType.DRAG_END,(e=>{this.counter=0;this.dragStartTime=0;this.callbacks.onDragEnd(e)})));this._register(addDisposableListener(this.element,EventType.DROP,(e=>{this.counter=0;this.dragStartTime=0;this.callbacks.onDrop(e)})))}};H_REGEX=/(?<tag>[\w\-]+)?(?:#(?<id>[\w\-]+))?(?<class>(?:\.(?:[\w\-]+))*)(?:@(?<name>(?:[\w\_])+))?/}});var init_2=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/aria/aria.css"(){}});function setARIAContainer(parent){ariaContainer=document.createElement("div");ariaContainer.className="monaco-aria-container";const createAlertContainer=()=>{const element=document.createElement("div");element.className="monaco-alert";element.setAttribute("role","alert");element.setAttribute("aria-atomic","true");ariaContainer.appendChild(element);return element};alertContainer=createAlertContainer();alertContainer2=createAlertContainer();const createStatusContainer=()=>{const element=document.createElement("div");element.className="monaco-status";element.setAttribute("aria-live","polite");element.setAttribute("aria-atomic","true");ariaContainer.appendChild(element);return element};statusContainer=createStatusContainer();statusContainer2=createStatusContainer();parent.appendChild(ariaContainer)}function alert(msg){if(!ariaContainer){return}if(alertContainer.textContent!==msg){clearNode(alertContainer2);insertMessage(alertContainer,msg)}else{clearNode(alertContainer);insertMessage(alertContainer2,msg)}}function status(msg){if(!ariaContainer){return}if(statusContainer.textContent!==msg){clearNode(statusContainer2);insertMessage(statusContainer,msg)}else{clearNode(statusContainer);insertMessage(statusContainer2,msg)}}function insertMessage(target,msg){clearNode(target);if(msg.length>MAX_MESSAGE_LENGTH){msg=msg.substr(0,MAX_MESSAGE_LENGTH)}target.textContent=msg;target.style.visibility="hidden";target.style.visibility="visible"}var MAX_MESSAGE_LENGTH,ariaContainer,alertContainer,alertContainer2,statusContainer,statusContainer2;var init_aria=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/aria/aria.js"(){init_dom();init_2();MAX_MESSAGE_LENGTH=2e4}});var IMarkerDecorationsService;var init_markerDecorations=__esm({"node_modules/monaco-editor/esm/vs/editor/common/services/markerDecorations.js"(){init_instantiation();IMarkerDecorationsService=createDecorator("markerDecorationsService")}});var ITextModelService;var init_resolverService=__esm({"node_modules/monaco-editor/esm/vs/editor/common/services/resolverService.js"(){init_instantiation();ITextModelService=createDecorator("textModelService")}});function toAction(props){var _a6,_b3;return{id:props.id,label:props.label,class:void 0,enabled:(_a6=props.enabled)!==null&&_a6!==void 0?_a6:true,checked:(_b3=props.checked)!==null&&_b3!==void 0?_b3:false,run:()=>__awaiter6(this,void 0,void 0,(function*(){return props.run()})),tooltip:props.label}}var __awaiter6,Action,ActionRunner,Separator,SubmenuAction,EmptySubmenuAction;var init_actions=__esm({"node_modules/monaco-editor/esm/vs/base/common/actions.js"(){init_event();init_lifecycle();init_nls();__awaiter6=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};Action=class extends Disposable{constructor(id,label="",cssClass="",enabled=true,actionCallback){super();this._onDidChange=this._register(new Emitter);this.onDidChange=this._onDidChange.event;this._enabled=true;this._id=id;this._label=label;this._cssClass=cssClass;this._enabled=enabled;this._actionCallback=actionCallback}get id(){return this._id}get label(){return this._label}set label(value){this._setLabel(value)}_setLabel(value){if(this._label!==value){this._label=value;this._onDidChange.fire({label:value})}}get tooltip(){return this._tooltip||""}set tooltip(value){this._setTooltip(value)}_setTooltip(value){if(this._tooltip!==value){this._tooltip=value;this._onDidChange.fire({tooltip:value})}}get class(){return this._cssClass}set class(value){this._setClass(value)}_setClass(value){if(this._cssClass!==value){this._cssClass=value;this._onDidChange.fire({class:value})}}get enabled(){return this._enabled}set enabled(value){this._setEnabled(value)}_setEnabled(value){if(this._enabled!==value){this._enabled=value;this._onDidChange.fire({enabled:value})}}get checked(){return this._checked}set checked(value){this._setChecked(value)}_setChecked(value){if(this._checked!==value){this._checked=value;this._onDidChange.fire({checked:value})}}run(event,data){return __awaiter6(this,void 0,void 0,(function*(){if(this._actionCallback){yield this._actionCallback(event)}}))}};ActionRunner=class extends Disposable{constructor(){super(...arguments);this._onWillRun=this._register(new Emitter);this.onWillRun=this._onWillRun.event;this._onDidRun=this._register(new Emitter);this.onDidRun=this._onDidRun.event}run(action,context){return __awaiter6(this,void 0,void 0,(function*(){if(!action.enabled){return}this._onWillRun.fire({action:action});let error=void 0;try{yield this.runAction(action,context)}catch(e){error=e}this._onDidRun.fire({action:action,error:error})}))}runAction(action,context){return __awaiter6(this,void 0,void 0,(function*(){yield action.run(context)}))}};Separator=class{constructor(){this.id=Separator.ID;this.label="";this.tooltip="";this.class="separator";this.enabled=false;this.checked=false}static join(...actionLists){let out=[];for(const list of actionLists){if(!list.length){}else if(out.length){out=[...out,new Separator,...list]}else{out=list}}return out}run(){return __awaiter6(this,void 0,void 0,(function*(){}))}};Separator.ID="vs.actions.separator";SubmenuAction=class{get actions(){return this._actions}constructor(id,label,actions,cssClass){this.tooltip="";this.enabled=true;this.checked=void 0;this.id=id;this.label=label;this.class=cssClass;this._actions=actions}run(){return __awaiter6(this,void 0,void 0,(function*(){}))}};EmptySubmenuAction=class extends Action{constructor(){super(EmptySubmenuAction.ID,localize("submenu.empty","(empty)"),void 0,false)}};EmptySubmenuAction.ID="vs.actions.empty"}});var ThemeColor,ThemeIcon;var init_themables=__esm({"node_modules/monaco-editor/esm/vs/base/common/themables.js"(){init_codicons();(function(ThemeColor2){function isThemeColor(obj){return obj&&typeof obj==="object"&&typeof obj.id==="string"}ThemeColor2.isThemeColor=isThemeColor})(ThemeColor||(ThemeColor={}));(function(ThemeIcon2){ThemeIcon2.iconNameSegment="[A-Za-z0-9]+";ThemeIcon2.iconNameExpression="[A-Za-z0-9-]+";ThemeIcon2.iconModifierExpression="~[A-Za-z]+";ThemeIcon2.iconNameCharacter="[A-Za-z0-9~-]";const ThemeIconIdRegex=new RegExp(`^(${ThemeIcon2.iconNameExpression})(${ThemeIcon2.iconModifierExpression})?$`);function asClassNameArray(icon){const match2=ThemeIconIdRegex.exec(icon.id);if(!match2){return asClassNameArray(Codicon.error)}const[,id,modifier]=match2;const classNames=["codicon","codicon-"+id];if(modifier){classNames.push("codicon-modifier-"+modifier.substring(1))}return classNames}ThemeIcon2.asClassNameArray=asClassNameArray;function asClassName(icon){return asClassNameArray(icon).join(" ")}ThemeIcon2.asClassName=asClassName;function asCSSSelector(icon){return"."+asClassNameArray(icon).join(".")}ThemeIcon2.asCSSSelector=asCSSSelector;function isThemeIcon(obj){return obj&&typeof obj==="object"&&typeof obj.id==="string"&&(typeof obj.color==="undefined"||ThemeColor.isThemeColor(obj.color))}ThemeIcon2.isThemeIcon=isThemeIcon;const _regexFromString=new RegExp(`^\\$\\((${ThemeIcon2.iconNameExpression}(?:${ThemeIcon2.iconModifierExpression})?)\\)$`);function fromString(str){const match2=_regexFromString.exec(str);if(!match2){return void 0}const[,name]=match2;return{id:name}}ThemeIcon2.fromString=fromString;function fromId(id){return{id:id}}ThemeIcon2.fromId=fromId;function modify(icon,modifier){let id=icon.id;const tildeIndex=id.lastIndexOf("~");if(tildeIndex!==-1){id=id.substring(0,tildeIndex)}if(modifier){id=`${id}~${modifier}`}return{id:id}}ThemeIcon2.modify=modify;function getModifier(icon){const tildeIndex=icon.id.lastIndexOf("~");if(tildeIndex!==-1){return icon.id.substring(tildeIndex+1)}return void 0}ThemeIcon2.getModifier=getModifier;function isEqual2(ti1,ti2){var _a6,_b3;return ti1.id===ti2.id&&((_a6=ti1.color)===null||_a6===void 0?void 0:_a6.id)===((_b3=ti2.color)===null||_b3===void 0?void 0:_b3.id)}ThemeIcon2.isEqual=isEqual2})(ThemeIcon||(ThemeIcon={}))}});var ICommandService,CommandsRegistry;var init_commands=__esm({"node_modules/monaco-editor/esm/vs/platform/commands/common/commands.js"(){init_event();init_iterator();init_lifecycle();init_linkedList();init_types();init_instantiation();ICommandService=createDecorator("commandService");CommandsRegistry=new class{constructor(){this._commands=new Map;this._onDidRegisterCommand=new Emitter;this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(idOrCommand,handler){if(!idOrCommand){throw new Error(`invalid command`)}if(typeof idOrCommand==="string"){if(!handler){throw new Error(`invalid command`)}return this.registerCommand({id:idOrCommand,handler:handler})}if(idOrCommand.description){const constraints=[];for(const arg of idOrCommand.description.args){constraints.push(arg.constraint)}const actualHandler=idOrCommand.handler;idOrCommand.handler=function(accessor,...args){validateConstraints(args,constraints);return actualHandler(accessor,...args)}}const{id:id}=idOrCommand;let commands=this._commands.get(id);if(!commands){commands=new LinkedList;this._commands.set(id,commands)}const removeFn=commands.unshift(idOrCommand);const ret=toDisposable((()=>{removeFn();const command=this._commands.get(id);if(command===null||command===void 0?void 0:command.isEmpty()){this._commands.delete(id)}}));this._onDidRegisterCommand.fire(id);return ret}registerCommandAlias(oldId,newId){return CommandsRegistry.registerCommand(oldId,((accessor,...args)=>accessor.get(ICommandService).executeCommand(newId,...args)))}getCommand(id){const list=this._commands.get(id);if(!list||list.isEmpty()){return void 0}return Iterable.first(list)}getCommands(){const result=new Map;for(const key of this._commands.keys()){const command=this.getCommand(key);if(command){result.set(key,command)}}return result}};CommandsRegistry.registerCommand("noop",(()=>{}))}});function sorter(a,b){if(a.weight1!==b.weight1){return a.weight1-b.weight1}if(a.command&&b.command){if(a.command<b.command){return-1}if(a.command>b.command){return 1}}return a.weight2-b.weight2}var KeybindingsRegistryImpl,KeybindingsRegistry,Extensions4;var init_keybindingsRegistry=__esm({"node_modules/monaco-editor/esm/vs/platform/keybinding/common/keybindingsRegistry.js"(){init_keybindings();init_platform();init_commands();init_platform2();init_lifecycle();init_linkedList();KeybindingsRegistryImpl=class{constructor(){this._coreKeybindings=new LinkedList;this._extensionKeybindings=[];this._cachedMergedKeybindings=null}static bindToCurrentPlatform(kb){if(OS===1){if(kb&&kb.win){return kb.win}}else if(OS===2){if(kb&&kb.mac){return kb.mac}}else{if(kb&&kb.linux){return kb.linux}}return kb}registerKeybindingRule(rule){const actualKb=KeybindingsRegistryImpl.bindToCurrentPlatform(rule);const result=new DisposableStore;if(actualKb&&actualKb.primary){const kk=decodeKeybinding(actualKb.primary,OS);if(kk){result.add(this._registerDefaultKeybinding(kk,rule.id,rule.args,rule.weight,0,rule.when))}}if(actualKb&&Array.isArray(actualKb.secondary)){for(let i=0,len=actualKb.secondary.length;i<len;i++){const k=actualKb.secondary[i];const kk=decodeKeybinding(k,OS);if(kk){result.add(this._registerDefaultKeybinding(kk,rule.id,rule.args,rule.weight,-i-1,rule.when))}}}return result}registerCommandAndKeybindingRule(desc){return combinedDisposable(this.registerKeybindingRule(desc),CommandsRegistry.registerCommand(desc))}_registerDefaultKeybinding(keybinding,commandId,commandArgs,weight1,weight22,when){const remove=this._coreKeybindings.push({keybinding:keybinding,command:commandId,commandArgs:commandArgs,when:when,weight1:weight1,weight2:weight22,extensionId:null,isBuiltinExtension:false});this._cachedMergedKeybindings=null;return toDisposable((()=>{remove();this._cachedMergedKeybindings=null}))}getDefaultKeybindings(){if(!this._cachedMergedKeybindings){this._cachedMergedKeybindings=Array.from(this._coreKeybindings).concat(this._extensionKeybindings);this._cachedMergedKeybindings.sort(sorter)}return this._cachedMergedKeybindings.slice(0)}};KeybindingsRegistry=new KeybindingsRegistryImpl;Extensions4={EditorModes:"platform.keybindingsRegistry"};Registry.add(Extensions4.EditorModes,KeybindingsRegistry)}});function isIMenuItem(item){return item.command!==void 0}function isISubmenuItem(item){return item.submenu!==void 0}function registerAction2(ctor){const disposables=new DisposableStore;const action=new ctor;const _a6=action.desc,{f1:f1,menu:menu,keybinding:keybinding,description:description}=_a6,command=__rest(_a6,["f1","menu","keybinding","description"]);disposables.add(CommandsRegistry.registerCommand({id:command.id,handler:(accessor,...args)=>action.run(accessor,...args),description:description}));if(Array.isArray(menu)){for(const item of menu){disposables.add(MenuRegistry.appendMenuItem(item.id,Object.assign({command:Object.assign(Object.assign({},command),{precondition:item.precondition===null?void 0:command.precondition})},item)))}}else if(menu){disposables.add(MenuRegistry.appendMenuItem(menu.id,Object.assign({command:Object.assign(Object.assign({},command),{precondition:menu.precondition===null?void 0:command.precondition})},menu)))}if(f1){disposables.add(MenuRegistry.appendMenuItem(MenuId.CommandPalette,{command:command,when:command.precondition}));disposables.add(MenuRegistry.addCommand(command))}if(Array.isArray(keybinding)){for(const item of keybinding){disposables.add(KeybindingsRegistry.registerKeybindingRule(Object.assign(Object.assign({},item),{id:command.id,when:command.precondition?ContextKeyExpr.and(command.precondition,item.when):item.when})))}}else if(keybinding){disposables.add(KeybindingsRegistry.registerKeybindingRule(Object.assign(Object.assign({},keybinding),{id:command.id,when:command.precondition?ContextKeyExpr.and(command.precondition,keybinding.when):keybinding.when})))}return disposables}var __decorate5,__param5,__rest,MenuItemAction_1,MenuId,IMenuService,MenuRegistryChangeEvent,MenuRegistry,SubmenuItemAction,MenuItemAction,Action2;var init_actions2=__esm({"node_modules/monaco-editor/esm/vs/platform/actions/common/actions.js"(){init_actions();init_themables();init_event();init_lifecycle();init_linkedList();init_commands();init_contextkey();init_instantiation();init_keybindingsRegistry();__decorate5=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param5=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};__rest=function(s,e){var t2={};for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0)t2[p]=s[p];if(s!=null&&typeof Object.getOwnPropertySymbols==="function")for(var i=0,p=Object.getOwnPropertySymbols(s);i<p.length;i++){if(e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i]))t2[p[i]]=s[p[i]]}return t2};MenuId=class{constructor(identifier2){if(MenuId._instances.has(identifier2)){throw new TypeError(`MenuId with identifier '${identifier2}' already exists. Use MenuId.for(ident) or a unique identifier`)}MenuId._instances.set(identifier2,this);this.id=identifier2}};MenuId._instances=new Map;MenuId.CommandPalette=new MenuId("CommandPalette");MenuId.DebugBreakpointsContext=new MenuId("DebugBreakpointsContext");MenuId.DebugCallStackContext=new MenuId("DebugCallStackContext");MenuId.DebugConsoleContext=new MenuId("DebugConsoleContext");MenuId.DebugVariablesContext=new MenuId("DebugVariablesContext");MenuId.DebugWatchContext=new MenuId("DebugWatchContext");MenuId.DebugToolBar=new MenuId("DebugToolBar");MenuId.DebugToolBarStop=new MenuId("DebugToolBarStop");MenuId.EditorContext=new MenuId("EditorContext");MenuId.SimpleEditorContext=new MenuId("SimpleEditorContext");MenuId.EditorContent=new MenuId("EditorContent");MenuId.EditorLineNumberContext=new MenuId("EditorLineNumberContext");MenuId.EditorContextCopy=new MenuId("EditorContextCopy");MenuId.EditorContextPeek=new MenuId("EditorContextPeek");MenuId.EditorContextShare=new MenuId("EditorContextShare");MenuId.EditorTitle=new MenuId("EditorTitle");MenuId.EditorTitleRun=new MenuId("EditorTitleRun");MenuId.EditorTitleContext=new MenuId("EditorTitleContext");MenuId.EditorTitleContextShare=new MenuId("EditorTitleContextShare");MenuId.EmptyEditorGroup=new MenuId("EmptyEditorGroup");MenuId.EmptyEditorGroupContext=new MenuId("EmptyEditorGroupContext");MenuId.EditorTabsBarContext=new MenuId("EditorTabsBarContext");MenuId.ExplorerContext=new MenuId("ExplorerContext");MenuId.ExplorerContextShare=new MenuId("ExplorerContextShare");MenuId.ExtensionContext=new MenuId("ExtensionContext");MenuId.GlobalActivity=new MenuId("GlobalActivity");MenuId.CommandCenter=new MenuId("CommandCenter");MenuId.LayoutControlMenuSubmenu=new MenuId("LayoutControlMenuSubmenu");MenuId.LayoutControlMenu=new MenuId("LayoutControlMenu");MenuId.MenubarMainMenu=new MenuId("MenubarMainMenu");MenuId.MenubarAppearanceMenu=new MenuId("MenubarAppearanceMenu");MenuId.MenubarDebugMenu=new MenuId("MenubarDebugMenu");MenuId.MenubarEditMenu=new MenuId("MenubarEditMenu");MenuId.MenubarCopy=new MenuId("MenubarCopy");MenuId.MenubarFileMenu=new MenuId("MenubarFileMenu");MenuId.MenubarGoMenu=new MenuId("MenubarGoMenu");MenuId.MenubarHelpMenu=new MenuId("MenubarHelpMenu");MenuId.MenubarLayoutMenu=new MenuId("MenubarLayoutMenu");MenuId.MenubarNewBreakpointMenu=new MenuId("MenubarNewBreakpointMenu");MenuId.PanelAlignmentMenu=new MenuId("PanelAlignmentMenu");MenuId.PanelPositionMenu=new MenuId("PanelPositionMenu");MenuId.MenubarPreferencesMenu=new MenuId("MenubarPreferencesMenu");MenuId.MenubarRecentMenu=new MenuId("MenubarRecentMenu");MenuId.MenubarSelectionMenu=new MenuId("MenubarSelectionMenu");MenuId.MenubarShare=new MenuId("MenubarShare");MenuId.MenubarSwitchEditorMenu=new MenuId("MenubarSwitchEditorMenu");MenuId.MenubarSwitchGroupMenu=new MenuId("MenubarSwitchGroupMenu");MenuId.MenubarTerminalMenu=new MenuId("MenubarTerminalMenu");MenuId.MenubarViewMenu=new MenuId("MenubarViewMenu");MenuId.MenubarHomeMenu=new MenuId("MenubarHomeMenu");MenuId.OpenEditorsContext=new MenuId("OpenEditorsContext");MenuId.OpenEditorsContextShare=new MenuId("OpenEditorsContextShare");MenuId.ProblemsPanelContext=new MenuId("ProblemsPanelContext");MenuId.SCMChangeContext=new MenuId("SCMChangeContext");MenuId.SCMResourceContext=new MenuId("SCMResourceContext");MenuId.SCMResourceContextShare=new MenuId("SCMResourceContextShare");MenuId.SCMResourceFolderContext=new MenuId("SCMResourceFolderContext");MenuId.SCMResourceGroupContext=new MenuId("SCMResourceGroupContext");MenuId.SCMSourceControl=new MenuId("SCMSourceControl");MenuId.SCMTitle=new MenuId("SCMTitle");MenuId.SearchContext=new MenuId("SearchContext");MenuId.SearchActionMenu=new MenuId("SearchActionContext");MenuId.StatusBarWindowIndicatorMenu=new MenuId("StatusBarWindowIndicatorMenu");MenuId.StatusBarRemoteIndicatorMenu=new MenuId("StatusBarRemoteIndicatorMenu");MenuId.StickyScrollContext=new MenuId("StickyScrollContext");MenuId.TestItem=new MenuId("TestItem");MenuId.TestItemGutter=new MenuId("TestItemGutter");MenuId.TestMessageContext=new MenuId("TestMessageContext");MenuId.TestMessageContent=new MenuId("TestMessageContent");MenuId.TestPeekElement=new MenuId("TestPeekElement");MenuId.TestPeekTitle=new MenuId("TestPeekTitle");MenuId.TouchBarContext=new MenuId("TouchBarContext");MenuId.TitleBarContext=new MenuId("TitleBarContext");MenuId.TitleBarTitleContext=new MenuId("TitleBarTitleContext");MenuId.TunnelContext=new MenuId("TunnelContext");MenuId.TunnelPrivacy=new MenuId("TunnelPrivacy");MenuId.TunnelProtocol=new MenuId("TunnelProtocol");MenuId.TunnelPortInline=new MenuId("TunnelInline");MenuId.TunnelTitle=new MenuId("TunnelTitle");MenuId.TunnelLocalAddressInline=new MenuId("TunnelLocalAddressInline");MenuId.TunnelOriginInline=new MenuId("TunnelOriginInline");MenuId.ViewItemContext=new MenuId("ViewItemContext");MenuId.ViewContainerTitle=new MenuId("ViewContainerTitle");MenuId.ViewContainerTitleContext=new MenuId("ViewContainerTitleContext");MenuId.ViewTitle=new MenuId("ViewTitle");MenuId.ViewTitleContext=new MenuId("ViewTitleContext");MenuId.CommentEditorActions=new MenuId("CommentEditorActions");MenuId.CommentThreadTitle=new MenuId("CommentThreadTitle");MenuId.CommentThreadActions=new MenuId("CommentThreadActions");MenuId.CommentThreadAdditionalActions=new MenuId("CommentThreadAdditionalActions");MenuId.CommentThreadTitleContext=new MenuId("CommentThreadTitleContext");MenuId.CommentThreadCommentContext=new MenuId("CommentThreadCommentContext");MenuId.CommentTitle=new MenuId("CommentTitle");MenuId.CommentActions=new MenuId("CommentActions");MenuId.InteractiveToolbar=new MenuId("InteractiveToolbar");MenuId.InteractiveCellTitle=new MenuId("InteractiveCellTitle");MenuId.InteractiveCellDelete=new MenuId("InteractiveCellDelete");MenuId.InteractiveCellExecute=new MenuId("InteractiveCellExecute");MenuId.InteractiveInputExecute=new MenuId("InteractiveInputExecute");MenuId.NotebookToolbar=new MenuId("NotebookToolbar");MenuId.NotebookStickyScrollContext=new MenuId("NotebookStickyScrollContext");MenuId.NotebookCellTitle=new MenuId("NotebookCellTitle");MenuId.NotebookCellDelete=new MenuId("NotebookCellDelete");MenuId.NotebookCellInsert=new MenuId("NotebookCellInsert");MenuId.NotebookCellBetween=new MenuId("NotebookCellBetween");MenuId.NotebookCellListTop=new MenuId("NotebookCellTop");MenuId.NotebookCellExecute=new MenuId("NotebookCellExecute");MenuId.NotebookCellExecutePrimary=new MenuId("NotebookCellExecutePrimary");MenuId.NotebookDiffCellInputTitle=new MenuId("NotebookDiffCellInputTitle");MenuId.NotebookDiffCellMetadataTitle=new MenuId("NotebookDiffCellMetadataTitle");MenuId.NotebookDiffCellOutputsTitle=new MenuId("NotebookDiffCellOutputsTitle");MenuId.NotebookOutputToolbar=new MenuId("NotebookOutputToolbar");MenuId.NotebookEditorLayoutConfigure=new MenuId("NotebookEditorLayoutConfigure");MenuId.NotebookKernelSource=new MenuId("NotebookKernelSource");MenuId.BulkEditTitle=new MenuId("BulkEditTitle");MenuId.BulkEditContext=new MenuId("BulkEditContext");MenuId.TimelineItemContext=new MenuId("TimelineItemContext");MenuId.TimelineTitle=new MenuId("TimelineTitle");MenuId.TimelineTitleContext=new MenuId("TimelineTitleContext");MenuId.TimelineFilterSubMenu=new MenuId("TimelineFilterSubMenu");MenuId.AccountsContext=new MenuId("AccountsContext");MenuId.PanelTitle=new MenuId("PanelTitle");MenuId.AuxiliaryBarTitle=new MenuId("AuxiliaryBarTitle");MenuId.TerminalInstanceContext=new MenuId("TerminalInstanceContext");MenuId.TerminalEditorInstanceContext=new MenuId("TerminalEditorInstanceContext");MenuId.TerminalNewDropdownContext=new MenuId("TerminalNewDropdownContext");MenuId.TerminalTabContext=new MenuId("TerminalTabContext");MenuId.TerminalTabEmptyAreaContext=new MenuId("TerminalTabEmptyAreaContext");MenuId.WebviewContext=new MenuId("WebviewContext");MenuId.InlineCompletionsActions=new MenuId("InlineCompletionsActions");MenuId.NewFile=new MenuId("NewFile");MenuId.MergeInput1Toolbar=new MenuId("MergeToolbar1Toolbar");MenuId.MergeInput2Toolbar=new MenuId("MergeToolbar2Toolbar");MenuId.MergeBaseToolbar=new MenuId("MergeBaseToolbar");MenuId.MergeInputResultToolbar=new MenuId("MergeToolbarResultToolbar");MenuId.InlineSuggestionToolbar=new MenuId("InlineSuggestionToolbar");MenuId.ChatContext=new MenuId("ChatContext");MenuId.ChatCodeBlock=new MenuId("ChatCodeblock");MenuId.ChatMessageTitle=new MenuId("ChatMessageTitle");MenuId.ChatExecute=new MenuId("ChatExecute");MenuId.ChatInputSide=new MenuId("ChatInputSide");MenuId.AccessibleView=new MenuId("AccessibleView");IMenuService=createDecorator("menuService");MenuRegistryChangeEvent=class{static for(id){let value=this._all.get(id);if(!value){value=new MenuRegistryChangeEvent(id);this._all.set(id,value)}return value}static merge(events){const ids=new Set;for(const item of events){if(item instanceof MenuRegistryChangeEvent){ids.add(item.id)}}return ids}constructor(id){this.id=id;this.has=candidate=>candidate===id}};MenuRegistryChangeEvent._all=new Map;MenuRegistry=new class{constructor(){this._commands=new Map;this._menuItems=new Map;this._onDidChangeMenu=new MicrotaskEmitter({merge:MenuRegistryChangeEvent.merge});this.onDidChangeMenu=this._onDidChangeMenu.event}addCommand(command){this._commands.set(command.id,command);this._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(MenuId.CommandPalette));return toDisposable((()=>{if(this._commands.delete(command.id)){this._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(MenuId.CommandPalette))}}))}getCommand(id){return this._commands.get(id)}getCommands(){const map=new Map;this._commands.forEach(((value,key)=>map.set(key,value)));return map}appendMenuItem(id,item){let list=this._menuItems.get(id);if(!list){list=new LinkedList;this._menuItems.set(id,list)}const rm=list.push(item);this._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(id));return toDisposable((()=>{rm();this._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(id))}))}appendMenuItems(items){const result=new DisposableStore;for(const{id:id,item:item}of items){result.add(this.appendMenuItem(id,item))}return result}getMenuItems(id){let result;if(this._menuItems.has(id)){result=[...this._menuItems.get(id)]}else{result=[]}if(id===MenuId.CommandPalette){this._appendImplicitItems(result)}return result}_appendImplicitItems(result){const set=new Set;for(const item of result){if(isIMenuItem(item)){set.add(item.command.id);if(item.alt){set.add(item.alt.id)}}}this._commands.forEach(((command,id)=>{if(!set.has(id)){result.push({command:command})}}))}};SubmenuItemAction=class extends SubmenuAction{constructor(item,hideActions,actions){super(`submenuitem.${item.submenu.id}`,typeof item.title==="string"?item.title:item.title.value,actions,"submenu");this.item=item;this.hideActions=hideActions}};MenuItemAction=MenuItemAction_1=class MenuItemAction2{static label(action,options2){return(options2===null||options2===void 0?void 0:options2.renderShortTitle)&&action.shortTitle?typeof action.shortTitle==="string"?action.shortTitle:action.shortTitle.value:typeof action.title==="string"?action.title:action.title.value}constructor(item,alt,options2,hideActions,contextKeyService,_commandService){var _a6,_b3;this.hideActions=hideActions;this._commandService=_commandService;this.id=item.id;this.label=MenuItemAction_1.label(item,options2);this.tooltip=(_b3=typeof item.tooltip==="string"?item.tooltip:(_a6=item.tooltip)===null||_a6===void 0?void 0:_a6.value)!==null&&_b3!==void 0?_b3:"";this.enabled=!item.precondition||contextKeyService.contextMatchesRules(item.precondition);this.checked=void 0;let icon;if(item.toggled){const toggled=item.toggled.condition?item.toggled:{condition:item.toggled};this.checked=contextKeyService.contextMatchesRules(toggled.condition);if(this.checked&&toggled.tooltip){this.tooltip=typeof toggled.tooltip==="string"?toggled.tooltip:toggled.tooltip.value}if(this.checked&&ThemeIcon.isThemeIcon(toggled.icon)){icon=toggled.icon}if(this.checked&&toggled.title){this.label=typeof toggled.title==="string"?toggled.title:toggled.title.value}}if(!icon){icon=ThemeIcon.isThemeIcon(item.icon)?item.icon:void 0}this.item=item;this.alt=alt?new MenuItemAction_1(alt,void 0,options2,hideActions,contextKeyService,_commandService):void 0;this._options=options2;this.class=icon&&ThemeIcon.asClassName(icon)}run(...args){var _a6,_b3;let runArgs=[];if((_a6=this._options)===null||_a6===void 0?void 0:_a6.arg){runArgs=[...runArgs,this._options.arg]}if((_b3=this._options)===null||_b3===void 0?void 0:_b3.shouldForwardArgs){runArgs=[...runArgs,...args]}return this._commandService.executeCommand(this.id,...runArgs)}};MenuItemAction=MenuItemAction_1=__decorate5([__param5(4,IContextKeyService),__param5(5,ICommandService)],MenuItemAction);Action2=class{constructor(desc){this.desc=desc}}}});var ITelemetryService;var init_telemetry=__esm({"node_modules/monaco-editor/esm/vs/platform/telemetry/common/telemetry.js"(){init_instantiation();ITelemetryService=createDecorator("telemetryService")}});function registerModelAndPositionCommand(id,handler){CommandsRegistry.registerCommand(id,(function(accessor,...args){const instaService=accessor.get(IInstantiationService);const[resource,position]=args;assertType(URI.isUri(resource));assertType(Position.isIPosition(position));const model=accessor.get(IModelService).getModel(resource);if(model){const editorPosition=Position.lift(position);return instaService.invokeFunction(handler,model,editorPosition,...args.slice(2))}return accessor.get(ITextModelService).createModelReference(resource).then((reference=>new Promise(((resolve2,reject)=>{try{const result=instaService.invokeFunction(handler,reference.object.textEditorModel,Position.lift(position),args.slice(2));resolve2(result)}catch(err){reject(err)}})).finally((()=>{reference.dispose()}))))}))}function registerEditorCommand(editorCommand){EditorContributionRegistry.INSTANCE.registerEditorCommand(editorCommand);return editorCommand}function registerEditorAction(ctor){const action=new ctor;EditorContributionRegistry.INSTANCE.registerEditorAction(action);return action}function registerMultiEditorAction(action){EditorContributionRegistry.INSTANCE.registerEditorAction(action);return action}function registerInstantiatedEditorAction(editorAction){EditorContributionRegistry.INSTANCE.registerEditorAction(editorAction)}function registerEditorContribution(id,ctor,instantiation){EditorContributionRegistry.INSTANCE.registerEditorContribution(id,ctor,instantiation)}function registerCommand(command){command.register();return command}var Command2,MultiCommand,ProxyCommand,EditorCommand,EditorAction,MultiEditorAction,EditorAction2,EditorExtensionsRegistry,Extensions5,EditorContributionRegistry,UndoCommand,RedoCommand,SelectAllCommand;var init_editorExtensions=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/editorExtensions.js"(){init_nls();init_uri();init_codeEditorService();init_position();init_model2();init_resolverService();init_actions2();init_commands();init_contextkey();init_instantiation();init_keybindingsRegistry();init_platform2();init_telemetry();init_types();init_log();Command2=class{constructor(opts){this.id=opts.id;this.precondition=opts.precondition;this._kbOpts=opts.kbOpts;this._menuOpts=opts.menuOpts;this._description=opts.description}register(){if(Array.isArray(this._menuOpts)){this._menuOpts.forEach(this._registerMenuItem,this)}else if(this._menuOpts){this._registerMenuItem(this._menuOpts)}if(this._kbOpts){const kbOptsArr=Array.isArray(this._kbOpts)?this._kbOpts:[this._kbOpts];for(const kbOpts of kbOptsArr){let kbWhen=kbOpts.kbExpr;if(this.precondition){if(kbWhen){kbWhen=ContextKeyExpr.and(kbWhen,this.precondition)}else{kbWhen=this.precondition}}const desc={id:this.id,weight:kbOpts.weight,args:kbOpts.args,when:kbWhen,primary:kbOpts.primary,secondary:kbOpts.secondary,win:kbOpts.win,linux:kbOpts.linux,mac:kbOpts.mac};KeybindingsRegistry.registerKeybindingRule(desc)}}CommandsRegistry.registerCommand({id:this.id,handler:(accessor,args)=>this.runCommand(accessor,args),description:this._description})}_registerMenuItem(item){MenuRegistry.appendMenuItem(item.menuId,{group:item.group,command:{id:this.id,title:item.title,icon:item.icon,precondition:this.precondition},when:item.when,order:item.order})}};MultiCommand=class extends Command2{constructor(){super(...arguments);this._implementations=[]}addImplementation(priority,name,implementation,when){this._implementations.push({priority:priority,name:name,implementation:implementation,when:when});this._implementations.sort(((a,b)=>b.priority-a.priority));return{dispose:()=>{for(let i=0;i<this._implementations.length;i++){if(this._implementations[i].implementation===implementation){this._implementations.splice(i,1);return}}}}}runCommand(accessor,args){const logService=accessor.get(ILogService);const contextKeyService=accessor.get(IContextKeyService);logService.trace(`Executing Command '${this.id}' which has ${this._implementations.length} bound.`);for(const impl of this._implementations){if(impl.when){const context=contextKeyService.getContext(document.activeElement);const value=impl.when.evaluate(context);if(!value){continue}}const result=impl.implementation(accessor,args);if(result){logService.trace(`Command '${this.id}' was handled by '${impl.name}'.`);if(typeof result==="boolean"){return}return result}}logService.trace(`The Command '${this.id}' was not handled by any implementation.`)}};ProxyCommand=class extends Command2{constructor(command,opts){super(opts);this.command=command}runCommand(accessor,args){return this.command.runCommand(accessor,args)}};EditorCommand=class extends Command2{static bindToContribution(controllerGetter){return class EditorControllerCommandImpl extends EditorCommand{constructor(opts){super(opts);this._callback=opts.handler}runEditorCommand(accessor,editor2,args){const controller=controllerGetter(editor2);if(controller){this._callback(controller,args)}}}}static runEditorCommand(accessor,args,precondition,runner){const codeEditorService=accessor.get(ICodeEditorService);const editor2=codeEditorService.getFocusedCodeEditor()||codeEditorService.getActiveCodeEditor();if(!editor2){return}return editor2.invokeWithinContext((editorAccessor=>{const kbService=editorAccessor.get(IContextKeyService);if(!kbService.contextMatchesRules(precondition!==null&&precondition!==void 0?precondition:void 0)){return}return runner(editorAccessor,editor2,args)}))}runCommand(accessor,args){return EditorCommand.runEditorCommand(accessor,args,this.precondition,((accessor2,editor2,args2)=>this.runEditorCommand(accessor2,editor2,args2)))}};EditorAction=class extends EditorCommand{static convertOptions(opts){let menuOpts;if(Array.isArray(opts.menuOpts)){menuOpts=opts.menuOpts}else if(opts.menuOpts){menuOpts=[opts.menuOpts]}else{menuOpts=[]}function withDefaults(item){if(!item.menuId){item.menuId=MenuId.EditorContext}if(!item.title){item.title=opts.label}item.when=ContextKeyExpr.and(opts.precondition,item.when);return item}if(Array.isArray(opts.contextMenuOpts)){menuOpts.push(...opts.contextMenuOpts.map(withDefaults))}else if(opts.contextMenuOpts){menuOpts.push(withDefaults(opts.contextMenuOpts))}opts.menuOpts=menuOpts;return opts}constructor(opts){super(EditorAction.convertOptions(opts));this.label=opts.label;this.alias=opts.alias}runEditorCommand(accessor,editor2,args){this.reportTelemetry(accessor,editor2);return this.run(accessor,editor2,args||{})}reportTelemetry(accessor,editor2){accessor.get(ITelemetryService).publicLog2("editorActionInvoked",{name:this.label,id:this.id})}};MultiEditorAction=class extends EditorAction{constructor(){super(...arguments);this._implementations=[]}addImplementation(priority,implementation){this._implementations.push([priority,implementation]);this._implementations.sort(((a,b)=>b[0]-a[0]));return{dispose:()=>{for(let i=0;i<this._implementations.length;i++){if(this._implementations[i][1]===implementation){this._implementations.splice(i,1);return}}}}}run(accessor,editor2,args){for(const impl of this._implementations){const result=impl[1](accessor,editor2,args);if(result){if(typeof result==="boolean"){return}return result}}}};EditorAction2=class extends Action2{run(accessor,...args){const codeEditorService=accessor.get(ICodeEditorService);const editor2=codeEditorService.getFocusedCodeEditor()||codeEditorService.getActiveCodeEditor();if(!editor2){return}return editor2.invokeWithinContext((editorAccessor=>{var _a6,_b3;const kbService=editorAccessor.get(IContextKeyService);const logService=editorAccessor.get(ILogService);const enabled=kbService.contextMatchesRules((_a6=this.desc.precondition)!==null&&_a6!==void 0?_a6:void 0);if(!enabled){logService.debug(`[EditorAction2] NOT running command because its precondition is FALSE`,this.desc.id,(_b3=this.desc.precondition)===null||_b3===void 0?void 0:_b3.serialize());return}return this.runEditorCommand(editorAccessor,editor2,...args)}))}};(function(EditorExtensionsRegistry2){function getEditorCommand(commandId){return EditorContributionRegistry.INSTANCE.getEditorCommand(commandId)}EditorExtensionsRegistry2.getEditorCommand=getEditorCommand;function getEditorActions(){return EditorContributionRegistry.INSTANCE.getEditorActions()}EditorExtensionsRegistry2.getEditorActions=getEditorActions;function getEditorContributions(){return EditorContributionRegistry.INSTANCE.getEditorContributions()}EditorExtensionsRegistry2.getEditorContributions=getEditorContributions;function getSomeEditorContributions(ids){return EditorContributionRegistry.INSTANCE.getEditorContributions().filter((c=>ids.indexOf(c.id)>=0))}EditorExtensionsRegistry2.getSomeEditorContributions=getSomeEditorContributions;function getDiffEditorContributions(){return EditorContributionRegistry.INSTANCE.getDiffEditorContributions()}EditorExtensionsRegistry2.getDiffEditorContributions=getDiffEditorContributions})(EditorExtensionsRegistry||(EditorExtensionsRegistry={}));Extensions5={EditorCommonContributions:"editor.contributions"};EditorContributionRegistry=class{constructor(){this.editorContributions=[];this.diffEditorContributions=[];this.editorActions=[];this.editorCommands=Object.create(null)}registerEditorContribution(id,ctor,instantiation){this.editorContributions.push({id:id,ctor:ctor,instantiation:instantiation})}getEditorContributions(){return this.editorContributions.slice(0)}getDiffEditorContributions(){return this.diffEditorContributions.slice(0)}registerEditorAction(action){action.register();this.editorActions.push(action)}getEditorActions(){return this.editorActions}registerEditorCommand(editorCommand){editorCommand.register();this.editorCommands[editorCommand.id]=editorCommand}getEditorCommand(commandId){return this.editorCommands[commandId]||null}};EditorContributionRegistry.INSTANCE=new EditorContributionRegistry;Registry.add(Extensions5.EditorCommonContributions,EditorContributionRegistry.INSTANCE);UndoCommand=registerCommand(new MultiCommand({id:"undo",precondition:void 0,kbOpts:{weight:0,primary:2048|56},menuOpts:[{menuId:MenuId.MenubarEditMenu,group:"1_do",title:localize({key:"miUndo",comment:["&& denotes a mnemonic"]},"&&Undo"),order:1},{menuId:MenuId.CommandPalette,group:"",title:localize("undo","Undo"),order:1}]}));registerCommand(new ProxyCommand(UndoCommand,{id:"default:undo",precondition:void 0}));RedoCommand=registerCommand(new MultiCommand({id:"redo",precondition:void 0,kbOpts:{weight:0,primary:2048|55,secondary:[2048|1024|56],mac:{primary:2048|1024|56}},menuOpts:[{menuId:MenuId.MenubarEditMenu,group:"1_do",title:localize({key:"miRedo",comment:["&& denotes a mnemonic"]},"&&Redo"),order:2},{menuId:MenuId.CommandPalette,group:"",title:localize("redo","Redo"),order:1}]}));registerCommand(new ProxyCommand(RedoCommand,{id:"default:redo",precondition:void 0}));SelectAllCommand=registerCommand(new MultiCommand({id:"editor.action.selectAll",precondition:void 0,kbOpts:{weight:0,kbExpr:null,primary:2048|31},menuOpts:[{menuId:MenuId.MenubarSelectionMenu,group:"1_basic",title:localize({key:"miSelectAll",comment:["&& denotes a mnemonic"]},"&&Select All"),order:1},{menuId:MenuId.CommandPalette,group:"",title:localize("selectAll","Select All"),order:1}]}))}});var __decorate6,__param6,MarkerDecorationsContribution;var init_markerDecorations2=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/services/markerDecorations.js"(){init_markerDecorations();init_editorExtensions();__decorate6=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param6=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};MarkerDecorationsContribution=class MarkerDecorationsContribution2{constructor(_editor,_markerDecorationsService){}dispose(){}};MarkerDecorationsContribution.ID="editor.contrib.markerDecorations";MarkerDecorationsContribution=__decorate6([__param6(1,IMarkerDecorationsService)],MarkerDecorationsContribution);registerEditorContribution(MarkerDecorationsContribution.ID,MarkerDecorationsContribution,0)}});var init_3=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/media/editor.css"(){}});var ElementSizeObserver;var init_elementSizeObserver=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/config/elementSizeObserver.js"(){init_lifecycle();init_event();ElementSizeObserver=class extends Disposable{constructor(referenceDomElement,dimension){super();this._onDidChange=this._register(new Emitter);this.onDidChange=this._onDidChange.event;this._referenceDomElement=referenceDomElement;this._width=-1;this._height=-1;this._resizeObserver=null;this.measureReferenceDomElement(false,dimension)}dispose(){this.stopObserving();super.dispose()}getWidth(){return this._width}getHeight(){return this._height}startObserving(){if(!this._resizeObserver&&this._referenceDomElement){let observeContentRect=null;const observeNow=()=>{if(observeContentRect){this.observe({width:observeContentRect.width,height:observeContentRect.height})}else{this.observe()}};let shouldObserve=false;let alreadyObservedThisAnimationFrame=false;const update=()=>{if(shouldObserve&&!alreadyObservedThisAnimationFrame){try{shouldObserve=false;alreadyObservedThisAnimationFrame=true;observeNow()}finally{requestAnimationFrame((()=>{alreadyObservedThisAnimationFrame=false;update()}))}}};this._resizeObserver=new ResizeObserver((entries2=>{observeContentRect=entries2&&entries2[0]&&entries2[0].contentRect?entries2[0].contentRect:null;shouldObserve=true;update()}));this._resizeObserver.observe(this._referenceDomElement)}}stopObserving(){if(this._resizeObserver){this._resizeObserver.disconnect();this._resizeObserver=null}}observe(dimension){this.measureReferenceDomElement(true,dimension)}measureReferenceDomElement(emitEvent,dimension){let observedWidth=0;let observedHeight=0;if(dimension){observedWidth=dimension.width;observedHeight=dimension.height}else if(this._referenceDomElement){observedWidth=this._referenceDomElement.clientWidth;observedHeight=this._referenceDomElement.clientHeight}observedWidth=Math.max(5,observedWidth);observedHeight=Math.max(5,observedHeight);if(this._width!==observedWidth||this._height!==observedHeight){this._width=observedWidth;this._height=observedHeight;if(emitEvent){this._onDidChange.fire()}}}}}});function registerEditorSettingMigration(key,migrate){EditorSettingMigration.items.push(new EditorSettingMigration(key,migrate))}function registerSimpleEditorSettingMigration(key,values){registerEditorSettingMigration(key,((value,read,write)=>{if(typeof value!=="undefined"){for(const[oldValue,newValue]of values){if(value===oldValue){write(key,newValue);return}}}}))}function migrateOptions(options2){EditorSettingMigration.items.forEach((migration=>migration.apply(options2)))}var EditorSettingMigration,suggestFilteredTypesMapping;var init_migrateOptions=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/config/migrateOptions.js"(){EditorSettingMigration=class{constructor(key,migrate){this.key=key;this.migrate=migrate}apply(options2){const value=EditorSettingMigration._read(options2,this.key);const read=key=>EditorSettingMigration._read(options2,key);const write=(key,value2)=>EditorSettingMigration._write(options2,key,value2);this.migrate(value,read,write)}static _read(source,key){if(typeof source==="undefined"){return void 0}const firstDotIndex=key.indexOf(".");if(firstDotIndex>=0){const firstSegment=key.substring(0,firstDotIndex);return this._read(source[firstSegment],key.substring(firstDotIndex+1))}return source[key]}static _write(target,key,value){const firstDotIndex=key.indexOf(".");if(firstDotIndex>=0){const firstSegment=key.substring(0,firstDotIndex);target[firstSegment]=target[firstSegment]||{};this._write(target[firstSegment],key.substring(firstDotIndex+1),value);return}target[key]=value}};EditorSettingMigration.items=[];registerSimpleEditorSettingMigration("wordWrap",[[true,"on"],[false,"off"]]);registerSimpleEditorSettingMigration("lineNumbers",[[true,"on"],[false,"off"]]);registerSimpleEditorSettingMigration("cursorBlinking",[["visible","solid"]]);registerSimpleEditorSettingMigration("renderWhitespace",[[true,"boundary"],[false,"none"]]);registerSimpleEditorSettingMigration("renderLineHighlight",[[true,"line"],[false,"none"]]);registerSimpleEditorSettingMigration("acceptSuggestionOnEnter",[[true,"on"],[false,"off"]]);registerSimpleEditorSettingMigration("tabCompletion",[[false,"off"],[true,"onlySnippets"]]);registerSimpleEditorSettingMigration("hover",[[true,{enabled:true}],[false,{enabled:false}]]);registerSimpleEditorSettingMigration("parameterHints",[[true,{enabled:true}],[false,{enabled:false}]]);registerSimpleEditorSettingMigration("autoIndent",[[false,"advanced"],[true,"full"]]);registerSimpleEditorSettingMigration("matchBrackets",[[true,"always"],[false,"never"]]);registerSimpleEditorSettingMigration("renderFinalNewline",[[true,"on"],[false,"off"]]);registerSimpleEditorSettingMigration("cursorSmoothCaretAnimation",[[true,"on"],[false,"off"]]);registerEditorSettingMigration("autoClosingBrackets",((value,read,write)=>{if(value===false){write("autoClosingBrackets","never");if(typeof read("autoClosingQuotes")==="undefined"){write("autoClosingQuotes","never")}if(typeof read("autoSurround")==="undefined"){write("autoSurround","never")}}}));registerEditorSettingMigration("renderIndentGuides",((value,read,write)=>{if(typeof value!=="undefined"){write("renderIndentGuides",void 0);if(typeof read("guides.indentation")==="undefined"){write("guides.indentation",!!value)}}}));registerEditorSettingMigration("highlightActiveIndentGuide",((value,read,write)=>{if(typeof value!=="undefined"){write("highlightActiveIndentGuide",void 0);if(typeof read("guides.highlightActiveIndentation")==="undefined"){write("guides.highlightActiveIndentation",!!value)}}}));suggestFilteredTypesMapping={method:"showMethods",function:"showFunctions",constructor:"showConstructors",deprecated:"showDeprecated",field:"showFields",variable:"showVariables",class:"showClasses",struct:"showStructs",interface:"showInterfaces",module:"showModules",property:"showProperties",event:"showEvents",operator:"showOperators",unit:"showUnits",value:"showValues",constant:"showConstants",enum:"showEnums",enumMember:"showEnumMembers",keyword:"showKeywords",text:"showWords",color:"showColors",file:"showFiles",reference:"showReferences",folder:"showFolders",typeParameter:"showTypeParameters",snippet:"showSnippets"};registerEditorSettingMigration("suggest.filteredTypes",((value,read,write)=>{if(value&&typeof value==="object"){for(const entry of Object.entries(suggestFilteredTypesMapping)){const v=value[entry[0]];if(v===false){if(typeof read(`suggest.${entry[1]}`)==="undefined"){write(`suggest.${entry[1]}`,false)}}}write("suggest.filteredTypes",void 0)}}));registerEditorSettingMigration("quickSuggestions",((input,read,write)=>{if(typeof input==="boolean"){const value=input?"on":"off";const newValue={comments:value,strings:value,other:value};write("quickSuggestions",newValue)}}));registerEditorSettingMigration("experimental.stickyScroll.enabled",((value,read,write)=>{if(typeof value==="boolean"){write("experimental.stickyScroll.enabled",void 0);if(typeof read("stickyScroll.enabled")==="undefined"){write("stickyScroll.enabled",value)}}}));registerEditorSettingMigration("experimental.stickyScroll.maxLineCount",((value,read,write)=>{if(typeof value==="number"){write("experimental.stickyScroll.maxLineCount",void 0);if(typeof read("stickyScroll.maxLineCount")==="undefined"){write("stickyScroll.maxLineCount",value)}}}))}});var TabFocusImpl,TabFocus;var init_tabFocus=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/config/tabFocus.js"(){init_event();TabFocusImpl=class{constructor(){this._tabFocusTerminal=false;this._tabFocusEditor=false;this._onDidChangeTabFocus=new Emitter;this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(context){return context==="terminalFocus"?this._tabFocusTerminal:this._tabFocusEditor}setTabFocusMode(tabFocusMode,context){if(context==="terminalFocus"){this._tabFocusTerminal=tabFocusMode}else{this._tabFocusEditor=tabFocusMode}this._onDidChangeTabFocus.fire()}};TabFocus=new TabFocusImpl}});function digitCount(n){let r=0;while(n){n=Math.floor(n/10);r++}return r?r:1}function getExtraEditorClassName(){let extra="";if(!isSafari2&&!isWebkitWebView){extra+="no-user-select "}if(isSafari2){extra+="no-minimap-shadow ";extra+="enable-user-select "}if(isMacintosh){extra+="mac "}return extra}function deepCloneAndMigrateOptions(_options){const options2=deepClone(_options);migrateOptions(options2);return options2}var __decorate7,__param7,EditorConfiguration,ValidatedEditorOptions,ComputedEditorOptions,EditorOptionsUtil;var init_editorConfiguration=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/config/editorConfiguration.js"(){init_browser();init_arrays();init_event();init_lifecycle();init_objects();init_platform();init_elementSizeObserver();init_fontMeasurements();init_migrateOptions();init_tabFocus();init_editorOptions();init_editorZoom();init_fontInfo();init_accessibility();__decorate7=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param7=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};EditorConfiguration=class EditorConfiguration2 extends Disposable{constructor(isSimpleWidget,options2,container,_accessibilityService){super();this._accessibilityService=_accessibilityService;this._onDidChange=this._register(new Emitter);this.onDidChange=this._onDidChange.event;this._onDidChangeFast=this._register(new Emitter);this.onDidChangeFast=this._onDidChangeFast.event;this._isDominatedByLongLines=false;this._viewLineCount=1;this._lineNumbersDigitCount=1;this._reservedHeight=0;this._glyphMarginDecorationLaneCount=1;this._computeOptionsMemory=new ComputeOptionsMemory;this.isSimpleWidget=isSimpleWidget;this._containerObserver=this._register(new ElementSizeObserver(container,options2.dimension));this._rawOptions=deepCloneAndMigrateOptions(options2);this._validatedOptions=EditorOptionsUtil.validateOptions(this._rawOptions);this.options=this._computeOptions();if(this.options.get(12)){this._containerObserver.startObserving()}this._register(EditorZoom.onDidChangeZoomLevel((()=>this._recomputeOptions())));this._register(TabFocus.onDidChangeTabFocus((()=>this._recomputeOptions())));this._register(this._containerObserver.onDidChange((()=>this._recomputeOptions())));this._register(FontMeasurements.onDidChange((()=>this._recomputeOptions())));this._register(PixelRatio.onDidChange((()=>this._recomputeOptions())));this._register(this._accessibilityService.onDidChangeScreenReaderOptimized((()=>this._recomputeOptions())))}_recomputeOptions(){const newOptions=this._computeOptions();const changeEvent=EditorOptionsUtil.checkEquals(this.options,newOptions);if(changeEvent===null){return}this.options=newOptions;this._onDidChangeFast.fire(changeEvent);this._onDidChange.fire(changeEvent)}_computeOptions(){const partialEnv=this._readEnvConfiguration();const bareFontInfo=BareFontInfo.createFromValidatedSettings(this._validatedOptions,partialEnv.pixelRatio,this.isSimpleWidget);const fontInfo=this._readFontInfo(bareFontInfo);const env2={memory:this._computeOptionsMemory,outerWidth:partialEnv.outerWidth,outerHeight:partialEnv.outerHeight-this._reservedHeight,fontInfo:fontInfo,extraEditorClassName:partialEnv.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:partialEnv.emptySelectionClipboard,pixelRatio:partialEnv.pixelRatio,tabFocusMode:TabFocus.getTabFocusMode("editorFocus"),accessibilitySupport:partialEnv.accessibilitySupport,glyphMarginDecorationLaneCount:this._glyphMarginDecorationLaneCount};return EditorOptionsUtil.computeOptions(this._validatedOptions,env2)}_readEnvConfiguration(){return{extraEditorClassName:getExtraEditorClassName(),outerWidth:this._containerObserver.getWidth(),outerHeight:this._containerObserver.getHeight(),emptySelectionClipboard:isWebKit||isFirefox2,pixelRatio:PixelRatio.value,accessibilitySupport:this._accessibilityService.isScreenReaderOptimized()?2:this._accessibilityService.getAccessibilitySupport()}}_readFontInfo(bareFontInfo){return FontMeasurements.readFontInfo(bareFontInfo)}getRawOptions(){return this._rawOptions}updateOptions(_newOptions){const newOptions=deepCloneAndMigrateOptions(_newOptions);const didChange=EditorOptionsUtil.applyUpdate(this._rawOptions,newOptions);if(!didChange){return}this._validatedOptions=EditorOptionsUtil.validateOptions(this._rawOptions);this._recomputeOptions()}observeContainer(dimension){this._containerObserver.observe(dimension)}setIsDominatedByLongLines(isDominatedByLongLines){if(this._isDominatedByLongLines===isDominatedByLongLines){return}this._isDominatedByLongLines=isDominatedByLongLines;this._recomputeOptions()}setModelLineCount(modelLineCount){const lineNumbersDigitCount=digitCount(modelLineCount);if(this._lineNumbersDigitCount===lineNumbersDigitCount){return}this._lineNumbersDigitCount=lineNumbersDigitCount;this._recomputeOptions()}setViewLineCount(viewLineCount){if(this._viewLineCount===viewLineCount){return}this._viewLineCount=viewLineCount;this._recomputeOptions()}setReservedHeight(reservedHeight){if(this._reservedHeight===reservedHeight){return}this._reservedHeight=reservedHeight;this._recomputeOptions()}setGlyphMarginDecorationLaneCount(decorationLaneCount){if(this._glyphMarginDecorationLaneCount===decorationLaneCount){return}this._glyphMarginDecorationLaneCount=decorationLaneCount;this._recomputeOptions()}};EditorConfiguration=__decorate7([__param7(3,IAccessibilityService)],EditorConfiguration);ValidatedEditorOptions=class{constructor(){this._values=[]}_read(option){return this._values[option]}get(id){return this._values[id]}_write(option,value){this._values[option]=value}};ComputedEditorOptions=class{constructor(){this._values=[]}_read(id){if(id>=this._values.length){throw new Error("Cannot read uninitialized value")}return this._values[id]}get(id){return this._read(id)}_write(id,value){this._values[id]=value}};EditorOptionsUtil=class{static validateOptions(options2){const result=new ValidatedEditorOptions;for(const editorOption of editorOptionsRegistry){const value=editorOption.name==="_never_"?void 0:options2[editorOption.name];result._write(editorOption.id,editorOption.validate(value))}return result}static computeOptions(options2,env2){const result=new ComputedEditorOptions;for(const editorOption of editorOptionsRegistry){result._write(editorOption.id,editorOption.compute(env2,result,options2._read(editorOption.id)))}return result}static _deepEquals(a,b){if(typeof a!=="object"||typeof b!=="object"||!a||!b){return a===b}if(Array.isArray(a)||Array.isArray(b)){return Array.isArray(a)&&Array.isArray(b)?equals(a,b):false}if(Object.keys(a).length!==Object.keys(b).length){return false}for(const key in a){if(!EditorOptionsUtil._deepEquals(a[key],b[key])){return false}}return true}static checkEquals(a,b){const result=[];let somethingChanged=false;for(const editorOption of editorOptionsRegistry){const changed=!EditorOptionsUtil._deepEquals(a._read(editorOption.id),b._read(editorOption.id));result[editorOption.id]=changed;if(changed){somethingChanged=true}}return somethingChanged?new ConfigurationChangedEvent(result):null}static applyUpdate(options2,update){let changed=false;for(const editorOption of editorOptionsRegistry){if(update.hasOwnProperty(editorOption.name)){const result=editorOption.applyUpdate(options2[editorOption.name],update[editorOption.name]);options2[editorOption.name]=result.newValue;changed=changed||result.didChange}}return changed}}}});function memoize(_target,key,descriptor){let fnKey=null;let fn=null;if(typeof descriptor.value==="function"){fnKey="value";fn=descriptor.value;if(fn.length!==0){console.warn("Memoize should only be used in functions with zero parameters")}}else if(typeof descriptor.get==="function"){fnKey="get";fn=descriptor.get}if(!fn){throw new Error("not supported")}const memoizeKey=`$memoize$${key}`;descriptor[fnKey]=function(...args){if(!this.hasOwnProperty(memoizeKey)){Object.defineProperty(this,memoizeKey,{configurable:false,enumerable:false,writable:false,value:fn.apply(this,args)})}return this[memoizeKey]}}var init_decorators=__esm({"node_modules/monaco-editor/esm/vs/base/common/decorators.js"(){}});var __decorate8,EventType2,Gesture;var init_touch=__esm({"node_modules/monaco-editor/esm/vs/base/browser/touch.js"(){init_dom();init_arrays();init_decorators();init_lifecycle();init_linkedList();__decorate8=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};(function(EventType3){EventType3.Tap="-monaco-gesturetap";EventType3.Change="-monaco-gesturechange";EventType3.Start="-monaco-gesturestart";EventType3.End="-monaco-gesturesend";EventType3.Contextmenu="-monaco-gesturecontextmenu"})(EventType2||(EventType2={}));Gesture=class extends Disposable{constructor(){super();this.dispatched=false;this.targets=new LinkedList;this.ignoreTargets=new LinkedList;this.activeTouches={};this.handle=null;this._lastSetTapCountTime=0;this._register(addDisposableListener(document,"touchstart",(e=>this.onTouchStart(e)),{passive:false}));this._register(addDisposableListener(document,"touchend",(e=>this.onTouchEnd(e))));this._register(addDisposableListener(document,"touchmove",(e=>this.onTouchMove(e)),{passive:false}))}static addTarget(element){if(!Gesture.isTouchDevice()){return Disposable.None}if(!Gesture.INSTANCE){Gesture.INSTANCE=new Gesture}const remove=Gesture.INSTANCE.targets.push(element);return toDisposable(remove)}static ignoreTarget(element){if(!Gesture.isTouchDevice()){return Disposable.None}if(!Gesture.INSTANCE){Gesture.INSTANCE=new Gesture}const remove=Gesture.INSTANCE.ignoreTargets.push(element);return toDisposable(remove)}static isTouchDevice(){return"ontouchstart"in window||navigator.maxTouchPoints>0}dispose(){if(this.handle){this.handle.dispose();this.handle=null}super.dispose()}onTouchStart(e){const timestamp=Date.now();if(this.handle){this.handle.dispose();this.handle=null}for(let i=0,len=e.targetTouches.length;i<len;i++){const touch=e.targetTouches.item(i);this.activeTouches[touch.identifier]={id:touch.identifier,initialTarget:touch.target,initialTimeStamp:timestamp,initialPageX:touch.pageX,initialPageY:touch.pageY,rollingTimestamps:[timestamp],rollingPageX:[touch.pageX],rollingPageY:[touch.pageY]};const evt=this.newGestureEvent(EventType2.Start,touch.target);evt.pageX=touch.pageX;evt.pageY=touch.pageY;this.dispatchEvent(evt)}if(this.dispatched){e.preventDefault();e.stopPropagation();this.dispatched=false}}onTouchEnd(e){const timestamp=Date.now();const activeTouchCount=Object.keys(this.activeTouches).length;for(let i=0,len=e.changedTouches.length;i<len;i++){const touch=e.changedTouches.item(i);if(!this.activeTouches.hasOwnProperty(String(touch.identifier))){console.warn("move of an UNKNOWN touch",touch);continue}const data=this.activeTouches[touch.identifier],holdTime=Date.now()-data.initialTimeStamp;if(holdTime<Gesture.HOLD_DELAY&&Math.abs(data.initialPageX-tail(data.rollingPageX))<30&&Math.abs(data.initialPageY-tail(data.rollingPageY))<30){const evt=this.newGestureEvent(EventType2.Tap,data.initialTarget);evt.pageX=tail(data.rollingPageX);evt.pageY=tail(data.rollingPageY);this.dispatchEvent(evt)}else if(holdTime>=Gesture.HOLD_DELAY&&Math.abs(data.initialPageX-tail(data.rollingPageX))<30&&Math.abs(data.initialPageY-tail(data.rollingPageY))<30){const evt=this.newGestureEvent(EventType2.Contextmenu,data.initialTarget);evt.pageX=tail(data.rollingPageX);evt.pageY=tail(data.rollingPageY);this.dispatchEvent(evt)}else if(activeTouchCount===1){const finalX=tail(data.rollingPageX);const finalY=tail(data.rollingPageY);const deltaT=tail(data.rollingTimestamps)-data.rollingTimestamps[0];const deltaX=finalX-data.rollingPageX[0];const deltaY=finalY-data.rollingPageY[0];const dispatchTo=[...this.targets].filter((t2=>data.initialTarget instanceof Node&&t2.contains(data.initialTarget)));this.inertia(dispatchTo,timestamp,Math.abs(deltaX)/deltaT,deltaX>0?1:-1,finalX,Math.abs(deltaY)/deltaT,deltaY>0?1:-1,finalY)}this.dispatchEvent(this.newGestureEvent(EventType2.End,data.initialTarget));delete this.activeTouches[touch.identifier]}if(this.dispatched){e.preventDefault();e.stopPropagation();this.dispatched=false}}newGestureEvent(type,initialTarget){const event=document.createEvent("CustomEvent");event.initEvent(type,false,true);event.initialTarget=initialTarget;event.tapCount=0;return event}dispatchEvent(event){if(event.type===EventType2.Tap){const currentTime=(new Date).getTime();let setTapCount=0;if(currentTime-this._lastSetTapCountTime>Gesture.CLEAR_TAP_COUNT_TIME){setTapCount=1}else{setTapCount=2}this._lastSetTapCountTime=currentTime;event.tapCount=setTapCount}else if(event.type===EventType2.Change||event.type===EventType2.Contextmenu){this._lastSetTapCountTime=0}if(event.initialTarget instanceof Node){for(const ignoreTarget of this.ignoreTargets){if(ignoreTarget.contains(event.initialTarget)){return}}for(const target of this.targets){if(target.contains(event.initialTarget)){target.dispatchEvent(event);this.dispatched=true}}}}inertia(dispatchTo,t1,vX,dirX,x,vY,dirY,y){this.handle=scheduleAtNextAnimationFrame((()=>{const now=Date.now();const deltaT=now-t1;let delta_pos_x=0,delta_pos_y=0;let stopped=true;vX+=Gesture.SCROLL_FRICTION*deltaT;vY+=Gesture.SCROLL_FRICTION*deltaT;if(vX>0){stopped=false;delta_pos_x=dirX*vX*deltaT}if(vY>0){stopped=false;delta_pos_y=dirY*vY*deltaT}const evt=this.newGestureEvent(EventType2.Change);evt.translationX=delta_pos_x;evt.translationY=delta_pos_y;dispatchTo.forEach((d=>d.dispatchEvent(evt)));if(!stopped){this.inertia(dispatchTo,now,vX,dirX,x+delta_pos_x,vY,dirY,y+delta_pos_y)}}))}onTouchMove(e){const timestamp=Date.now();for(let i=0,len=e.changedTouches.length;i<len;i++){const touch=e.changedTouches.item(i);if(!this.activeTouches.hasOwnProperty(String(touch.identifier))){console.warn("end of an UNKNOWN touch",touch);continue}const data=this.activeTouches[touch.identifier];const evt=this.newGestureEvent(EventType2.Change,data.initialTarget);evt.translationX=touch.pageX-tail(data.rollingPageX);evt.translationY=touch.pageY-tail(data.rollingPageY);evt.pageX=touch.pageX;evt.pageY=touch.pageY;this.dispatchEvent(evt);if(data.rollingPageX.length>3){data.rollingPageX.shift();data.rollingPageY.shift();data.rollingTimestamps.shift()}data.rollingPageX.push(touch.pageX);data.rollingPageY.push(touch.pageY);data.rollingTimestamps.push(timestamp)}if(this.dispatched){e.preventDefault();e.stopPropagation();this.dispatched=false}}};Gesture.SCROLL_FRICTION=-.005;Gesture.HOLD_DELAY=700;Gesture.CLEAR_TAP_COUNT_TIME=400;__decorate8([memoize],Gesture,"isTouchDevice",null)}});var GlobalPointerMoveMonitor;var init_globalPointerMoveMonitor=__esm({"node_modules/monaco-editor/esm/vs/base/browser/globalPointerMoveMonitor.js"(){init_dom();init_lifecycle();GlobalPointerMoveMonitor=class{constructor(){this._hooks=new DisposableStore;this._pointerMoveCallback=null;this._onStopCallback=null}dispose(){this.stopMonitoring(false);this._hooks.dispose()}stopMonitoring(invokeStopCallback,browserEvent){if(!this.isMonitoring()){return}this._hooks.clear();this._pointerMoveCallback=null;const onStopCallback=this._onStopCallback;this._onStopCallback=null;if(invokeStopCallback&&onStopCallback){onStopCallback(browserEvent)}}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(initialElement,pointerId,initialButtons,pointerMoveCallback,onStopCallback){if(this.isMonitoring()){this.stopMonitoring(false)}this._pointerMoveCallback=pointerMoveCallback;this._onStopCallback=onStopCallback;let eventSource=initialElement;try{initialElement.setPointerCapture(pointerId);this._hooks.add(toDisposable((()=>{try{initialElement.releasePointerCapture(pointerId)}catch(err){}})))}catch(err){eventSource=window}this._hooks.add(addDisposableListener(eventSource,EventType.POINTER_MOVE,(e=>{if(e.buttons!==initialButtons){this.stopMonitoring(true);return}e.preventDefault();this._pointerMoveCallback(e)})));this._hooks.add(addDisposableListener(eventSource,EventType.POINTER_UP,(e=>this.stopMonitoring(true))))}}}});function asCssVariableName(colorIdent){return`--vscode-${colorIdent.replace(/\./g,"-")}`}function asCssVariable(color){return`var(${asCssVariableName(color)})`}function asCssVariableWithDefault(color,defaultCssValue){return`var(${asCssVariableName(color)}, ${defaultCssValue})`}function registerColor(id,defaults,description,needsTransparency,deprecationMessage){return colorRegistry.registerColor(id,defaults,description,needsTransparency,deprecationMessage)}function executeTransform(transform,theme){var _a6,_b3,_c2,_d2;switch(transform.op){case 0:return(_a6=resolveColorValue(transform.value,theme))===null||_a6===void 0?void 0:_a6.darken(transform.factor);case 1:return(_b3=resolveColorValue(transform.value,theme))===null||_b3===void 0?void 0:_b3.lighten(transform.factor);case 2:return(_c2=resolveColorValue(transform.value,theme))===null||_c2===void 0?void 0:_c2.transparent(transform.factor);case 3:{const backgroundColor=resolveColorValue(transform.background,theme);if(!backgroundColor){return resolveColorValue(transform.value,theme)}return(_d2=resolveColorValue(transform.value,theme))===null||_d2===void 0?void 0:_d2.makeOpaque(backgroundColor)}case 4:for(const candidate of transform.values){const color=resolveColorValue(candidate,theme);if(color){return color}}return void 0;case 6:return resolveColorValue(theme.defines(transform.if)?transform.then:transform.else,theme);case 5:{const from=resolveColorValue(transform.value,theme);if(!from){return void 0}const backgroundColor=resolveColorValue(transform.background,theme);if(!backgroundColor){return from.transparent(transform.factor*transform.transparency)}return from.isDarkerThan(backgroundColor)?Color.getLighterColor(from,backgroundColor,transform.factor).transparent(transform.transparency):Color.getDarkerColor(from,backgroundColor,transform.factor).transparent(transform.transparency)}default:throw assertNever(transform)}}function darken(colorValue,factor2){return{op:0,value:colorValue,factor:factor2}}function lighten(colorValue,factor2){return{op:1,value:colorValue,factor:factor2}}function transparent(colorValue,factor2){return{op:2,value:colorValue,factor:factor2}}function oneOf(...colorValues){return{op:4,values:colorValues}}function ifDefinedThenElse(ifArg,thenArg,elseArg){return{op:6,if:ifArg,then:thenArg,else:elseArg}}function lessProminent(colorValue,backgroundColorValue,factor2,transparency){return{op:5,value:colorValue,background:backgroundColorValue,factor:factor2,transparency:transparency}}function resolveColorValue(colorValue,theme){if(colorValue===null){return void 0}else if(typeof colorValue==="string"){if(colorValue[0]==="#"){return Color.fromHex(colorValue)}return theme.getColor(colorValue)}else if(colorValue instanceof Color){return colorValue}else if(typeof colorValue==="object"){return executeTransform(colorValue,theme)}return void 0}var Extensions6,ColorRegistry,colorRegistry,foreground,disabledForeground,errorForeground,descriptionForeground,iconForeground,focusBorder,contrastBorder,activeContrastBorder,selectionBackground,textSeparatorForeground,textLinkForeground,textLinkActiveForeground,textPreformatForeground,textBlockQuoteBackground,textBlockQuoteBorder,textCodeBlockBackground,widgetShadow,widgetBorder,inputBackground,inputForeground,inputBorder,inputActiveOptionBorder,inputActiveOptionHoverBackground,inputActiveOptionBackground,inputActiveOptionForeground,inputPlaceholderForeground,inputValidationInfoBackground,inputValidationInfoForeground,inputValidationInfoBorder,inputValidationWarningBackground,inputValidationWarningForeground,inputValidationWarningBorder,inputValidationErrorBackground,inputValidationErrorForeground,inputValidationErrorBorder,selectBackground,selectListBackground,selectForeground,selectBorder,buttonForeground,buttonSeparator,buttonBackground,buttonHoverBackground,buttonBorder,buttonSecondaryForeground,buttonSecondaryBackground,buttonSecondaryHoverBackground,badgeBackground,badgeForeground,scrollbarShadow,scrollbarSliderBackground,scrollbarSliderHoverBackground,scrollbarSliderActiveBackground,progressBarBackground,editorErrorBackground,editorErrorForeground,editorErrorBorder,editorWarningBackground,editorWarningForeground,editorWarningBorder,editorInfoBackground,editorInfoForeground,editorInfoBorder,editorHintForeground,editorHintBorder,sashHoverBorder,editorBackground,editorForeground,editorStickyScrollBackground,editorStickyScrollHoverBackground,editorWidgetBackground,editorWidgetForeground,editorWidgetBorder,editorWidgetResizeBorder,quickInputBackground,quickInputForeground,quickInputTitleBackground,pickerGroupForeground,pickerGroupBorder,keybindingLabelBackground,keybindingLabelForeground,keybindingLabelBorder,keybindingLabelBottomBorder,editorSelectionBackground,editorSelectionForeground,editorInactiveSelection,editorSelectionHighlight,editorSelectionHighlightBorder,editorFindMatch,editorFindMatchHighlight,editorFindRangeHighlight,editorFindMatchBorder,editorFindMatchHighlightBorder,editorFindRangeHighlightBorder,searchEditorFindMatch,searchEditorFindMatchBorder,searchResultsInfoForeground,editorHoverHighlight,editorHoverBackground,editorHoverForeground,editorHoverBorder,editorHoverStatusBarBackground,editorActiveLinkForeground,editorInlayHintForeground,editorInlayHintBackground,editorInlayHintTypeForeground,editorInlayHintTypeBackground,editorInlayHintParameterForeground,editorInlayHintParameterBackground,editorLightBulbForeground,editorLightBulbAutoFixForeground,defaultInsertColor,defaultRemoveColor,diffInserted,diffRemoved,diffInsertedLine,diffRemovedLine,diffInsertedLineGutter,diffRemovedLineGutter,diffOverviewRulerInserted,diffOverviewRulerRemoved,diffInsertedOutline,diffRemovedOutline,diffBorder,diffDiagonalFill,diffUnchangedRegionBackground,diffUnchangedRegionForeground,diffUnchangedTextBackground,listFocusBackground,listFocusForeground,listFocusOutline,listFocusAndSelectionOutline,listActiveSelectionBackground,listActiveSelectionForeground,listActiveSelectionIconForeground,listInactiveSelectionBackground,listInactiveSelectionForeground,listInactiveSelectionIconForeground,listInactiveFocusBackground,listInactiveFocusOutline,listHoverBackground,listHoverForeground,listDropBackground,listHighlightForeground,listFocusHighlightForeground,listInvalidItemForeground,listErrorForeground,listWarningForeground,listFilterWidgetBackground,listFilterWidgetOutline,listFilterWidgetNoMatchesOutline,listFilterWidgetShadow,listFilterMatchHighlight,listFilterMatchHighlightBorder,treeIndentGuidesStroke,treeInactiveIndentGuidesStroke,tableColumnsBorder,tableOddRowsBackgroundColor,listDeemphasizedForeground,checkboxBackground,checkboxSelectBackground,checkboxForeground,checkboxBorder,checkboxSelectBorder,_deprecatedQuickInputListFocusBackground,quickInputListFocusForeground,quickInputListFocusIconForeground,quickInputListFocusBackground,menuBorder,menuForeground,menuBackground,menuSelectionForeground,menuSelectionBackground,menuSelectionBorder,menuSeparatorBackground,toolbarHoverBackground,toolbarHoverOutline,toolbarActiveBackground,snippetTabstopHighlightBackground,snippetTabstopHighlightBorder,snippetFinalTabstopHighlightBackground,snippetFinalTabstopHighlightBorder,breadcrumbsForeground,breadcrumbsBackground,breadcrumbsFocusForeground,breadcrumbsActiveSelectionForeground,breadcrumbsPickerBackground,headerTransparency,currentBaseColor,incomingBaseColor,commonBaseColor,contentTransparency,rulerTransparency,mergeCurrentHeaderBackground,mergeCurrentContentBackground,mergeIncomingHeaderBackground,mergeIncomingContentBackground,mergeCommonHeaderBackground,mergeCommonContentBackground,mergeBorder,overviewRulerCurrentContentForeground,overviewRulerIncomingContentForeground,overviewRulerCommonContentForeground,overviewRulerFindMatchForeground,overviewRulerSelectionHighlightForeground,minimapFindMatch,minimapSelectionOccurrenceHighlight,minimapSelection,minimapError,minimapWarning,minimapBackground,minimapForegroundOpacity,minimapSliderBackground,minimapSliderHoverBackground,minimapSliderActiveBackground,problemsErrorIconForeground,problemsWarningIconForeground,problemsInfoIconForeground,chartsForeground,chartsLines,chartsRed,chartsBlue,chartsYellow,chartsOrange,chartsGreen,chartsPurple,workbenchColorsSchemaId,schemaRegistry,delayer;var init_colorRegistry=__esm({"node_modules/monaco-editor/esm/vs/platform/theme/common/colorRegistry.js"(){init_async();init_color();init_event();init_assert();init_nls();init_jsonContributionRegistry();init_platform2();Extensions6={ColorContribution:"base.contributions.colors"};ColorRegistry=class{constructor(){this._onDidChangeSchema=new Emitter;this.onDidChangeSchema=this._onDidChangeSchema.event;this.colorSchema={type:"object",properties:{}};this.colorReferenceSchema={type:"string",enum:[],enumDescriptions:[]};this.colorsById={}}registerColor(id,defaults,description,needsTransparency=false,deprecationMessage){const colorContribution={id:id,description:description,defaults:defaults,needsTransparency:needsTransparency,deprecationMessage:deprecationMessage};this.colorsById[id]=colorContribution;const propertySchema={type:"string",description:description,format:"color-hex",defaultSnippets:[{body:"${1:#ff0000}"}]};if(deprecationMessage){propertySchema.deprecationMessage=deprecationMessage}this.colorSchema.properties[id]=propertySchema;this.colorReferenceSchema.enum.push(id);this.colorReferenceSchema.enumDescriptions.push(description);this._onDidChangeSchema.fire();return id}getColors(){return Object.keys(this.colorsById).map((id=>this.colorsById[id]))}resolveDefaultColor(id,theme){const colorDesc=this.colorsById[id];if(colorDesc&&colorDesc.defaults){const colorValue=colorDesc.defaults[theme.type];return resolveColorValue(colorValue,theme)}return void 0}getColorSchema(){return this.colorSchema}toString(){const sorter2=(a,b)=>{const cat1=a.indexOf(".")===-1?0:1;const cat2=b.indexOf(".")===-1?0:1;if(cat1!==cat2){return cat1-cat2}return a.localeCompare(b)};return Object.keys(this.colorsById).sort(sorter2).map((k=>`- \`${k}\`: ${this.colorsById[k].description}`)).join("\n")}};colorRegistry=new ColorRegistry;Registry.add(Extensions6.ColorContribution,colorRegistry);foreground=registerColor("foreground",{dark:"#CCCCCC",light:"#616161",hcDark:"#FFFFFF",hcLight:"#292929"},localize("foreground","Overall foreground color. This color is only used if not overridden by a component."));disabledForeground=registerColor("disabledForeground",{dark:"#CCCCCC80",light:"#61616180",hcDark:"#A5A5A5",hcLight:"#7F7F7F"},localize("disabledForeground","Overall foreground for disabled elements. This color is only used if not overridden by a component."));errorForeground=registerColor("errorForeground",{dark:"#F48771",light:"#A1260D",hcDark:"#F48771",hcLight:"#B5200D"},localize("errorForeground","Overall foreground color for error messages. This color is only used if not overridden by a component."));descriptionForeground=registerColor("descriptionForeground",{light:"#717171",dark:transparent(foreground,.7),hcDark:transparent(foreground,.7),hcLight:transparent(foreground,.7)},localize("descriptionForeground","Foreground color for description text providing additional information, for example for a label."));iconForeground=registerColor("icon.foreground",{dark:"#C5C5C5",light:"#424242",hcDark:"#FFFFFF",hcLight:"#292929"},localize("iconForeground","The default color for icons in the workbench."));focusBorder=registerColor("focusBorder",{dark:"#007FD4",light:"#0090F1",hcDark:"#F38518",hcLight:"#006BBD"},localize("focusBorder","Overall border color for focused elements. This color is only used if not overridden by a component."));contrastBorder=registerColor("contrastBorder",{light:null,dark:null,hcDark:"#6FC3DF",hcLight:"#0F4A85"},localize("contrastBorder","An extra border around elements to separate them from others for greater contrast."));activeContrastBorder=registerColor("contrastActiveBorder",{light:null,dark:null,hcDark:focusBorder,hcLight:focusBorder},localize("activeContrastBorder","An extra border around active elements to separate them from others for greater contrast."));selectionBackground=registerColor("selection.background",{light:null,dark:null,hcDark:null,hcLight:null},localize("selectionBackground","The background color of text selections in the workbench (e.g. for input fields or text areas). Note that this does not apply to selections within the editor."));textSeparatorForeground=registerColor("textSeparator.foreground",{light:"#0000002e",dark:"#ffffff2e",hcDark:Color.black,hcLight:"#292929"},localize("textSeparatorForeground","Color for text separators."));textLinkForeground=registerColor("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hcDark:"#3794FF",hcLight:"#0F4A85"},localize("textLinkForeground","Foreground color for links in text."));textLinkActiveForeground=registerColor("textLink.activeForeground",{light:"#006AB1",dark:"#3794FF",hcDark:"#3794FF",hcLight:"#0F4A85"},localize("textLinkActiveForeground","Foreground color for links in text when clicked on and on mouse hover."));textPreformatForeground=registerColor("textPreformat.foreground",{light:"#A31515",dark:"#D7BA7D",hcDark:"#D7BA7D",hcLight:"#292929"},localize("textPreformatForeground","Foreground color for preformatted text segments."));textBlockQuoteBackground=registerColor("textBlockQuote.background",{light:"#7f7f7f1a",dark:"#7f7f7f1a",hcDark:null,hcLight:"#F2F2F2"},localize("textBlockQuoteBackground","Background color for block quotes in text."));textBlockQuoteBorder=registerColor("textBlockQuote.border",{light:"#007acc80",dark:"#007acc80",hcDark:Color.white,hcLight:"#292929"},localize("textBlockQuoteBorder","Border color for block quotes in text."));textCodeBlockBackground=registerColor("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hcDark:Color.black,hcLight:"#F2F2F2"},localize("textCodeBlockBackground","Background color for code blocks in text."));widgetShadow=registerColor("widget.shadow",{dark:transparent(Color.black,.36),light:transparent(Color.black,.16),hcDark:null,hcLight:null},localize("widgetShadow","Shadow color of widgets such as find/replace inside the editor."));widgetBorder=registerColor("widget.border",{dark:null,light:null,hcDark:contrastBorder,hcLight:contrastBorder},localize("widgetBorder","Border color of widgets such as find/replace inside the editor."));inputBackground=registerColor("input.background",{dark:"#3C3C3C",light:Color.white,hcDark:Color.black,hcLight:Color.white},localize("inputBoxBackground","Input box background."));inputForeground=registerColor("input.foreground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("inputBoxForeground","Input box foreground."));inputBorder=registerColor("input.border",{dark:null,light:null,hcDark:contrastBorder,hcLight:contrastBorder},localize("inputBoxBorder","Input box border."));inputActiveOptionBorder=registerColor("inputOption.activeBorder",{dark:"#007ACC",light:"#007ACC",hcDark:contrastBorder,hcLight:contrastBorder},localize("inputBoxActiveOptionBorder","Border color of activated options in input fields."));inputActiveOptionHoverBackground=registerColor("inputOption.hoverBackground",{dark:"#5a5d5e80",light:"#b8b8b850",hcDark:null,hcLight:null},localize("inputOption.hoverBackground","Background color of activated options in input fields."));inputActiveOptionBackground=registerColor("inputOption.activeBackground",{dark:transparent(focusBorder,.4),light:transparent(focusBorder,.2),hcDark:Color.transparent,hcLight:Color.transparent},localize("inputOption.activeBackground","Background hover color of options in input fields."));inputActiveOptionForeground=registerColor("inputOption.activeForeground",{dark:Color.white,light:Color.black,hcDark:foreground,hcLight:foreground},localize("inputOption.activeForeground","Foreground color of activated options in input fields."));inputPlaceholderForeground=registerColor("input.placeholderForeground",{light:transparent(foreground,.5),dark:transparent(foreground,.5),hcDark:transparent(foreground,.7),hcLight:transparent(foreground,.7)},localize("inputPlaceholderForeground","Input box foreground color for placeholder text."));inputValidationInfoBackground=registerColor("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hcDark:Color.black,hcLight:Color.white},localize("inputValidationInfoBackground","Input validation background color for information severity."));inputValidationInfoForeground=registerColor("inputValidation.infoForeground",{dark:null,light:null,hcDark:null,hcLight:foreground},localize("inputValidationInfoForeground","Input validation foreground color for information severity."));inputValidationInfoBorder=registerColor("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hcDark:contrastBorder,hcLight:contrastBorder},localize("inputValidationInfoBorder","Input validation border color for information severity."));inputValidationWarningBackground=registerColor("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hcDark:Color.black,hcLight:Color.white},localize("inputValidationWarningBackground","Input validation background color for warning severity."));inputValidationWarningForeground=registerColor("inputValidation.warningForeground",{dark:null,light:null,hcDark:null,hcLight:foreground},localize("inputValidationWarningForeground","Input validation foreground color for warning severity."));inputValidationWarningBorder=registerColor("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hcDark:contrastBorder,hcLight:contrastBorder},localize("inputValidationWarningBorder","Input validation border color for warning severity."));inputValidationErrorBackground=registerColor("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hcDark:Color.black,hcLight:Color.white},localize("inputValidationErrorBackground","Input validation background color for error severity."));inputValidationErrorForeground=registerColor("inputValidation.errorForeground",{dark:null,light:null,hcDark:null,hcLight:foreground},localize("inputValidationErrorForeground","Input validation foreground color for error severity."));inputValidationErrorBorder=registerColor("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hcDark:contrastBorder,hcLight:contrastBorder},localize("inputValidationErrorBorder","Input validation border color for error severity."));selectBackground=registerColor("dropdown.background",{dark:"#3C3C3C",light:Color.white,hcDark:Color.black,hcLight:Color.white},localize("dropdownBackground","Dropdown background."));selectListBackground=registerColor("dropdown.listBackground",{dark:null,light:null,hcDark:Color.black,hcLight:Color.white},localize("dropdownListBackground","Dropdown list background."));selectForeground=registerColor("dropdown.foreground",{dark:"#F0F0F0",light:foreground,hcDark:Color.white,hcLight:foreground},localize("dropdownForeground","Dropdown foreground."));selectBorder=registerColor("dropdown.border",{dark:selectBackground,light:"#CECECE",hcDark:contrastBorder,hcLight:contrastBorder},localize("dropdownBorder","Dropdown border."));buttonForeground=registerColor("button.foreground",{dark:Color.white,light:Color.white,hcDark:Color.white,hcLight:Color.white},localize("buttonForeground","Button foreground color."));buttonSeparator=registerColor("button.separator",{dark:transparent(buttonForeground,.4),light:transparent(buttonForeground,.4),hcDark:transparent(buttonForeground,.4),hcLight:transparent(buttonForeground,.4)},localize("buttonSeparator","Button separator color."));buttonBackground=registerColor("button.background",{dark:"#0E639C",light:"#007ACC",hcDark:null,hcLight:"#0F4A85"},localize("buttonBackground","Button background color."));buttonHoverBackground=registerColor("button.hoverBackground",{dark:lighten(buttonBackground,.2),light:darken(buttonBackground,.2),hcDark:buttonBackground,hcLight:buttonBackground},localize("buttonHoverBackground","Button background color when hovering."));buttonBorder=registerColor("button.border",{dark:contrastBorder,light:contrastBorder,hcDark:contrastBorder,hcLight:contrastBorder},localize("buttonBorder","Button border color."));buttonSecondaryForeground=registerColor("button.secondaryForeground",{dark:Color.white,light:Color.white,hcDark:Color.white,hcLight:foreground},localize("buttonSecondaryForeground","Secondary button foreground color."));buttonSecondaryBackground=registerColor("button.secondaryBackground",{dark:"#3A3D41",light:"#5F6A79",hcDark:null,hcLight:Color.white},localize("buttonSecondaryBackground","Secondary button background color."));buttonSecondaryHoverBackground=registerColor("button.secondaryHoverBackground",{dark:lighten(buttonSecondaryBackground,.2),light:darken(buttonSecondaryBackground,.2),hcDark:null,hcLight:null},localize("buttonSecondaryHoverBackground","Secondary button background color when hovering."));badgeBackground=registerColor("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hcDark:Color.black,hcLight:"#0F4A85"},localize("badgeBackground","Badge background color. Badges are small information labels, e.g. for search results count."));badgeForeground=registerColor("badge.foreground",{dark:Color.white,light:"#333",hcDark:Color.white,hcLight:Color.white},localize("badgeForeground","Badge foreground color. Badges are small information labels, e.g. for search results count."));scrollbarShadow=registerColor("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hcDark:null,hcLight:null},localize("scrollbarShadow","Scrollbar shadow to indicate that the view is scrolled."));scrollbarSliderBackground=registerColor("scrollbarSlider.background",{dark:Color.fromHex("#797979").transparent(.4),light:Color.fromHex("#646464").transparent(.4),hcDark:transparent(contrastBorder,.6),hcLight:transparent(contrastBorder,.4)},localize("scrollbarSliderBackground","Scrollbar slider background color."));scrollbarSliderHoverBackground=registerColor("scrollbarSlider.hoverBackground",{dark:Color.fromHex("#646464").transparent(.7),light:Color.fromHex("#646464").transparent(.7),hcDark:transparent(contrastBorder,.8),hcLight:transparent(contrastBorder,.8)},localize("scrollbarSliderHoverBackground","Scrollbar slider background color when hovering."));scrollbarSliderActiveBackground=registerColor("scrollbarSlider.activeBackground",{dark:Color.fromHex("#BFBFBF").transparent(.4),light:Color.fromHex("#000000").transparent(.6),hcDark:contrastBorder,hcLight:contrastBorder},localize("scrollbarSliderActiveBackground","Scrollbar slider background color when clicked on."));progressBarBackground=registerColor("progressBar.background",{dark:Color.fromHex("#0E70C0"),light:Color.fromHex("#0E70C0"),hcDark:contrastBorder,hcLight:contrastBorder},localize("progressBarBackground","Background color of the progress bar that can show for long running operations."));editorErrorBackground=registerColor("editorError.background",{dark:null,light:null,hcDark:null,hcLight:null},localize("editorError.background","Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations."),true);editorErrorForeground=registerColor("editorError.foreground",{dark:"#F14C4C",light:"#E51400",hcDark:"#F48771",hcLight:"#B5200D"},localize("editorError.foreground","Foreground color of error squigglies in the editor."));editorErrorBorder=registerColor("editorError.border",{dark:null,light:null,hcDark:Color.fromHex("#E47777").transparent(.8),hcLight:"#B5200D"},localize("errorBorder","If set, color of double underlines for errors in the editor."));editorWarningBackground=registerColor("editorWarning.background",{dark:null,light:null,hcDark:null,hcLight:null},localize("editorWarning.background","Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations."),true);editorWarningForeground=registerColor("editorWarning.foreground",{dark:"#CCA700",light:"#BF8803",hcDark:"#FFD370",hcLight:"#895503"},localize("editorWarning.foreground","Foreground color of warning squigglies in the editor."));editorWarningBorder=registerColor("editorWarning.border",{dark:null,light:null,hcDark:Color.fromHex("#FFCC00").transparent(.8),hcLight:Color.fromHex("#FFCC00").transparent(.8)},localize("warningBorder","If set, color of double underlines for warnings in the editor."));editorInfoBackground=registerColor("editorInfo.background",{dark:null,light:null,hcDark:null,hcLight:null},localize("editorInfo.background","Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations."),true);editorInfoForeground=registerColor("editorInfo.foreground",{dark:"#3794FF",light:"#1a85ff",hcDark:"#3794FF",hcLight:"#1a85ff"},localize("editorInfo.foreground","Foreground color of info squigglies in the editor."));editorInfoBorder=registerColor("editorInfo.border",{dark:null,light:null,hcDark:Color.fromHex("#3794FF").transparent(.8),hcLight:"#292929"},localize("infoBorder","If set, color of double underlines for infos in the editor."));editorHintForeground=registerColor("editorHint.foreground",{dark:Color.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hcDark:null,hcLight:null},localize("editorHint.foreground","Foreground color of hint squigglies in the editor."));editorHintBorder=registerColor("editorHint.border",{dark:null,light:null,hcDark:Color.fromHex("#eeeeee").transparent(.8),hcLight:"#292929"},localize("hintBorder","If set, color of double underlines for hints in the editor."));sashHoverBorder=registerColor("sash.hoverBorder",{dark:focusBorder,light:focusBorder,hcDark:focusBorder,hcLight:focusBorder},localize("sashActiveBorder","Border color of active sashes."));editorBackground=registerColor("editor.background",{light:"#ffffff",dark:"#1E1E1E",hcDark:Color.black,hcLight:Color.white},localize("editorBackground","Editor background color."));editorForeground=registerColor("editor.foreground",{light:"#333333",dark:"#BBBBBB",hcDark:Color.white,hcLight:foreground},localize("editorForeground","Editor default foreground color."));editorStickyScrollBackground=registerColor("editorStickyScroll.background",{light:editorBackground,dark:editorBackground,hcDark:editorBackground,hcLight:editorBackground},localize("editorStickyScrollBackground","Sticky scroll background color for the editor"));editorStickyScrollHoverBackground=registerColor("editorStickyScrollHover.background",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:null,hcLight:Color.fromHex("#0F4A85").transparent(.1)},localize("editorStickyScrollHoverBackground","Sticky scroll on hover background color for the editor"));editorWidgetBackground=registerColor("editorWidget.background",{dark:"#252526",light:"#F3F3F3",hcDark:"#0C141F",hcLight:Color.white},localize("editorWidgetBackground","Background color of editor widgets, such as find/replace."));editorWidgetForeground=registerColor("editorWidget.foreground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("editorWidgetForeground","Foreground color of editor widgets, such as find/replace."));editorWidgetBorder=registerColor("editorWidget.border",{dark:"#454545",light:"#C8C8C8",hcDark:contrastBorder,hcLight:contrastBorder},localize("editorWidgetBorder","Border color of editor widgets. The color is only used if the widget chooses to have a border and if the color is not overridden by a widget."));editorWidgetResizeBorder=registerColor("editorWidget.resizeBorder",{light:null,dark:null,hcDark:null,hcLight:null},localize("editorWidgetResizeBorder","Border color of the resize bar of editor widgets. The color is only used if the widget chooses to have a resize border and if the color is not overridden by a widget."));quickInputBackground=registerColor("quickInput.background",{dark:editorWidgetBackground,light:editorWidgetBackground,hcDark:editorWidgetBackground,hcLight:editorWidgetBackground},localize("pickerBackground","Quick picker background color. The quick picker widget is the container for pickers like the command palette."));quickInputForeground=registerColor("quickInput.foreground",{dark:editorWidgetForeground,light:editorWidgetForeground,hcDark:editorWidgetForeground,hcLight:editorWidgetForeground},localize("pickerForeground","Quick picker foreground color. The quick picker widget is the container for pickers like the command palette."));quickInputTitleBackground=registerColor("quickInputTitle.background",{dark:new Color(new RGBA(255,255,255,.105)),light:new Color(new RGBA(0,0,0,.06)),hcDark:"#000000",hcLight:Color.white},localize("pickerTitleBackground","Quick picker title background color. The quick picker widget is the container for pickers like the command palette."));pickerGroupForeground=registerColor("pickerGroup.foreground",{dark:"#3794FF",light:"#0066BF",hcDark:Color.white,hcLight:"#0F4A85"},localize("pickerGroupForeground","Quick picker color for grouping labels."));pickerGroupBorder=registerColor("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hcDark:Color.white,hcLight:"#0F4A85"},localize("pickerGroupBorder","Quick picker color for grouping borders."));keybindingLabelBackground=registerColor("keybindingLabel.background",{dark:new Color(new RGBA(128,128,128,.17)),light:new Color(new RGBA(221,221,221,.4)),hcDark:Color.transparent,hcLight:Color.transparent},localize("keybindingLabelBackground","Keybinding label background color. The keybinding label is used to represent a keyboard shortcut."));keybindingLabelForeground=registerColor("keybindingLabel.foreground",{dark:Color.fromHex("#CCCCCC"),light:Color.fromHex("#555555"),hcDark:Color.white,hcLight:foreground},localize("keybindingLabelForeground","Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut."));keybindingLabelBorder=registerColor("keybindingLabel.border",{dark:new Color(new RGBA(51,51,51,.6)),light:new Color(new RGBA(204,204,204,.4)),hcDark:new Color(new RGBA(111,195,223)),hcLight:contrastBorder},localize("keybindingLabelBorder","Keybinding label border color. The keybinding label is used to represent a keyboard shortcut."));keybindingLabelBottomBorder=registerColor("keybindingLabel.bottomBorder",{dark:new Color(new RGBA(68,68,68,.6)),light:new Color(new RGBA(187,187,187,.4)),hcDark:new Color(new RGBA(111,195,223)),hcLight:foreground},localize("keybindingLabelBottomBorder","Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut."));editorSelectionBackground=registerColor("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hcDark:"#f3f518",hcLight:"#0F4A85"},localize("editorSelectionBackground","Color of the editor selection."));editorSelectionForeground=registerColor("editor.selectionForeground",{light:null,dark:null,hcDark:"#000000",hcLight:Color.white},localize("editorSelectionForeground","Color of the selected text for high contrast."));editorInactiveSelection=registerColor("editor.inactiveSelectionBackground",{light:transparent(editorSelectionBackground,.5),dark:transparent(editorSelectionBackground,.5),hcDark:transparent(editorSelectionBackground,.7),hcLight:transparent(editorSelectionBackground,.5)},localize("editorInactiveSelection","Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations."),true);editorSelectionHighlight=registerColor("editor.selectionHighlightBackground",{light:lessProminent(editorSelectionBackground,editorBackground,.3,.6),dark:lessProminent(editorSelectionBackground,editorBackground,.3,.6),hcDark:null,hcLight:null},localize("editorSelectionHighlight","Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations."),true);editorSelectionHighlightBorder=registerColor("editor.selectionHighlightBorder",{light:null,dark:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("editorSelectionHighlightBorder","Border color for regions with the same content as the selection."));editorFindMatch=registerColor("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hcDark:null,hcLight:null},localize("editorFindMatch","Color of the current search match."));editorFindMatchHighlight=registerColor("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hcDark:null,hcLight:null},localize("findMatchHighlight","Color of the other search matches. The color must not be opaque so as not to hide underlying decorations."),true);editorFindRangeHighlight=registerColor("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hcDark:null,hcLight:null},localize("findRangeHighlight","Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),true);editorFindMatchBorder=registerColor("editor.findMatchBorder",{light:null,dark:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("editorFindMatchBorder","Border color of the current search match."));editorFindMatchHighlightBorder=registerColor("editor.findMatchHighlightBorder",{light:null,dark:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("findMatchHighlightBorder","Border color of the other search matches."));editorFindRangeHighlightBorder=registerColor("editor.findRangeHighlightBorder",{dark:null,light:null,hcDark:transparent(activeContrastBorder,.4),hcLight:transparent(activeContrastBorder,.4)},localize("findRangeHighlightBorder","Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),true);searchEditorFindMatch=registerColor("searchEditor.findMatchBackground",{light:transparent(editorFindMatchHighlight,.66),dark:transparent(editorFindMatchHighlight,.66),hcDark:editorFindMatchHighlight,hcLight:editorFindMatchHighlight},localize("searchEditor.queryMatch","Color of the Search Editor query matches."));searchEditorFindMatchBorder=registerColor("searchEditor.findMatchBorder",{light:transparent(editorFindMatchHighlightBorder,.66),dark:transparent(editorFindMatchHighlightBorder,.66),hcDark:editorFindMatchHighlightBorder,hcLight:editorFindMatchHighlightBorder},localize("searchEditor.editorFindMatchBorder","Border color of the Search Editor query matches."));searchResultsInfoForeground=registerColor("search.resultsInfoForeground",{light:foreground,dark:transparent(foreground,.65),hcDark:foreground,hcLight:foreground},localize("search.resultsInfoForeground","Color of the text in the search viewlet's completion message."));editorHoverHighlight=registerColor("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hcDark:"#ADD6FF26",hcLight:null},localize("hoverHighlight","Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations."),true);editorHoverBackground=registerColor("editorHoverWidget.background",{light:editorWidgetBackground,dark:editorWidgetBackground,hcDark:editorWidgetBackground,hcLight:editorWidgetBackground},localize("hoverBackground","Background color of the editor hover."));editorHoverForeground=registerColor("editorHoverWidget.foreground",{light:editorWidgetForeground,dark:editorWidgetForeground,hcDark:editorWidgetForeground,hcLight:editorWidgetForeground},localize("hoverForeground","Foreground color of the editor hover."));editorHoverBorder=registerColor("editorHoverWidget.border",{light:editorWidgetBorder,dark:editorWidgetBorder,hcDark:editorWidgetBorder,hcLight:editorWidgetBorder},localize("hoverBorder","Border color of the editor hover."));editorHoverStatusBarBackground=registerColor("editorHoverWidget.statusBarBackground",{dark:lighten(editorHoverBackground,.2),light:darken(editorHoverBackground,.05),hcDark:editorWidgetBackground,hcLight:editorWidgetBackground},localize("statusBarBackground","Background color of the editor hover status bar."));editorActiveLinkForeground=registerColor("editorLink.activeForeground",{dark:"#4E94CE",light:Color.blue,hcDark:Color.cyan,hcLight:"#292929"},localize("activeLinkForeground","Color of active links."));editorInlayHintForeground=registerColor("editorInlayHint.foreground",{dark:"#969696",light:"#969696",hcDark:Color.white,hcLight:Color.black},localize("editorInlayHintForeground","Foreground color of inline hints"));editorInlayHintBackground=registerColor("editorInlayHint.background",{dark:transparent(badgeBackground,.1),light:transparent(badgeBackground,.1),hcDark:transparent(Color.white,.1),hcLight:transparent(badgeBackground,.1)},localize("editorInlayHintBackground","Background color of inline hints"));editorInlayHintTypeForeground=registerColor("editorInlayHint.typeForeground",{dark:editorInlayHintForeground,light:editorInlayHintForeground,hcDark:editorInlayHintForeground,hcLight:editorInlayHintForeground},localize("editorInlayHintForegroundTypes","Foreground color of inline hints for types"));editorInlayHintTypeBackground=registerColor("editorInlayHint.typeBackground",{dark:editorInlayHintBackground,light:editorInlayHintBackground,hcDark:editorInlayHintBackground,hcLight:editorInlayHintBackground},localize("editorInlayHintBackgroundTypes","Background color of inline hints for types"));editorInlayHintParameterForeground=registerColor("editorInlayHint.parameterForeground",{dark:editorInlayHintForeground,light:editorInlayHintForeground,hcDark:editorInlayHintForeground,hcLight:editorInlayHintForeground},localize("editorInlayHintForegroundParameter","Foreground color of inline hints for parameters"));editorInlayHintParameterBackground=registerColor("editorInlayHint.parameterBackground",{dark:editorInlayHintBackground,light:editorInlayHintBackground,hcDark:editorInlayHintBackground,hcLight:editorInlayHintBackground},localize("editorInlayHintBackgroundParameter","Background color of inline hints for parameters"));editorLightBulbForeground=registerColor("editorLightBulb.foreground",{dark:"#FFCC00",light:"#DDB100",hcDark:"#FFCC00",hcLight:"#007ACC"},localize("editorLightBulbForeground","The color used for the lightbulb actions icon."));editorLightBulbAutoFixForeground=registerColor("editorLightBulbAutoFix.foreground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},localize("editorLightBulbAutoFixForeground","The color used for the lightbulb auto fix actions icon."));defaultInsertColor=new Color(new RGBA(155,185,85,.2));defaultRemoveColor=new Color(new RGBA(255,0,0,.2));diffInserted=registerColor("diffEditor.insertedTextBackground",{dark:"#9ccc2c33",light:"#9ccc2c40",hcDark:null,hcLight:null},localize("diffEditorInserted","Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations."),true);diffRemoved=registerColor("diffEditor.removedTextBackground",{dark:"#ff000033",light:"#ff000033",hcDark:null,hcLight:null},localize("diffEditorRemoved","Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations."),true);diffInsertedLine=registerColor("diffEditor.insertedLineBackground",{dark:defaultInsertColor,light:defaultInsertColor,hcDark:null,hcLight:null},localize("diffEditorInsertedLines","Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations."),true);diffRemovedLine=registerColor("diffEditor.removedLineBackground",{dark:defaultRemoveColor,light:defaultRemoveColor,hcDark:null,hcLight:null},localize("diffEditorRemovedLines","Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations."),true);diffInsertedLineGutter=registerColor("diffEditorGutter.insertedLineBackground",{dark:null,light:null,hcDark:null,hcLight:null},localize("diffEditorInsertedLineGutter","Background color for the margin where lines got inserted."));diffRemovedLineGutter=registerColor("diffEditorGutter.removedLineBackground",{dark:null,light:null,hcDark:null,hcLight:null},localize("diffEditorRemovedLineGutter","Background color for the margin where lines got removed."));diffOverviewRulerInserted=registerColor("diffEditorOverview.insertedForeground",{dark:null,light:null,hcDark:null,hcLight:null},localize("diffEditorOverviewInserted","Diff overview ruler foreground for inserted content."));diffOverviewRulerRemoved=registerColor("diffEditorOverview.removedForeground",{dark:null,light:null,hcDark:null,hcLight:null},localize("diffEditorOverviewRemoved","Diff overview ruler foreground for removed content."));diffInsertedOutline=registerColor("diffEditor.insertedTextBorder",{dark:null,light:null,hcDark:"#33ff2eff",hcLight:"#374E06"},localize("diffEditorInsertedOutline","Outline color for the text that got inserted."));diffRemovedOutline=registerColor("diffEditor.removedTextBorder",{dark:null,light:null,hcDark:"#FF008F",hcLight:"#AD0707"},localize("diffEditorRemovedOutline","Outline color for text that got removed."));diffBorder=registerColor("diffEditor.border",{dark:null,light:null,hcDark:contrastBorder,hcLight:contrastBorder},localize("diffEditorBorder","Border color between the two text editors."));diffDiagonalFill=registerColor("diffEditor.diagonalFill",{dark:"#cccccc33",light:"#22222233",hcDark:null,hcLight:null},localize("diffDiagonalFill","Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views."));diffUnchangedRegionBackground=registerColor("diffEditor.unchangedRegionBackground",{dark:"#3e3e3e",light:"#e4e4e4",hcDark:null,hcLight:null},localize("diffEditor.unchangedRegionBackground","The background color of unchanged blocks in the diff editor."));diffUnchangedRegionForeground=registerColor("diffEditor.unchangedRegionForeground",{dark:"#a3a2a2",light:"#4d4c4c",hcDark:null,hcLight:null},localize("diffEditor.unchangedRegionForeground","The foreground color of unchanged blocks in the diff editor."));diffUnchangedTextBackground=registerColor("diffEditor.unchangedCodeBackground",{dark:"#74747429",light:"#b8b8b829",hcDark:null,hcLight:null},localize("diffEditor.unchangedCodeBackground","The background color of unchanged code in the diff editor."));listFocusBackground=registerColor("list.focusBackground",{dark:null,light:null,hcDark:null,hcLight:null},localize("listFocusBackground","List/Tree background color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not."));listFocusForeground=registerColor("list.focusForeground",{dark:null,light:null,hcDark:null,hcLight:null},localize("listFocusForeground","List/Tree foreground color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not."));listFocusOutline=registerColor("list.focusOutline",{dark:focusBorder,light:focusBorder,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("listFocusOutline","List/Tree outline color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not."));listFocusAndSelectionOutline=registerColor("list.focusAndSelectionOutline",{dark:null,light:null,hcDark:null,hcLight:null},localize("listFocusAndSelectionOutline","List/Tree outline color for the focused item when the list/tree is active and selected. An active list/tree has keyboard focus, an inactive does not."));listActiveSelectionBackground=registerColor("list.activeSelectionBackground",{dark:"#04395E",light:"#0060C0",hcDark:null,hcLight:Color.fromHex("#0F4A85").transparent(.1)},localize("listActiveSelectionBackground","List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not."));listActiveSelectionForeground=registerColor("list.activeSelectionForeground",{dark:Color.white,light:Color.white,hcDark:null,hcLight:null},localize("listActiveSelectionForeground","List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not."));listActiveSelectionIconForeground=registerColor("list.activeSelectionIconForeground",{dark:null,light:null,hcDark:null,hcLight:null},localize("listActiveSelectionIconForeground","List/Tree icon foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not."));listInactiveSelectionBackground=registerColor("list.inactiveSelectionBackground",{dark:"#37373D",light:"#E4E6F1",hcDark:null,hcLight:Color.fromHex("#0F4A85").transparent(.1)},localize("listInactiveSelectionBackground","List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not."));listInactiveSelectionForeground=registerColor("list.inactiveSelectionForeground",{dark:null,light:null,hcDark:null,hcLight:null},localize("listInactiveSelectionForeground","List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not."));listInactiveSelectionIconForeground=registerColor("list.inactiveSelectionIconForeground",{dark:null,light:null,hcDark:null,hcLight:null},localize("listInactiveSelectionIconForeground","List/Tree icon foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not."));listInactiveFocusBackground=registerColor("list.inactiveFocusBackground",{dark:null,light:null,hcDark:null,hcLight:null},localize("listInactiveFocusBackground","List/Tree background color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not."));listInactiveFocusOutline=registerColor("list.inactiveFocusOutline",{dark:null,light:null,hcDark:null,hcLight:null},localize("listInactiveFocusOutline","List/Tree outline color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not."));listHoverBackground=registerColor("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:Color.white.transparent(.1),hcLight:Color.fromHex("#0F4A85").transparent(.1)},localize("listHoverBackground","List/Tree background when hovering over items using the mouse."));listHoverForeground=registerColor("list.hoverForeground",{dark:null,light:null,hcDark:null,hcLight:null},localize("listHoverForeground","List/Tree foreground when hovering over items using the mouse."));listDropBackground=registerColor("list.dropBackground",{dark:"#062F4A",light:"#D6EBFF",hcDark:null,hcLight:null},localize("listDropBackground","List/Tree drag and drop background when moving items around using the mouse."));listHighlightForeground=registerColor("list.highlightForeground",{dark:"#2AAAFF",light:"#0066BF",hcDark:focusBorder,hcLight:focusBorder},localize("highlight","List/Tree foreground color of the match highlights when searching inside the list/tree."));listFocusHighlightForeground=registerColor("list.focusHighlightForeground",{dark:listHighlightForeground,light:ifDefinedThenElse(listActiveSelectionBackground,listHighlightForeground,"#BBE7FF"),hcDark:listHighlightForeground,hcLight:listHighlightForeground},localize("listFocusHighlightForeground","List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree."));listInvalidItemForeground=registerColor("list.invalidItemForeground",{dark:"#B89500",light:"#B89500",hcDark:"#B89500",hcLight:"#B5200D"},localize("invalidItemForeground","List/Tree foreground color for invalid items, for example an unresolved root in explorer."));listErrorForeground=registerColor("list.errorForeground",{dark:"#F88070",light:"#B01011",hcDark:null,hcLight:null},localize("listErrorForeground","Foreground color of list items containing errors."));listWarningForeground=registerColor("list.warningForeground",{dark:"#CCA700",light:"#855F00",hcDark:null,hcLight:null},localize("listWarningForeground","Foreground color of list items containing warnings."));listFilterWidgetBackground=registerColor("listFilterWidget.background",{light:darken(editorWidgetBackground,0),dark:lighten(editorWidgetBackground,0),hcDark:editorWidgetBackground,hcLight:editorWidgetBackground},localize("listFilterWidgetBackground","Background color of the type filter widget in lists and trees."));listFilterWidgetOutline=registerColor("listFilterWidget.outline",{dark:Color.transparent,light:Color.transparent,hcDark:"#f38518",hcLight:"#007ACC"},localize("listFilterWidgetOutline","Outline color of the type filter widget in lists and trees."));listFilterWidgetNoMatchesOutline=registerColor("listFilterWidget.noMatchesOutline",{dark:"#BE1100",light:"#BE1100",hcDark:contrastBorder,hcLight:contrastBorder},localize("listFilterWidgetNoMatchesOutline","Outline color of the type filter widget in lists and trees, when there are no matches."));listFilterWidgetShadow=registerColor("listFilterWidget.shadow",{dark:widgetShadow,light:widgetShadow,hcDark:widgetShadow,hcLight:widgetShadow},localize("listFilterWidgetShadow","Shadow color of the type filter widget in lists and trees."));listFilterMatchHighlight=registerColor("list.filterMatchBackground",{dark:editorFindMatchHighlight,light:editorFindMatchHighlight,hcDark:null,hcLight:null},localize("listFilterMatchHighlight","Background color of the filtered match."));listFilterMatchHighlightBorder=registerColor("list.filterMatchBorder",{dark:editorFindMatchHighlightBorder,light:editorFindMatchHighlightBorder,hcDark:contrastBorder,hcLight:activeContrastBorder},localize("listFilterMatchHighlightBorder","Border color of the filtered match."));treeIndentGuidesStroke=registerColor("tree.indentGuidesStroke",{dark:"#585858",light:"#a9a9a9",hcDark:"#a9a9a9",hcLight:"#a5a5a5"},localize("treeIndentGuidesStroke","Tree stroke color for the indentation guides."));treeInactiveIndentGuidesStroke=registerColor("tree.inactiveIndentGuidesStroke",{dark:transparent(treeIndentGuidesStroke,.4),light:transparent(treeIndentGuidesStroke,.4),hcDark:transparent(treeIndentGuidesStroke,.4),hcLight:transparent(treeIndentGuidesStroke,.4)},localize("treeInactiveIndentGuidesStroke","Tree stroke color for the indentation guides that are not active."));tableColumnsBorder=registerColor("tree.tableColumnsBorder",{dark:"#CCCCCC20",light:"#61616120",hcDark:null,hcLight:null},localize("tableColumnsBorder","Table border color between columns."));tableOddRowsBackgroundColor=registerColor("tree.tableOddRowsBackground",{dark:transparent(foreground,.04),light:transparent(foreground,.04),hcDark:null,hcLight:null},localize("tableOddRowsBackgroundColor","Background color for odd table rows."));listDeemphasizedForeground=registerColor("list.deemphasizedForeground",{dark:"#8C8C8C",light:"#8E8E90",hcDark:"#A7A8A9",hcLight:"#666666"},localize("listDeemphasizedForeground","List/Tree foreground color for items that are deemphasized. "));checkboxBackground=registerColor("checkbox.background",{dark:selectBackground,light:selectBackground,hcDark:selectBackground,hcLight:selectBackground},localize("checkbox.background","Background color of checkbox widget."));checkboxSelectBackground=registerColor("checkbox.selectBackground",{dark:editorWidgetBackground,light:editorWidgetBackground,hcDark:editorWidgetBackground,hcLight:editorWidgetBackground},localize("checkbox.select.background","Background color of checkbox widget when the element it's in is selected."));checkboxForeground=registerColor("checkbox.foreground",{dark:selectForeground,light:selectForeground,hcDark:selectForeground,hcLight:selectForeground},localize("checkbox.foreground","Foreground color of checkbox widget."));checkboxBorder=registerColor("checkbox.border",{dark:selectBorder,light:selectBorder,hcDark:selectBorder,hcLight:selectBorder},localize("checkbox.border","Border color of checkbox widget."));checkboxSelectBorder=registerColor("checkbox.selectBorder",{dark:iconForeground,light:iconForeground,hcDark:iconForeground,hcLight:iconForeground},localize("checkbox.select.border","Border color of checkbox widget when the element it's in is selected."));_deprecatedQuickInputListFocusBackground=registerColor("quickInput.list.focusBackground",{dark:null,light:null,hcDark:null,hcLight:null},"",void 0,localize("quickInput.list.focusBackground deprecation","Please use quickInputList.focusBackground instead"));quickInputListFocusForeground=registerColor("quickInputList.focusForeground",{dark:listActiveSelectionForeground,light:listActiveSelectionForeground,hcDark:listActiveSelectionForeground,hcLight:listActiveSelectionForeground},localize("quickInput.listFocusForeground","Quick picker foreground color for the focused item."));quickInputListFocusIconForeground=registerColor("quickInputList.focusIconForeground",{dark:listActiveSelectionIconForeground,light:listActiveSelectionIconForeground,hcDark:listActiveSelectionIconForeground,hcLight:listActiveSelectionIconForeground},localize("quickInput.listFocusIconForeground","Quick picker icon foreground color for the focused item."));quickInputListFocusBackground=registerColor("quickInputList.focusBackground",{dark:oneOf(_deprecatedQuickInputListFocusBackground,listActiveSelectionBackground),light:oneOf(_deprecatedQuickInputListFocusBackground,listActiveSelectionBackground),hcDark:null,hcLight:null},localize("quickInput.listFocusBackground","Quick picker background color for the focused item."));menuBorder=registerColor("menu.border",{dark:null,light:null,hcDark:contrastBorder,hcLight:contrastBorder},localize("menuBorder","Border color of menus."));menuForeground=registerColor("menu.foreground",{dark:selectForeground,light:selectForeground,hcDark:selectForeground,hcLight:selectForeground},localize("menuForeground","Foreground color of menu items."));menuBackground=registerColor("menu.background",{dark:selectBackground,light:selectBackground,hcDark:selectBackground,hcLight:selectBackground},localize("menuBackground","Background color of menu items."));menuSelectionForeground=registerColor("menu.selectionForeground",{dark:listActiveSelectionForeground,light:listActiveSelectionForeground,hcDark:listActiveSelectionForeground,hcLight:listActiveSelectionForeground},localize("menuSelectionForeground","Foreground color of the selected menu item in menus."));menuSelectionBackground=registerColor("menu.selectionBackground",{dark:listActiveSelectionBackground,light:listActiveSelectionBackground,hcDark:listActiveSelectionBackground,hcLight:listActiveSelectionBackground},localize("menuSelectionBackground","Background color of the selected menu item in menus."));menuSelectionBorder=registerColor("menu.selectionBorder",{dark:null,light:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("menuSelectionBorder","Border color of the selected menu item in menus."));menuSeparatorBackground=registerColor("menu.separatorBackground",{dark:"#606060",light:"#D4D4D4",hcDark:contrastBorder,hcLight:contrastBorder},localize("menuSeparatorBackground","Color of a separator menu item in menus."));toolbarHoverBackground=registerColor("toolbar.hoverBackground",{dark:"#5a5d5e50",light:"#b8b8b850",hcDark:null,hcLight:null},localize("toolbarHoverBackground","Toolbar background when hovering over actions using the mouse"));toolbarHoverOutline=registerColor("toolbar.hoverOutline",{dark:null,light:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("toolbarHoverOutline","Toolbar outline when hovering over actions using the mouse"));toolbarActiveBackground=registerColor("toolbar.activeBackground",{dark:lighten(toolbarHoverBackground,.1),light:darken(toolbarHoverBackground,.1),hcDark:null,hcLight:null},localize("toolbarActiveBackground","Toolbar background when holding the mouse over actions"));snippetTabstopHighlightBackground=registerColor("editor.snippetTabstopHighlightBackground",{dark:new Color(new RGBA(124,124,124,.3)),light:new Color(new RGBA(10,50,100,.2)),hcDark:new Color(new RGBA(124,124,124,.3)),hcLight:new Color(new RGBA(10,50,100,.2))},localize("snippetTabstopHighlightBackground","Highlight background color of a snippet tabstop."));snippetTabstopHighlightBorder=registerColor("editor.snippetTabstopHighlightBorder",{dark:null,light:null,hcDark:null,hcLight:null},localize("snippetTabstopHighlightBorder","Highlight border color of a snippet tabstop."));snippetFinalTabstopHighlightBackground=registerColor("editor.snippetFinalTabstopHighlightBackground",{dark:null,light:null,hcDark:null,hcLight:null},localize("snippetFinalTabstopHighlightBackground","Highlight background color of the final tabstop of a snippet."));snippetFinalTabstopHighlightBorder=registerColor("editor.snippetFinalTabstopHighlightBorder",{dark:"#525252",light:new Color(new RGBA(10,50,100,.5)),hcDark:"#525252",hcLight:"#292929"},localize("snippetFinalTabstopHighlightBorder","Highlight border color of the final tabstop of a snippet."));breadcrumbsForeground=registerColor("breadcrumb.foreground",{light:transparent(foreground,.8),dark:transparent(foreground,.8),hcDark:transparent(foreground,.8),hcLight:transparent(foreground,.8)},localize("breadcrumbsFocusForeground","Color of focused breadcrumb items."));breadcrumbsBackground=registerColor("breadcrumb.background",{light:editorBackground,dark:editorBackground,hcDark:editorBackground,hcLight:editorBackground},localize("breadcrumbsBackground","Background color of breadcrumb items."));breadcrumbsFocusForeground=registerColor("breadcrumb.focusForeground",{light:darken(foreground,.2),dark:lighten(foreground,.1),hcDark:lighten(foreground,.1),hcLight:lighten(foreground,.1)},localize("breadcrumbsFocusForeground","Color of focused breadcrumb items."));breadcrumbsActiveSelectionForeground=registerColor("breadcrumb.activeSelectionForeground",{light:darken(foreground,.2),dark:lighten(foreground,.1),hcDark:lighten(foreground,.1),hcLight:lighten(foreground,.1)},localize("breadcrumbsSelectedForeground","Color of selected breadcrumb items."));breadcrumbsPickerBackground=registerColor("breadcrumbPicker.background",{light:editorWidgetBackground,dark:editorWidgetBackground,hcDark:editorWidgetBackground,hcLight:editorWidgetBackground},localize("breadcrumbsSelectedBackground","Background color of breadcrumb item picker."));headerTransparency=.5;currentBaseColor=Color.fromHex("#40C8AE").transparent(headerTransparency);incomingBaseColor=Color.fromHex("#40A6FF").transparent(headerTransparency);commonBaseColor=Color.fromHex("#606060").transparent(.4);contentTransparency=.4;rulerTransparency=1;mergeCurrentHeaderBackground=registerColor("merge.currentHeaderBackground",{dark:currentBaseColor,light:currentBaseColor,hcDark:null,hcLight:null},localize("mergeCurrentHeaderBackground","Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),true);mergeCurrentContentBackground=registerColor("merge.currentContentBackground",{dark:transparent(mergeCurrentHeaderBackground,contentTransparency),light:transparent(mergeCurrentHeaderBackground,contentTransparency),hcDark:transparent(mergeCurrentHeaderBackground,contentTransparency),hcLight:transparent(mergeCurrentHeaderBackground,contentTransparency)},localize("mergeCurrentContentBackground","Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),true);mergeIncomingHeaderBackground=registerColor("merge.incomingHeaderBackground",{dark:incomingBaseColor,light:incomingBaseColor,hcDark:null,hcLight:null},localize("mergeIncomingHeaderBackground","Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),true);mergeIncomingContentBackground=registerColor("merge.incomingContentBackground",{dark:transparent(mergeIncomingHeaderBackground,contentTransparency),light:transparent(mergeIncomingHeaderBackground,contentTransparency),hcDark:transparent(mergeIncomingHeaderBackground,contentTransparency),hcLight:transparent(mergeIncomingHeaderBackground,contentTransparency)},localize("mergeIncomingContentBackground","Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),true);mergeCommonHeaderBackground=registerColor("merge.commonHeaderBackground",{dark:commonBaseColor,light:commonBaseColor,hcDark:null,hcLight:null},localize("mergeCommonHeaderBackground","Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),true);mergeCommonContentBackground=registerColor("merge.commonContentBackground",{dark:transparent(mergeCommonHeaderBackground,contentTransparency),light:transparent(mergeCommonHeaderBackground,contentTransparency),hcDark:transparent(mergeCommonHeaderBackground,contentTransparency),hcLight:transparent(mergeCommonHeaderBackground,contentTransparency)},localize("mergeCommonContentBackground","Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),true);mergeBorder=registerColor("merge.border",{dark:null,light:null,hcDark:"#C3DF6F",hcLight:"#007ACC"},localize("mergeBorder","Border color on headers and the splitter in inline merge-conflicts."));overviewRulerCurrentContentForeground=registerColor("editorOverviewRuler.currentContentForeground",{dark:transparent(mergeCurrentHeaderBackground,rulerTransparency),light:transparent(mergeCurrentHeaderBackground,rulerTransparency),hcDark:mergeBorder,hcLight:mergeBorder},localize("overviewRulerCurrentContentForeground","Current overview ruler foreground for inline merge-conflicts."));overviewRulerIncomingContentForeground=registerColor("editorOverviewRuler.incomingContentForeground",{dark:transparent(mergeIncomingHeaderBackground,rulerTransparency),light:transparent(mergeIncomingHeaderBackground,rulerTransparency),hcDark:mergeBorder,hcLight:mergeBorder},localize("overviewRulerIncomingContentForeground","Incoming overview ruler foreground for inline merge-conflicts."));overviewRulerCommonContentForeground=registerColor("editorOverviewRuler.commonContentForeground",{dark:transparent(mergeCommonHeaderBackground,rulerTransparency),light:transparent(mergeCommonHeaderBackground,rulerTransparency),hcDark:mergeBorder,hcLight:mergeBorder},localize("overviewRulerCommonContentForeground","Common ancestor overview ruler foreground for inline merge-conflicts."));overviewRulerFindMatchForeground=registerColor("editorOverviewRuler.findMatchForeground",{dark:"#d186167e",light:"#d186167e",hcDark:"#AB5A00",hcLight:""},localize("overviewRulerFindMatchForeground","Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations."),true);overviewRulerSelectionHighlightForeground=registerColor("editorOverviewRuler.selectionHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hcDark:"#A0A0A0CC",hcLight:"#A0A0A0CC"},localize("overviewRulerSelectionHighlightForeground","Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations."),true);minimapFindMatch=registerColor("minimap.findMatchHighlight",{light:"#d18616",dark:"#d18616",hcDark:"#AB5A00",hcLight:"#0F4A85"},localize("minimapFindMatchHighlight","Minimap marker color for find matches."),true);minimapSelectionOccurrenceHighlight=registerColor("minimap.selectionOccurrenceHighlight",{light:"#c9c9c9",dark:"#676767",hcDark:"#ffffff",hcLight:"#0F4A85"},localize("minimapSelectionOccurrenceHighlight","Minimap marker color for repeating editor selections."),true);minimapSelection=registerColor("minimap.selectionHighlight",{light:"#ADD6FF",dark:"#264F78",hcDark:"#ffffff",hcLight:"#0F4A85"},localize("minimapSelectionHighlight","Minimap marker color for the editor selection."),true);minimapError=registerColor("minimap.errorHighlight",{dark:new Color(new RGBA(255,18,18,.7)),light:new Color(new RGBA(255,18,18,.7)),hcDark:new Color(new RGBA(255,50,50,1)),hcLight:"#B5200D"},localize("minimapError","Minimap marker color for errors."));minimapWarning=registerColor("minimap.warningHighlight",{dark:editorWarningForeground,light:editorWarningForeground,hcDark:editorWarningBorder,hcLight:editorWarningBorder},localize("overviewRuleWarning","Minimap marker color for warnings."));minimapBackground=registerColor("minimap.background",{dark:null,light:null,hcDark:null,hcLight:null},localize("minimapBackground","Minimap background color."));minimapForegroundOpacity=registerColor("minimap.foregroundOpacity",{dark:Color.fromHex("#000f"),light:Color.fromHex("#000f"),hcDark:Color.fromHex("#000f"),hcLight:Color.fromHex("#000f")},localize("minimapForegroundOpacity",'Opacity of foreground elements rendered in the minimap. For example, "#000000c0" will render the elements with 75% opacity.'));minimapSliderBackground=registerColor("minimapSlider.background",{light:transparent(scrollbarSliderBackground,.5),dark:transparent(scrollbarSliderBackground,.5),hcDark:transparent(scrollbarSliderBackground,.5),hcLight:transparent(scrollbarSliderBackground,.5)},localize("minimapSliderBackground","Minimap slider background color."));minimapSliderHoverBackground=registerColor("minimapSlider.hoverBackground",{light:transparent(scrollbarSliderHoverBackground,.5),dark:transparent(scrollbarSliderHoverBackground,.5),hcDark:transparent(scrollbarSliderHoverBackground,.5),hcLight:transparent(scrollbarSliderHoverBackground,.5)},localize("minimapSliderHoverBackground","Minimap slider background color when hovering."));minimapSliderActiveBackground=registerColor("minimapSlider.activeBackground",{light:transparent(scrollbarSliderActiveBackground,.5),dark:transparent(scrollbarSliderActiveBackground,.5),hcDark:transparent(scrollbarSliderActiveBackground,.5),hcLight:transparent(scrollbarSliderActiveBackground,.5)},localize("minimapSliderActiveBackground","Minimap slider background color when clicked on."));problemsErrorIconForeground=registerColor("problemsErrorIcon.foreground",{dark:editorErrorForeground,light:editorErrorForeground,hcDark:editorErrorForeground,hcLight:editorErrorForeground},localize("problemsErrorIconForeground","The color used for the problems error icon."));problemsWarningIconForeground=registerColor("problemsWarningIcon.foreground",{dark:editorWarningForeground,light:editorWarningForeground,hcDark:editorWarningForeground,hcLight:editorWarningForeground},localize("problemsWarningIconForeground","The color used for the problems warning icon."));problemsInfoIconForeground=registerColor("problemsInfoIcon.foreground",{dark:editorInfoForeground,light:editorInfoForeground,hcDark:editorInfoForeground,hcLight:editorInfoForeground},localize("problemsInfoIconForeground","The color used for the problems info icon."));chartsForeground=registerColor("charts.foreground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("chartsForeground","The foreground color used in charts."));chartsLines=registerColor("charts.lines",{dark:transparent(foreground,.5),light:transparent(foreground,.5),hcDark:transparent(foreground,.5),hcLight:transparent(foreground,.5)},localize("chartsLines","The color used for horizontal lines in charts."));chartsRed=registerColor("charts.red",{dark:editorErrorForeground,light:editorErrorForeground,hcDark:editorErrorForeground,hcLight:editorErrorForeground},localize("chartsRed","The red color used in chart visualizations."));chartsBlue=registerColor("charts.blue",{dark:editorInfoForeground,light:editorInfoForeground,hcDark:editorInfoForeground,hcLight:editorInfoForeground},localize("chartsBlue","The blue color used in chart visualizations."));chartsYellow=registerColor("charts.yellow",{dark:editorWarningForeground,light:editorWarningForeground,hcDark:editorWarningForeground,hcLight:editorWarningForeground},localize("chartsYellow","The yellow color used in chart visualizations."));chartsOrange=registerColor("charts.orange",{dark:minimapFindMatch,light:minimapFindMatch,hcDark:minimapFindMatch,hcLight:minimapFindMatch},localize("chartsOrange","The orange color used in chart visualizations."));chartsGreen=registerColor("charts.green",{dark:"#89D185",light:"#388A34",hcDark:"#89D185",hcLight:"#374e06"},localize("chartsGreen","The green color used in chart visualizations."));chartsPurple=registerColor("charts.purple",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},localize("chartsPurple","The purple color used in chart visualizations."));workbenchColorsSchemaId="vscode://schemas/workbench-colors";schemaRegistry=Registry.as(Extensions.JSONContribution);schemaRegistry.registerSchema(workbenchColorsSchemaId,colorRegistry.getColorSchema());delayer=new RunOnceScheduler((()=>schemaRegistry.notifySchemaChanged(workbenchColorsSchemaId)),200);colorRegistry.onDidChangeSchema((()=>{if(!delayer.isScheduled()){delayer.schedule()}}))}});function createEditorPagePosition(editorViewDomNode){const editorPos=getDomNodePagePosition(editorViewDomNode);return new EditorPagePosition(editorPos.left,editorPos.top,editorPos.width,editorPos.height)}function createCoordinatesRelativeToEditor(editorViewDomNode,editorPagePosition,pos){const scaleX=editorPagePosition.width/editorViewDomNode.offsetWidth;const scaleY=editorPagePosition.height/editorViewDomNode.offsetHeight;const relativeX=(pos.x-editorPagePosition.x)/scaleX;const relativeY=(pos.y-editorPagePosition.y)/scaleY;return new CoordinatesRelativeToEditor(relativeX,relativeY)}function camelToDashes(str){return str.replace(/(^[A-Z])/,(([first2])=>first2.toLowerCase())).replace(/([A-Z])/g,(([letter])=>`-${letter.toLowerCase()}`))}var PageCoordinates,ClientCoordinates,EditorPagePosition,CoordinatesRelativeToEditor,EditorMouseEvent,EditorMouseEventFactory,EditorPointerEventFactory,GlobalEditorPointerMoveMonitor,DynamicCssRules,RefCountedCssRule;var init_editorDom=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/editorDom.js"(){init_dom();init_globalPointerMoveMonitor();init_mouseEvent();init_async();init_lifecycle();init_colorRegistry();PageCoordinates=class{constructor(x,y){this.x=x;this.y=y;this._pageCoordinatesBrand=void 0}toClientCoordinates(){return new ClientCoordinates(this.x-window.scrollX,this.y-window.scrollY)}};ClientCoordinates=class{constructor(clientX,clientY){this.clientX=clientX;this.clientY=clientY;this._clientCoordinatesBrand=void 0}toPageCoordinates(){return new PageCoordinates(this.clientX+window.scrollX,this.clientY+window.scrollY)}};EditorPagePosition=class{constructor(x,y,width,height){this.x=x;this.y=y;this.width=width;this.height=height;this._editorPagePositionBrand=void 0}};CoordinatesRelativeToEditor=class{constructor(x,y){this.x=x;this.y=y;this._positionRelativeToEditorBrand=void 0}};EditorMouseEvent=class extends StandardMouseEvent{constructor(e,isFromPointerCapture,editorViewDomNode){super(e);this._editorMouseEventBrand=void 0;this.isFromPointerCapture=isFromPointerCapture;this.pos=new PageCoordinates(this.posx,this.posy);this.editorPos=createEditorPagePosition(editorViewDomNode);this.relativePos=createCoordinatesRelativeToEditor(editorViewDomNode,this.editorPos,this.pos)}};EditorMouseEventFactory=class{constructor(editorViewDomNode){this._editorViewDomNode=editorViewDomNode}_create(e){return new EditorMouseEvent(e,false,this._editorViewDomNode)}onContextMenu(target,callback){return addDisposableListener(target,"contextmenu",(e=>{callback(this._create(e))}))}onMouseUp(target,callback){return addDisposableListener(target,"mouseup",(e=>{callback(this._create(e))}))}onMouseDown(target,callback){return addDisposableListener(target,EventType.MOUSE_DOWN,(e=>{callback(this._create(e))}))}onPointerDown(target,callback){return addDisposableListener(target,EventType.POINTER_DOWN,(e=>{callback(this._create(e),e.pointerId)}))}onMouseLeave(target,callback){return addDisposableListener(target,EventType.MOUSE_LEAVE,(e=>{callback(this._create(e))}))}onMouseMove(target,callback){return addDisposableListener(target,"mousemove",(e=>callback(this._create(e))))}};EditorPointerEventFactory=class{constructor(editorViewDomNode){this._editorViewDomNode=editorViewDomNode}_create(e){return new EditorMouseEvent(e,false,this._editorViewDomNode)}onPointerUp(target,callback){return addDisposableListener(target,"pointerup",(e=>{callback(this._create(e))}))}onPointerDown(target,callback){return addDisposableListener(target,EventType.POINTER_DOWN,(e=>{callback(this._create(e),e.pointerId)}))}onPointerLeave(target,callback){return addDisposableListener(target,EventType.POINTER_LEAVE,(e=>{callback(this._create(e))}))}onPointerMove(target,callback){return addDisposableListener(target,"pointermove",(e=>callback(this._create(e))))}};GlobalEditorPointerMoveMonitor=class extends Disposable{constructor(editorViewDomNode){super();this._editorViewDomNode=editorViewDomNode;this._globalPointerMoveMonitor=this._register(new GlobalPointerMoveMonitor);this._keydownListener=null}startMonitoring(initialElement,pointerId,initialButtons,pointerMoveCallback,onStopCallback){this._keydownListener=addStandardDisposableListener(document,"keydown",(e=>{const chord=e.toKeyCodeChord();if(chord.isModifierKey()){return}this._globalPointerMoveMonitor.stopMonitoring(true,e.browserEvent)}),true);this._globalPointerMoveMonitor.startMonitoring(initialElement,pointerId,initialButtons,(e=>{pointerMoveCallback(new EditorMouseEvent(e,true,this._editorViewDomNode))}),(e=>{this._keydownListener.dispose();onStopCallback(e)}))}stopMonitoring(){this._globalPointerMoveMonitor.stopMonitoring(true)}};DynamicCssRules=class{constructor(_editor){this._editor=_editor;this._instanceId=++DynamicCssRules._idPool;this._counter=0;this._rules=new Map;this._garbageCollectionScheduler=new RunOnceScheduler((()=>this.garbageCollect()),1e3)}createClassNameRef(options2){const rule=this.getOrCreateRule(options2);rule.increaseRefCount();return{className:rule.className,dispose:()=>{rule.decreaseRefCount();this._garbageCollectionScheduler.schedule()}}}getOrCreateRule(properties){const key=this.computeUniqueKey(properties);let existingRule=this._rules.get(key);if(!existingRule){const counter=this._counter++;existingRule=new RefCountedCssRule(key,`dyn-rule-${this._instanceId}-${counter}`,isInShadowDOM(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0,properties);this._rules.set(key,existingRule)}return existingRule}computeUniqueKey(properties){return JSON.stringify(properties)}garbageCollect(){for(const rule of this._rules.values()){if(!rule.hasReferences()){this._rules.delete(rule.key);rule.dispose()}}}};DynamicCssRules._idPool=0;RefCountedCssRule=class{constructor(key,className,_containerElement,properties){this.key=key;this.className=className;this.properties=properties;this._referenceCount=0;this._styleElement=createStyleSheet(_containerElement);this._styleElement.textContent=this.getCssText(this.className,this.properties)}getCssText(className,properties){let str=`.${className} {`;for(const prop in properties){const value=properties[prop];let cssValue;if(typeof value==="object"){cssValue=asCssVariable(value.id)}else{cssValue=value}const cssPropName=camelToDashes(prop);str+=`\n\t${cssPropName}: ${cssValue};`}str+=`\n}`;return str}dispose(){this._styleElement.remove()}increaseRefCount(){this._referenceCount++}decreaseRefCount(){this._referenceCount--}hasReferences(){return this._referenceCount>0}}}});var ViewEventHandler;var init_viewEventHandler=__esm({"node_modules/monaco-editor/esm/vs/editor/common/viewEventHandler.js"(){init_lifecycle();ViewEventHandler=class extends Disposable{constructor(){super();this._shouldRender=true}shouldRender(){return this._shouldRender}forceShouldRender(){this._shouldRender=true}setShouldRender(){this._shouldRender=true}onDidRender(){this._shouldRender=false}onCompositionStart(e){return false}onCompositionEnd(e){return false}onConfigurationChanged(e){return false}onCursorStateChanged(e){return false}onDecorationsChanged(e){return false}onFlushed(e){return false}onFocusChanged(e){return false}onLanguageConfigurationChanged(e){return false}onLineMappingChanged(e){return false}onLinesChanged(e){return false}onLinesDeleted(e){return false}onLinesInserted(e){return false}onRevealRangeRequest(e){return false}onScrollChanged(e){return false}onThemeChanged(e){return false}onTokensChanged(e){return false}onTokensColorsChanged(e){return false}onZonesChanged(e){return false}handleEvents(events){let shouldRender=false;for(let i=0,len=events.length;i<len;i++){const e=events[i];switch(e.type){case 0:if(this.onCompositionStart(e)){shouldRender=true}break;case 1:if(this.onCompositionEnd(e)){shouldRender=true}break;case 2:if(this.onConfigurationChanged(e)){shouldRender=true}break;case 3:if(this.onCursorStateChanged(e)){shouldRender=true}break;case 4:if(this.onDecorationsChanged(e)){shouldRender=true}break;case 5:if(this.onFlushed(e)){shouldRender=true}break;case 6:if(this.onFocusChanged(e)){shouldRender=true}break;case 7:if(this.onLanguageConfigurationChanged(e)){shouldRender=true}break;case 8:if(this.onLineMappingChanged(e)){shouldRender=true}break;case 9:if(this.onLinesChanged(e)){shouldRender=true}break;case 10:if(this.onLinesDeleted(e)){shouldRender=true}break;case 11:if(this.onLinesInserted(e)){shouldRender=true}break;case 12:if(this.onRevealRangeRequest(e)){shouldRender=true}break;case 13:if(this.onScrollChanged(e)){shouldRender=true}break;case 15:if(this.onTokensChanged(e)){shouldRender=true}break;case 14:if(this.onThemeChanged(e)){shouldRender=true}break;case 16:if(this.onTokensColorsChanged(e)){shouldRender=true}break;case 17:if(this.onZonesChanged(e)){shouldRender=true}break;default:console.info("View received unknown event: ");console.info(e)}}if(shouldRender){this._shouldRender=true}}}}});var ViewPart,PartFingerprints;var init_viewPart=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/view/viewPart.js"(){init_viewEventHandler();ViewPart=class extends ViewEventHandler{constructor(context){super();this._context=context;this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this);super.dispose()}};PartFingerprints=class{static write(target,partId){target.setAttribute("data-mprt",String(partId))}static read(target){const r=target.getAttribute("data-mprt");if(r===null){return 0}return parseInt(r,10)}static collect(child,stopAt){const result=[];let resultLen=0;while(child&&child!==document.body){if(child===stopAt){break}if(child.nodeType===child.ELEMENT_NODE){result[resultLen++]=this.read(child)}child=child.parentElement}const r=new Uint8Array(resultLen);for(let i=0;i<resultLen;i++){r[i]=result[resultLen-i-1]}return r}}}});var RestrictedRenderingContext,RenderingContext,LineVisibleRanges,HorizontalRange,FloatHorizontalRange,HorizontalPosition,VisibleRanges;var init_renderingContext=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/view/renderingContext.js"(){RestrictedRenderingContext=class{constructor(viewLayout,viewportData){this._restrictedRenderingContextBrand=void 0;this._viewLayout=viewLayout;this.viewportData=viewportData;this.scrollWidth=this._viewLayout.getScrollWidth();this.scrollHeight=this._viewLayout.getScrollHeight();this.visibleRange=this.viewportData.visibleRange;this.bigNumbersDelta=this.viewportData.bigNumbersDelta;const vInfo=this._viewLayout.getCurrentViewport();this.scrollTop=vInfo.top;this.scrollLeft=vInfo.left;this.viewportWidth=vInfo.width;this.viewportHeight=vInfo.height}getScrolledTopFromAbsoluteTop(absoluteTop){return absoluteTop-this.scrollTop}getVerticalOffsetForLineNumber(lineNumber,includeViewZones){return this._viewLayout.getVerticalOffsetForLineNumber(lineNumber,includeViewZones)}getVerticalOffsetAfterLineNumber(lineNumber,includeViewZones){return this._viewLayout.getVerticalOffsetAfterLineNumber(lineNumber,includeViewZones)}getDecorationsInViewport(){return this.viewportData.getDecorationsInViewport()}};RenderingContext=class extends RestrictedRenderingContext{constructor(viewLayout,viewportData,viewLines){super(viewLayout,viewportData);this._renderingContextBrand=void 0;this._viewLines=viewLines}linesVisibleRangesForRange(range2,includeNewLines){return this._viewLines.linesVisibleRangesForRange(range2,includeNewLines)}visibleRangeForPosition(position){return this._viewLines.visibleRangeForPosition(position)}};LineVisibleRanges=class{constructor(outsideRenderedLine,lineNumber,ranges,continuesOnNextLine){this.outsideRenderedLine=outsideRenderedLine;this.lineNumber=lineNumber;this.ranges=ranges;this.continuesOnNextLine=continuesOnNextLine}};HorizontalRange=class{static from(ranges){const result=new Array(ranges.length);for(let i=0,len=ranges.length;i<len;i++){const range2=ranges[i];result[i]=new HorizontalRange(range2.left,range2.width)}return result}constructor(left,width){this._horizontalRangeBrand=void 0;this.left=Math.round(left);this.width=Math.round(width)}toString(){return`[${this.left},${this.width}]`}};FloatHorizontalRange=class{constructor(left,width){this._floatHorizontalRangeBrand=void 0;this.left=left;this.width=width}toString(){return`[${this.left},${this.width}]`}static compare(a,b){return a.left-b.left}};HorizontalPosition=class{constructor(outsideRenderedLine,left){this.outsideRenderedLine=outsideRenderedLine;this.originalLeft=left;this.left=Math.round(this.originalLeft)}};VisibleRanges=class{constructor(outsideRenderedLine,ranges){this.outsideRenderedLine=outsideRenderedLine;this.ranges=ranges}}}});var RangeUtil;var init_rangeUtil=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lines/rangeUtil.js"(){init_renderingContext();RangeUtil=class{static _createRange(){if(!this._handyReadyRange){this._handyReadyRange=document.createRange()}return this._handyReadyRange}static _detachRange(range2,endNode){range2.selectNodeContents(endNode)}static _readClientRects(startElement,startOffset,endElement,endOffset,endNode){const range2=this._createRange();try{range2.setStart(startElement,startOffset);range2.setEnd(endElement,endOffset);return range2.getClientRects()}catch(e){return null}finally{this._detachRange(range2,endNode)}}static _mergeAdjacentRanges(ranges){if(ranges.length===1){return ranges}ranges.sort(FloatHorizontalRange.compare);const result=[];let resultLen=0;let prev=ranges[0];for(let i=1,len=ranges.length;i<len;i++){const range2=ranges[i];if(prev.left+prev.width+.9>=range2.left){prev.width=Math.max(prev.width,range2.left+range2.width-prev.left)}else{result[resultLen++]=prev;prev=range2}}result[resultLen++]=prev;return result}static _createHorizontalRangesFromClientRects(clientRects,clientRectDeltaLeft,clientRectScale){if(!clientRects||clientRects.length===0){return null}const result=[];for(let i=0,len=clientRects.length;i<len;i++){const clientRect=clientRects[i];result[i]=new FloatHorizontalRange(Math.max(0,(clientRect.left-clientRectDeltaLeft)/clientRectScale),clientRect.width/clientRectScale)}return this._mergeAdjacentRanges(result)}static readHorizontalRanges(domNode,startChildIndex,startOffset,endChildIndex,endOffset,context){const min=0;const max=domNode.children.length-1;if(min>max){return null}startChildIndex=Math.min(max,Math.max(min,startChildIndex));endChildIndex=Math.min(max,Math.max(min,endChildIndex));if(startChildIndex===endChildIndex&&startOffset===endOffset&&startOffset===0&&!domNode.children[startChildIndex].firstChild){const clientRects2=domNode.children[startChildIndex].getClientRects();context.markDidDomLayout();return this._createHorizontalRangesFromClientRects(clientRects2,context.clientRectDeltaLeft,context.clientRectScale)}if(startChildIndex!==endChildIndex){if(endChildIndex>0&&endOffset===0){endChildIndex--;endOffset=1073741824}}let startElement=domNode.children[startChildIndex].firstChild;let endElement=domNode.children[endChildIndex].firstChild;if(!startElement||!endElement){if(!startElement&&startOffset===0&&startChildIndex>0){startElement=domNode.children[startChildIndex-1].firstChild;startOffset=1073741824}if(!endElement&&endOffset===0&&endChildIndex>0){endElement=domNode.children[endChildIndex-1].firstChild;endOffset=1073741824}}if(!startElement||!endElement){return null}startOffset=Math.min(startElement.textContent.length,Math.max(0,startOffset));endOffset=Math.min(endElement.textContent.length,Math.max(0,endOffset));const clientRects=this._readClientRects(startElement,startOffset,endElement,endOffset,context.endNode);context.markDidDomLayout();return this._createHorizontalRangesFromClientRects(clientRects,context.clientRectDeltaLeft,context.clientRectScale)}}}});function isHighContrast(scheme){return scheme===ColorScheme.HIGH_CONTRAST_DARK||scheme===ColorScheme.HIGH_CONTRAST_LIGHT}function isDark(scheme){return scheme===ColorScheme.DARK||scheme===ColorScheme.HIGH_CONTRAST_DARK}var ColorScheme;var init_theme=__esm({"node_modules/monaco-editor/esm/vs/platform/theme/common/theme.js"(){(function(ColorScheme2){ColorScheme2["DARK"]="dark";ColorScheme2["LIGHT"]="light";ColorScheme2["HIGH_CONTRAST_DARK"]="hcDark";ColorScheme2["HIGH_CONTRAST_LIGHT"]="hcLight"})(ColorScheme||(ColorScheme={}))}});function createWebKitRenderedLine(domNode,renderLineInput,characterMapping,containsRTL2,containsForeignElements){return new WebKitRenderedViewLine(domNode,renderLineInput,characterMapping,containsRTL2,containsForeignElements)}function createNormalRenderedLine(domNode,renderLineInput,characterMapping,containsRTL2,containsForeignElements){return new RenderedViewLine(domNode,renderLineInput,characterMapping,containsRTL2,containsForeignElements)}function getColumnOfNodeOffset(characterMapping,spanNode,offset){const spanNodeTextContentLength=spanNode.textContent.length;let spanIndex=-1;while(spanNode){spanNode=spanNode.previousSibling;spanIndex++}return characterMapping.getColumn(new DomPosition(spanIndex,offset),spanNodeTextContentLength)}var canUseFastRenderedViewLine,monospaceAssumptionsAreValid,ViewLineOptions,ViewLine,FastRenderedViewLine,RenderedViewLine,WebKitRenderedViewLine,createRenderedLine;var init_viewLine=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lines/viewLine.js"(){init_browser();init_fastDomNode();init_platform();init_rangeUtil();init_renderingContext();init_lineDecorations();init_viewLineRenderer();init_theme();init_editorOptions();canUseFastRenderedViewLine=function(){if(isNative){return true}if(isLinux||isFirefox2||isSafari2){return false}return true}();monospaceAssumptionsAreValid=true;ViewLineOptions=class{constructor(config,themeType){this.themeType=themeType;const options2=config.options;const fontInfo=options2.get(49);const experimentalWhitespaceRendering=options2.get(37);if(experimentalWhitespaceRendering==="off"){this.renderWhitespace=options2.get(97)}else{this.renderWhitespace="none"}this.renderControlCharacters=options2.get(92);this.spaceWidth=fontInfo.spaceWidth;this.middotWidth=fontInfo.middotWidth;this.wsmiddotWidth=fontInfo.wsmiddotWidth;this.useMonospaceOptimizations=fontInfo.isMonospace&&!options2.get(32);this.canUseHalfwidthRightwardsArrow=fontInfo.canUseHalfwidthRightwardsArrow;this.lineHeight=options2.get(65);this.stopRenderingLineAfter=options2.get(115);this.fontLigatures=options2.get(50)}equals(other){return this.themeType===other.themeType&&this.renderWhitespace===other.renderWhitespace&&this.renderControlCharacters===other.renderControlCharacters&&this.spaceWidth===other.spaceWidth&&this.middotWidth===other.middotWidth&&this.wsmiddotWidth===other.wsmiddotWidth&&this.useMonospaceOptimizations===other.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===other.canUseHalfwidthRightwardsArrow&&this.lineHeight===other.lineHeight&&this.stopRenderingLineAfter===other.stopRenderingLineAfter&&this.fontLigatures===other.fontLigatures}};ViewLine=class{constructor(options2){this._options=options2;this._isMaybeInvalid=true;this._renderedViewLine=null}getDomNode(){if(this._renderedViewLine&&this._renderedViewLine.domNode){return this._renderedViewLine.domNode.domNode}return null}setDomNode(domNode){if(this._renderedViewLine){this._renderedViewLine.domNode=createFastDomNode(domNode)}else{throw new Error("I have no rendered view line to set the dom node to...")}}onContentChanged(){this._isMaybeInvalid=true}onTokensChanged(){this._isMaybeInvalid=true}onDecorationsChanged(){this._isMaybeInvalid=true}onOptionsChanged(newOptions){this._isMaybeInvalid=true;this._options=newOptions}onSelectionChanged(){if(isHighContrast(this._options.themeType)||this._options.renderWhitespace==="selection"){this._isMaybeInvalid=true;return true}return false}renderLine(lineNumber,deltaTop,viewportData,sb){if(this._isMaybeInvalid===false){return false}this._isMaybeInvalid=false;const lineData=viewportData.getViewLineRenderingData(lineNumber);const options2=this._options;const actualInlineDecorations=LineDecoration.filter(lineData.inlineDecorations,lineNumber,lineData.minColumn,lineData.maxColumn);let selectionsOnLine=null;if(isHighContrast(options2.themeType)||this._options.renderWhitespace==="selection"){const selections=viewportData.selections;for(const selection of selections){if(selection.endLineNumber<lineNumber||selection.startLineNumber>lineNumber){continue}const startColumn=selection.startLineNumber===lineNumber?selection.startColumn:lineData.minColumn;const endColumn=selection.endLineNumber===lineNumber?selection.endColumn:lineData.maxColumn;if(startColumn<endColumn){if(isHighContrast(options2.themeType)){actualInlineDecorations.push(new LineDecoration(startColumn,endColumn,"inline-selected-text",0))}if(this._options.renderWhitespace==="selection"){if(!selectionsOnLine){selectionsOnLine=[]}selectionsOnLine.push(new LineRange2(startColumn-1,endColumn-1))}}}}const renderLineInput=new RenderLineInput(options2.useMonospaceOptimizations,options2.canUseHalfwidthRightwardsArrow,lineData.content,lineData.continuesWithWrappedLine,lineData.isBasicASCII,lineData.containsRTL,lineData.minColumn-1,lineData.tokens,actualInlineDecorations,lineData.tabSize,lineData.startVisibleColumn,options2.spaceWidth,options2.middotWidth,options2.wsmiddotWidth,options2.stopRenderingLineAfter,options2.renderWhitespace,options2.renderControlCharacters,options2.fontLigatures!==EditorFontLigatures.OFF,selectionsOnLine);if(this._renderedViewLine&&this._renderedViewLine.input.equals(renderLineInput)){return false}sb.appendString('<div style="top:');sb.appendString(String(deltaTop));sb.appendString("px;height:");sb.appendString(String(this._options.lineHeight));sb.appendString('px;" class="');sb.appendString(ViewLine.CLASS_NAME);sb.appendString('">');const output=renderViewLine(renderLineInput,sb);sb.appendString("</div>");let renderedViewLine=null;if(monospaceAssumptionsAreValid&&canUseFastRenderedViewLine&&lineData.isBasicASCII&&options2.useMonospaceOptimizations&&output.containsForeignElements===0){renderedViewLine=new FastRenderedViewLine(this._renderedViewLine?this._renderedViewLine.domNode:null,renderLineInput,output.characterMapping)}if(!renderedViewLine){renderedViewLine=createRenderedLine(this._renderedViewLine?this._renderedViewLine.domNode:null,renderLineInput,output.characterMapping,output.containsRTL,output.containsForeignElements)}this._renderedViewLine=renderedViewLine;return true}layoutLine(lineNumber,deltaTop){if(this._renderedViewLine&&this._renderedViewLine.domNode){this._renderedViewLine.domNode.setTop(deltaTop);this._renderedViewLine.domNode.setHeight(this._options.lineHeight)}}getWidth(context){if(!this._renderedViewLine){return 0}return this._renderedViewLine.getWidth(context)}getWidthIsFast(){if(!this._renderedViewLine){return true}return this._renderedViewLine.getWidthIsFast()}needsMonospaceFontCheck(){if(!this._renderedViewLine){return false}return this._renderedViewLine instanceof FastRenderedViewLine}monospaceAssumptionsAreValid(){if(!this._renderedViewLine){return monospaceAssumptionsAreValid}if(this._renderedViewLine instanceof FastRenderedViewLine){return this._renderedViewLine.monospaceAssumptionsAreValid()}return monospaceAssumptionsAreValid}onMonospaceAssumptionsInvalidated(){if(this._renderedViewLine&&this._renderedViewLine instanceof FastRenderedViewLine){this._renderedViewLine=this._renderedViewLine.toSlowRenderedLine()}}getVisibleRangesForRange(lineNumber,startColumn,endColumn,context){if(!this._renderedViewLine){return null}startColumn=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,startColumn));endColumn=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,endColumn));const stopRenderingLineAfter=this._renderedViewLine.input.stopRenderingLineAfter;if(stopRenderingLineAfter!==-1&&startColumn>stopRenderingLineAfter+1&&endColumn>stopRenderingLineAfter+1){return new VisibleRanges(true,[new FloatHorizontalRange(this.getWidth(context),0)])}if(stopRenderingLineAfter!==-1&&startColumn>stopRenderingLineAfter+1){startColumn=stopRenderingLineAfter+1}if(stopRenderingLineAfter!==-1&&endColumn>stopRenderingLineAfter+1){endColumn=stopRenderingLineAfter+1}const horizontalRanges=this._renderedViewLine.getVisibleRangesForRange(lineNumber,startColumn,endColumn,context);if(horizontalRanges&&horizontalRanges.length>0){return new VisibleRanges(false,horizontalRanges)}return null}getColumnOfNodeOffset(spanNode,offset){if(!this._renderedViewLine){return 1}return this._renderedViewLine.getColumnOfNodeOffset(spanNode,offset)}};ViewLine.CLASS_NAME="view-line";FastRenderedViewLine=class{constructor(domNode,renderLineInput,characterMapping){this._cachedWidth=-1;this.domNode=domNode;this.input=renderLineInput;const keyColumnCount=Math.floor(renderLineInput.lineContent.length/300);if(keyColumnCount>0){this._keyColumnPixelOffsetCache=new Float32Array(keyColumnCount);for(let i=0;i<keyColumnCount;i++){this._keyColumnPixelOffsetCache[i]=-1}}else{this._keyColumnPixelOffsetCache=null}this._characterMapping=characterMapping;this._charWidth=renderLineInput.spaceWidth}getWidth(context){if(!this.domNode||this.input.lineContent.length<300){const horizontalOffset=this._characterMapping.getHorizontalOffset(this._characterMapping.length);return Math.round(this._charWidth*horizontalOffset)}if(this._cachedWidth===-1){this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth;context===null||context===void 0?void 0:context.markDidDomLayout()}return this._cachedWidth}getWidthIsFast(){return this.input.lineContent.length<300||this._cachedWidth!==-1}monospaceAssumptionsAreValid(){if(!this.domNode){return monospaceAssumptionsAreValid}if(this.input.lineContent.length<300){const expectedWidth=this.getWidth(null);const actualWidth=this.domNode.domNode.firstChild.offsetWidth;if(Math.abs(expectedWidth-actualWidth)>=2){console.warn(`monospace assumptions have been violated, therefore disabling monospace optimizations!`);monospaceAssumptionsAreValid=false}}return monospaceAssumptionsAreValid}toSlowRenderedLine(){return createRenderedLine(this.domNode,this.input,this._characterMapping,false,0)}getVisibleRangesForRange(lineNumber,startColumn,endColumn,context){const startPosition=this._getColumnPixelOffset(lineNumber,startColumn,context);const endPosition=this._getColumnPixelOffset(lineNumber,endColumn,context);return[new FloatHorizontalRange(startPosition,endPosition-startPosition)]}_getColumnPixelOffset(lineNumber,column,context){if(column<=300){const horizontalOffset2=this._characterMapping.getHorizontalOffset(column);return this._charWidth*horizontalOffset2}const keyColumnOrdinal=Math.floor((column-1)/300)-1;const keyColumn=(keyColumnOrdinal+1)*300+1;let keyColumnPixelOffset=-1;if(this._keyColumnPixelOffsetCache){keyColumnPixelOffset=this._keyColumnPixelOffsetCache[keyColumnOrdinal];if(keyColumnPixelOffset===-1){keyColumnPixelOffset=this._actualReadPixelOffset(lineNumber,keyColumn,context);this._keyColumnPixelOffsetCache[keyColumnOrdinal]=keyColumnPixelOffset}}if(keyColumnPixelOffset===-1){const horizontalOffset2=this._characterMapping.getHorizontalOffset(column);return this._charWidth*horizontalOffset2}const keyColumnHorizontalOffset=this._characterMapping.getHorizontalOffset(keyColumn);const horizontalOffset=this._characterMapping.getHorizontalOffset(column);return keyColumnPixelOffset+this._charWidth*(horizontalOffset-keyColumnHorizontalOffset)}_getReadingTarget(myDomNode){return myDomNode.domNode.firstChild}_actualReadPixelOffset(lineNumber,column,context){if(!this.domNode){return-1}const domPosition=this._characterMapping.getDomPosition(column);const r=RangeUtil.readHorizontalRanges(this._getReadingTarget(this.domNode),domPosition.partIndex,domPosition.charIndex,domPosition.partIndex,domPosition.charIndex,context);if(!r||r.length===0){return-1}return r[0].left}getColumnOfNodeOffset(spanNode,offset){return getColumnOfNodeOffset(this._characterMapping,spanNode,offset)}};RenderedViewLine=class{constructor(domNode,renderLineInput,characterMapping,containsRTL2,containsForeignElements){this.domNode=domNode;this.input=renderLineInput;this._characterMapping=characterMapping;this._isWhitespaceOnly=/^\s*$/.test(renderLineInput.lineContent);this._containsForeignElements=containsForeignElements;this._cachedWidth=-1;this._pixelOffsetCache=null;if(!containsRTL2||this._characterMapping.length===0){this._pixelOffsetCache=new Float32Array(Math.max(2,this._characterMapping.length+1));for(let column=0,len=this._characterMapping.length;column<=len;column++){this._pixelOffsetCache[column]=-1}}}_getReadingTarget(myDomNode){return myDomNode.domNode.firstChild}getWidth(context){if(!this.domNode){return 0}if(this._cachedWidth===-1){this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth;context===null||context===void 0?void 0:context.markDidDomLayout()}return this._cachedWidth}getWidthIsFast(){if(this._cachedWidth===-1){return false}return true}getVisibleRangesForRange(lineNumber,startColumn,endColumn,context){if(!this.domNode){return null}if(this._pixelOffsetCache!==null){const startOffset=this._readPixelOffset(this.domNode,lineNumber,startColumn,context);if(startOffset===-1){return null}const endOffset=this._readPixelOffset(this.domNode,lineNumber,endColumn,context);if(endOffset===-1){return null}return[new FloatHorizontalRange(startOffset,endOffset-startOffset)]}return this._readVisibleRangesForRange(this.domNode,lineNumber,startColumn,endColumn,context)}_readVisibleRangesForRange(domNode,lineNumber,startColumn,endColumn,context){if(startColumn===endColumn){const pixelOffset=this._readPixelOffset(domNode,lineNumber,startColumn,context);if(pixelOffset===-1){return null}else{return[new FloatHorizontalRange(pixelOffset,0)]}}else{return this._readRawVisibleRangesForRange(domNode,startColumn,endColumn,context)}}_readPixelOffset(domNode,lineNumber,column,context){if(this._characterMapping.length===0){if(this._containsForeignElements===0){return 0}if(this._containsForeignElements===2){return 0}if(this._containsForeignElements===1){return this.getWidth(context)}const readingTarget=this._getReadingTarget(domNode);if(readingTarget.firstChild){context.markDidDomLayout();return readingTarget.firstChild.offsetWidth}else{return 0}}if(this._pixelOffsetCache!==null){const cachedPixelOffset=this._pixelOffsetCache[column];if(cachedPixelOffset!==-1){return cachedPixelOffset}const result=this._actualReadPixelOffset(domNode,lineNumber,column,context);this._pixelOffsetCache[column]=result;return result}return this._actualReadPixelOffset(domNode,lineNumber,column,context)}_actualReadPixelOffset(domNode,lineNumber,column,context){if(this._characterMapping.length===0){const r2=RangeUtil.readHorizontalRanges(this._getReadingTarget(domNode),0,0,0,0,context);if(!r2||r2.length===0){return-1}return r2[0].left}if(column===this._characterMapping.length&&this._isWhitespaceOnly&&this._containsForeignElements===0){return this.getWidth(context)}const domPosition=this._characterMapping.getDomPosition(column);const r=RangeUtil.readHorizontalRanges(this._getReadingTarget(domNode),domPosition.partIndex,domPosition.charIndex,domPosition.partIndex,domPosition.charIndex,context);if(!r||r.length===0){return-1}const result=r[0].left;if(this.input.isBasicASCII){const horizontalOffset=this._characterMapping.getHorizontalOffset(column);const expectedResult=Math.round(this.input.spaceWidth*horizontalOffset);if(Math.abs(expectedResult-result)<=1){return expectedResult}}return result}_readRawVisibleRangesForRange(domNode,startColumn,endColumn,context){if(startColumn===1&&endColumn===this._characterMapping.length){return[new FloatHorizontalRange(0,this.getWidth(context))]}const startDomPosition=this._characterMapping.getDomPosition(startColumn);const endDomPosition=this._characterMapping.getDomPosition(endColumn);return RangeUtil.readHorizontalRanges(this._getReadingTarget(domNode),startDomPosition.partIndex,startDomPosition.charIndex,endDomPosition.partIndex,endDomPosition.charIndex,context)}getColumnOfNodeOffset(spanNode,offset){return getColumnOfNodeOffset(this._characterMapping,spanNode,offset)}};WebKitRenderedViewLine=class extends RenderedViewLine{_readVisibleRangesForRange(domNode,lineNumber,startColumn,endColumn,context){const output=super._readVisibleRangesForRange(domNode,lineNumber,startColumn,endColumn,context);if(!output||output.length===0||startColumn===endColumn||startColumn===1&&endColumn===this._characterMapping.length){return output}if(!this.input.containsRTL){const endPixelOffset=this._readPixelOffset(domNode,lineNumber,endColumn,context);if(endPixelOffset!==-1){const lastRange=output[output.length-1];if(lastRange.left<endPixelOffset){lastRange.width=endPixelOffset-lastRange.left}}}return output}};createRenderedLine=function(){if(isWebKit){return createWebKitRenderedLine}return createNormalRenderedLine}()}});var CursorColumns;var init_cursorColumns=__esm({"node_modules/monaco-editor/esm/vs/editor/common/core/cursorColumns.js"(){init_strings();CursorColumns=class{static _nextVisibleColumn(codePoint,visibleColumn,tabSize){if(codePoint===9){return CursorColumns.nextRenderTabStop(visibleColumn,tabSize)}if(isFullWidthCharacter(codePoint)||isEmojiImprecise(codePoint)){return visibleColumn+2}return visibleColumn+1}static visibleColumnFromColumn(lineContent,column,tabSize){const textLen=Math.min(column-1,lineContent.length);const text2=lineContent.substring(0,textLen);const iterator=new GraphemeIterator(text2);let result=0;while(!iterator.eol()){const codePoint=getNextCodePoint(text2,textLen,iterator.offset);iterator.nextGraphemeLength();result=this._nextVisibleColumn(codePoint,result,tabSize)}return result}static columnFromVisibleColumn(lineContent,visibleColumn,tabSize){if(visibleColumn<=0){return 1}const lineContentLength=lineContent.length;const iterator=new GraphemeIterator(lineContent);let beforeVisibleColumn=0;let beforeColumn=1;while(!iterator.eol()){const codePoint=getNextCodePoint(lineContent,lineContentLength,iterator.offset);iterator.nextGraphemeLength();const afterVisibleColumn=this._nextVisibleColumn(codePoint,beforeVisibleColumn,tabSize);const afterColumn=iterator.offset+1;if(afterVisibleColumn>=visibleColumn){const beforeDelta=visibleColumn-beforeVisibleColumn;const afterDelta=afterVisibleColumn-visibleColumn;if(afterDelta<beforeDelta){return afterColumn}else{return beforeColumn}}beforeVisibleColumn=afterVisibleColumn;beforeColumn=afterColumn}return lineContentLength+1}static nextRenderTabStop(visibleColumn,tabSize){return visibleColumn+tabSize-visibleColumn%tabSize}static nextIndentTabStop(visibleColumn,indentSize){return visibleColumn+indentSize-visibleColumn%indentSize}static prevRenderTabStop(column,tabSize){return Math.max(0,column-1-(column-1)%tabSize)}static prevIndentTabStop(column,indentSize){return Math.max(0,column-1-(column-1)%indentSize)}}}});var AtomicTabMoveOperations;var init_cursorAtomicMoveOperations=__esm({"node_modules/monaco-editor/esm/vs/editor/common/cursor/cursorAtomicMoveOperations.js"(){init_cursorColumns();AtomicTabMoveOperations=class{static whitespaceVisibleColumn(lineContent,position,tabSize){const lineLength=lineContent.length;let visibleColumn=0;let prevTabStopPosition=-1;let prevTabStopVisibleColumn=-1;for(let i=0;i<lineLength;i++){if(i===position){return[prevTabStopPosition,prevTabStopVisibleColumn,visibleColumn]}if(visibleColumn%tabSize===0){prevTabStopPosition=i;prevTabStopVisibleColumn=visibleColumn}const chCode=lineContent.charCodeAt(i);switch(chCode){case 32:visibleColumn+=1;break;case 9:visibleColumn=CursorColumns.nextRenderTabStop(visibleColumn,tabSize);break;default:return[-1,-1,-1]}}if(position===lineLength){return[prevTabStopPosition,prevTabStopVisibleColumn,visibleColumn]}return[-1,-1,-1]}static atomicPosition(lineContent,position,tabSize,direction){const lineLength=lineContent.length;const[prevTabStopPosition,prevTabStopVisibleColumn,visibleColumn]=AtomicTabMoveOperations.whitespaceVisibleColumn(lineContent,position,tabSize);if(visibleColumn===-1){return-1}let left;switch(direction){case 0:left=true;break;case 1:left=false;break;case 2:if(visibleColumn%tabSize===0){return position}left=visibleColumn%tabSize<=tabSize/2;break}if(left){if(prevTabStopPosition===-1){return-1}let currentVisibleColumn2=prevTabStopVisibleColumn;for(let i=prevTabStopPosition;i<lineLength;++i){if(currentVisibleColumn2===prevTabStopVisibleColumn+tabSize){return prevTabStopPosition}const chCode=lineContent.charCodeAt(i);switch(chCode){case 32:currentVisibleColumn2+=1;break;case 9:currentVisibleColumn2=CursorColumns.nextRenderTabStop(currentVisibleColumn2,tabSize);break;default:return-1}}if(currentVisibleColumn2===prevTabStopVisibleColumn+tabSize){return prevTabStopPosition}return-1}const targetVisibleColumn=CursorColumns.nextRenderTabStop(visibleColumn,tabSize);let currentVisibleColumn=visibleColumn;for(let i=position;i<lineLength;i++){if(currentVisibleColumn===targetVisibleColumn){return i}const chCode=lineContent.charCodeAt(i);switch(chCode){case 32:currentVisibleColumn+=1;break;case 9:currentVisibleColumn=CursorColumns.nextRenderTabStop(currentVisibleColumn,tabSize);break;default:return-1}}if(currentVisibleColumn===targetVisibleColumn){return lineLength}return-1}}}});function createEmptyContentDataInLines(horizontalDistanceToText){return{isAfterLines:false,horizontalDistanceToText:horizontalDistanceToText}}function shadowCaretRangeFromPoint(shadowRoot,x,y){const range2=document.createRange();let el=shadowRoot.elementFromPoint(x,y);if(el!==null){while(el&&el.firstChild&&el.firstChild.nodeType!==el.firstChild.TEXT_NODE&&el.lastChild&&el.lastChild.firstChild){el=el.lastChild}const rect=el.getBoundingClientRect();const fontStyle=window.getComputedStyle(el,null).getPropertyValue("font-style");const fontVariant=window.getComputedStyle(el,null).getPropertyValue("font-variant");const fontWeight=window.getComputedStyle(el,null).getPropertyValue("font-weight");const fontSize=window.getComputedStyle(el,null).getPropertyValue("font-size");const lineHeight=window.getComputedStyle(el,null).getPropertyValue("line-height");const fontFamily=window.getComputedStyle(el,null).getPropertyValue("font-family");const font=`${fontStyle} ${fontVariant} ${fontWeight} ${fontSize}/${lineHeight} ${fontFamily}`;const text2=el.innerText;let pixelCursor=rect.left;let offset=0;let step;if(x>rect.left+rect.width){offset=text2.length}else{const charWidthReader=CharWidthReader.getInstance();for(let i=0;i<text2.length+1;i++){step=charWidthReader.getCharWidth(text2.charAt(i),font)/2;pixelCursor+=step;if(x<pixelCursor){offset=i;break}pixelCursor+=step}}range2.setStart(el.firstChild,offset);range2.setEnd(el.firstChild,offset)}return range2}var UnknownHitTestResult,ContentHitTestResult,HitTestResult,PointerHandlerLastRenderData,MouseTarget,ElementPath,HitTestContext,BareHitTestRequest,HitTestRequest,EMPTY_CONTENT_AFTER_LINES,MouseTargetFactory,CharWidthReader;var init_mouseTarget=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/controller/mouseTarget.js"(){init_editorDom();init_viewPart();init_viewLine();init_position();init_range();init_cursorColumns();init_dom();init_cursorAtomicMoveOperations();UnknownHitTestResult=class{constructor(hitTarget=null){this.hitTarget=hitTarget;this.type=0}};ContentHitTestResult=class{constructor(position,spanNode,injectedText){this.position=position;this.spanNode=spanNode;this.injectedText=injectedText;this.type=1}};(function(HitTestResult2){function createFromDOMInfo(ctx,spanNode,offset){const position=ctx.getPositionFromDOMInfo(spanNode,offset);if(position){return new ContentHitTestResult(position,spanNode,null)}return new UnknownHitTestResult(spanNode)}HitTestResult2.createFromDOMInfo=createFromDOMInfo})(HitTestResult||(HitTestResult={}));PointerHandlerLastRenderData=class{constructor(lastViewCursorsRenderData,lastTextareaPosition){this.lastViewCursorsRenderData=lastViewCursorsRenderData;this.lastTextareaPosition=lastTextareaPosition}};MouseTarget=class{static _deduceRage(position,range2=null){if(!range2&&position){return new Range(position.lineNumber,position.column,position.lineNumber,position.column)}return range2!==null&&range2!==void 0?range2:null}static createUnknown(element,mouseColumn,position){return{type:0,element:element,mouseColumn:mouseColumn,position:position,range:this._deduceRage(position)}}static createTextarea(element,mouseColumn){return{type:1,element:element,mouseColumn:mouseColumn,position:null,range:null}}static createMargin(type,element,mouseColumn,position,range2,detail){return{type:type,element:element,mouseColumn:mouseColumn,position:position,range:range2,detail:detail}}static createViewZone(type,element,mouseColumn,position,detail){return{type:type,element:element,mouseColumn:mouseColumn,position:position,range:this._deduceRage(position),detail:detail}}static createContentText(element,mouseColumn,position,range2,detail){return{type:6,element:element,mouseColumn:mouseColumn,position:position,range:this._deduceRage(position,range2),detail:detail}}static createContentEmpty(element,mouseColumn,position,detail){return{type:7,element:element,mouseColumn:mouseColumn,position:position,range:this._deduceRage(position),detail:detail}}static createContentWidget(element,mouseColumn,detail){return{type:9,element:element,mouseColumn:mouseColumn,position:null,range:null,detail:detail}}static createScrollbar(element,mouseColumn,position){return{type:11,element:element,mouseColumn:mouseColumn,position:position,range:this._deduceRage(position)}}static createOverlayWidget(element,mouseColumn,detail){return{type:12,element:element,mouseColumn:mouseColumn,position:null,range:null,detail:detail}}static createOutsideEditor(mouseColumn,position,outsidePosition,outsideDistance){return{type:13,element:null,mouseColumn:mouseColumn,position:position,range:this._deduceRage(position),outsidePosition:outsidePosition,outsideDistance:outsideDistance}}static _typeToString(type){if(type===1){return"TEXTAREA"}if(type===2){return"GUTTER_GLYPH_MARGIN"}if(type===3){return"GUTTER_LINE_NUMBERS"}if(type===4){return"GUTTER_LINE_DECORATIONS"}if(type===5){return"GUTTER_VIEW_ZONE"}if(type===6){return"CONTENT_TEXT"}if(type===7){return"CONTENT_EMPTY"}if(type===8){return"CONTENT_VIEW_ZONE"}if(type===9){return"CONTENT_WIDGET"}if(type===10){return"OVERVIEW_RULER"}if(type===11){return"SCROLLBAR"}if(type===12){return"OVERLAY_WIDGET"}return"UNKNOWN"}static toString(target){return this._typeToString(target.type)+": "+target.position+" - "+target.range+" - "+JSON.stringify(target.detail)}};ElementPath=class{static isTextArea(path){return path.length===2&&path[0]===3&&path[1]===6}static isChildOfViewLines(path){return path.length>=4&&path[0]===3&&path[3]===7}static isStrictChildOfViewLines(path){return path.length>4&&path[0]===3&&path[3]===7}static isChildOfScrollableElement(path){return path.length>=2&&path[0]===3&&path[1]===5}static isChildOfMinimap(path){return path.length>=2&&path[0]===3&&path[1]===8}static isChildOfContentWidgets(path){return path.length>=4&&path[0]===3&&path[3]===1}static isChildOfOverflowGuard(path){return path.length>=1&&path[0]===3}static isChildOfOverflowingContentWidgets(path){return path.length>=1&&path[0]===2}static isChildOfOverlayWidgets(path){return path.length>=2&&path[0]===3&&path[1]===4}};HitTestContext=class{constructor(context,viewHelper,lastRenderData){this.viewModel=context.viewModel;const options2=context.configuration.options;this.layoutInfo=options2.get(142);this.viewDomNode=viewHelper.viewDomNode;this.lineHeight=options2.get(65);this.stickyTabStops=options2.get(114);this.typicalHalfwidthCharacterWidth=options2.get(49).typicalHalfwidthCharacterWidth;this.lastRenderData=lastRenderData;this._context=context;this._viewHelper=viewHelper}getZoneAtCoord(mouseVerticalOffset){return HitTestContext.getZoneAtCoord(this._context,mouseVerticalOffset)}static getZoneAtCoord(context,mouseVerticalOffset){const viewZoneWhitespace=context.viewLayout.getWhitespaceAtVerticalOffset(mouseVerticalOffset);if(viewZoneWhitespace){const viewZoneMiddle=viewZoneWhitespace.verticalOffset+viewZoneWhitespace.height/2;const lineCount=context.viewModel.getLineCount();let positionBefore=null;let position;let positionAfter=null;if(viewZoneWhitespace.afterLineNumber!==lineCount){positionAfter=new Position(viewZoneWhitespace.afterLineNumber+1,1)}if(viewZoneWhitespace.afterLineNumber>0){positionBefore=new Position(viewZoneWhitespace.afterLineNumber,context.viewModel.getLineMaxColumn(viewZoneWhitespace.afterLineNumber))}if(positionAfter===null){position=positionBefore}else if(positionBefore===null){position=positionAfter}else if(mouseVerticalOffset<viewZoneMiddle){position=positionBefore}else{position=positionAfter}return{viewZoneId:viewZoneWhitespace.id,afterLineNumber:viewZoneWhitespace.afterLineNumber,positionBefore:positionBefore,positionAfter:positionAfter,position:position}}return null}getFullLineRangeAtCoord(mouseVerticalOffset){if(this._context.viewLayout.isAfterLines(mouseVerticalOffset)){const lineNumber2=this._context.viewModel.getLineCount();const maxLineColumn2=this._context.viewModel.getLineMaxColumn(lineNumber2);return{range:new Range(lineNumber2,maxLineColumn2,lineNumber2,maxLineColumn2),isAfterLines:true}}const lineNumber=this._context.viewLayout.getLineNumberAtVerticalOffset(mouseVerticalOffset);const maxLineColumn=this._context.viewModel.getLineMaxColumn(lineNumber);return{range:new Range(lineNumber,1,lineNumber,maxLineColumn),isAfterLines:false}}getLineNumberAtVerticalOffset(mouseVerticalOffset){return this._context.viewLayout.getLineNumberAtVerticalOffset(mouseVerticalOffset)}isAfterLines(mouseVerticalOffset){return this._context.viewLayout.isAfterLines(mouseVerticalOffset)}isInTopPadding(mouseVerticalOffset){return this._context.viewLayout.isInTopPadding(mouseVerticalOffset)}isInBottomPadding(mouseVerticalOffset){return this._context.viewLayout.isInBottomPadding(mouseVerticalOffset)}getVerticalOffsetForLineNumber(lineNumber){return this._context.viewLayout.getVerticalOffsetForLineNumber(lineNumber)}findAttribute(element,attr){return HitTestContext._findAttribute(element,attr,this._viewHelper.viewDomNode)}static _findAttribute(element,attr,stopAt){while(element&&element!==document.body){if(element.hasAttribute&&element.hasAttribute(attr)){return element.getAttribute(attr)}if(element===stopAt){return null}element=element.parentNode}return null}getLineWidth(lineNumber){return this._viewHelper.getLineWidth(lineNumber)}visibleRangeForPosition(lineNumber,column){return this._viewHelper.visibleRangeForPosition(lineNumber,column)}getPositionFromDOMInfo(spanNode,offset){return this._viewHelper.getPositionFromDOMInfo(spanNode,offset)}getCurrentScrollTop(){return this._context.viewLayout.getCurrentScrollTop()}getCurrentScrollLeft(){return this._context.viewLayout.getCurrentScrollLeft()}};BareHitTestRequest=class{constructor(ctx,editorPos,pos,relativePos){this.editorPos=editorPos;this.pos=pos;this.relativePos=relativePos;this.mouseVerticalOffset=Math.max(0,ctx.getCurrentScrollTop()+this.relativePos.y);this.mouseContentHorizontalOffset=ctx.getCurrentScrollLeft()+this.relativePos.x-ctx.layoutInfo.contentLeft;this.isInMarginArea=this.relativePos.x<ctx.layoutInfo.contentLeft&&this.relativePos.x>=ctx.layoutInfo.glyphMarginLeft;this.isInContentArea=!this.isInMarginArea;this.mouseColumn=Math.max(0,MouseTargetFactory._getMouseColumn(this.mouseContentHorizontalOffset,ctx.typicalHalfwidthCharacterWidth))}};HitTestRequest=class extends BareHitTestRequest{constructor(ctx,editorPos,pos,relativePos,target){super(ctx,editorPos,pos,relativePos);this._ctx=ctx;if(target){this.target=target;this.targetPath=PartFingerprints.collect(target,ctx.viewDomNode)}else{this.target=null;this.targetPath=new Uint8Array(0)}}toString(){return`pos(${this.pos.x},${this.pos.y}), editorPos(${this.editorPos.x},${this.editorPos.y}), relativePos(${this.relativePos.x},${this.relativePos.y}), mouseVerticalOffset: ${this.mouseVerticalOffset}, mouseContentHorizontalOffset: ${this.mouseContentHorizontalOffset}\n\ttarget: ${this.target?this.target.outerHTML:null}`}_getMouseColumn(position=null){if(position&&position.column<this._ctx.viewModel.getLineMaxColumn(position.lineNumber)){return CursorColumns.visibleColumnFromColumn(this._ctx.viewModel.getLineContent(position.lineNumber),position.column,this._ctx.viewModel.model.getOptions().tabSize)+1}return this.mouseColumn}fulfillUnknown(position=null){return MouseTarget.createUnknown(this.target,this._getMouseColumn(position),position)}fulfillTextarea(){return MouseTarget.createTextarea(this.target,this._getMouseColumn())}fulfillMargin(type,position,range2,detail){return MouseTarget.createMargin(type,this.target,this._getMouseColumn(position),position,range2,detail)}fulfillViewZone(type,position,detail){return MouseTarget.createViewZone(type,this.target,this._getMouseColumn(position),position,detail)}fulfillContentText(position,range2,detail){return MouseTarget.createContentText(this.target,this._getMouseColumn(position),position,range2,detail)}fulfillContentEmpty(position,detail){return MouseTarget.createContentEmpty(this.target,this._getMouseColumn(position),position,detail)}fulfillContentWidget(detail){return MouseTarget.createContentWidget(this.target,this._getMouseColumn(),detail)}fulfillScrollbar(position){return MouseTarget.createScrollbar(this.target,this._getMouseColumn(position),position)}fulfillOverlayWidget(detail){return MouseTarget.createOverlayWidget(this.target,this._getMouseColumn(),detail)}withTarget(target){return new HitTestRequest(this._ctx,this.editorPos,this.pos,this.relativePos,target)}};EMPTY_CONTENT_AFTER_LINES={isAfterLines:true};MouseTargetFactory=class{constructor(context,viewHelper){this._context=context;this._viewHelper=viewHelper}mouseTargetIsWidget(e){const t2=e.target;const path=PartFingerprints.collect(t2,this._viewHelper.viewDomNode);if(ElementPath.isChildOfContentWidgets(path)||ElementPath.isChildOfOverflowingContentWidgets(path)){return true}if(ElementPath.isChildOfOverlayWidgets(path)){return true}return false}createMouseTarget(lastRenderData,editorPos,pos,relativePos,target){const ctx=new HitTestContext(this._context,this._viewHelper,lastRenderData);const request=new HitTestRequest(ctx,editorPos,pos,relativePos,target);try{const r=MouseTargetFactory._createMouseTarget(ctx,request,false);if(r.type===6){if(ctx.stickyTabStops&&r.position!==null){const position=MouseTargetFactory._snapToSoftTabBoundary(r.position,ctx.viewModel);const range2=Range.fromPositions(position,position).plusRange(r.range);return request.fulfillContentText(position,range2,r.detail)}}return r}catch(err){return request.fulfillUnknown()}}static _createMouseTarget(ctx,request,domHitTestExecuted){if(request.target===null){if(domHitTestExecuted){return request.fulfillUnknown()}const hitTestResult=MouseTargetFactory._doHitTest(ctx,request);if(hitTestResult.type===1){return MouseTargetFactory.createMouseTargetFromHitTestPosition(ctx,request,hitTestResult.spanNode,hitTestResult.position,hitTestResult.injectedText)}return this._createMouseTarget(ctx,request.withTarget(hitTestResult.hitTarget),true)}const resolvedRequest=request;let result=null;if(!ElementPath.isChildOfOverflowGuard(request.targetPath)&&!ElementPath.isChildOfOverflowingContentWidgets(request.targetPath)){result=result||request.fulfillUnknown()}result=result||MouseTargetFactory._hitTestContentWidget(ctx,resolvedRequest);result=result||MouseTargetFactory._hitTestOverlayWidget(ctx,resolvedRequest);result=result||MouseTargetFactory._hitTestMinimap(ctx,resolvedRequest);result=result||MouseTargetFactory._hitTestScrollbarSlider(ctx,resolvedRequest);result=result||MouseTargetFactory._hitTestViewZone(ctx,resolvedRequest);result=result||MouseTargetFactory._hitTestMargin(ctx,resolvedRequest);result=result||MouseTargetFactory._hitTestViewCursor(ctx,resolvedRequest);result=result||MouseTargetFactory._hitTestTextArea(ctx,resolvedRequest);result=result||MouseTargetFactory._hitTestViewLines(ctx,resolvedRequest,domHitTestExecuted);result=result||MouseTargetFactory._hitTestScrollbar(ctx,resolvedRequest);return result||request.fulfillUnknown()}static _hitTestContentWidget(ctx,request){if(ElementPath.isChildOfContentWidgets(request.targetPath)||ElementPath.isChildOfOverflowingContentWidgets(request.targetPath)){const widgetId=ctx.findAttribute(request.target,"widgetId");if(widgetId){return request.fulfillContentWidget(widgetId)}else{return request.fulfillUnknown()}}return null}static _hitTestOverlayWidget(ctx,request){if(ElementPath.isChildOfOverlayWidgets(request.targetPath)){const widgetId=ctx.findAttribute(request.target,"widgetId");if(widgetId){return request.fulfillOverlayWidget(widgetId)}else{return request.fulfillUnknown()}}return null}static _hitTestViewCursor(ctx,request){if(request.target){const lastViewCursorsRenderData=ctx.lastRenderData.lastViewCursorsRenderData;for(const d of lastViewCursorsRenderData){if(request.target===d.domNode){return request.fulfillContentText(d.position,null,{mightBeForeignElement:false,injectedText:null})}}}if(request.isInContentArea){const lastViewCursorsRenderData=ctx.lastRenderData.lastViewCursorsRenderData;const mouseContentHorizontalOffset=request.mouseContentHorizontalOffset;const mouseVerticalOffset=request.mouseVerticalOffset;for(const d of lastViewCursorsRenderData){if(mouseContentHorizontalOffset<d.contentLeft){continue}if(mouseContentHorizontalOffset>d.contentLeft+d.width){continue}const cursorVerticalOffset=ctx.getVerticalOffsetForLineNumber(d.position.lineNumber);if(cursorVerticalOffset<=mouseVerticalOffset&&mouseVerticalOffset<=cursorVerticalOffset+d.height){return request.fulfillContentText(d.position,null,{mightBeForeignElement:false,injectedText:null})}}}return null}static _hitTestViewZone(ctx,request){const viewZoneData=ctx.getZoneAtCoord(request.mouseVerticalOffset);if(viewZoneData){const mouseTargetType=request.isInContentArea?8:5;return request.fulfillViewZone(mouseTargetType,viewZoneData.position,viewZoneData)}return null}static _hitTestTextArea(ctx,request){if(ElementPath.isTextArea(request.targetPath)){if(ctx.lastRenderData.lastTextareaPosition){return request.fulfillContentText(ctx.lastRenderData.lastTextareaPosition,null,{mightBeForeignElement:false,injectedText:null})}return request.fulfillTextarea()}return null}static _hitTestMargin(ctx,request){if(request.isInMarginArea){const res=ctx.getFullLineRangeAtCoord(request.mouseVerticalOffset);const pos=res.range.getStartPosition();let offset=Math.abs(request.relativePos.x);const detail={isAfterLines:res.isAfterLines,glyphMarginLeft:ctx.layoutInfo.glyphMarginLeft,glyphMarginWidth:ctx.layoutInfo.glyphMarginWidth,lineNumbersWidth:ctx.layoutInfo.lineNumbersWidth,offsetX:offset};offset-=ctx.layoutInfo.glyphMarginLeft;if(offset<=ctx.layoutInfo.glyphMarginWidth){return request.fulfillMargin(2,pos,res.range,detail)}offset-=ctx.layoutInfo.glyphMarginWidth;if(offset<=ctx.layoutInfo.lineNumbersWidth){return request.fulfillMargin(3,pos,res.range,detail)}offset-=ctx.layoutInfo.lineNumbersWidth;return request.fulfillMargin(4,pos,res.range,detail)}return null}static _hitTestViewLines(ctx,request,domHitTestExecuted){if(!ElementPath.isChildOfViewLines(request.targetPath)){return null}if(ctx.isInTopPadding(request.mouseVerticalOffset)){return request.fulfillContentEmpty(new Position(1,1),EMPTY_CONTENT_AFTER_LINES)}if(ctx.isAfterLines(request.mouseVerticalOffset)||ctx.isInBottomPadding(request.mouseVerticalOffset)){const lineCount=ctx.viewModel.getLineCount();const maxLineColumn=ctx.viewModel.getLineMaxColumn(lineCount);return request.fulfillContentEmpty(new Position(lineCount,maxLineColumn),EMPTY_CONTENT_AFTER_LINES)}if(domHitTestExecuted){if(ElementPath.isStrictChildOfViewLines(request.targetPath)){const lineNumber=ctx.getLineNumberAtVerticalOffset(request.mouseVerticalOffset);if(ctx.viewModel.getLineLength(lineNumber)===0){const lineWidth2=ctx.getLineWidth(lineNumber);const detail=createEmptyContentDataInLines(request.mouseContentHorizontalOffset-lineWidth2);return request.fulfillContentEmpty(new Position(lineNumber,1),detail)}const lineWidth=ctx.getLineWidth(lineNumber);if(request.mouseContentHorizontalOffset>=lineWidth){const detail=createEmptyContentDataInLines(request.mouseContentHorizontalOffset-lineWidth);const pos=new Position(lineNumber,ctx.viewModel.getLineMaxColumn(lineNumber));return request.fulfillContentEmpty(pos,detail)}}return request.fulfillUnknown()}const hitTestResult=MouseTargetFactory._doHitTest(ctx,request);if(hitTestResult.type===1){return MouseTargetFactory.createMouseTargetFromHitTestPosition(ctx,request,hitTestResult.spanNode,hitTestResult.position,hitTestResult.injectedText)}return this._createMouseTarget(ctx,request.withTarget(hitTestResult.hitTarget),true)}static _hitTestMinimap(ctx,request){if(ElementPath.isChildOfMinimap(request.targetPath)){const possibleLineNumber=ctx.getLineNumberAtVerticalOffset(request.mouseVerticalOffset);const maxColumn=ctx.viewModel.getLineMaxColumn(possibleLineNumber);return request.fulfillScrollbar(new Position(possibleLineNumber,maxColumn))}return null}static _hitTestScrollbarSlider(ctx,request){if(ElementPath.isChildOfScrollableElement(request.targetPath)){if(request.target&&request.target.nodeType===1){const className=request.target.className;if(className&&/\b(slider|scrollbar)\b/.test(className)){const possibleLineNumber=ctx.getLineNumberAtVerticalOffset(request.mouseVerticalOffset);const maxColumn=ctx.viewModel.getLineMaxColumn(possibleLineNumber);return request.fulfillScrollbar(new Position(possibleLineNumber,maxColumn))}}}return null}static _hitTestScrollbar(ctx,request){if(ElementPath.isChildOfScrollableElement(request.targetPath)){const possibleLineNumber=ctx.getLineNumberAtVerticalOffset(request.mouseVerticalOffset);const maxColumn=ctx.viewModel.getLineMaxColumn(possibleLineNumber);return request.fulfillScrollbar(new Position(possibleLineNumber,maxColumn))}return null}getMouseColumn(relativePos){const options2=this._context.configuration.options;const layoutInfo=options2.get(142);const mouseContentHorizontalOffset=this._context.viewLayout.getCurrentScrollLeft()+relativePos.x-layoutInfo.contentLeft;return MouseTargetFactory._getMouseColumn(mouseContentHorizontalOffset,options2.get(49).typicalHalfwidthCharacterWidth)}static _getMouseColumn(mouseContentHorizontalOffset,typicalHalfwidthCharacterWidth){if(mouseContentHorizontalOffset<0){return 1}const chars=Math.round(mouseContentHorizontalOffset/typicalHalfwidthCharacterWidth);return chars+1}static createMouseTargetFromHitTestPosition(ctx,request,spanNode,pos,injectedText){const lineNumber=pos.lineNumber;const column=pos.column;const lineWidth=ctx.getLineWidth(lineNumber);if(request.mouseContentHorizontalOffset>lineWidth){const detail=createEmptyContentDataInLines(request.mouseContentHorizontalOffset-lineWidth);return request.fulfillContentEmpty(pos,detail)}const visibleRange=ctx.visibleRangeForPosition(lineNumber,column);if(!visibleRange){return request.fulfillUnknown(pos)}const columnHorizontalOffset=visibleRange.left;if(Math.abs(request.mouseContentHorizontalOffset-columnHorizontalOffset)<1){return request.fulfillContentText(pos,null,{mightBeForeignElement:!!injectedText,injectedText:injectedText})}const points=[];points.push({offset:visibleRange.left,column:column});if(column>1){const visibleRange2=ctx.visibleRangeForPosition(lineNumber,column-1);if(visibleRange2){points.push({offset:visibleRange2.left,column:column-1})}}const lineMaxColumn=ctx.viewModel.getLineMaxColumn(lineNumber);if(column<lineMaxColumn){const visibleRange2=ctx.visibleRangeForPosition(lineNumber,column+1);if(visibleRange2){points.push({offset:visibleRange2.left,column:column+1})}}points.sort(((a,b)=>a.offset-b.offset));const mouseCoordinates=request.pos.toClientCoordinates();const spanNodeClientRect=spanNode.getBoundingClientRect();const mouseIsOverSpanNode=spanNodeClientRect.left<=mouseCoordinates.clientX&&mouseCoordinates.clientX<=spanNodeClientRect.right;let rng=null;for(let i=1;i<points.length;i++){const prev=points[i-1];const curr=points[i];if(prev.offset<=request.mouseContentHorizontalOffset&&request.mouseContentHorizontalOffset<=curr.offset){rng=new Range(lineNumber,prev.column,lineNumber,curr.column);const prevDelta=Math.abs(prev.offset-request.mouseContentHorizontalOffset);const nextDelta=Math.abs(curr.offset-request.mouseContentHorizontalOffset);pos=prevDelta<nextDelta?new Position(lineNumber,prev.column):new Position(lineNumber,curr.column);break}}return request.fulfillContentText(pos,rng,{mightBeForeignElement:!mouseIsOverSpanNode||!!injectedText,injectedText:injectedText})}static _doHitTestWithCaretRangeFromPoint(ctx,request){const lineNumber=ctx.getLineNumberAtVerticalOffset(request.mouseVerticalOffset);const lineStartVerticalOffset=ctx.getVerticalOffsetForLineNumber(lineNumber);const lineEndVerticalOffset=lineStartVerticalOffset+ctx.lineHeight;const isBelowLastLine=lineNumber===ctx.viewModel.getLineCount()&&request.mouseVerticalOffset>lineEndVerticalOffset;if(!isBelowLastLine){const lineCenteredVerticalOffset=Math.floor((lineStartVerticalOffset+lineEndVerticalOffset)/2);let adjustedPageY=request.pos.y+(lineCenteredVerticalOffset-request.mouseVerticalOffset);if(adjustedPageY<=request.editorPos.y){adjustedPageY=request.editorPos.y+1}if(adjustedPageY>=request.editorPos.y+request.editorPos.height){adjustedPageY=request.editorPos.y+request.editorPos.height-1}const adjustedPage=new PageCoordinates(request.pos.x,adjustedPageY);const r=this._actualDoHitTestWithCaretRangeFromPoint(ctx,adjustedPage.toClientCoordinates());if(r.type===1){return r}}return this._actualDoHitTestWithCaretRangeFromPoint(ctx,request.pos.toClientCoordinates())}static _actualDoHitTestWithCaretRangeFromPoint(ctx,coords){const shadowRoot=getShadowRoot(ctx.viewDomNode);let range2;if(shadowRoot){if(typeof shadowRoot.caretRangeFromPoint==="undefined"){range2=shadowCaretRangeFromPoint(shadowRoot,coords.clientX,coords.clientY)}else{range2=shadowRoot.caretRangeFromPoint(coords.clientX,coords.clientY)}}else{range2=document.caretRangeFromPoint(coords.clientX,coords.clientY)}if(!range2||!range2.startContainer){return new UnknownHitTestResult}const startContainer=range2.startContainer;if(startContainer.nodeType===startContainer.TEXT_NODE){const parent1=startContainer.parentNode;const parent2=parent1?parent1.parentNode:null;const parent3=parent2?parent2.parentNode:null;const parent3ClassName=parent3&&parent3.nodeType===parent3.ELEMENT_NODE?parent3.className:null;if(parent3ClassName===ViewLine.CLASS_NAME){return HitTestResult.createFromDOMInfo(ctx,parent1,range2.startOffset)}else{return new UnknownHitTestResult(startContainer.parentNode)}}else if(startContainer.nodeType===startContainer.ELEMENT_NODE){const parent1=startContainer.parentNode;const parent2=parent1?parent1.parentNode:null;const parent2ClassName=parent2&&parent2.nodeType===parent2.ELEMENT_NODE?parent2.className:null;if(parent2ClassName===ViewLine.CLASS_NAME){return HitTestResult.createFromDOMInfo(ctx,startContainer,startContainer.textContent.length)}else{return new UnknownHitTestResult(startContainer)}}return new UnknownHitTestResult}static _doHitTestWithCaretPositionFromPoint(ctx,coords){const hitResult=document.caretPositionFromPoint(coords.clientX,coords.clientY);if(hitResult.offsetNode.nodeType===hitResult.offsetNode.TEXT_NODE){const parent1=hitResult.offsetNode.parentNode;const parent2=parent1?parent1.parentNode:null;const parent3=parent2?parent2.parentNode:null;const parent3ClassName=parent3&&parent3.nodeType===parent3.ELEMENT_NODE?parent3.className:null;if(parent3ClassName===ViewLine.CLASS_NAME){return HitTestResult.createFromDOMInfo(ctx,hitResult.offsetNode.parentNode,hitResult.offset)}else{return new UnknownHitTestResult(hitResult.offsetNode.parentNode)}}if(hitResult.offsetNode.nodeType===hitResult.offsetNode.ELEMENT_NODE){const parent1=hitResult.offsetNode.parentNode;const parent1ClassName=parent1&&parent1.nodeType===parent1.ELEMENT_NODE?parent1.className:null;const parent2=parent1?parent1.parentNode:null;const parent2ClassName=parent2&&parent2.nodeType===parent2.ELEMENT_NODE?parent2.className:null;if(parent1ClassName===ViewLine.CLASS_NAME){const tokenSpan=hitResult.offsetNode.childNodes[Math.min(hitResult.offset,hitResult.offsetNode.childNodes.length-1)];if(tokenSpan){return HitTestResult.createFromDOMInfo(ctx,tokenSpan,0)}}else if(parent2ClassName===ViewLine.CLASS_NAME){return HitTestResult.createFromDOMInfo(ctx,hitResult.offsetNode,0)}}return new UnknownHitTestResult(hitResult.offsetNode)}static _snapToSoftTabBoundary(position,viewModel){const lineContent=viewModel.getLineContent(position.lineNumber);const{tabSize:tabSize}=viewModel.model.getOptions();const newPosition=AtomicTabMoveOperations.atomicPosition(lineContent,position.column-1,tabSize,2);if(newPosition!==-1){return new Position(position.lineNumber,newPosition+1)}return position}static _doHitTest(ctx,request){let result=new UnknownHitTestResult;if(typeof document.caretRangeFromPoint==="function"){result=this._doHitTestWithCaretRangeFromPoint(ctx,request)}else if(document.caretPositionFromPoint){result=this._doHitTestWithCaretPositionFromPoint(ctx,request.pos.toClientCoordinates())}if(result.type===1){const injectedText=ctx.viewModel.getInjectedTextAt(result.position);const normalizedPosition=ctx.viewModel.normalizePosition(result.position,2);if(injectedText||!normalizedPosition.equals(result.position)){result=new ContentHitTestResult(normalizedPosition,result.spanNode,injectedText)}}return result}};CharWidthReader=class{static getInstance(){if(!CharWidthReader._INSTANCE){CharWidthReader._INSTANCE=new CharWidthReader}return CharWidthReader._INSTANCE}constructor(){this._cache={};this._canvas=document.createElement("canvas")}getCharWidth(char,font){const cacheKey=char+font;if(this._cache[cacheKey]){return this._cache[cacheKey]}const context=this._canvas.getContext("2d");context.font=font;const metrics=context.measureText(char);const width=metrics.width;this._cache[cacheKey]=width;return width}};CharWidthReader._INSTANCE=null}});var Widget;var init_widget=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/widget.js"(){init_dom();init_keyboardEvent();init_mouseEvent();init_touch();init_lifecycle();Widget=class extends Disposable{onclick(domNode,listener){this._register(addDisposableListener(domNode,EventType.CLICK,(e=>listener(new StandardMouseEvent(e)))))}onmousedown(domNode,listener){this._register(addDisposableListener(domNode,EventType.MOUSE_DOWN,(e=>listener(new StandardMouseEvent(e)))))}onmouseover(domNode,listener){this._register(addDisposableListener(domNode,EventType.MOUSE_OVER,(e=>listener(new StandardMouseEvent(e)))))}onmouseleave(domNode,listener){this._register(addDisposableListener(domNode,EventType.MOUSE_LEAVE,(e=>listener(new StandardMouseEvent(e)))))}onkeydown(domNode,listener){this._register(addDisposableListener(domNode,EventType.KEY_DOWN,(e=>listener(new StandardKeyboardEvent(e)))))}onkeyup(domNode,listener){this._register(addDisposableListener(domNode,EventType.KEY_UP,(e=>listener(new StandardKeyboardEvent(e)))))}oninput(domNode,listener){this._register(addDisposableListener(domNode,EventType.INPUT,listener))}onblur(domNode,listener){this._register(addDisposableListener(domNode,EventType.BLUR,listener))}onfocus(domNode,listener){this._register(addDisposableListener(domNode,EventType.FOCUS,listener))}ignoreGesture(domNode){return Gesture.ignoreTarget(domNode)}}}});var ARROW_IMG_SIZE,ScrollbarArrow;var init_scrollbarArrow=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarArrow.js"(){init_globalPointerMoveMonitor();init_widget();init_async();init_themables();init_dom();ARROW_IMG_SIZE=11;ScrollbarArrow=class extends Widget{constructor(opts){super();this._onActivate=opts.onActivate;this.bgDomNode=document.createElement("div");this.bgDomNode.className="arrow-background";this.bgDomNode.style.position="absolute";this.bgDomNode.style.width=opts.bgWidth+"px";this.bgDomNode.style.height=opts.bgHeight+"px";if(typeof opts.top!=="undefined"){this.bgDomNode.style.top="0px"}if(typeof opts.left!=="undefined"){this.bgDomNode.style.left="0px"}if(typeof opts.bottom!=="undefined"){this.bgDomNode.style.bottom="0px"}if(typeof opts.right!=="undefined"){this.bgDomNode.style.right="0px"}this.domNode=document.createElement("div");this.domNode.className=opts.className;this.domNode.classList.add(...ThemeIcon.asClassNameArray(opts.icon));this.domNode.style.position="absolute";this.domNode.style.width=ARROW_IMG_SIZE+"px";this.domNode.style.height=ARROW_IMG_SIZE+"px";if(typeof opts.top!=="undefined"){this.domNode.style.top=opts.top+"px"}if(typeof opts.left!=="undefined"){this.domNode.style.left=opts.left+"px"}if(typeof opts.bottom!=="undefined"){this.domNode.style.bottom=opts.bottom+"px"}if(typeof opts.right!=="undefined"){this.domNode.style.right=opts.right+"px"}this._pointerMoveMonitor=this._register(new GlobalPointerMoveMonitor);this._register(addStandardDisposableListener(this.bgDomNode,EventType.POINTER_DOWN,(e=>this._arrowPointerDown(e))));this._register(addStandardDisposableListener(this.domNode,EventType.POINTER_DOWN,(e=>this._arrowPointerDown(e))));this._pointerdownRepeatTimer=this._register(new IntervalTimer);this._pointerdownScheduleRepeatTimer=this._register(new TimeoutTimer)}_arrowPointerDown(e){if(!e.target||!(e.target instanceof Element)){return}const scheduleRepeater=()=>{this._pointerdownRepeatTimer.cancelAndSet((()=>this._onActivate()),1e3/24)};this._onActivate();this._pointerdownRepeatTimer.cancel();this._pointerdownScheduleRepeatTimer.cancelAndSet(scheduleRepeater,200);this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,(pointerMoveData=>{}),(()=>{this._pointerdownRepeatTimer.cancel();this._pointerdownScheduleRepeatTimer.cancel()}));e.preventDefault()}}}});var ScrollbarVisibilityController;var init_scrollbarVisibilityController=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.js"(){init_async();init_lifecycle();ScrollbarVisibilityController=class extends Disposable{constructor(visibility,visibleClassName,invisibleClassName){super();this._visibility=visibility;this._visibleClassName=visibleClassName;this._invisibleClassName=invisibleClassName;this._domNode=null;this._isVisible=false;this._isNeeded=false;this._rawShouldBeVisible=false;this._shouldBeVisible=false;this._revealTimer=this._register(new TimeoutTimer)}setVisibility(visibility){if(this._visibility!==visibility){this._visibility=visibility;this._updateShouldBeVisible()}}setShouldBeVisible(rawShouldBeVisible){this._rawShouldBeVisible=rawShouldBeVisible;this._updateShouldBeVisible()}_applyVisibilitySetting(){if(this._visibility===2){return false}if(this._visibility===3){return true}return this._rawShouldBeVisible}_updateShouldBeVisible(){const shouldBeVisible=this._applyVisibilitySetting();if(this._shouldBeVisible!==shouldBeVisible){this._shouldBeVisible=shouldBeVisible;this.ensureVisibility()}}setIsNeeded(isNeeded){if(this._isNeeded!==isNeeded){this._isNeeded=isNeeded;this.ensureVisibility()}}setDomNode(domNode){this._domNode=domNode;this._domNode.setClassName(this._invisibleClassName);this.setShouldBeVisible(false)}ensureVisibility(){if(!this._isNeeded){this._hide(false);return}if(this._shouldBeVisible){this._reveal()}else{this._hide(true)}}_reveal(){if(this._isVisible){return}this._isVisible=true;this._revealTimer.setIfNotSet((()=>{var _a6;(_a6=this._domNode)===null||_a6===void 0?void 0:_a6.setClassName(this._visibleClassName)}),0)}_hide(withFadeAway){var _a6;this._revealTimer.cancel();if(!this._isVisible){return}this._isVisible=false;(_a6=this._domNode)===null||_a6===void 0?void 0:_a6.setClassName(this._invisibleClassName+(withFadeAway?" fade":""))}}}});var POINTER_DRAG_RESET_DISTANCE,AbstractScrollbar;var init_abstractScrollbar=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/abstractScrollbar.js"(){init_dom();init_fastDomNode();init_globalPointerMoveMonitor();init_scrollbarArrow();init_scrollbarVisibilityController();init_widget();init_platform();POINTER_DRAG_RESET_DISTANCE=140;AbstractScrollbar=class extends Widget{constructor(opts){super();this._lazyRender=opts.lazyRender;this._host=opts.host;this._scrollable=opts.scrollable;this._scrollByPage=opts.scrollByPage;this._scrollbarState=opts.scrollbarState;this._visibilityController=this._register(new ScrollbarVisibilityController(opts.visibility,"visible scrollbar "+opts.extraScrollbarClassName,"invisible scrollbar "+opts.extraScrollbarClassName));this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded());this._pointerMoveMonitor=this._register(new GlobalPointerMoveMonitor);this._shouldRender=true;this.domNode=createFastDomNode(document.createElement("div"));this.domNode.setAttribute("role","presentation");this.domNode.setAttribute("aria-hidden","true");this._visibilityController.setDomNode(this.domNode);this.domNode.setPosition("absolute");this._register(addDisposableListener(this.domNode.domNode,EventType.POINTER_DOWN,(e=>this._domNodePointerDown(e))))}_createArrow(opts){const arrow=this._register(new ScrollbarArrow(opts));this.domNode.domNode.appendChild(arrow.bgDomNode);this.domNode.domNode.appendChild(arrow.domNode)}_createSlider(top,left,width,height){this.slider=createFastDomNode(document.createElement("div"));this.slider.setClassName("slider");this.slider.setPosition("absolute");this.slider.setTop(top);this.slider.setLeft(left);if(typeof width==="number"){this.slider.setWidth(width)}if(typeof height==="number"){this.slider.setHeight(height)}this.slider.setLayerHinting(true);this.slider.setContain("strict");this.domNode.domNode.appendChild(this.slider.domNode);this._register(addDisposableListener(this.slider.domNode,EventType.POINTER_DOWN,(e=>{if(e.button===0){e.preventDefault();this._sliderPointerDown(e)}})));this.onclick(this.slider.domNode,(e=>{if(e.leftButton){e.stopPropagation()}}))}_onElementSize(visibleSize){if(this._scrollbarState.setVisibleSize(visibleSize)){this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded());this._shouldRender=true;if(!this._lazyRender){this.render()}}return this._shouldRender}_onElementScrollSize(elementScrollSize){if(this._scrollbarState.setScrollSize(elementScrollSize)){this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded());this._shouldRender=true;if(!this._lazyRender){this.render()}}return this._shouldRender}_onElementScrollPosition(elementScrollPosition){if(this._scrollbarState.setScrollPosition(elementScrollPosition)){this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded());this._shouldRender=true;if(!this._lazyRender){this.render()}}return this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(true)}beginHide(){this._visibilityController.setShouldBeVisible(false)}render(){if(!this._shouldRender){return}this._shouldRender=false;this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize());this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition())}_domNodePointerDown(e){if(e.target!==this.domNode.domNode){return}this._onPointerDown(e)}delegatePointerDown(e){const domTop=this.domNode.domNode.getClientRects()[0].top;const sliderStart=domTop+this._scrollbarState.getSliderPosition();const sliderStop=domTop+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize();const pointerPos=this._sliderPointerPosition(e);if(sliderStart<=pointerPos&&pointerPos<=sliderStop){if(e.button===0){e.preventDefault();this._sliderPointerDown(e)}}else{this._onPointerDown(e)}}_onPointerDown(e){let offsetX;let offsetY;if(e.target===this.domNode.domNode&&typeof e.offsetX==="number"&&typeof e.offsetY==="number"){offsetX=e.offsetX;offsetY=e.offsetY}else{const domNodePosition=getDomNodePagePosition(this.domNode.domNode);offsetX=e.pageX-domNodePosition.left;offsetY=e.pageY-domNodePosition.top}const offset=this._pointerDownRelativePosition(offsetX,offsetY);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(offset):this._scrollbarState.getDesiredScrollPositionFromOffset(offset));if(e.button===0){e.preventDefault();this._sliderPointerDown(e)}}_sliderPointerDown(e){if(!e.target||!(e.target instanceof Element)){return}const initialPointerPosition=this._sliderPointerPosition(e);const initialPointerOrthogonalPosition=this._sliderOrthogonalPointerPosition(e);const initialScrollbarState=this._scrollbarState.clone();this.slider.toggleClassName("active",true);this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,(pointerMoveData=>{const pointerOrthogonalPosition=this._sliderOrthogonalPointerPosition(pointerMoveData);const pointerOrthogonalDelta=Math.abs(pointerOrthogonalPosition-initialPointerOrthogonalPosition);if(isWindows&&pointerOrthogonalDelta>POINTER_DRAG_RESET_DISTANCE){this._setDesiredScrollPositionNow(initialScrollbarState.getScrollPosition());return}const pointerPosition=this._sliderPointerPosition(pointerMoveData);const pointerDelta=pointerPosition-initialPointerPosition;this._setDesiredScrollPositionNow(initialScrollbarState.getDesiredScrollPositionFromDelta(pointerDelta))}),(()=>{this.slider.toggleClassName("active",false);this._host.onDragEnd()}));this._host.onDragStart()}_setDesiredScrollPositionNow(_desiredScrollPosition){const desiredScrollPosition={};this.writeScrollPosition(desiredScrollPosition,_desiredScrollPosition);this._scrollable.setScrollPositionNow(desiredScrollPosition)}updateScrollbarSize(scrollbarSize){this._updateScrollbarSize(scrollbarSize);this._scrollbarState.setScrollbarSize(scrollbarSize);this._shouldRender=true;if(!this._lazyRender){this.render()}}isNeeded(){return this._scrollbarState.isNeeded()}}}});var MINIMUM_SLIDER_SIZE,ScrollbarState;var init_scrollbarState=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollbarState.js"(){MINIMUM_SLIDER_SIZE=20;ScrollbarState=class{constructor(arrowSize,scrollbarSize,oppositeScrollbarSize,visibleSize,scrollSize,scrollPosition){this._scrollbarSize=Math.round(scrollbarSize);this._oppositeScrollbarSize=Math.round(oppositeScrollbarSize);this._arrowSize=Math.round(arrowSize);this._visibleSize=visibleSize;this._scrollSize=scrollSize;this._scrollPosition=scrollPosition;this._computedAvailableSize=0;this._computedIsNeeded=false;this._computedSliderSize=0;this._computedSliderRatio=0;this._computedSliderPosition=0;this._refreshComputedValues()}clone(){return new ScrollbarState(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(visibleSize){const iVisibleSize=Math.round(visibleSize);if(this._visibleSize!==iVisibleSize){this._visibleSize=iVisibleSize;this._refreshComputedValues();return true}return false}setScrollSize(scrollSize){const iScrollSize=Math.round(scrollSize);if(this._scrollSize!==iScrollSize){this._scrollSize=iScrollSize;this._refreshComputedValues();return true}return false}setScrollPosition(scrollPosition){const iScrollPosition=Math.round(scrollPosition);if(this._scrollPosition!==iScrollPosition){this._scrollPosition=iScrollPosition;this._refreshComputedValues();return true}return false}setScrollbarSize(scrollbarSize){this._scrollbarSize=Math.round(scrollbarSize)}setOppositeScrollbarSize(oppositeScrollbarSize){this._oppositeScrollbarSize=Math.round(oppositeScrollbarSize)}static _computeValues(oppositeScrollbarSize,arrowSize,visibleSize,scrollSize,scrollPosition){const computedAvailableSize=Math.max(0,visibleSize-oppositeScrollbarSize);const computedRepresentableSize=Math.max(0,computedAvailableSize-2*arrowSize);const computedIsNeeded=scrollSize>0&&scrollSize>visibleSize;if(!computedIsNeeded){return{computedAvailableSize:Math.round(computedAvailableSize),computedIsNeeded:computedIsNeeded,computedSliderSize:Math.round(computedRepresentableSize),computedSliderRatio:0,computedSliderPosition:0}}const computedSliderSize=Math.round(Math.max(MINIMUM_SLIDER_SIZE,Math.floor(visibleSize*computedRepresentableSize/scrollSize)));const computedSliderRatio=(computedRepresentableSize-computedSliderSize)/(scrollSize-visibleSize);const computedSliderPosition=scrollPosition*computedSliderRatio;return{computedAvailableSize:Math.round(computedAvailableSize),computedIsNeeded:computedIsNeeded,computedSliderSize:Math.round(computedSliderSize),computedSliderRatio:computedSliderRatio,computedSliderPosition:Math.round(computedSliderPosition)}}_refreshComputedValues(){const r=ScrollbarState._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=r.computedAvailableSize;this._computedIsNeeded=r.computedIsNeeded;this._computedSliderSize=r.computedSliderSize;this._computedSliderRatio=r.computedSliderRatio;this._computedSliderPosition=r.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(offset){if(!this._computedIsNeeded){return 0}const desiredSliderPosition=offset-this._arrowSize-this._computedSliderSize/2;return Math.round(desiredSliderPosition/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(offset){if(!this._computedIsNeeded){return 0}const correctedOffset=offset-this._arrowSize;let desiredScrollPosition=this._scrollPosition;if(correctedOffset<this._computedSliderPosition){desiredScrollPosition-=this._visibleSize}else{desiredScrollPosition+=this._visibleSize}return desiredScrollPosition}getDesiredScrollPositionFromDelta(delta){if(!this._computedIsNeeded){return 0}const desiredSliderPosition=this._computedSliderPosition+delta;return Math.round(desiredSliderPosition/this._computedSliderRatio)}}}});var HorizontalScrollbar;var init_horizontalScrollbar=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/horizontalScrollbar.js"(){init_mouseEvent();init_abstractScrollbar();init_scrollbarArrow();init_scrollbarState();init_codicons();HorizontalScrollbar=class extends AbstractScrollbar{constructor(scrollable,options2,host){const scrollDimensions=scrollable.getScrollDimensions();const scrollPosition=scrollable.getCurrentScrollPosition();super({lazyRender:options2.lazyRender,host:host,scrollbarState:new ScrollbarState(options2.horizontalHasArrows?options2.arrowSize:0,options2.horizontal===2?0:options2.horizontalScrollbarSize,options2.vertical===2?0:options2.verticalScrollbarSize,scrollDimensions.width,scrollDimensions.scrollWidth,scrollPosition.scrollLeft),visibility:options2.horizontal,extraScrollbarClassName:"horizontal",scrollable:scrollable,scrollByPage:options2.scrollByPage});if(options2.horizontalHasArrows){const arrowDelta=(options2.arrowSize-ARROW_IMG_SIZE)/2;const scrollbarDelta=(options2.horizontalScrollbarSize-ARROW_IMG_SIZE)/2;this._createArrow({className:"scra",icon:Codicon.scrollbarButtonLeft,top:scrollbarDelta,left:arrowDelta,bottom:void 0,right:void 0,bgWidth:options2.arrowSize,bgHeight:options2.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new StandardWheelEvent(null,1,0))});this._createArrow({className:"scra",icon:Codicon.scrollbarButtonRight,top:scrollbarDelta,left:void 0,bottom:void 0,right:arrowDelta,bgWidth:options2.arrowSize,bgHeight:options2.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new StandardWheelEvent(null,-1,0))})}this._createSlider(Math.floor((options2.horizontalScrollbarSize-options2.horizontalSliderSize)/2),0,void 0,options2.horizontalSliderSize)}_updateSlider(sliderSize,sliderPosition){this.slider.setWidth(sliderSize);this.slider.setLeft(sliderPosition)}_renderDomNode(largeSize,smallSize){this.domNode.setWidth(largeSize);this.domNode.setHeight(smallSize);this.domNode.setLeft(0);this.domNode.setBottom(0)}onDidScroll(e){this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender;this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender;this._shouldRender=this._onElementSize(e.width)||this._shouldRender;return this._shouldRender}_pointerDownRelativePosition(offsetX,offsetY){return offsetX}_sliderPointerPosition(e){return e.pageX}_sliderOrthogonalPointerPosition(e){return e.pageY}_updateScrollbarSize(size2){this.slider.setHeight(size2)}writeScrollPosition(target,scrollPosition){target.scrollLeft=scrollPosition}updateOptions(options2){this.updateScrollbarSize(options2.horizontal===2?0:options2.horizontalScrollbarSize);this._scrollbarState.setOppositeScrollbarSize(options2.vertical===2?0:options2.verticalScrollbarSize);this._visibilityController.setVisibility(options2.horizontal);this._scrollByPage=options2.scrollByPage}}}});var VerticalScrollbar;var init_verticalScrollbar=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/verticalScrollbar.js"(){init_mouseEvent();init_abstractScrollbar();init_scrollbarArrow();init_scrollbarState();init_codicons();VerticalScrollbar=class extends AbstractScrollbar{constructor(scrollable,options2,host){const scrollDimensions=scrollable.getScrollDimensions();const scrollPosition=scrollable.getCurrentScrollPosition();super({lazyRender:options2.lazyRender,host:host,scrollbarState:new ScrollbarState(options2.verticalHasArrows?options2.arrowSize:0,options2.vertical===2?0:options2.verticalScrollbarSize,0,scrollDimensions.height,scrollDimensions.scrollHeight,scrollPosition.scrollTop),visibility:options2.vertical,extraScrollbarClassName:"vertical",scrollable:scrollable,scrollByPage:options2.scrollByPage});if(options2.verticalHasArrows){const arrowDelta=(options2.arrowSize-ARROW_IMG_SIZE)/2;const scrollbarDelta=(options2.verticalScrollbarSize-ARROW_IMG_SIZE)/2;this._createArrow({className:"scra",icon:Codicon.scrollbarButtonUp,top:arrowDelta,left:scrollbarDelta,bottom:void 0,right:void 0,bgWidth:options2.verticalScrollbarSize,bgHeight:options2.arrowSize,onActivate:()=>this._host.onMouseWheel(new StandardWheelEvent(null,0,1))});this._createArrow({className:"scra",icon:Codicon.scrollbarButtonDown,top:void 0,left:scrollbarDelta,bottom:arrowDelta,right:void 0,bgWidth:options2.verticalScrollbarSize,bgHeight:options2.arrowSize,onActivate:()=>this._host.onMouseWheel(new StandardWheelEvent(null,0,-1))})}this._createSlider(0,Math.floor((options2.verticalScrollbarSize-options2.verticalSliderSize)/2),options2.verticalSliderSize,void 0)}_updateSlider(sliderSize,sliderPosition){this.slider.setHeight(sliderSize);this.slider.setTop(sliderPosition)}_renderDomNode(largeSize,smallSize){this.domNode.setWidth(smallSize);this.domNode.setHeight(largeSize);this.domNode.setRight(0);this.domNode.setTop(0)}onDidScroll(e){this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender;this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender;this._shouldRender=this._onElementSize(e.height)||this._shouldRender;return this._shouldRender}_pointerDownRelativePosition(offsetX,offsetY){return offsetY}_sliderPointerPosition(e){return e.pageY}_sliderOrthogonalPointerPosition(e){return e.pageX}_updateScrollbarSize(size2){this.slider.setWidth(size2)}writeScrollPosition(target,scrollPosition){target.scrollTop=scrollPosition}updateOptions(options2){this.updateScrollbarSize(options2.vertical===2?0:options2.verticalScrollbarSize);this._scrollbarState.setOppositeScrollbarSize(0);this._visibilityController.setVisibility(options2.vertical);this._scrollByPage=options2.scrollByPage}}}});function createEaseOutCubic(from,to){const delta=to-from;return function(completion){return from+delta*easeOutCubic(completion)}}function createComposed(a,b,cut){return function(completion){if(completion<cut){return a(completion/cut)}return b((completion-cut)/(1-cut))}}function easeInCubic(t2){return Math.pow(t2,3)}function easeOutCubic(t2){return 1-easeInCubic(1-t2)}var ScrollState,Scrollable,SmoothScrollingUpdate,SmoothScrollingOperation;var init_scrollable=__esm({"node_modules/monaco-editor/esm/vs/base/common/scrollable.js"(){init_event();init_lifecycle();ScrollState=class{constructor(_forceIntegerValues,width,scrollWidth,scrollLeft,height,scrollHeight,scrollTop){this._forceIntegerValues=_forceIntegerValues;this._scrollStateBrand=void 0;if(this._forceIntegerValues){width=width|0;scrollWidth=scrollWidth|0;scrollLeft=scrollLeft|0;height=height|0;scrollHeight=scrollHeight|0;scrollTop=scrollTop|0}this.rawScrollLeft=scrollLeft;this.rawScrollTop=scrollTop;if(width<0){width=0}if(scrollLeft+width>scrollWidth){scrollLeft=scrollWidth-width}if(scrollLeft<0){scrollLeft=0}if(height<0){height=0}if(scrollTop+height>scrollHeight){scrollTop=scrollHeight-height}if(scrollTop<0){scrollTop=0}this.width=width;this.scrollWidth=scrollWidth;this.scrollLeft=scrollLeft;this.height=height;this.scrollHeight=scrollHeight;this.scrollTop=scrollTop}equals(other){return this.rawScrollLeft===other.rawScrollLeft&&this.rawScrollTop===other.rawScrollTop&&this.width===other.width&&this.scrollWidth===other.scrollWidth&&this.scrollLeft===other.scrollLeft&&this.height===other.height&&this.scrollHeight===other.scrollHeight&&this.scrollTop===other.scrollTop}withScrollDimensions(update,useRawScrollPositions){return new ScrollState(this._forceIntegerValues,typeof update.width!=="undefined"?update.width:this.width,typeof update.scrollWidth!=="undefined"?update.scrollWidth:this.scrollWidth,useRawScrollPositions?this.rawScrollLeft:this.scrollLeft,typeof update.height!=="undefined"?update.height:this.height,typeof update.scrollHeight!=="undefined"?update.scrollHeight:this.scrollHeight,useRawScrollPositions?this.rawScrollTop:this.scrollTop)}withScrollPosition(update){return new ScrollState(this._forceIntegerValues,this.width,this.scrollWidth,typeof update.scrollLeft!=="undefined"?update.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof update.scrollTop!=="undefined"?update.scrollTop:this.rawScrollTop)}createScrollEvent(previous,inSmoothScrolling){const widthChanged=this.width!==previous.width;const scrollWidthChanged=this.scrollWidth!==previous.scrollWidth;const scrollLeftChanged=this.scrollLeft!==previous.scrollLeft;const heightChanged=this.height!==previous.height;const scrollHeightChanged=this.scrollHeight!==previous.scrollHeight;const scrollTopChanged=this.scrollTop!==previous.scrollTop;return{inSmoothScrolling:inSmoothScrolling,oldWidth:previous.width,oldScrollWidth:previous.scrollWidth,oldScrollLeft:previous.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:previous.height,oldScrollHeight:previous.scrollHeight,oldScrollTop:previous.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:widthChanged,scrollWidthChanged:scrollWidthChanged,scrollLeftChanged:scrollLeftChanged,heightChanged:heightChanged,scrollHeightChanged:scrollHeightChanged,scrollTopChanged:scrollTopChanged}}};Scrollable=class extends Disposable{constructor(options2){super();this._scrollableBrand=void 0;this._onScroll=this._register(new Emitter);this.onScroll=this._onScroll.event;this._smoothScrollDuration=options2.smoothScrollDuration;this._scheduleAtNextAnimationFrame=options2.scheduleAtNextAnimationFrame;this._state=new ScrollState(options2.forceIntegerValues,0,0,0,0,0,0);this._smoothScrolling=null}dispose(){if(this._smoothScrolling){this._smoothScrolling.dispose();this._smoothScrolling=null}super.dispose()}setSmoothScrollDuration(smoothScrollDuration){this._smoothScrollDuration=smoothScrollDuration}validateScrollPosition(scrollPosition){return this._state.withScrollPosition(scrollPosition)}getScrollDimensions(){return this._state}setScrollDimensions(dimensions,useRawScrollPositions){var _a6;const newState=this._state.withScrollDimensions(dimensions,useRawScrollPositions);this._setState(newState,Boolean(this._smoothScrolling));(_a6=this._smoothScrolling)===null||_a6===void 0?void 0:_a6.acceptScrollDimensions(this._state)}getFutureScrollPosition(){if(this._smoothScrolling){return this._smoothScrolling.to}return this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(update){const newState=this._state.withScrollPosition(update);if(this._smoothScrolling){this._smoothScrolling.dispose();this._smoothScrolling=null}this._setState(newState,false)}setScrollPositionSmooth(update,reuseAnimation){if(this._smoothScrollDuration===0){return this.setScrollPositionNow(update)}if(this._smoothScrolling){update={scrollLeft:typeof update.scrollLeft==="undefined"?this._smoothScrolling.to.scrollLeft:update.scrollLeft,scrollTop:typeof update.scrollTop==="undefined"?this._smoothScrolling.to.scrollTop:update.scrollTop};const validTarget=this._state.withScrollPosition(update);if(this._smoothScrolling.to.scrollLeft===validTarget.scrollLeft&&this._smoothScrolling.to.scrollTop===validTarget.scrollTop){return}let newSmoothScrolling;if(reuseAnimation){newSmoothScrolling=new SmoothScrollingOperation(this._smoothScrolling.from,validTarget,this._smoothScrolling.startTime,this._smoothScrolling.duration)}else{newSmoothScrolling=this._smoothScrolling.combine(this._state,validTarget,this._smoothScrollDuration)}this._smoothScrolling.dispose();this._smoothScrolling=newSmoothScrolling}else{const validTarget=this._state.withScrollPosition(update);this._smoothScrolling=SmoothScrollingOperation.start(this._state,validTarget,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame((()=>{if(!this._smoothScrolling){return}this._smoothScrolling.animationFrameDisposable=null;this._performSmoothScrolling()}))}hasPendingScrollAnimation(){return Boolean(this._smoothScrolling)}_performSmoothScrolling(){if(!this._smoothScrolling){return}const update=this._smoothScrolling.tick();const newState=this._state.withScrollPosition(update);this._setState(newState,true);if(!this._smoothScrolling){return}if(update.isDone){this._smoothScrolling.dispose();this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame((()=>{if(!this._smoothScrolling){return}this._smoothScrolling.animationFrameDisposable=null;this._performSmoothScrolling()}))}_setState(newState,inSmoothScrolling){const oldState=this._state;if(oldState.equals(newState)){return}this._state=newState;this._onScroll.fire(this._state.createScrollEvent(oldState,inSmoothScrolling))}};SmoothScrollingUpdate=class{constructor(scrollLeft,scrollTop,isDone){this.scrollLeft=scrollLeft;this.scrollTop=scrollTop;this.isDone=isDone}};SmoothScrollingOperation=class{constructor(from,to,startTime,duration){this.from=from;this.to=to;this.duration=duration;this.startTime=startTime;this.animationFrameDisposable=null;this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width);this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(from,to,viewportSize){const delta=Math.abs(from-to);if(delta>2.5*viewportSize){let stop1,stop2;if(from<to){stop1=from+.75*viewportSize;stop2=to-.75*viewportSize}else{stop1=from-.75*viewportSize;stop2=to+.75*viewportSize}return createComposed(createEaseOutCubic(from,stop1),createEaseOutCubic(stop2,to),.33)}return createEaseOutCubic(from,to)}dispose(){if(this.animationFrameDisposable!==null){this.animationFrameDisposable.dispose();this.animationFrameDisposable=null}}acceptScrollDimensions(state){this.to=state.withScrollPosition(this.to);this._initAnimations()}tick(){return this._tick(Date.now())}_tick(now){const completion=(now-this.startTime)/this.duration;if(completion<1){const newScrollLeft=this.scrollLeft(completion);const newScrollTop=this.scrollTop(completion);return new SmoothScrollingUpdate(newScrollLeft,newScrollTop,false)}return new SmoothScrollingUpdate(this.to.scrollLeft,this.to.scrollTop,true)}combine(from,to,duration){return SmoothScrollingOperation.start(from,to,duration)}static start(from,to,duration){duration=duration+10;const startTime=Date.now()-10;return new SmoothScrollingOperation(from,to,startTime,duration)}}}});var init_4=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/media/scrollbars.css"(){}});function resolveOptions(opts){const result={lazyRender:typeof opts.lazyRender!=="undefined"?opts.lazyRender:false,className:typeof opts.className!=="undefined"?opts.className:"",useShadows:typeof opts.useShadows!=="undefined"?opts.useShadows:true,handleMouseWheel:typeof opts.handleMouseWheel!=="undefined"?opts.handleMouseWheel:true,flipAxes:typeof opts.flipAxes!=="undefined"?opts.flipAxes:false,consumeMouseWheelIfScrollbarIsNeeded:typeof opts.consumeMouseWheelIfScrollbarIsNeeded!=="undefined"?opts.consumeMouseWheelIfScrollbarIsNeeded:false,alwaysConsumeMouseWheel:typeof opts.alwaysConsumeMouseWheel!=="undefined"?opts.alwaysConsumeMouseWheel:false,scrollYToX:typeof opts.scrollYToX!=="undefined"?opts.scrollYToX:false,mouseWheelScrollSensitivity:typeof opts.mouseWheelScrollSensitivity!=="undefined"?opts.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof opts.fastScrollSensitivity!=="undefined"?opts.fastScrollSensitivity:5,scrollPredominantAxis:typeof opts.scrollPredominantAxis!=="undefined"?opts.scrollPredominantAxis:true,mouseWheelSmoothScroll:typeof opts.mouseWheelSmoothScroll!=="undefined"?opts.mouseWheelSmoothScroll:true,arrowSize:typeof opts.arrowSize!=="undefined"?opts.arrowSize:11,listenOnDomNode:typeof opts.listenOnDomNode!=="undefined"?opts.listenOnDomNode:null,horizontal:typeof opts.horizontal!=="undefined"?opts.horizontal:1,horizontalScrollbarSize:typeof opts.horizontalScrollbarSize!=="undefined"?opts.horizontalScrollbarSize:10,horizontalSliderSize:typeof opts.horizontalSliderSize!=="undefined"?opts.horizontalSliderSize:0,horizontalHasArrows:typeof opts.horizontalHasArrows!=="undefined"?opts.horizontalHasArrows:false,vertical:typeof opts.vertical!=="undefined"?opts.vertical:1,verticalScrollbarSize:typeof opts.verticalScrollbarSize!=="undefined"?opts.verticalScrollbarSize:10,verticalHasArrows:typeof opts.verticalHasArrows!=="undefined"?opts.verticalHasArrows:false,verticalSliderSize:typeof opts.verticalSliderSize!=="undefined"?opts.verticalSliderSize:0,scrollByPage:typeof opts.scrollByPage!=="undefined"?opts.scrollByPage:false};result.horizontalSliderSize=typeof opts.horizontalSliderSize!=="undefined"?opts.horizontalSliderSize:result.horizontalScrollbarSize;result.verticalSliderSize=typeof opts.verticalSliderSize!=="undefined"?opts.verticalSliderSize:result.verticalScrollbarSize;if(isMacintosh){result.className+=" mac"}return result}var HIDE_TIMEOUT,SCROLL_WHEEL_SENSITIVITY,SCROLL_WHEEL_SMOOTH_SCROLL_ENABLED,MouseWheelClassifierItem,MouseWheelClassifier,AbstractScrollableElement,ScrollableElement,SmoothScrollableElement,DomScrollableElement;var init_scrollableElement=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.js"(){init_browser();init_dom();init_fastDomNode();init_mouseEvent();init_horizontalScrollbar();init_verticalScrollbar();init_widget();init_async();init_event();init_lifecycle();init_platform();init_scrollable();init_4();HIDE_TIMEOUT=500;SCROLL_WHEEL_SENSITIVITY=50;SCROLL_WHEEL_SMOOTH_SCROLL_ENABLED=true;MouseWheelClassifierItem=class{constructor(timestamp,deltaX,deltaY){this.timestamp=timestamp;this.deltaX=deltaX;this.deltaY=deltaY;this.score=0}};MouseWheelClassifier=class{constructor(){this._capacity=5;this._memory=[];this._front=-1;this._rear=-1}isPhysicalMouseWheel(){if(this._front===-1&&this._rear===-1){return false}let remainingInfluence=1;let score3=0;let iteration=1;let index=this._rear;do{const influence=index===this._front?remainingInfluence:Math.pow(2,-iteration);remainingInfluence-=influence;score3+=this._memory[index].score*influence;if(index===this._front){break}index=(this._capacity+index-1)%this._capacity;iteration++}while(true);return score3<=.5}acceptStandardWheelEvent(e){const osZoomFactor=window.devicePixelRatio/getZoomFactor();if(isWindows||isLinux){this.accept(Date.now(),e.deltaX/osZoomFactor,e.deltaY/osZoomFactor)}else{this.accept(Date.now(),e.deltaX,e.deltaY)}}accept(timestamp,deltaX,deltaY){const item=new MouseWheelClassifierItem(timestamp,deltaX,deltaY);item.score=this._computeScore(item);if(this._front===-1&&this._rear===-1){this._memory[0]=item;this._front=0;this._rear=0}else{this._rear=(this._rear+1)%this._capacity;if(this._rear===this._front){this._front=(this._front+1)%this._capacity}this._memory[this._rear]=item}}_computeScore(item){if(Math.abs(item.deltaX)>0&&Math.abs(item.deltaY)>0){return 1}let score3=.5;const prev=this._front===-1&&this._rear===-1?null:this._memory[this._rear];if(prev){}if(!this._isAlmostInt(item.deltaX)||!this._isAlmostInt(item.deltaY)){score3+=.25}return Math.min(Math.max(score3,0),1)}_isAlmostInt(value){const delta=Math.abs(Math.round(value)-value);return delta<.01}};MouseWheelClassifier.INSTANCE=new MouseWheelClassifier;AbstractScrollableElement=class extends Widget{get options(){return this._options}constructor(element,options2,scrollable){super();this._onScroll=this._register(new Emitter);this.onScroll=this._onScroll.event;this._onWillScroll=this._register(new Emitter);element.style.overflow="hidden";this._options=resolveOptions(options2);this._scrollable=scrollable;this._register(this._scrollable.onScroll((e=>{this._onWillScroll.fire(e);this._onDidScroll(e);this._onScroll.fire(e)})));const scrollbarHost={onMouseWheel:mouseWheelEvent=>this._onMouseWheel(mouseWheelEvent),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new VerticalScrollbar(this._scrollable,this._options,scrollbarHost));this._horizontalScrollbar=this._register(new HorizontalScrollbar(this._scrollable,this._options,scrollbarHost));this._domNode=document.createElement("div");this._domNode.className="monaco-scrollable-element "+this._options.className;this._domNode.setAttribute("role","presentation");this._domNode.style.position="relative";this._domNode.style.overflow="hidden";this._domNode.appendChild(element);this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode);this._domNode.appendChild(this._verticalScrollbar.domNode.domNode);if(this._options.useShadows){this._leftShadowDomNode=createFastDomNode(document.createElement("div"));this._leftShadowDomNode.setClassName("shadow");this._domNode.appendChild(this._leftShadowDomNode.domNode);this._topShadowDomNode=createFastDomNode(document.createElement("div"));this._topShadowDomNode.setClassName("shadow");this._domNode.appendChild(this._topShadowDomNode.domNode);this._topLeftShadowDomNode=createFastDomNode(document.createElement("div"));this._topLeftShadowDomNode.setClassName("shadow");this._domNode.appendChild(this._topLeftShadowDomNode.domNode)}else{this._leftShadowDomNode=null;this._topShadowDomNode=null;this._topLeftShadowDomNode=null}this._listenOnDomNode=this._options.listenOnDomNode||this._domNode;this._mouseWheelToDispose=[];this._setListeningToMouseWheel(this._options.handleMouseWheel);this.onmouseover(this._listenOnDomNode,(e=>this._onMouseOver(e)));this.onmouseleave(this._listenOnDomNode,(e=>this._onMouseLeave(e)));this._hideTimeout=this._register(new TimeoutTimer);this._isDragging=false;this._mouseIsOver=false;this._shouldRender=true;this._revealOnScroll=true}dispose(){this._mouseWheelToDispose=dispose(this._mouseWheelToDispose);super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(browserEvent){this._verticalScrollbar.delegatePointerDown(browserEvent)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(dimensions){this._scrollable.setScrollDimensions(dimensions,false)}updateClassName(newClassName){this._options.className=newClassName;if(isMacintosh){this._options.className+=" mac"}this._domNode.className="monaco-scrollable-element "+this._options.className}updateOptions(newOptions){if(typeof newOptions.handleMouseWheel!=="undefined"){this._options.handleMouseWheel=newOptions.handleMouseWheel;this._setListeningToMouseWheel(this._options.handleMouseWheel)}if(typeof newOptions.mouseWheelScrollSensitivity!=="undefined"){this._options.mouseWheelScrollSensitivity=newOptions.mouseWheelScrollSensitivity}if(typeof newOptions.fastScrollSensitivity!=="undefined"){this._options.fastScrollSensitivity=newOptions.fastScrollSensitivity}if(typeof newOptions.scrollPredominantAxis!=="undefined"){this._options.scrollPredominantAxis=newOptions.scrollPredominantAxis}if(typeof newOptions.horizontal!=="undefined"){this._options.horizontal=newOptions.horizontal}if(typeof newOptions.vertical!=="undefined"){this._options.vertical=newOptions.vertical}if(typeof newOptions.horizontalScrollbarSize!=="undefined"){this._options.horizontalScrollbarSize=newOptions.horizontalScrollbarSize}if(typeof newOptions.verticalScrollbarSize!=="undefined"){this._options.verticalScrollbarSize=newOptions.verticalScrollbarSize}if(typeof newOptions.scrollByPage!=="undefined"){this._options.scrollByPage=newOptions.scrollByPage}this._horizontalScrollbar.updateOptions(this._options);this._verticalScrollbar.updateOptions(this._options);if(!this._options.lazyRender){this._render()}}delegateScrollFromMouseWheelEvent(browserEvent){this._onMouseWheel(new StandardWheelEvent(browserEvent))}_setListeningToMouseWheel(shouldListen){const isListening=this._mouseWheelToDispose.length>0;if(isListening===shouldListen){return}this._mouseWheelToDispose=dispose(this._mouseWheelToDispose);if(shouldListen){const onMouseWheel=browserEvent=>{this._onMouseWheel(new StandardWheelEvent(browserEvent))};this._mouseWheelToDispose.push(addDisposableListener(this._listenOnDomNode,EventType.MOUSE_WHEEL,onMouseWheel,{passive:false}))}}_onMouseWheel(e){var _a6;if((_a6=e.browserEvent)===null||_a6===void 0?void 0:_a6.defaultPrevented){return}const classifier=MouseWheelClassifier.INSTANCE;if(SCROLL_WHEEL_SMOOTH_SCROLL_ENABLED){classifier.acceptStandardWheelEvent(e)}let didScroll=false;if(e.deltaY||e.deltaX){let deltaY=e.deltaY*this._options.mouseWheelScrollSensitivity;let deltaX=e.deltaX*this._options.mouseWheelScrollSensitivity;if(this._options.scrollPredominantAxis){if(this._options.scrollYToX&&deltaX+deltaY===0){deltaX=deltaY=0}else if(Math.abs(deltaY)>=Math.abs(deltaX)){deltaX=0}else{deltaY=0}}if(this._options.flipAxes){[deltaY,deltaX]=[deltaX,deltaY]}const shiftConvert=!isMacintosh&&e.browserEvent&&e.browserEvent.shiftKey;if((this._options.scrollYToX||shiftConvert)&&!deltaX){deltaX=deltaY;deltaY=0}if(e.browserEvent&&e.browserEvent.altKey){deltaX=deltaX*this._options.fastScrollSensitivity;deltaY=deltaY*this._options.fastScrollSensitivity}const futureScrollPosition=this._scrollable.getFutureScrollPosition();let desiredScrollPosition={};if(deltaY){const deltaScrollTop=SCROLL_WHEEL_SENSITIVITY*deltaY;const desiredScrollTop=futureScrollPosition.scrollTop-(deltaScrollTop<0?Math.floor(deltaScrollTop):Math.ceil(deltaScrollTop));this._verticalScrollbar.writeScrollPosition(desiredScrollPosition,desiredScrollTop)}if(deltaX){const deltaScrollLeft=SCROLL_WHEEL_SENSITIVITY*deltaX;const desiredScrollLeft=futureScrollPosition.scrollLeft-(deltaScrollLeft<0?Math.floor(deltaScrollLeft):Math.ceil(deltaScrollLeft));this._horizontalScrollbar.writeScrollPosition(desiredScrollPosition,desiredScrollLeft)}desiredScrollPosition=this._scrollable.validateScrollPosition(desiredScrollPosition);if(futureScrollPosition.scrollLeft!==desiredScrollPosition.scrollLeft||futureScrollPosition.scrollTop!==desiredScrollPosition.scrollTop){const canPerformSmoothScroll=SCROLL_WHEEL_SMOOTH_SCROLL_ENABLED&&this._options.mouseWheelSmoothScroll&&classifier.isPhysicalMouseWheel();if(canPerformSmoothScroll){this._scrollable.setScrollPositionSmooth(desiredScrollPosition)}else{this._scrollable.setScrollPositionNow(desiredScrollPosition)}didScroll=true}}let consumeMouseWheel=didScroll;if(!consumeMouseWheel&&this._options.alwaysConsumeMouseWheel){consumeMouseWheel=true}if(!consumeMouseWheel&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())){consumeMouseWheel=true}if(consumeMouseWheel){e.preventDefault();e.stopPropagation()}}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender;this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender;if(this._options.useShadows){this._shouldRender=true}if(this._revealOnScroll){this._reveal()}if(!this._options.lazyRender){this._render()}}renderNow(){if(!this._options.lazyRender){throw new Error("Please use `lazyRender` together with `renderNow`!")}this._render()}_render(){if(!this._shouldRender){return}this._shouldRender=false;this._horizontalScrollbar.render();this._verticalScrollbar.render();if(this._options.useShadows){const scrollState=this._scrollable.getCurrentScrollPosition();const enableTop=scrollState.scrollTop>0;const enableLeft=scrollState.scrollLeft>0;const leftClassName=enableLeft?" left":"";const topClassName=enableTop?" top":"";const topLeftClassName=enableLeft||enableTop?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${leftClassName}`);this._topShadowDomNode.setClassName(`shadow${topClassName}`);this._topLeftShadowDomNode.setClassName(`shadow${topLeftClassName}${topClassName}${leftClassName}`)}}_onDragStart(){this._isDragging=true;this._reveal()}_onDragEnd(){this._isDragging=false;this._hide()}_onMouseLeave(e){this._mouseIsOver=false;this._hide()}_onMouseOver(e){this._mouseIsOver=true;this._reveal()}_reveal(){this._verticalScrollbar.beginReveal();this._horizontalScrollbar.beginReveal();this._scheduleHide()}_hide(){if(!this._mouseIsOver&&!this._isDragging){this._verticalScrollbar.beginHide();this._horizontalScrollbar.beginHide()}}_scheduleHide(){if(!this._mouseIsOver&&!this._isDragging){this._hideTimeout.cancelAndSet((()=>this._hide()),HIDE_TIMEOUT)}}};ScrollableElement=class extends AbstractScrollableElement{constructor(element,options2){options2=options2||{};options2.mouseWheelSmoothScroll=false;const scrollable=new Scrollable({forceIntegerValues:true,smoothScrollDuration:0,scheduleAtNextAnimationFrame:callback=>scheduleAtNextAnimationFrame(callback)});super(element,options2,scrollable);this._register(scrollable)}setScrollPosition(update){this._scrollable.setScrollPositionNow(update)}};SmoothScrollableElement=class extends AbstractScrollableElement{constructor(element,options2,scrollable){super(element,options2,scrollable)}setScrollPosition(update){if(update.reuseAnimation){this._scrollable.setScrollPositionSmooth(update,update.reuseAnimation)}else{this._scrollable.setScrollPositionNow(update)}}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}};DomScrollableElement=class extends AbstractScrollableElement{constructor(element,options2){options2=options2||{};options2.mouseWheelSmoothScroll=false;const scrollable=new Scrollable({forceIntegerValues:false,smoothScrollDuration:0,scheduleAtNextAnimationFrame:callback=>scheduleAtNextAnimationFrame(callback)});super(element,options2,scrollable);this._register(scrollable);this._element=element;this.onScroll((e=>{if(e.scrollTopChanged){this._element.scrollTop=e.scrollTop}if(e.scrollLeftChanged){this._element.scrollLeft=e.scrollLeft}}));this.scanDomNode()}setScrollPosition(update){this._scrollable.setScrollPositionNow(update)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}scanDomNode(){this.setScrollDimensions({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight});this.setScrollPosition({scrollLeft:this._element.scrollLeft,scrollTop:this._element.scrollTop})}}}});var MouseHandler,MouseDownOperation,TopBottomDragScrolling,TopBottomDragScrollingOperation,MouseDownState;var init_mouseHandler=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/controller/mouseHandler.js"(){init_dom();init_mouseEvent();init_lifecycle();init_platform();init_mouseTarget();init_editorDom();init_editorZoom();init_position();init_selection();init_viewEventHandler();init_scrollableElement();MouseHandler=class extends ViewEventHandler{constructor(context,viewController,viewHelper){super();this._mouseLeaveMonitor=null;this._context=context;this.viewController=viewController;this.viewHelper=viewHelper;this.mouseTargetFactory=new MouseTargetFactory(this._context,viewHelper);this._mouseDownOperation=this._register(new MouseDownOperation(this._context,this.viewController,this.viewHelper,this.mouseTargetFactory,((e,testEventTarget)=>this._createMouseTarget(e,testEventTarget)),(e=>this._getMouseColumn(e))));this.lastMouseLeaveTime=-1;this._height=this._context.configuration.options.get(142).height;const mouseEvents=new EditorMouseEventFactory(this.viewHelper.viewDomNode);this._register(mouseEvents.onContextMenu(this.viewHelper.viewDomNode,(e=>this._onContextMenu(e,true))));this._register(mouseEvents.onMouseMove(this.viewHelper.viewDomNode,(e=>{this._onMouseMove(e);if(!this._mouseLeaveMonitor){this._mouseLeaveMonitor=addDisposableListener(document,"mousemove",(e2=>{if(!this.viewHelper.viewDomNode.contains(e2.target)){this._onMouseLeave(new EditorMouseEvent(e2,false,this.viewHelper.viewDomNode))}}))}})));this._register(mouseEvents.onMouseUp(this.viewHelper.viewDomNode,(e=>this._onMouseUp(e))));this._register(mouseEvents.onMouseLeave(this.viewHelper.viewDomNode,(e=>this._onMouseLeave(e))));let capturePointerId=0;this._register(mouseEvents.onPointerDown(this.viewHelper.viewDomNode,((e,pointerId)=>{capturePointerId=pointerId})));this._register(addDisposableListener(this.viewHelper.viewDomNode,EventType.POINTER_UP,(e=>{this._mouseDownOperation.onPointerUp()})));this._register(mouseEvents.onMouseDown(this.viewHelper.viewDomNode,(e=>this._onMouseDown(e,capturePointerId))));this._setupMouseWheelZoomListener();this._context.addEventHandler(this)}_setupMouseWheelZoomListener(){const classifier=MouseWheelClassifier.INSTANCE;let prevMouseWheelTime=0;let gestureStartZoomLevel=EditorZoom.getZoomLevel();let gestureHasZoomModifiers=false;let gestureAccumulatedDelta=0;const onMouseWheel=browserEvent=>{this.viewController.emitMouseWheel(browserEvent);if(!this._context.configuration.options.get(74)){return}const e=new StandardWheelEvent(browserEvent);classifier.acceptStandardWheelEvent(e);if(classifier.isPhysicalMouseWheel()){if(hasMouseWheelZoomModifiers(browserEvent)){const zoomLevel=EditorZoom.getZoomLevel();const delta=e.deltaY>0?1:-1;EditorZoom.setZoomLevel(zoomLevel+delta);e.preventDefault();e.stopPropagation()}}else{if(Date.now()-prevMouseWheelTime>50){gestureStartZoomLevel=EditorZoom.getZoomLevel();gestureHasZoomModifiers=hasMouseWheelZoomModifiers(browserEvent);gestureAccumulatedDelta=0}prevMouseWheelTime=Date.now();gestureAccumulatedDelta+=e.deltaY;if(gestureHasZoomModifiers){EditorZoom.setZoomLevel(gestureStartZoomLevel+gestureAccumulatedDelta/5);e.preventDefault();e.stopPropagation()}}};this._register(addDisposableListener(this.viewHelper.viewDomNode,EventType.MOUSE_WHEEL,onMouseWheel,{capture:true,passive:false}));function hasMouseWheelZoomModifiers(browserEvent){return isMacintosh?(browserEvent.metaKey||browserEvent.ctrlKey)&&!browserEvent.shiftKey&&!browserEvent.altKey:browserEvent.ctrlKey&&!browserEvent.metaKey&&!browserEvent.shiftKey&&!browserEvent.altKey}}dispose(){this._context.removeEventHandler(this);if(this._mouseLeaveMonitor){this._mouseLeaveMonitor.dispose();this._mouseLeaveMonitor=null}super.dispose()}onConfigurationChanged(e){if(e.hasChanged(142)){const height=this._context.configuration.options.get(142).height;if(this._height!==height){this._height=height;this._mouseDownOperation.onHeightChanged()}}return false}onCursorStateChanged(e){this._mouseDownOperation.onCursorStateChanged(e);return false}onFocusChanged(e){return false}getTargetAtClientPoint(clientX,clientY){const clientPos=new ClientCoordinates(clientX,clientY);const pos=clientPos.toPageCoordinates();const editorPos=createEditorPagePosition(this.viewHelper.viewDomNode);if(pos.y<editorPos.y||pos.y>editorPos.y+editorPos.height||pos.x<editorPos.x||pos.x>editorPos.x+editorPos.width){return null}const relativePos=createCoordinatesRelativeToEditor(this.viewHelper.viewDomNode,editorPos,pos);return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),editorPos,pos,relativePos,null)}_createMouseTarget(e,testEventTarget){let target=e.target;if(!this.viewHelper.viewDomNode.contains(target)){const shadowRoot=getShadowRoot(this.viewHelper.viewDomNode);if(shadowRoot){target=shadowRoot.elementsFromPoint(e.posx,e.posy).find((el=>this.viewHelper.viewDomNode.contains(el)))}}return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),e.editorPos,e.pos,e.relativePos,testEventTarget?target:null)}_getMouseColumn(e){return this.mouseTargetFactory.getMouseColumn(e.relativePos)}_onContextMenu(e,testEventTarget){this.viewController.emitContextMenu({event:e,target:this._createMouseTarget(e,testEventTarget)})}_onMouseMove(e){const targetIsWidget=this.mouseTargetFactory.mouseTargetIsWidget(e);if(!targetIsWidget){e.preventDefault()}if(this._mouseDownOperation.isActive()){return}const actualMouseMoveTime=e.timestamp;if(actualMouseMoveTime<this.lastMouseLeaveTime){return}this.viewController.emitMouseMove({event:e,target:this._createMouseTarget(e,true)})}_onMouseLeave(e){if(this._mouseLeaveMonitor){this._mouseLeaveMonitor.dispose();this._mouseLeaveMonitor=null}this.lastMouseLeaveTime=(new Date).getTime();this.viewController.emitMouseLeave({event:e,target:null})}_onMouseUp(e){this.viewController.emitMouseUp({event:e,target:this._createMouseTarget(e,true)})}_onMouseDown(e,pointerId){const t2=this._createMouseTarget(e,true);const targetIsContent=t2.type===6||t2.type===7;const targetIsGutter=t2.type===2||t2.type===3||t2.type===4;const targetIsLineNumbers=t2.type===3;const selectOnLineNumbers=this._context.configuration.options.get(107);const targetIsViewZone=t2.type===8||t2.type===5;const targetIsWidget=t2.type===9;let shouldHandle=e.leftButton||e.middleButton;if(isMacintosh&&e.leftButton&&e.ctrlKey){shouldHandle=false}const focus=()=>{e.preventDefault();this.viewHelper.focusTextArea()};if(shouldHandle&&(targetIsContent||targetIsLineNumbers&&selectOnLineNumbers)){focus();this._mouseDownOperation.start(t2.type,e,pointerId)}else if(targetIsGutter){e.preventDefault()}else if(targetIsViewZone){const viewZoneData=t2.detail;if(shouldHandle&&this.viewHelper.shouldSuppressMouseDownOnViewZone(viewZoneData.viewZoneId)){focus();this._mouseDownOperation.start(t2.type,e,pointerId);e.preventDefault()}}else if(targetIsWidget&&this.viewHelper.shouldSuppressMouseDownOnWidget(t2.detail)){focus();e.preventDefault()}this.viewController.emitMouseDown({event:e,target:t2})}};MouseDownOperation=class extends Disposable{constructor(_context,_viewController,_viewHelper,_mouseTargetFactory,createMouseTarget,getMouseColumn){super();this._context=_context;this._viewController=_viewController;this._viewHelper=_viewHelper;this._mouseTargetFactory=_mouseTargetFactory;this._createMouseTarget=createMouseTarget;this._getMouseColumn=getMouseColumn;this._mouseMoveMonitor=this._register(new GlobalEditorPointerMoveMonitor(this._viewHelper.viewDomNode));this._topBottomDragScrolling=this._register(new TopBottomDragScrolling(this._context,this._viewHelper,this._mouseTargetFactory,((position,inSelectionMode,revealType)=>this._dispatchMouse(position,inSelectionMode,revealType))));this._mouseState=new MouseDownState;this._currentSelection=new Selection(1,1,1,1);this._isActive=false;this._lastMouseEvent=null}dispose(){super.dispose()}isActive(){return this._isActive}_onMouseDownThenMove(e){this._lastMouseEvent=e;this._mouseState.setModifiers(e);const position=this._findMousePosition(e,false);if(!position){return}if(this._mouseState.isDragAndDrop){this._viewController.emitMouseDrag({event:e,target:position})}else{if(position.type===13&&(position.outsidePosition==="above"||position.outsidePosition==="below")){this._topBottomDragScrolling.start(position,e)}else{this._topBottomDragScrolling.stop();this._dispatchMouse(position,true,1)}}}start(targetType,e,pointerId){this._lastMouseEvent=e;this._mouseState.setStartedOnLineNumbers(targetType===3);this._mouseState.setStartButtons(e);this._mouseState.setModifiers(e);const position=this._findMousePosition(e,true);if(!position||!position.position){return}this._mouseState.trySetCount(e.detail,position.position);e.detail=this._mouseState.count;const options2=this._context.configuration.options;if(!options2.get(89)&&options2.get(34)&&!options2.get(21)&&!this._mouseState.altKey&&e.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&position.type===6&&position.position&&this._currentSelection.containsPosition(position.position)){this._mouseState.isDragAndDrop=true;this._isActive=true;this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,pointerId,e.buttons,(e2=>this._onMouseDownThenMove(e2)),(browserEvent=>{const position2=this._findMousePosition(this._lastMouseEvent,false);if(browserEvent&&browserEvent instanceof KeyboardEvent){this._viewController.emitMouseDropCanceled()}else{this._viewController.emitMouseDrop({event:this._lastMouseEvent,target:position2?this._createMouseTarget(this._lastMouseEvent,true):null})}this._stop()}));return}this._mouseState.isDragAndDrop=false;this._dispatchMouse(position,e.shiftKey,1);if(!this._isActive){this._isActive=true;this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,pointerId,e.buttons,(e2=>this._onMouseDownThenMove(e2)),(()=>this._stop()))}}_stop(){this._isActive=false;this._topBottomDragScrolling.stop()}onHeightChanged(){this._mouseMoveMonitor.stopMonitoring()}onPointerUp(){this._mouseMoveMonitor.stopMonitoring()}onCursorStateChanged(e){this._currentSelection=e.selections[0]}_getPositionOutsideEditor(e){const editorContent=e.editorPos;const model=this._context.viewModel;const viewLayout=this._context.viewLayout;const mouseColumn=this._getMouseColumn(e);if(e.posy<editorContent.y){const outsideDistance=editorContent.y-e.posy;const verticalOffset=Math.max(viewLayout.getCurrentScrollTop()-outsideDistance,0);const viewZoneData=HitTestContext.getZoneAtCoord(this._context,verticalOffset);if(viewZoneData){const newPosition=this._helpPositionJumpOverViewZone(viewZoneData);if(newPosition){return MouseTarget.createOutsideEditor(mouseColumn,newPosition,"above",outsideDistance)}}const aboveLineNumber=viewLayout.getLineNumberAtVerticalOffset(verticalOffset);return MouseTarget.createOutsideEditor(mouseColumn,new Position(aboveLineNumber,1),"above",outsideDistance)}if(e.posy>editorContent.y+editorContent.height){const outsideDistance=e.posy-editorContent.y-editorContent.height;const verticalOffset=viewLayout.getCurrentScrollTop()+e.relativePos.y;const viewZoneData=HitTestContext.getZoneAtCoord(this._context,verticalOffset);if(viewZoneData){const newPosition=this._helpPositionJumpOverViewZone(viewZoneData);if(newPosition){return MouseTarget.createOutsideEditor(mouseColumn,newPosition,"below",outsideDistance)}}const belowLineNumber=viewLayout.getLineNumberAtVerticalOffset(verticalOffset);return MouseTarget.createOutsideEditor(mouseColumn,new Position(belowLineNumber,model.getLineMaxColumn(belowLineNumber)),"below",outsideDistance)}const possibleLineNumber=viewLayout.getLineNumberAtVerticalOffset(viewLayout.getCurrentScrollTop()+e.relativePos.y);if(e.posx<editorContent.x){const outsideDistance=editorContent.x-e.posx;return MouseTarget.createOutsideEditor(mouseColumn,new Position(possibleLineNumber,1),"left",outsideDistance)}if(e.posx>editorContent.x+editorContent.width){const outsideDistance=e.posx-editorContent.x-editorContent.width;return MouseTarget.createOutsideEditor(mouseColumn,new Position(possibleLineNumber,model.getLineMaxColumn(possibleLineNumber)),"right",outsideDistance)}return null}_findMousePosition(e,testEventTarget){const positionOutsideEditor=this._getPositionOutsideEditor(e);if(positionOutsideEditor){return positionOutsideEditor}const t2=this._createMouseTarget(e,testEventTarget);const hintedPosition=t2.position;if(!hintedPosition){return null}if(t2.type===8||t2.type===5){const newPosition=this._helpPositionJumpOverViewZone(t2.detail);if(newPosition){return MouseTarget.createViewZone(t2.type,t2.element,t2.mouseColumn,newPosition,t2.detail)}}return t2}_helpPositionJumpOverViewZone(viewZoneData){const selectionStart=new Position(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn);const positionBefore=viewZoneData.positionBefore;const positionAfter=viewZoneData.positionAfter;if(positionBefore&&positionAfter){if(positionBefore.isBefore(selectionStart)){return positionBefore}else{return positionAfter}}return null}_dispatchMouse(position,inSelectionMode,revealType){if(!position.position){return}this._viewController.dispatchMouse({position:position.position,mouseColumn:position.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,revealType:revealType,inSelectionMode:inSelectionMode,mouseDownCount:this._mouseState.count,altKey:this._mouseState.altKey,ctrlKey:this._mouseState.ctrlKey,metaKey:this._mouseState.metaKey,shiftKey:this._mouseState.shiftKey,leftButton:this._mouseState.leftButton,middleButton:this._mouseState.middleButton,onInjectedText:position.type===6&&position.detail.injectedText!==null})}};TopBottomDragScrolling=class extends Disposable{constructor(_context,_viewHelper,_mouseTargetFactory,_dispatchMouse){super();this._context=_context;this._viewHelper=_viewHelper;this._mouseTargetFactory=_mouseTargetFactory;this._dispatchMouse=_dispatchMouse;this._operation=null}dispose(){super.dispose();this.stop()}start(position,mouseEvent){if(this._operation){this._operation.setPosition(position,mouseEvent)}else{this._operation=new TopBottomDragScrollingOperation(this._context,this._viewHelper,this._mouseTargetFactory,this._dispatchMouse,position,mouseEvent)}}stop(){if(this._operation){this._operation.dispose();this._operation=null}}};TopBottomDragScrollingOperation=class extends Disposable{constructor(_context,_viewHelper,_mouseTargetFactory,_dispatchMouse,position,mouseEvent){super();this._context=_context;this._viewHelper=_viewHelper;this._mouseTargetFactory=_mouseTargetFactory;this._dispatchMouse=_dispatchMouse;this._position=position;this._mouseEvent=mouseEvent;this._lastTime=Date.now();this._animationFrameDisposable=scheduleAtNextAnimationFrame((()=>this._execute()))}dispose(){this._animationFrameDisposable.dispose()}setPosition(position,mouseEvent){this._position=position;this._mouseEvent=mouseEvent}_tick(){const now=Date.now();const elapsed=now-this._lastTime;this._lastTime=now;return elapsed}_getScrollSpeed(){const lineHeight=this._context.configuration.options.get(65);const viewportInLines=this._context.configuration.options.get(142).height/lineHeight;const outsideDistanceInLines=this._position.outsideDistance/lineHeight;if(outsideDistanceInLines<=1.5){return Math.max(30,viewportInLines*(1+outsideDistanceInLines))}if(outsideDistanceInLines<=3){return Math.max(60,viewportInLines*(2+outsideDistanceInLines))}return Math.max(200,viewportInLines*(7+outsideDistanceInLines))}_execute(){const lineHeight=this._context.configuration.options.get(65);const scrollSpeedInLines=this._getScrollSpeed();const elapsed=this._tick();const scrollInPixels=scrollSpeedInLines*(elapsed/1e3)*lineHeight;const scrollValue=this._position.outsidePosition==="above"?-scrollInPixels:scrollInPixels;this._context.viewModel.viewLayout.deltaScrollNow(0,scrollValue);this._viewHelper.renderNow();const viewportData=this._context.viewLayout.getLinesViewportData();const edgeLineNumber=this._position.outsidePosition==="above"?viewportData.startLineNumber:viewportData.endLineNumber;let mouseTarget;{const editorPos=createEditorPagePosition(this._viewHelper.viewDomNode);const horizontalScrollbarHeight=this._context.configuration.options.get(142).horizontalScrollbarHeight;const pos=new PageCoordinates(this._mouseEvent.pos.x,editorPos.y+editorPos.height-horizontalScrollbarHeight-.1);const relativePos=createCoordinatesRelativeToEditor(this._viewHelper.viewDomNode,editorPos,pos);mouseTarget=this._mouseTargetFactory.createMouseTarget(this._viewHelper.getLastRenderData(),editorPos,pos,relativePos,null)}if(!mouseTarget.position||mouseTarget.position.lineNumber!==edgeLineNumber){if(this._position.outsidePosition==="above"){mouseTarget=MouseTarget.createOutsideEditor(this._position.mouseColumn,new Position(edgeLineNumber,1),"above",this._position.outsideDistance)}else{mouseTarget=MouseTarget.createOutsideEditor(this._position.mouseColumn,new Position(edgeLineNumber,this._context.viewModel.getLineMaxColumn(edgeLineNumber)),"below",this._position.outsideDistance)}}this._dispatchMouse(mouseTarget,true,2);this._animationFrameDisposable=scheduleAtNextAnimationFrame((()=>this._execute()))}};MouseDownState=class{get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get metaKey(){return this._metaKey}get shiftKey(){return this._shiftKey}get leftButton(){return this._leftButton}get middleButton(){return this._middleButton}get startedOnLineNumbers(){return this._startedOnLineNumbers}constructor(){this._altKey=false;this._ctrlKey=false;this._metaKey=false;this._shiftKey=false;this._leftButton=false;this._middleButton=false;this._startedOnLineNumbers=false;this._lastMouseDownPosition=null;this._lastMouseDownPositionEqualCount=0;this._lastMouseDownCount=0;this._lastSetMouseDownCountTime=0;this.isDragAndDrop=false}get count(){return this._lastMouseDownCount}setModifiers(source){this._altKey=source.altKey;this._ctrlKey=source.ctrlKey;this._metaKey=source.metaKey;this._shiftKey=source.shiftKey}setStartButtons(source){this._leftButton=source.leftButton;this._middleButton=source.middleButton}setStartedOnLineNumbers(startedOnLineNumbers){this._startedOnLineNumbers=startedOnLineNumbers}trySetCount(setMouseDownCount,newMouseDownPosition){const currentTime=(new Date).getTime();if(currentTime-this._lastSetMouseDownCountTime>MouseDownState.CLEAR_MOUSE_DOWN_COUNT_TIME){setMouseDownCount=1}this._lastSetMouseDownCountTime=currentTime;if(setMouseDownCount>this._lastMouseDownCount+1){setMouseDownCount=this._lastMouseDownCount+1}if(this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(newMouseDownPosition)){this._lastMouseDownPositionEqualCount++}else{this._lastMouseDownPositionEqualCount=1}this._lastMouseDownPosition=newMouseDownPosition;this._lastMouseDownCount=Math.min(setMouseDownCount,this._lastMouseDownPositionEqualCount)}};MouseDownState.CLEAR_MOUSE_DOWN_COUNT_TIME=400}});var DomEmitter;var init_event2=__esm({"node_modules/monaco-editor/esm/vs/base/browser/event.js"(){init_event();DomEmitter=class{get event(){return this.emitter.event}constructor(element,type,useCapture){const fn=e=>this.emitter.fire(e);this.emitter=new Emitter({onWillAddFirstListener:()=>element.addEventListener(type,fn,useCapture),onDidRemoveLastListener:()=>element.removeEventListener(type,fn,useCapture)})}dispose(){this.emitter.dispose()}}}});var inputLatency;var init_performance=__esm({"node_modules/monaco-editor/esm/vs/base/browser/performance.js"(){(function(inputLatency2){const totalKeydownTime={total:0,min:Number.MAX_VALUE,max:0};const totalInputTime=Object.assign({},totalKeydownTime);const totalRenderTime=Object.assign({},totalKeydownTime);const totalInputLatencyTime=Object.assign({},totalKeydownTime);let measurementsCount=0;const state={keydown:0,input:0,render:0};function onKeyDown(){recordIfFinished();performance.mark("inputlatency/start");performance.mark("keydown/start");state.keydown=1;queueMicrotask(markKeyDownEnd)}inputLatency2.onKeyDown=onKeyDown;function markKeyDownEnd(){if(state.keydown===1){performance.mark("keydown/end");state.keydown=2}}function onBeforeInput(){performance.mark("input/start");state.input=1;scheduleRecordIfFinishedTask()}inputLatency2.onBeforeInput=onBeforeInput;function onInput(){if(state.input===0){onBeforeInput()}queueMicrotask(markInputEnd)}inputLatency2.onInput=onInput;function markInputEnd(){if(state.input===1){performance.mark("input/end");state.input=2}}function onKeyUp(){recordIfFinished()}inputLatency2.onKeyUp=onKeyUp;function onSelectionChange(){recordIfFinished()}inputLatency2.onSelectionChange=onSelectionChange;function onRenderStart(){if(state.keydown===2&&state.input===2&&state.render===0){performance.mark("render/start");state.render=1;queueMicrotask(markRenderEnd);scheduleRecordIfFinishedTask()}}inputLatency2.onRenderStart=onRenderStart;function markRenderEnd(){if(state.render===1){performance.mark("render/end");state.render=2}}function scheduleRecordIfFinishedTask(){setTimeout(recordIfFinished)}function recordIfFinished(){if(state.keydown===2&&state.input===2&&state.render===2){performance.mark("inputlatency/end");performance.measure("keydown","keydown/start","keydown/end");performance.measure("input","input/start","input/end");performance.measure("render","render/start","render/end");performance.measure("inputlatency","inputlatency/start","inputlatency/end");addMeasure("keydown",totalKeydownTime);addMeasure("input",totalInputTime);addMeasure("render",totalRenderTime);addMeasure("inputlatency",totalInputLatencyTime);measurementsCount++;reset2()}}function addMeasure(entryName,cumulativeMeasurement){const duration=performance.getEntriesByName(entryName)[0].duration;cumulativeMeasurement.total+=duration;cumulativeMeasurement.min=Math.min(cumulativeMeasurement.min,duration);cumulativeMeasurement.max=Math.max(cumulativeMeasurement.max,duration)}function reset2(){performance.clearMarks("keydown/start");performance.clearMarks("keydown/end");performance.clearMarks("input/start");performance.clearMarks("input/end");performance.clearMarks("render/start");performance.clearMarks("render/end");performance.clearMarks("inputlatency/start");performance.clearMarks("inputlatency/end");performance.clearMeasures("keydown");performance.clearMeasures("input");performance.clearMeasures("render");performance.clearMeasures("inputlatency");state.keydown=0;state.input=0;state.render=0}function getAndClearMeasurements(){if(measurementsCount===0){return void 0}const result={keydown:cumulativeToFinalMeasurement(totalKeydownTime),input:cumulativeToFinalMeasurement(totalInputTime),render:cumulativeToFinalMeasurement(totalRenderTime),total:cumulativeToFinalMeasurement(totalInputLatencyTime),sampleCount:measurementsCount};clearCumulativeMeasurement(totalKeydownTime);clearCumulativeMeasurement(totalInputTime);clearCumulativeMeasurement(totalRenderTime);clearCumulativeMeasurement(totalInputLatencyTime);measurementsCount=0;return result}inputLatency2.getAndClearMeasurements=getAndClearMeasurements;function cumulativeToFinalMeasurement(cumulative){return{average:cumulative.total/measurementsCount,max:cumulative.max,min:cumulative.min}}function clearCumulativeMeasurement(cumulative){cumulative.total=0;cumulative.min=Number.MAX_VALUE;cumulative.max=0}})(inputLatency||(inputLatency={}))}});var _debugComposition,TextAreaState,PagedScreenReaderStrategy;var init_textAreaState=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaState.js"(){init_strings();init_range();_debugComposition=false;TextAreaState=class{constructor(value,selectionStart,selectionEnd,selection,newlineCountBeforeSelection){this.value=value;this.selectionStart=selectionStart;this.selectionEnd=selectionEnd;this.selection=selection;this.newlineCountBeforeSelection=newlineCountBeforeSelection}toString(){return`[ <${this.value}>, selectionStart: ${this.selectionStart}, selectionEnd: ${this.selectionEnd}]`}static readFromTextArea(textArea,previousState){const value=textArea.getValue();const selectionStart=textArea.getSelectionStart();const selectionEnd=textArea.getSelectionEnd();let newlineCountBeforeSelection=void 0;if(previousState){const valueBeforeSelectionStart=value.substring(0,selectionStart);const previousValueBeforeSelectionStart=previousState.value.substring(0,previousState.selectionStart);if(valueBeforeSelectionStart===previousValueBeforeSelectionStart){newlineCountBeforeSelection=previousState.newlineCountBeforeSelection}}return new TextAreaState(value,selectionStart,selectionEnd,null,newlineCountBeforeSelection)}collapseSelection(){if(this.selectionStart===this.value.length){return this}return new TextAreaState(this.value,this.value.length,this.value.length,null,void 0)}writeToTextArea(reason,textArea,select){if(_debugComposition){console.log(`writeToTextArea ${reason}: ${this.toString()}`)}textArea.setValue(reason,this.value);if(select){textArea.setSelectionRange(reason,this.selectionStart,this.selectionEnd)}}deduceEditorPosition(offset){var _a6,_b3,_c2,_d2,_e2,_f2,_g2,_h2;if(offset<=this.selectionStart){const str=this.value.substring(offset,this.selectionStart);return this._finishDeduceEditorPosition((_b3=(_a6=this.selection)===null||_a6===void 0?void 0:_a6.getStartPosition())!==null&&_b3!==void 0?_b3:null,str,-1)}if(offset>=this.selectionEnd){const str=this.value.substring(this.selectionEnd,offset);return this._finishDeduceEditorPosition((_d2=(_c2=this.selection)===null||_c2===void 0?void 0:_c2.getEndPosition())!==null&&_d2!==void 0?_d2:null,str,1)}const str1=this.value.substring(this.selectionStart,offset);if(str1.indexOf(String.fromCharCode(8230))===-1){return this._finishDeduceEditorPosition((_f2=(_e2=this.selection)===null||_e2===void 0?void 0:_e2.getStartPosition())!==null&&_f2!==void 0?_f2:null,str1,1)}const str2=this.value.substring(offset,this.selectionEnd);return this._finishDeduceEditorPosition((_h2=(_g2=this.selection)===null||_g2===void 0?void 0:_g2.getEndPosition())!==null&&_h2!==void 0?_h2:null,str2,-1)}_finishDeduceEditorPosition(anchor,deltaText,signum){let lineFeedCnt=0;let lastLineFeedIndex=-1;while((lastLineFeedIndex=deltaText.indexOf("\n",lastLineFeedIndex+1))!==-1){lineFeedCnt++}return[anchor,signum*deltaText.length,lineFeedCnt]}static deduceInput(previousState,currentState,couldBeEmojiInput){if(!previousState){return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0}}if(_debugComposition){console.log("------------------------deduceInput");console.log(`PREVIOUS STATE: ${previousState.toString()}`);console.log(`CURRENT STATE: ${currentState.toString()}`)}const prefixLength=Math.min(commonPrefixLength(previousState.value,currentState.value),previousState.selectionStart,currentState.selectionStart);const suffixLength=Math.min(commonSuffixLength(previousState.value,currentState.value),previousState.value.length-previousState.selectionEnd,currentState.value.length-currentState.selectionEnd);const previousValue=previousState.value.substring(prefixLength,previousState.value.length-suffixLength);const currentValue=currentState.value.substring(prefixLength,currentState.value.length-suffixLength);const previousSelectionStart=previousState.selectionStart-prefixLength;const previousSelectionEnd=previousState.selectionEnd-prefixLength;const currentSelectionStart=currentState.selectionStart-prefixLength;const currentSelectionEnd=currentState.selectionEnd-prefixLength;if(_debugComposition){console.log(`AFTER DIFFING PREVIOUS STATE: <${previousValue}>, selectionStart: ${previousSelectionStart}, selectionEnd: ${previousSelectionEnd}`);console.log(`AFTER DIFFING CURRENT STATE: <${currentValue}>, selectionStart: ${currentSelectionStart}, selectionEnd: ${currentSelectionEnd}`)}if(currentSelectionStart===currentSelectionEnd){const replacePreviousCharacters2=previousState.selectionStart-prefixLength;if(_debugComposition){console.log(`REMOVE PREVIOUS: ${replacePreviousCharacters2} chars`)}return{text:currentValue,replacePrevCharCnt:replacePreviousCharacters2,replaceNextCharCnt:0,positionDelta:0}}const replacePreviousCharacters=previousSelectionEnd-previousSelectionStart;return{text:currentValue,replacePrevCharCnt:replacePreviousCharacters,replaceNextCharCnt:0,positionDelta:0}}static deduceAndroidCompositionInput(previousState,currentState){if(!previousState){return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0}}if(_debugComposition){console.log("------------------------deduceAndroidCompositionInput");console.log(`PREVIOUS STATE: ${previousState.toString()}`);console.log(`CURRENT STATE: ${currentState.toString()}`)}if(previousState.value===currentState.value){return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:currentState.selectionEnd-previousState.selectionEnd}}const prefixLength=Math.min(commonPrefixLength(previousState.value,currentState.value),previousState.selectionEnd);const suffixLength=Math.min(commonSuffixLength(previousState.value,currentState.value),previousState.value.length-previousState.selectionEnd);const previousValue=previousState.value.substring(prefixLength,previousState.value.length-suffixLength);const currentValue=currentState.value.substring(prefixLength,currentState.value.length-suffixLength);const previousSelectionStart=previousState.selectionStart-prefixLength;const previousSelectionEnd=previousState.selectionEnd-prefixLength;const currentSelectionStart=currentState.selectionStart-prefixLength;const currentSelectionEnd=currentState.selectionEnd-prefixLength;if(_debugComposition){console.log(`AFTER DIFFING PREVIOUS STATE: <${previousValue}>, selectionStart: ${previousSelectionStart}, selectionEnd: ${previousSelectionEnd}`);console.log(`AFTER DIFFING CURRENT STATE: <${currentValue}>, selectionStart: ${currentSelectionStart}, selectionEnd: ${currentSelectionEnd}`)}return{text:currentValue,replacePrevCharCnt:previousSelectionEnd,replaceNextCharCnt:previousValue.length-previousSelectionEnd,positionDelta:currentSelectionEnd-currentValue.length}}};TextAreaState.EMPTY=new TextAreaState("",0,0,null,void 0);PagedScreenReaderStrategy=class{static _getPageOfLine(lineNumber,linesPerPage){return Math.floor((lineNumber-1)/linesPerPage)}static _getRangeForPage(page,linesPerPage){const offset=page*linesPerPage;const startLineNumber=offset+1;const endLineNumber=offset+linesPerPage;return new Range(startLineNumber,1,endLineNumber+1,1)}static fromEditorSelection(model,selection,linesPerPage,trimLongText){const LIMIT_CHARS=500;const selectionStartPage=PagedScreenReaderStrategy._getPageOfLine(selection.startLineNumber,linesPerPage);const selectionStartPageRange=PagedScreenReaderStrategy._getRangeForPage(selectionStartPage,linesPerPage);const selectionEndPage=PagedScreenReaderStrategy._getPageOfLine(selection.endLineNumber,linesPerPage);const selectionEndPageRange=PagedScreenReaderStrategy._getRangeForPage(selectionEndPage,linesPerPage);let pretextRange=selectionStartPageRange.intersectRanges(new Range(1,1,selection.startLineNumber,selection.startColumn));if(trimLongText&&model.getValueLengthInRange(pretextRange,1)>LIMIT_CHARS){const pretextStart=model.modifyPosition(pretextRange.getEndPosition(),-LIMIT_CHARS);pretextRange=Range.fromPositions(pretextStart,pretextRange.getEndPosition())}const pretext=model.getValueInRange(pretextRange,1);const lastLine=model.getLineCount();const lastLineMaxColumn=model.getLineMaxColumn(lastLine);let posttextRange=selectionEndPageRange.intersectRanges(new Range(selection.endLineNumber,selection.endColumn,lastLine,lastLineMaxColumn));if(trimLongText&&model.getValueLengthInRange(posttextRange,1)>LIMIT_CHARS){const posttextEnd=model.modifyPosition(posttextRange.getStartPosition(),LIMIT_CHARS);posttextRange=Range.fromPositions(posttextRange.getStartPosition(),posttextEnd)}const posttext=model.getValueInRange(posttextRange,1);let text2;if(selectionStartPage===selectionEndPage||selectionStartPage+1===selectionEndPage){text2=model.getValueInRange(selection,1)}else{const selectionRange1=selectionStartPageRange.intersectRanges(selection);const selectionRange2=selectionEndPageRange.intersectRanges(selection);text2=model.getValueInRange(selectionRange1,1)+String.fromCharCode(8230)+model.getValueInRange(selectionRange2,1)}if(trimLongText&&text2.length>2*LIMIT_CHARS){text2=text2.substring(0,LIMIT_CHARS)+String.fromCharCode(8230)+text2.substring(text2.length-LIMIT_CHARS,text2.length)}return new TextAreaState(pretext+text2+posttext,pretext.length,pretext.length+text2.length,selection,pretextRange.endLineNumber-pretextRange.startLineNumber)}}}});var TextAreaSyntethicEvents,CopyOptions,InMemoryClipboardMetadataManager,CompositionContext,TextAreaInput,ClipboardEventUtils,TextAreaWrapper;var init_textAreaInput=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaInput.js"(){init_browser();init_dom();init_event2();init_keyboardEvent();init_performance();init_async();init_event();init_lifecycle();init_mime();init_strings();init_textAreaState();init_selection();(function(TextAreaSyntethicEvents2){TextAreaSyntethicEvents2.Tap="-monaco-textarea-synthetic-tap"})(TextAreaSyntethicEvents||(TextAreaSyntethicEvents={}));CopyOptions={forceCopyWithSyntaxHighlighting:false};InMemoryClipboardMetadataManager=class{constructor(){this._lastState=null}set(lastCopiedValue,data){this._lastState={lastCopiedValue:lastCopiedValue,data:data}}get(pastedText){if(this._lastState&&this._lastState.lastCopiedValue===pastedText){return this._lastState.data}this._lastState=null;return null}};InMemoryClipboardMetadataManager.INSTANCE=new InMemoryClipboardMetadataManager;CompositionContext=class{constructor(){this._lastTypeTextLength=0}handleCompositionUpdate(text2){text2=text2||"";const typeInput={text:text2,replacePrevCharCnt:this._lastTypeTextLength,replaceNextCharCnt:0,positionDelta:0};this._lastTypeTextLength=text2.length;return typeInput}};TextAreaInput=class extends Disposable{get textAreaState(){return this._textAreaState}constructor(_host,_textArea,_OS,_browser){super();this._host=_host;this._textArea=_textArea;this._OS=_OS;this._browser=_browser;this._onFocus=this._register(new Emitter);this.onFocus=this._onFocus.event;this._onBlur=this._register(new Emitter);this.onBlur=this._onBlur.event;this._onKeyDown=this._register(new Emitter);this.onKeyDown=this._onKeyDown.event;this._onKeyUp=this._register(new Emitter);this.onKeyUp=this._onKeyUp.event;this._onCut=this._register(new Emitter);this.onCut=this._onCut.event;this._onPaste=this._register(new Emitter);this.onPaste=this._onPaste.event;this._onType=this._register(new Emitter);this.onType=this._onType.event;this._onCompositionStart=this._register(new Emitter);this.onCompositionStart=this._onCompositionStart.event;this._onCompositionUpdate=this._register(new Emitter);this.onCompositionUpdate=this._onCompositionUpdate.event;this._onCompositionEnd=this._register(new Emitter);this.onCompositionEnd=this._onCompositionEnd.event;this._onSelectionChangeRequest=this._register(new Emitter);this.onSelectionChangeRequest=this._onSelectionChangeRequest.event;this._asyncTriggerCut=this._register(new RunOnceScheduler((()=>this._onCut.fire()),0));this._asyncFocusGainWriteScreenReaderContent=this._register(new RunOnceScheduler((()=>this.writeScreenReaderContent("asyncFocusGain")),0));this._textAreaState=TextAreaState.EMPTY;this._selectionChangeListener=null;this.writeScreenReaderContent("ctor");this._hasFocus=false;this._currentComposition=null;let lastKeyDown=null;this._register(this._textArea.onKeyDown((_e2=>{const e=new StandardKeyboardEvent(_e2);if(e.keyCode===114||this._currentComposition&&e.keyCode===1){e.stopPropagation()}if(e.equals(9)){e.preventDefault()}lastKeyDown=e;this._onKeyDown.fire(e)})));this._register(this._textArea.onKeyUp((_e2=>{const e=new StandardKeyboardEvent(_e2);this._onKeyUp.fire(e)})));this._register(this._textArea.onCompositionStart((e=>{if(_debugComposition){console.log(`[compositionstart]`,e)}const currentComposition=new CompositionContext;if(this._currentComposition){this._currentComposition=currentComposition;return}this._currentComposition=currentComposition;if(this._OS===2&&lastKeyDown&&lastKeyDown.equals(114)&&this._textAreaState.selectionStart===this._textAreaState.selectionEnd&&this._textAreaState.selectionStart>0&&this._textAreaState.value.substr(this._textAreaState.selectionStart-1,1)===e.data&&(lastKeyDown.code==="ArrowRight"||lastKeyDown.code==="ArrowLeft")){if(_debugComposition){console.log(`[compositionstart] Handling long press case on macOS + arrow key`,e)}currentComposition.handleCompositionUpdate("x");this._onCompositionStart.fire({data:e.data});return}if(this._browser.isAndroid){this._onCompositionStart.fire({data:e.data});return}this._onCompositionStart.fire({data:e.data})})));this._register(this._textArea.onCompositionUpdate((e=>{if(_debugComposition){console.log(`[compositionupdate]`,e)}const currentComposition=this._currentComposition;if(!currentComposition){return}if(this._browser.isAndroid){const newState=TextAreaState.readFromTextArea(this._textArea,this._textAreaState);const typeInput2=TextAreaState.deduceAndroidCompositionInput(this._textAreaState,newState);this._textAreaState=newState;this._onType.fire(typeInput2);this._onCompositionUpdate.fire(e);return}const typeInput=currentComposition.handleCompositionUpdate(e.data);this._textAreaState=TextAreaState.readFromTextArea(this._textArea,this._textAreaState);this._onType.fire(typeInput);this._onCompositionUpdate.fire(e)})));this._register(this._textArea.onCompositionEnd((e=>{if(_debugComposition){console.log(`[compositionend]`,e)}const currentComposition=this._currentComposition;if(!currentComposition){return}this._currentComposition=null;if(this._browser.isAndroid){const newState=TextAreaState.readFromTextArea(this._textArea,this._textAreaState);const typeInput2=TextAreaState.deduceAndroidCompositionInput(this._textAreaState,newState);this._textAreaState=newState;this._onType.fire(typeInput2);this._onCompositionEnd.fire();return}const typeInput=currentComposition.handleCompositionUpdate(e.data);this._textAreaState=TextAreaState.readFromTextArea(this._textArea,this._textAreaState);this._onType.fire(typeInput);this._onCompositionEnd.fire()})));this._register(this._textArea.onInput((e=>{if(_debugComposition){console.log(`[input]`,e)}this._textArea.setIgnoreSelectionChangeTime("received input event");if(this._currentComposition){return}const newState=TextAreaState.readFromTextArea(this._textArea,this._textAreaState);const typeInput=TextAreaState.deduceInput(this._textAreaState,newState,this._OS===2);if(typeInput.replacePrevCharCnt===0&&typeInput.text.length===1){if(isHighSurrogate(typeInput.text.charCodeAt(0))||typeInput.text.charCodeAt(0)===127){return}}this._textAreaState=newState;if(typeInput.text!==""||typeInput.replacePrevCharCnt!==0||typeInput.replaceNextCharCnt!==0||typeInput.positionDelta!==0){this._onType.fire(typeInput)}})));this._register(this._textArea.onCut((e=>{this._textArea.setIgnoreSelectionChangeTime("received cut event");this._ensureClipboardGetsEditorSelection(e);this._asyncTriggerCut.schedule()})));this._register(this._textArea.onCopy((e=>{this._ensureClipboardGetsEditorSelection(e)})));this._register(this._textArea.onPaste((e=>{this._textArea.setIgnoreSelectionChangeTime("received paste event");e.preventDefault();if(!e.clipboardData){return}let[text2,metadata]=ClipboardEventUtils.getTextData(e.clipboardData);if(!text2){return}metadata=metadata||InMemoryClipboardMetadataManager.INSTANCE.get(text2);this._onPaste.fire({text:text2,metadata:metadata})})));this._register(this._textArea.onFocus((()=>{const hadFocus=this._hasFocus;this._setHasFocus(true);if(this._browser.isSafari&&!hadFocus&&this._hasFocus){this._asyncFocusGainWriteScreenReaderContent.schedule()}})));this._register(this._textArea.onBlur((()=>{if(this._currentComposition){this._currentComposition=null;this.writeScreenReaderContent("blurWithoutCompositionEnd");this._onCompositionEnd.fire()}this._setHasFocus(false)})));this._register(this._textArea.onSyntheticTap((()=>{if(this._browser.isAndroid&&this._currentComposition){this._currentComposition=null;this.writeScreenReaderContent("tapWithoutCompositionEnd");this._onCompositionEnd.fire()}})))}_installSelectionChangeListener(){let previousSelectionChangeEventTime=0;return addDisposableListener(document,"selectionchange",(e=>{inputLatency.onSelectionChange();if(!this._hasFocus){return}if(this._currentComposition){return}if(!this._browser.isChrome){return}const now=Date.now();const delta1=now-previousSelectionChangeEventTime;previousSelectionChangeEventTime=now;if(delta1<5){return}const delta2=now-this._textArea.getIgnoreSelectionChangeTime();this._textArea.resetSelectionChangeTime();if(delta2<100){return}if(!this._textAreaState.selection){return}const newValue=this._textArea.getValue();if(this._textAreaState.value!==newValue){return}const newSelectionStart=this._textArea.getSelectionStart();const newSelectionEnd=this._textArea.getSelectionEnd();if(this._textAreaState.selectionStart===newSelectionStart&&this._textAreaState.selectionEnd===newSelectionEnd){return}const _newSelectionStartPosition=this._textAreaState.deduceEditorPosition(newSelectionStart);const newSelectionStartPosition=this._host.deduceModelPosition(_newSelectionStartPosition[0],_newSelectionStartPosition[1],_newSelectionStartPosition[2]);const _newSelectionEndPosition=this._textAreaState.deduceEditorPosition(newSelectionEnd);const newSelectionEndPosition=this._host.deduceModelPosition(_newSelectionEndPosition[0],_newSelectionEndPosition[1],_newSelectionEndPosition[2]);const newSelection=new Selection(newSelectionStartPosition.lineNumber,newSelectionStartPosition.column,newSelectionEndPosition.lineNumber,newSelectionEndPosition.column);this._onSelectionChangeRequest.fire(newSelection)}))}dispose(){super.dispose();if(this._selectionChangeListener){this._selectionChangeListener.dispose();this._selectionChangeListener=null}}focusTextArea(){this._setHasFocus(true);this.refreshFocusState()}isFocused(){return this._hasFocus}refreshFocusState(){this._setHasFocus(this._textArea.hasFocus())}_setHasFocus(newHasFocus){if(this._hasFocus===newHasFocus){return}this._hasFocus=newHasFocus;if(this._selectionChangeListener){this._selectionChangeListener.dispose();this._selectionChangeListener=null}if(this._hasFocus){this._selectionChangeListener=this._installSelectionChangeListener()}if(this._hasFocus){this.writeScreenReaderContent("focusgain")}if(this._hasFocus){this._onFocus.fire()}else{this._onBlur.fire()}}_setAndWriteTextAreaState(reason,textAreaState){if(!this._hasFocus){textAreaState=textAreaState.collapseSelection()}textAreaState.writeToTextArea(reason,this._textArea,this._hasFocus);this._textAreaState=textAreaState}writeScreenReaderContent(reason){if(this._currentComposition){return}this._setAndWriteTextAreaState(reason,this._host.getScreenReaderContent())}_ensureClipboardGetsEditorSelection(e){const dataToCopy=this._host.getDataToCopy();const storedMetadata={version:1,isFromEmptySelection:dataToCopy.isFromEmptySelection,multicursorText:dataToCopy.multicursorText,mode:dataToCopy.mode};InMemoryClipboardMetadataManager.INSTANCE.set(this._browser.isFirefox?dataToCopy.text.replace(/\r\n/g,"\n"):dataToCopy.text,storedMetadata);e.preventDefault();if(e.clipboardData){ClipboardEventUtils.setTextData(e.clipboardData,dataToCopy.text,dataToCopy.html,storedMetadata)}}};ClipboardEventUtils={getTextData(clipboardData){const text2=clipboardData.getData(Mimes.text);let metadata=null;const rawmetadata=clipboardData.getData("vscode-editor-data");if(typeof rawmetadata==="string"){try{metadata=JSON.parse(rawmetadata);if(metadata.version!==1){metadata=null}}catch(err){}}if(text2.length===0&&metadata===null&&clipboardData.files.length>0){const files=Array.prototype.slice.call(clipboardData.files,0);return[files.map((file=>file.name)).join("\n"),null]}return[text2,metadata]},setTextData(clipboardData,text2,html2,metadata){clipboardData.setData(Mimes.text,text2);if(typeof html2==="string"){clipboardData.setData("text/html",html2)}clipboardData.setData("vscode-editor-data",JSON.stringify(metadata))}};TextAreaWrapper=class extends Disposable{constructor(_actual){super();this._actual=_actual;this.onKeyDown=this._register(new DomEmitter(this._actual,"keydown")).event;this.onKeyUp=this._register(new DomEmitter(this._actual,"keyup")).event;this.onCompositionStart=this._register(new DomEmitter(this._actual,"compositionstart")).event;this.onCompositionUpdate=this._register(new DomEmitter(this._actual,"compositionupdate")).event;this.onCompositionEnd=this._register(new DomEmitter(this._actual,"compositionend")).event;this.onBeforeInput=this._register(new DomEmitter(this._actual,"beforeinput")).event;this.onInput=this._register(new DomEmitter(this._actual,"input")).event;this.onCut=this._register(new DomEmitter(this._actual,"cut")).event;this.onCopy=this._register(new DomEmitter(this._actual,"copy")).event;this.onPaste=this._register(new DomEmitter(this._actual,"paste")).event;this.onFocus=this._register(new DomEmitter(this._actual,"focus")).event;this.onBlur=this._register(new DomEmitter(this._actual,"blur")).event;this._onSyntheticTap=this._register(new Emitter);this.onSyntheticTap=this._onSyntheticTap.event;this._ignoreSelectionChangeTime=0;this._register(this.onKeyDown((()=>inputLatency.onKeyDown())));this._register(this.onBeforeInput((()=>inputLatency.onBeforeInput())));this._register(this.onInput((()=>inputLatency.onInput())));this._register(this.onKeyUp((()=>inputLatency.onKeyUp())));this._register(addDisposableListener(this._actual,TextAreaSyntethicEvents.Tap,(()=>this._onSyntheticTap.fire())))}hasFocus(){const shadowRoot=getShadowRoot(this._actual);if(shadowRoot){return shadowRoot.activeElement===this._actual}else if(isInDOM(this._actual)){return document.activeElement===this._actual}else{return false}}setIgnoreSelectionChangeTime(reason){this._ignoreSelectionChangeTime=Date.now()}getIgnoreSelectionChangeTime(){return this._ignoreSelectionChangeTime}resetSelectionChangeTime(){this._ignoreSelectionChangeTime=0}getValue(){return this._actual.value}setValue(reason,value){const textArea=this._actual;if(textArea.value===value){return}this.setIgnoreSelectionChangeTime("setValue");textArea.value=value}getSelectionStart(){return this._actual.selectionDirection==="backward"?this._actual.selectionEnd:this._actual.selectionStart}getSelectionEnd(){return this._actual.selectionDirection==="backward"?this._actual.selectionStart:this._actual.selectionEnd}setSelectionRange(reason,selectionStart,selectionEnd){const textArea=this._actual;let activeElement=null;const shadowRoot=getShadowRoot(textArea);if(shadowRoot){activeElement=shadowRoot.activeElement}else{activeElement=document.activeElement}const currentIsFocused=activeElement===textArea;const currentSelectionStart=textArea.selectionStart;const currentSelectionEnd=textArea.selectionEnd;if(currentIsFocused&&currentSelectionStart===selectionStart&&currentSelectionEnd===selectionEnd){if(isFirefox2&&window.parent!==window){textArea.focus()}return}if(currentIsFocused){this.setIgnoreSelectionChangeTime("setSelectionRange");textArea.setSelectionRange(selectionStart,selectionEnd);if(isFirefox2&&window.parent!==window){textArea.focus()}return}try{const scrollState=saveParentsScrollTop(textArea);this.setIgnoreSelectionChangeTime("setSelectionRange");textArea.focus();textArea.setSelectionRange(selectionStart,selectionEnd);restoreParentsScrollTop(textArea,scrollState)}catch(e){}}}}});var PointerEventHandler,TouchHandler,PointerHandler;var init_pointerHandler=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/controller/pointerHandler.js"(){init_dom();init_platform();init_touch();init_lifecycle();init_mouseHandler();init_editorDom();init_canIUse();init_textAreaInput();PointerEventHandler=class extends MouseHandler{constructor(context,viewController,viewHelper){super(context,viewController,viewHelper);this._register(Gesture.addTarget(this.viewHelper.linesContentDomNode));this._register(addDisposableListener(this.viewHelper.linesContentDomNode,EventType2.Tap,(e=>this.onTap(e))));this._register(addDisposableListener(this.viewHelper.linesContentDomNode,EventType2.Change,(e=>this.onChange(e))));this._register(addDisposableListener(this.viewHelper.linesContentDomNode,EventType2.Contextmenu,(e=>this._onContextMenu(new EditorMouseEvent(e,false,this.viewHelper.viewDomNode),false))));this._lastPointerType="mouse";this._register(addDisposableListener(this.viewHelper.linesContentDomNode,"pointerdown",(e=>{const pointerType=e.pointerType;if(pointerType==="mouse"){this._lastPointerType="mouse";return}else if(pointerType==="touch"){this._lastPointerType="touch"}else{this._lastPointerType="pen"}})));const pointerEvents=new EditorPointerEventFactory(this.viewHelper.viewDomNode);this._register(pointerEvents.onPointerMove(this.viewHelper.viewDomNode,(e=>this._onMouseMove(e))));this._register(pointerEvents.onPointerUp(this.viewHelper.viewDomNode,(e=>this._onMouseUp(e))));this._register(pointerEvents.onPointerLeave(this.viewHelper.viewDomNode,(e=>this._onMouseLeave(e))));this._register(pointerEvents.onPointerDown(this.viewHelper.viewDomNode,((e,pointerId)=>this._onMouseDown(e,pointerId))))}onTap(event){if(!event.initialTarget||!this.viewHelper.linesContentDomNode.contains(event.initialTarget)){return}event.preventDefault();this.viewHelper.focusTextArea();const target=this._createMouseTarget(new EditorMouseEvent(event,false,this.viewHelper.viewDomNode),false);if(target.position){this.viewController.dispatchMouse({position:target.position,mouseColumn:target.position.column,startedOnLineNumbers:false,revealType:1,mouseDownCount:event.tapCount,inSelectionMode:false,altKey:false,ctrlKey:false,metaKey:false,shiftKey:false,leftButton:false,middleButton:false,onInjectedText:target.type===6&&target.detail.injectedText!==null})}}onChange(e){if(this._lastPointerType==="touch"){this._context.viewModel.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)}}_onMouseDown(e,pointerId){if(e.browserEvent.pointerType==="touch"){return}super._onMouseDown(e,pointerId)}};TouchHandler=class extends MouseHandler{constructor(context,viewController,viewHelper){super(context,viewController,viewHelper);this._register(Gesture.addTarget(this.viewHelper.linesContentDomNode));this._register(addDisposableListener(this.viewHelper.linesContentDomNode,EventType2.Tap,(e=>this.onTap(e))));this._register(addDisposableListener(this.viewHelper.linesContentDomNode,EventType2.Change,(e=>this.onChange(e))));this._register(addDisposableListener(this.viewHelper.linesContentDomNode,EventType2.Contextmenu,(e=>this._onContextMenu(new EditorMouseEvent(e,false,this.viewHelper.viewDomNode),false))))}onTap(event){event.preventDefault();this.viewHelper.focusTextArea();const target=this._createMouseTarget(new EditorMouseEvent(event,false,this.viewHelper.viewDomNode),false);if(target.position){const event2=document.createEvent("CustomEvent");event2.initEvent(TextAreaSyntethicEvents.Tap,false,true);this.viewHelper.dispatchTextAreaEvent(event2);this.viewController.moveTo(target.position,1)}}onChange(e){this._context.viewModel.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)}};PointerHandler=class extends Disposable{constructor(context,viewController,viewHelper){super();if(isIOS&&BrowserFeatures.pointerEvents){this.handler=this._register(new PointerEventHandler(context,viewController,viewHelper))}else if(window.TouchEvent){this.handler=this._register(new TouchHandler(context,viewController,viewHelper))}else{this.handler=this._register(new MouseHandler(context,viewController,viewHelper))}}getTargetAtClientPoint(clientX,clientY){return this.handler.getTargetAtClientPoint(clientX,clientY)}}}});var init_5=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaHandler.css"(){}});var init_6=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lineNumbers/lineNumbers.css"(){}});var DynamicViewOverlay;var init_dynamicViewOverlay=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/view/dynamicViewOverlay.js"(){init_viewEventHandler();DynamicViewOverlay=class extends ViewEventHandler{}}});function themeColorFromId(id){return{id:id}}function getThemeTypeSelector(type){switch(type){case ColorScheme.DARK:return"vs-dark";case ColorScheme.HIGH_CONTRAST_DARK:return"hc-black";case ColorScheme.HIGH_CONTRAST_LIGHT:return"hc-light";default:return"vs"}}function registerThemingParticipant(participant){return themingRegistry.onColorThemeChange(participant)}var IThemeService,Extensions7,ThemingRegistry,themingRegistry,Themable;var init_themeService=__esm({"node_modules/monaco-editor/esm/vs/platform/theme/common/themeService.js"(){init_event();init_lifecycle();init_instantiation();init_platform2();init_theme();IThemeService=createDecorator("themeService");Extensions7={ThemingContribution:"base.contributions.theming"};ThemingRegistry=class{constructor(){this.themingParticipants=[];this.themingParticipants=[];this.onThemingParticipantAddedEmitter=new Emitter}onColorThemeChange(participant){this.themingParticipants.push(participant);this.onThemingParticipantAddedEmitter.fire(participant);return toDisposable((()=>{const idx=this.themingParticipants.indexOf(participant);this.themingParticipants.splice(idx,1)}))}getThemingParticipants(){return this.themingParticipants}};themingRegistry=new ThemingRegistry;Registry.add(Extensions7.ThemingContribution,themingRegistry);Themable=class extends Disposable{constructor(themeService){super();this.themeService=themeService;this.theme=themeService.getColorTheme();this._register(this.themeService.onDidColorThemeChange((theme=>this.onThemeChange(theme))))}onThemeChange(theme){this.theme=theme;this.updateStyles()}updateStyles(){}}}});var editorLineHighlight,editorLineHighlightBorder,editorRangeHighlight,editorRangeHighlightBorder,editorSymbolHighlight,editorSymbolHighlightBorder,editorCursorForeground,editorCursorBackground,editorWhitespaces,editorLineNumbers,deprecatedEditorIndentGuides,deprecatedEditorActiveIndentGuides,editorIndentGuide1,editorIndentGuide2,editorIndentGuide3,editorIndentGuide4,editorIndentGuide5,editorIndentGuide6,editorActiveIndentGuide1,editorActiveIndentGuide2,editorActiveIndentGuide3,editorActiveIndentGuide4,editorActiveIndentGuide5,editorActiveIndentGuide6,deprecatedEditorActiveLineNumber,editorActiveLineNumber,editorDimmedLineNumber,editorRuler,editorCodeLensForeground,editorBracketMatchBackground,editorBracketMatchBorder,editorOverviewRulerBorder,editorOverviewRulerBackground,editorGutter,editorUnnecessaryCodeBorder,editorUnnecessaryCodeOpacity,ghostTextBorder,ghostTextForeground,ghostTextBackground,rulerRangeDefault,overviewRulerRangeHighlight,overviewRulerError,overviewRulerWarning,overviewRulerInfo,editorBracketHighlightingForeground1,editorBracketHighlightingForeground2,editorBracketHighlightingForeground3,editorBracketHighlightingForeground4,editorBracketHighlightingForeground5,editorBracketHighlightingForeground6,editorBracketHighlightingUnexpectedBracketForeground,editorBracketPairGuideBackground1,editorBracketPairGuideBackground2,editorBracketPairGuideBackground3,editorBracketPairGuideBackground4,editorBracketPairGuideBackground5,editorBracketPairGuideBackground6,editorBracketPairGuideActiveBackground1,editorBracketPairGuideActiveBackground2,editorBracketPairGuideActiveBackground3,editorBracketPairGuideActiveBackground4,editorBracketPairGuideActiveBackground5,editorBracketPairGuideActiveBackground6,editorUnicodeHighlightBorder,editorUnicodeHighlightBackground;var init_editorColorRegistry=__esm({"node_modules/monaco-editor/esm/vs/editor/common/core/editorColorRegistry.js"(){init_nls();init_color();init_colorRegistry();init_themeService();editorLineHighlight=registerColor("editor.lineHighlightBackground",{dark:null,light:null,hcDark:null,hcLight:null},localize("lineHighlight","Background color for the highlight of line at the cursor position."));editorLineHighlightBorder=registerColor("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hcDark:"#f38518",hcLight:contrastBorder},localize("lineHighlightBorderBox","Background color for the border around the line at the cursor position."));editorRangeHighlight=registerColor("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hcDark:null,hcLight:null},localize("rangeHighlight","Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations."),true);editorRangeHighlightBorder=registerColor("editor.rangeHighlightBorder",{dark:null,light:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("rangeHighlightBorder","Background color of the border around highlighted ranges."),true);editorSymbolHighlight=registerColor("editor.symbolHighlightBackground",{dark:editorFindMatchHighlight,light:editorFindMatchHighlight,hcDark:null,hcLight:null},localize("symbolHighlight","Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations."),true);editorSymbolHighlightBorder=registerColor("editor.symbolHighlightBorder",{dark:null,light:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("symbolHighlightBorder","Background color of the border around highlighted symbols."),true);editorCursorForeground=registerColor("editorCursor.foreground",{dark:"#AEAFAD",light:Color.black,hcDark:Color.white,hcLight:"#0F4A85"},localize("caret","Color of the editor cursor."));editorCursorBackground=registerColor("editorCursor.background",null,localize("editorCursorBackground","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor."));editorWhitespaces=registerColor("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hcDark:"#e3e4e229",hcLight:"#CCCCCC"},localize("editorWhitespaces","Color of whitespace characters in the editor."));editorLineNumbers=registerColor("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hcDark:Color.white,hcLight:"#292929"},localize("editorLineNumbers","Color of editor line numbers."));deprecatedEditorIndentGuides=registerColor("editorIndentGuide.background",{dark:editorWhitespaces,light:editorWhitespaces,hcDark:editorWhitespaces,hcLight:editorWhitespaces},localize("editorIndentGuides","Color of the editor indentation guides."),false,localize("deprecatedEditorIndentGuides","'editorIndentGuide.background' is deprecated. Use 'editorIndentGuide.background1' instead."));deprecatedEditorActiveIndentGuides=registerColor("editorIndentGuide.activeBackground",{dark:editorWhitespaces,light:editorWhitespaces,hcDark:editorWhitespaces,hcLight:editorWhitespaces},localize("editorActiveIndentGuide","Color of the active editor indentation guides."),false,localize("deprecatedEditorActiveIndentGuide","'editorIndentGuide.activeBackground' is deprecated. Use 'editorIndentGuide.activeBackground1' instead."));editorIndentGuide1=registerColor("editorIndentGuide.background1",{dark:deprecatedEditorIndentGuides,light:deprecatedEditorIndentGuides,hcDark:deprecatedEditorIndentGuides,hcLight:deprecatedEditorIndentGuides},localize("editorIndentGuides1","Color of the editor indentation guides (1)."));editorIndentGuide2=registerColor("editorIndentGuide.background2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorIndentGuides2","Color of the editor indentation guides (2)."));editorIndentGuide3=registerColor("editorIndentGuide.background3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorIndentGuides3","Color of the editor indentation guides (3)."));editorIndentGuide4=registerColor("editorIndentGuide.background4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorIndentGuides4","Color of the editor indentation guides (4)."));editorIndentGuide5=registerColor("editorIndentGuide.background5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorIndentGuides5","Color of the editor indentation guides (5)."));editorIndentGuide6=registerColor("editorIndentGuide.background6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorIndentGuides6","Color of the editor indentation guides (6)."));editorActiveIndentGuide1=registerColor("editorIndentGuide.activeBackground1",{dark:deprecatedEditorActiveIndentGuides,light:deprecatedEditorActiveIndentGuides,hcDark:deprecatedEditorActiveIndentGuides,hcLight:deprecatedEditorActiveIndentGuides},localize("editorActiveIndentGuide1","Color of the active editor indentation guides (1)."));editorActiveIndentGuide2=registerColor("editorIndentGuide.activeBackground2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorActiveIndentGuide2","Color of the active editor indentation guides (2)."));editorActiveIndentGuide3=registerColor("editorIndentGuide.activeBackground3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorActiveIndentGuide3","Color of the active editor indentation guides (3)."));editorActiveIndentGuide4=registerColor("editorIndentGuide.activeBackground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorActiveIndentGuide4","Color of the active editor indentation guides (4)."));editorActiveIndentGuide5=registerColor("editorIndentGuide.activeBackground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorActiveIndentGuide5","Color of the active editor indentation guides (5)."));editorActiveIndentGuide6=registerColor("editorIndentGuide.activeBackground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorActiveIndentGuide6","Color of the active editor indentation guides (6)."));deprecatedEditorActiveLineNumber=registerColor("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("editorActiveLineNumber","Color of editor active line number"),false,localize("deprecatedEditorActiveLineNumber","Id is deprecated. Use 'editorLineNumber.activeForeground' instead."));editorActiveLineNumber=registerColor("editorLineNumber.activeForeground",{dark:deprecatedEditorActiveLineNumber,light:deprecatedEditorActiveLineNumber,hcDark:deprecatedEditorActiveLineNumber,hcLight:deprecatedEditorActiveLineNumber},localize("editorActiveLineNumber","Color of editor active line number"));editorDimmedLineNumber=registerColor("editorLineNumber.dimmedForeground",{dark:null,light:null,hcDark:null,hcLight:null},localize("editorDimmedLineNumber","Color of the final editor line when editor.renderFinalNewline is set to dimmed."));editorRuler=registerColor("editorRuler.foreground",{dark:"#5A5A5A",light:Color.lightgrey,hcDark:Color.white,hcLight:"#292929"},localize("editorRuler","Color of the editor rulers."));editorCodeLensForeground=registerColor("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hcDark:"#999999",hcLight:"#292929"},localize("editorCodeLensForeground","Foreground color of editor CodeLens"));editorBracketMatchBackground=registerColor("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hcDark:"#0064001a",hcLight:"#0000"},localize("editorBracketMatchBackground","Background color behind matching brackets"));editorBracketMatchBorder=registerColor("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hcDark:contrastBorder,hcLight:contrastBorder},localize("editorBracketMatchBorder","Color for matching brackets boxes"));editorOverviewRulerBorder=registerColor("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hcDark:"#7f7f7f4d",hcLight:"#666666"},localize("editorOverviewRulerBorder","Color of the overview ruler border."));editorOverviewRulerBackground=registerColor("editorOverviewRuler.background",null,localize("editorOverviewRulerBackground","Background color of the editor overview ruler."));editorGutter=registerColor("editorGutter.background",{dark:editorBackground,light:editorBackground,hcDark:editorBackground,hcLight:editorBackground},localize("editorGutter","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers."));editorUnnecessaryCodeBorder=registerColor("editorUnnecessaryCode.border",{dark:null,light:null,hcDark:Color.fromHex("#fff").transparent(.8),hcLight:contrastBorder},localize("unnecessaryCodeBorder","Border color of unnecessary (unused) source code in the editor."));editorUnnecessaryCodeOpacity=registerColor("editorUnnecessaryCode.opacity",{dark:Color.fromHex("#000a"),light:Color.fromHex("#0007"),hcDark:null,hcLight:null},localize("unnecessaryCodeOpacity",`Opacity of unnecessary (unused) source code in the editor. For example, "#000000c0" will render the code with 75% opacity. For high contrast themes, use the 'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out.`));ghostTextBorder=registerColor("editorGhostText.border",{dark:null,light:null,hcDark:Color.fromHex("#fff").transparent(.8),hcLight:Color.fromHex("#292929").transparent(.8)},localize("editorGhostTextBorder","Border color of ghost text in the editor."));ghostTextForeground=registerColor("editorGhostText.foreground",{dark:Color.fromHex("#ffffff56"),light:Color.fromHex("#0007"),hcDark:null,hcLight:null},localize("editorGhostTextForeground","Foreground color of the ghost text in the editor."));ghostTextBackground=registerColor("editorGhostText.background",{dark:null,light:null,hcDark:null,hcLight:null},localize("editorGhostTextBackground","Background color of the ghost text in the editor."));rulerRangeDefault=new Color(new RGBA(0,122,204,.6));overviewRulerRangeHighlight=registerColor("editorOverviewRuler.rangeHighlightForeground",{dark:rulerRangeDefault,light:rulerRangeDefault,hcDark:rulerRangeDefault,hcLight:rulerRangeDefault},localize("overviewRulerRangeHighlight","Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),true);overviewRulerError=registerColor("editorOverviewRuler.errorForeground",{dark:new Color(new RGBA(255,18,18,.7)),light:new Color(new RGBA(255,18,18,.7)),hcDark:new Color(new RGBA(255,50,50,1)),hcLight:"#B5200D"},localize("overviewRuleError","Overview ruler marker color for errors."));overviewRulerWarning=registerColor("editorOverviewRuler.warningForeground",{dark:editorWarningForeground,light:editorWarningForeground,hcDark:editorWarningBorder,hcLight:editorWarningBorder},localize("overviewRuleWarning","Overview ruler marker color for warnings."));overviewRulerInfo=registerColor("editorOverviewRuler.infoForeground",{dark:editorInfoForeground,light:editorInfoForeground,hcDark:editorInfoBorder,hcLight:editorInfoBorder},localize("overviewRuleInfo","Overview ruler marker color for infos."));editorBracketHighlightingForeground1=registerColor("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hcDark:"#FFD700",hcLight:"#0431FAFF"},localize("editorBracketHighlightForeground1","Foreground color of brackets (1). Requires enabling bracket pair colorization."));editorBracketHighlightingForeground2=registerColor("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hcDark:"#DA70D6",hcLight:"#319331FF"},localize("editorBracketHighlightForeground2","Foreground color of brackets (2). Requires enabling bracket pair colorization."));editorBracketHighlightingForeground3=registerColor("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hcDark:"#87CEFA",hcLight:"#7B3814FF"},localize("editorBracketHighlightForeground3","Foreground color of brackets (3). Requires enabling bracket pair colorization."));editorBracketHighlightingForeground4=registerColor("editorBracketHighlight.foreground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketHighlightForeground4","Foreground color of brackets (4). Requires enabling bracket pair colorization."));editorBracketHighlightingForeground5=registerColor("editorBracketHighlight.foreground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketHighlightForeground5","Foreground color of brackets (5). Requires enabling bracket pair colorization."));editorBracketHighlightingForeground6=registerColor("editorBracketHighlight.foreground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketHighlightForeground6","Foreground color of brackets (6). Requires enabling bracket pair colorization."));editorBracketHighlightingUnexpectedBracketForeground=registerColor("editorBracketHighlight.unexpectedBracket.foreground",{dark:new Color(new RGBA(255,18,18,.8)),light:new Color(new RGBA(255,18,18,.8)),hcDark:new Color(new RGBA(255,50,50,1)),hcLight:""},localize("editorBracketHighlightUnexpectedBracketForeground","Foreground color of unexpected brackets."));editorBracketPairGuideBackground1=registerColor("editorBracketPairGuide.background1",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketPairGuide.background1","Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides."));editorBracketPairGuideBackground2=registerColor("editorBracketPairGuide.background2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketPairGuide.background2","Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides."));editorBracketPairGuideBackground3=registerColor("editorBracketPairGuide.background3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketPairGuide.background3","Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides."));editorBracketPairGuideBackground4=registerColor("editorBracketPairGuide.background4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketPairGuide.background4","Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides."));editorBracketPairGuideBackground5=registerColor("editorBracketPairGuide.background5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketPairGuide.background5","Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides."));editorBracketPairGuideBackground6=registerColor("editorBracketPairGuide.background6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketPairGuide.background6","Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides."));editorBracketPairGuideActiveBackground1=registerColor("editorBracketPairGuide.activeBackground1",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketPairGuide.activeBackground1","Background color of active bracket pair guides (1). Requires enabling bracket pair guides."));editorBracketPairGuideActiveBackground2=registerColor("editorBracketPairGuide.activeBackground2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketPairGuide.activeBackground2","Background color of active bracket pair guides (2). Requires enabling bracket pair guides."));editorBracketPairGuideActiveBackground3=registerColor("editorBracketPairGuide.activeBackground3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketPairGuide.activeBackground3","Background color of active bracket pair guides (3). Requires enabling bracket pair guides."));editorBracketPairGuideActiveBackground4=registerColor("editorBracketPairGuide.activeBackground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketPairGuide.activeBackground4","Background color of active bracket pair guides (4). Requires enabling bracket pair guides."));editorBracketPairGuideActiveBackground5=registerColor("editorBracketPairGuide.activeBackground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketPairGuide.activeBackground5","Background color of active bracket pair guides (5). Requires enabling bracket pair guides."));editorBracketPairGuideActiveBackground6=registerColor("editorBracketPairGuide.activeBackground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketPairGuide.activeBackground6","Background color of active bracket pair guides (6). Requires enabling bracket pair guides."));editorUnicodeHighlightBorder=registerColor("editorUnicodeHighlight.border",{dark:"#BD9B03",light:"#CEA33D",hcDark:"#ff0000",hcLight:"#CEA33D"},localize("editorUnicodeHighlight.border","Border color used to highlight unicode characters."));editorUnicodeHighlightBackground=registerColor("editorUnicodeHighlight.background",{dark:"#bd9b0326",light:"#cea33d14",hcDark:"#00000000",hcLight:"#cea33d14"},localize("editorUnicodeHighlight.background","Background color used to highlight unicode characters."));registerThemingParticipant(((theme,collector)=>{const background=theme.getColor(editorBackground);const lineHighlight=theme.getColor(editorLineHighlight);const imeBackground=lineHighlight&&!lineHighlight.isTransparent()?lineHighlight:background;if(imeBackground){collector.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${imeBackground}; }`)}}))}});var LineNumbersOverlay;var init_lineNumbers=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lineNumbers/lineNumbers.js"(){init_6();init_platform();init_dynamicViewOverlay();init_position();init_themeService();init_editorColorRegistry();LineNumbersOverlay=class extends DynamicViewOverlay{constructor(context){super();this._context=context;this._readConfig();this._lastCursorModelPosition=new Position(1,1);this._renderResult=null;this._activeLineNumber=1;this._context.addEventHandler(this)}_readConfig(){const options2=this._context.configuration.options;this._lineHeight=options2.get(65);const lineNumbers=options2.get(66);this._renderLineNumbers=lineNumbers.renderType;this._renderCustomLineNumbers=lineNumbers.renderFn;this._renderFinalNewline=options2.get(93);const layoutInfo=options2.get(142);this._lineNumbersLeft=layoutInfo.lineNumbersLeft;this._lineNumbersWidth=layoutInfo.lineNumbersWidth}dispose(){this._context.removeEventHandler(this);this._renderResult=null;super.dispose()}onConfigurationChanged(e){this._readConfig();return true}onCursorStateChanged(e){const primaryViewPosition=e.selections[0].getPosition();this._lastCursorModelPosition=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(primaryViewPosition);let shouldRender=false;if(this._activeLineNumber!==primaryViewPosition.lineNumber){this._activeLineNumber=primaryViewPosition.lineNumber;shouldRender=true}if(this._renderLineNumbers===2||this._renderLineNumbers===3){shouldRender=true}return shouldRender}onFlushed(e){return true}onLinesChanged(e){return true}onLinesDeleted(e){return true}onLinesInserted(e){return true}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return true}_getLineRenderLineNumber(viewLineNumber){const modelPosition=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Position(viewLineNumber,1));if(modelPosition.column!==1){return""}const modelLineNumber=modelPosition.lineNumber;if(this._renderCustomLineNumbers){return this._renderCustomLineNumbers(modelLineNumber)}if(this._renderLineNumbers===2){const diff=Math.abs(this._lastCursorModelPosition.lineNumber-modelLineNumber);if(diff===0){return'<span class="relative-current-line-number">'+modelLineNumber+"</span>"}return String(diff)}if(this._renderLineNumbers===3){if(this._lastCursorModelPosition.lineNumber===modelLineNumber){return String(modelLineNumber)}if(modelLineNumber%10===0){return String(modelLineNumber)}return""}return String(modelLineNumber)}prepareRender(ctx){if(this._renderLineNumbers===0){this._renderResult=null;return}const lineHeightClassName=isLinux?this._lineHeight%2===0?" lh-even":" lh-odd":"";const visibleStartLineNumber=ctx.visibleRange.startLineNumber;const visibleEndLineNumber=ctx.visibleRange.endLineNumber;const lineCount=this._context.viewModel.getLineCount();const output=[];for(let lineNumber=visibleStartLineNumber;lineNumber<=visibleEndLineNumber;lineNumber++){const lineIndex=lineNumber-visibleStartLineNumber;const renderLineNumber=this._getLineRenderLineNumber(lineNumber);if(!renderLineNumber){output[lineIndex]="";continue}let extraClassName="";if(lineNumber===lineCount&&this._context.viewModel.getLineLength(lineNumber)===0){if(this._renderFinalNewline==="off"){output[lineIndex]="";continue}if(this._renderFinalNewline==="dimmed"){extraClassName=" dimmed-line-number"}}if(lineNumber===this._activeLineNumber){extraClassName=" active-line-number"}output[lineIndex]=`<div class="${LineNumbersOverlay.CLASS_NAME}${lineHeightClassName}${extraClassName}" style="left:${this._lineNumbersLeft}px;width:${this._lineNumbersWidth}px;">${renderLineNumber}</div>`}this._renderResult=output}render(startLineNumber,lineNumber){if(!this._renderResult){return""}const lineIndex=lineNumber-startLineNumber;if(lineIndex<0||lineIndex>=this._renderResult.length){return""}return this._renderResult[lineIndex]}};LineNumbersOverlay.CLASS_NAME="line-numbers";registerThemingParticipant(((theme,collector)=>{const editorLineNumbersColor=theme.getColor(editorLineNumbers);const editorDimmedLineNumberColor=theme.getColor(editorDimmedLineNumber);if(editorDimmedLineNumberColor){collector.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${editorDimmedLineNumberColor}; }`)}else if(editorLineNumbersColor){collector.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${editorLineNumbersColor.transparent(.4)}; }`)}}))}});var init_7=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/margin/margin.css"(){}});var Margin;var init_margin=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/margin/margin.js"(){init_7();init_fastDomNode();init_viewPart();Margin=class extends ViewPart{constructor(context){super(context);const options2=this._context.configuration.options;const layoutInfo=options2.get(142);this._canUseLayerHinting=!options2.get(31);this._contentLeft=layoutInfo.contentLeft;this._glyphMarginLeft=layoutInfo.glyphMarginLeft;this._glyphMarginWidth=layoutInfo.glyphMarginWidth;this._domNode=createFastDomNode(document.createElement("div"));this._domNode.setClassName(Margin.OUTER_CLASS_NAME);this._domNode.setPosition("absolute");this._domNode.setAttribute("role","presentation");this._domNode.setAttribute("aria-hidden","true");this._glyphMarginBackgroundDomNode=createFastDomNode(document.createElement("div"));this._glyphMarginBackgroundDomNode.setClassName(Margin.CLASS_NAME);this._domNode.appendChild(this._glyphMarginBackgroundDomNode)}dispose(){super.dispose()}getDomNode(){return this._domNode}onConfigurationChanged(e){const options2=this._context.configuration.options;const layoutInfo=options2.get(142);this._canUseLayerHinting=!options2.get(31);this._contentLeft=layoutInfo.contentLeft;this._glyphMarginLeft=layoutInfo.glyphMarginLeft;this._glyphMarginWidth=layoutInfo.glyphMarginWidth;return true}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollTopChanged}prepareRender(ctx){}render(ctx){this._domNode.setLayerHinting(this._canUseLayerHinting);this._domNode.setContain("strict");const adjustedScrollTop=ctx.scrollTop-ctx.bigNumbersDelta;this._domNode.setTop(-adjustedScrollTop);const height=Math.min(ctx.scrollHeight,1e6);this._domNode.setHeight(height);this._domNode.setWidth(this._contentLeft);this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft);this._glyphMarginBackgroundDomNode.setWidth(this._glyphMarginWidth);this._glyphMarginBackgroundDomNode.setHeight(height)}};Margin.CLASS_NAME="glyph-margin";Margin.OUTER_CLASS_NAME="margin"}});var init_8=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/mouseCursor/mouseCursor.css"(){}});var MOUSE_CURSOR_TEXT_CSS_CLASS_NAME;var init_mouseCursor=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/mouseCursor/mouseCursor.js"(){init_8();MOUSE_CURSOR_TEXT_CSS_CLASS_NAME=`monaco-mouse-cursor-text`}});var IMEImpl,IME;var init_ime=__esm({"node_modules/monaco-editor/esm/vs/base/common/ime.js"(){init_event();IMEImpl=class{constructor(){this._onDidChange=new Emitter;this.onDidChange=this._onDidChange.event;this._enabled=true}get enabled(){return this._enabled}enable(){this._enabled=true;this._onDidChange.fire()}disable(){this._enabled=false;this._onDidChange.fire()}};IME=new IMEImpl}});var IKeybindingService;var init_keybinding=__esm({"node_modules/monaco-editor/esm/vs/platform/keybinding/common/keybinding.js"(){init_instantiation();IKeybindingService=createDecorator("keybindingService")}});function measureText(text2,fontInfo,tabSize){if(text2.length===0){return 0}const container=document.createElement("div");container.style.position="absolute";container.style.top="-50000px";container.style.width="50000px";const regularDomNode=document.createElement("span");applyFontInfo(regularDomNode,fontInfo);regularDomNode.style.whiteSpace="pre";regularDomNode.style.tabSize=`${tabSize*fontInfo.spaceWidth}px`;regularDomNode.append(text2);container.appendChild(regularDomNode);document.body.appendChild(container);const res=regularDomNode.offsetWidth;document.body.removeChild(container);return res}var __decorate9,__param8,VisibleTextAreaData,canUseZeroSizeTextarea,TextAreaHandler;var init_textAreaHandler=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/controller/textAreaHandler.js"(){init_5();init_nls();init_browser();init_fastDomNode();init_platform();init_strings();init_domFontInfo();init_textAreaInput();init_textAreaState();init_viewPart();init_lineNumbers();init_margin();init_editorOptions();init_wordCharacterClassifier();init_position();init_range();init_selection();init_mouseCursor();init_languages();init_color();init_ime();init_keybinding();__decorate9=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param8=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};VisibleTextAreaData=class{constructor(_context,modelLineNumber,distanceToModelLineStart,widthOfHiddenLineTextBefore,distanceToModelLineEnd){this._context=_context;this.modelLineNumber=modelLineNumber;this.distanceToModelLineStart=distanceToModelLineStart;this.widthOfHiddenLineTextBefore=widthOfHiddenLineTextBefore;this.distanceToModelLineEnd=distanceToModelLineEnd;this._visibleTextAreaBrand=void 0;this.startPosition=null;this.endPosition=null;this.visibleTextareaStart=null;this.visibleTextareaEnd=null;this._previousPresentation=null}prepareRender(visibleRangeProvider){const startModelPosition=new Position(this.modelLineNumber,this.distanceToModelLineStart+1);const endModelPosition=new Position(this.modelLineNumber,this._context.viewModel.model.getLineMaxColumn(this.modelLineNumber)-this.distanceToModelLineEnd);this.startPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(startModelPosition);this.endPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(endModelPosition);if(this.startPosition.lineNumber===this.endPosition.lineNumber){this.visibleTextareaStart=visibleRangeProvider.visibleRangeForPosition(this.startPosition);this.visibleTextareaEnd=visibleRangeProvider.visibleRangeForPosition(this.endPosition)}else{this.visibleTextareaStart=null;this.visibleTextareaEnd=null}}definePresentation(tokenPresentation){if(!this._previousPresentation){if(tokenPresentation){this._previousPresentation=tokenPresentation}else{this._previousPresentation={foreground:1,italic:false,bold:false,underline:false,strikethrough:false}}}return this._previousPresentation}};canUseZeroSizeTextarea=isFirefox2;TextAreaHandler=class TextAreaHandler2 extends ViewPart{constructor(context,viewController,visibleRangeProvider,_keybindingService){super(context);this._keybindingService=_keybindingService;this._primaryCursorPosition=new Position(1,1);this._primaryCursorVisibleRange=null;this._viewController=viewController;this._visibleRangeProvider=visibleRangeProvider;this._scrollLeft=0;this._scrollTop=0;const options2=this._context.configuration.options;const layoutInfo=options2.get(142);this._setAccessibilityOptions(options2);this._contentLeft=layoutInfo.contentLeft;this._contentWidth=layoutInfo.contentWidth;this._contentHeight=layoutInfo.height;this._fontInfo=options2.get(49);this._lineHeight=options2.get(65);this._emptySelectionClipboard=options2.get(36);this._copyWithSyntaxHighlighting=options2.get(24);this._visibleTextArea=null;this._selections=[new Selection(1,1,1,1)];this._modelSelections=[new Selection(1,1,1,1)];this._lastRenderPosition=null;this.textArea=createFastDomNode(document.createElement("textarea"));PartFingerprints.write(this.textArea,6);this.textArea.setClassName(`inputarea ${MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`);this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:tabSize}=this._context.viewModel.model.getOptions();this.textArea.domNode.style.tabSize=`${tabSize*this._fontInfo.spaceWidth}px`;this.textArea.setAttribute("autocorrect","off");this.textArea.setAttribute("autocapitalize","off");this.textArea.setAttribute("autocomplete","off");this.textArea.setAttribute("spellcheck","false");this.textArea.setAttribute("aria-label",this._getAriaLabel(options2));this.textArea.setAttribute("aria-required",options2.get(5)?"true":"false");this.textArea.setAttribute("tabindex",String(options2.get(122)));this.textArea.setAttribute("role","textbox");this.textArea.setAttribute("aria-roledescription",localize("editor","editor"));this.textArea.setAttribute("aria-multiline","true");this.textArea.setAttribute("aria-autocomplete",options2.get(89)?"none":"both");this._ensureReadOnlyAttribute();this.textAreaCover=createFastDomNode(document.createElement("div"));this.textAreaCover.setPosition("absolute");const simpleModel={getLineCount:()=>this._context.viewModel.getLineCount(),getLineMaxColumn:lineNumber=>this._context.viewModel.getLineMaxColumn(lineNumber),getValueInRange:(range2,eol)=>this._context.viewModel.getValueInRange(range2,eol),getValueLengthInRange:(range2,eol)=>this._context.viewModel.getValueLengthInRange(range2,eol),modifyPosition:(position,offset)=>this._context.viewModel.modifyPosition(position,offset)};const textAreaInputHost={getDataToCopy:()=>{const rawTextToCopy=this._context.viewModel.getPlainTextToCopy(this._modelSelections,this._emptySelectionClipboard,isWindows);const newLineCharacter=this._context.viewModel.model.getEOL();const isFromEmptySelection=this._emptySelectionClipboard&&this._modelSelections.length===1&&this._modelSelections[0].isEmpty();const multicursorText=Array.isArray(rawTextToCopy)?rawTextToCopy:null;const text2=Array.isArray(rawTextToCopy)?rawTextToCopy.join(newLineCharacter):rawTextToCopy;let html2=void 0;let mode=null;if(CopyOptions.forceCopyWithSyntaxHighlighting||this._copyWithSyntaxHighlighting&&text2.length<65536){const richText=this._context.viewModel.getRichTextToCopy(this._modelSelections,this._emptySelectionClipboard);if(richText){html2=richText.html;mode=richText.mode}}return{isFromEmptySelection:isFromEmptySelection,multicursorText:multicursorText,text:text2,html:html2,mode:mode}},getScreenReaderContent:()=>{if(this._accessibilitySupport===1){const selection=this._selections[0];if(isMacintosh&&selection.isEmpty()){const position=selection.getStartPosition();let textBefore=this._getWordBeforePosition(position);if(textBefore.length===0){textBefore=this._getCharacterBeforePosition(position)}if(textBefore.length>0){return new TextAreaState(textBefore,textBefore.length,textBefore.length,Range.fromPositions(position),0)}}const LIMIT_CHARS=500;if(isMacintosh&&!selection.isEmpty()&&simpleModel.getValueLengthInRange(selection,0)<LIMIT_CHARS){const text2=simpleModel.getValueInRange(selection,0);return new TextAreaState(text2,0,text2.length,selection,0)}if(isSafari2&&!selection.isEmpty()){const placeholderText="vscode-placeholder";return new TextAreaState(placeholderText,0,placeholderText.length,null,void 0)}return TextAreaState.EMPTY}if(isAndroid2){const selection=this._selections[0];if(selection.isEmpty()){const position=selection.getStartPosition();const[wordAtPosition,positionOffsetInWord]=this._getAndroidWordAtPosition(position);if(wordAtPosition.length>0){return new TextAreaState(wordAtPosition,positionOffsetInWord,positionOffsetInWord,Range.fromPositions(position),0)}}return TextAreaState.EMPTY}return PagedScreenReaderStrategy.fromEditorSelection(simpleModel,this._selections[0],this._accessibilityPageSize,this._accessibilitySupport===0)},deduceModelPosition:(viewAnchorPosition,deltaOffset,lineFeedCnt)=>this._context.viewModel.deduceModelPositionRelativeToViewPosition(viewAnchorPosition,deltaOffset,lineFeedCnt)};const textAreaWrapper=this._register(new TextAreaWrapper(this.textArea.domNode));this._textAreaInput=this._register(new TextAreaInput(textAreaInputHost,textAreaWrapper,OS,{isAndroid:isAndroid2,isChrome:isChrome2,isFirefox:isFirefox2,isSafari:isSafari2}));this._register(this._textAreaInput.onKeyDown((e=>{this._viewController.emitKeyDown(e)})));this._register(this._textAreaInput.onKeyUp((e=>{this._viewController.emitKeyUp(e)})));this._register(this._textAreaInput.onPaste((e=>{let pasteOnNewLine=false;let multicursorText=null;let mode=null;if(e.metadata){pasteOnNewLine=this._emptySelectionClipboard&&!!e.metadata.isFromEmptySelection;multicursorText=typeof e.metadata.multicursorText!=="undefined"?e.metadata.multicursorText:null;mode=e.metadata.mode}this._viewController.paste(e.text,pasteOnNewLine,multicursorText,mode)})));this._register(this._textAreaInput.onCut((()=>{this._viewController.cut()})));this._register(this._textAreaInput.onType((e=>{if(e.replacePrevCharCnt||e.replaceNextCharCnt||e.positionDelta){if(_debugComposition){console.log(` => compositionType: <<${e.text}>>, ${e.replacePrevCharCnt}, ${e.replaceNextCharCnt}, ${e.positionDelta}`)}this._viewController.compositionType(e.text,e.replacePrevCharCnt,e.replaceNextCharCnt,e.positionDelta)}else{if(_debugComposition){console.log(` => type: <<${e.text}>>`)}this._viewController.type(e.text)}})));this._register(this._textAreaInput.onSelectionChangeRequest((modelSelection=>{this._viewController.setSelection(modelSelection)})));this._register(this._textAreaInput.onCompositionStart((e=>{const ta=this.textArea.domNode;const modelSelection=this._modelSelections[0];const{distanceToModelLineStart:distanceToModelLineStart,widthOfHiddenTextBefore:widthOfHiddenTextBefore}=(()=>{const textBeforeSelection=ta.value.substring(0,Math.min(ta.selectionStart,ta.selectionEnd));const lineFeedOffset1=textBeforeSelection.lastIndexOf("\n");const lineTextBeforeSelection=textBeforeSelection.substring(lineFeedOffset1+1);const tabOffset1=lineTextBeforeSelection.lastIndexOf("\t");const desiredVisibleBeforeCharCount=lineTextBeforeSelection.length-tabOffset1-1;const startModelPosition=modelSelection.getStartPosition();const visibleBeforeCharCount=Math.min(startModelPosition.column-1,desiredVisibleBeforeCharCount);const distanceToModelLineStart2=startModelPosition.column-1-visibleBeforeCharCount;const hiddenLineTextBefore=lineTextBeforeSelection.substring(0,lineTextBeforeSelection.length-visibleBeforeCharCount);const{tabSize:tabSize2}=this._context.viewModel.model.getOptions();const widthOfHiddenTextBefore2=measureText(hiddenLineTextBefore,this._fontInfo,tabSize2);return{distanceToModelLineStart:distanceToModelLineStart2,widthOfHiddenTextBefore:widthOfHiddenTextBefore2}})();const{distanceToModelLineEnd:distanceToModelLineEnd}=(()=>{const textAfterSelection=ta.value.substring(Math.max(ta.selectionStart,ta.selectionEnd));const lineFeedOffset2=textAfterSelection.indexOf("\n");const lineTextAfterSelection=lineFeedOffset2===-1?textAfterSelection:textAfterSelection.substring(0,lineFeedOffset2);const tabOffset2=lineTextAfterSelection.indexOf("\t");const desiredVisibleAfterCharCount=tabOffset2===-1?lineTextAfterSelection.length:lineTextAfterSelection.length-tabOffset2-1;const endModelPosition=modelSelection.getEndPosition();const visibleAfterCharCount=Math.min(this._context.viewModel.model.getLineMaxColumn(endModelPosition.lineNumber)-endModelPosition.column,desiredVisibleAfterCharCount);const distanceToModelLineEnd2=this._context.viewModel.model.getLineMaxColumn(endModelPosition.lineNumber)-endModelPosition.column-visibleAfterCharCount;return{distanceToModelLineEnd:distanceToModelLineEnd2}})();this._context.viewModel.revealRange("keyboard",true,Range.fromPositions(this._selections[0].getStartPosition()),0,1);this._visibleTextArea=new VisibleTextAreaData(this._context,modelSelection.startLineNumber,distanceToModelLineStart,widthOfHiddenTextBefore,distanceToModelLineEnd);this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");this._visibleTextArea.prepareRender(this._visibleRangeProvider);this._render();this.textArea.setClassName(`inputarea ${MOUSE_CURSOR_TEXT_CSS_CLASS_NAME} ime-input`);this._viewController.compositionStart();this._context.viewModel.onCompositionStart()})));this._register(this._textAreaInput.onCompositionUpdate((e=>{if(!this._visibleTextArea){return}this._visibleTextArea.prepareRender(this._visibleRangeProvider);this._render()})));this._register(this._textAreaInput.onCompositionEnd((()=>{this._visibleTextArea=null;this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");this._render();this.textArea.setClassName(`inputarea ${MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`);this._viewController.compositionEnd();this._context.viewModel.onCompositionEnd()})));this._register(this._textAreaInput.onFocus((()=>{this._context.viewModel.setHasFocus(true)})));this._register(this._textAreaInput.onBlur((()=>{this._context.viewModel.setHasFocus(false)})));this._register(IME.onDidChange((()=>{this._ensureReadOnlyAttribute()})))}writeScreenReaderContent(reason){this._textAreaInput.writeScreenReaderContent(reason)}dispose(){super.dispose()}_getAndroidWordAtPosition(position){const ANDROID_WORD_SEPARATORS='`~!@#$%^&*()-=+[{]}\\|;:",.<>/?';const lineContent=this._context.viewModel.getLineContent(position.lineNumber);const wordSeparators2=getMapForWordSeparators(ANDROID_WORD_SEPARATORS);let goingLeft=true;let startColumn=position.column;let goingRight=true;let endColumn=position.column;let distance=0;while(distance<50&&(goingLeft||goingRight)){if(goingLeft&&startColumn<=1){goingLeft=false}if(goingLeft){const charCode=lineContent.charCodeAt(startColumn-2);const charClass=wordSeparators2.get(charCode);if(charClass!==0){goingLeft=false}else{startColumn--}}if(goingRight&&endColumn>lineContent.length){goingRight=false}if(goingRight){const charCode=lineContent.charCodeAt(endColumn-1);const charClass=wordSeparators2.get(charCode);if(charClass!==0){goingRight=false}else{endColumn++}}distance++}return[lineContent.substring(startColumn-1,endColumn-1),position.column-startColumn]}_getWordBeforePosition(position){const lineContent=this._context.viewModel.getLineContent(position.lineNumber);const wordSeparators2=getMapForWordSeparators(this._context.configuration.options.get(128));let column=position.column;let distance=0;while(column>1){const charCode=lineContent.charCodeAt(column-2);const charClass=wordSeparators2.get(charCode);if(charClass!==0||distance>50){return lineContent.substring(column-1,position.column-1)}distance++;column--}return lineContent.substring(0,position.column-1)}_getCharacterBeforePosition(position){if(position.column>1){const lineContent=this._context.viewModel.getLineContent(position.lineNumber);const charBefore=lineContent.charAt(position.column-2);if(!isHighSurrogate(charBefore.charCodeAt(0))){return charBefore}}return""}_getAriaLabel(options2){var _a6,_b3,_c2;const accessibilitySupport=options2.get(2);if(accessibilitySupport===1){const toggleKeybindingLabel=(_a6=this._keybindingService.lookupKeybinding("editor.action.toggleScreenReaderAccessibilityMode"))===null||_a6===void 0?void 0:_a6.getAriaLabel();const runCommandKeybindingLabel=(_b3=this._keybindingService.lookupKeybinding("workbench.action.showCommands"))===null||_b3===void 0?void 0:_b3.getAriaLabel();const keybindingEditorKeybindingLabel=(_c2=this._keybindingService.lookupKeybinding("workbench.action.openGlobalKeybindings"))===null||_c2===void 0?void 0:_c2.getAriaLabel();const editorNotAccessibleMessage=localize("accessibilityModeOff","The editor is not accessible at this time.");if(toggleKeybindingLabel){return localize("accessibilityOffAriaLabel","{0} To enable screen reader optimized mode, use {1}",editorNotAccessibleMessage,toggleKeybindingLabel)}else if(runCommandKeybindingLabel){return localize("accessibilityOffAriaLabelNoKb","{0} To enable screen reader optimized mode, open the quick pick with {1} and run the command Toggle Screen Reader Accessibility Mode, which is currently not triggerable via keyboard.",editorNotAccessibleMessage,runCommandKeybindingLabel)}else if(keybindingEditorKeybindingLabel){return localize("accessibilityOffAriaLabelNoKbs","{0} Please assign a keybinding for the command Toggle Screen Reader Accessibility Mode by accessing the keybindings editor with {1} and run it.",editorNotAccessibleMessage,keybindingEditorKeybindingLabel)}else{return editorNotAccessibleMessage}}return options2.get(4)}_setAccessibilityOptions(options2){this._accessibilitySupport=options2.get(2);const accessibilityPageSize=options2.get(3);if(this._accessibilitySupport===2&&accessibilityPageSize===EditorOptions.accessibilityPageSize.defaultValue){this._accessibilityPageSize=500}else{this._accessibilityPageSize=accessibilityPageSize}const layoutInfo=options2.get(142);const wrappingColumn=layoutInfo.wrappingColumn;if(wrappingColumn!==-1&&this._accessibilitySupport!==1){const fontInfo=options2.get(49);this._textAreaWrapping=true;this._textAreaWidth=Math.round(wrappingColumn*fontInfo.typicalHalfwidthCharacterWidth)}else{this._textAreaWrapping=false;this._textAreaWidth=canUseZeroSizeTextarea?0:1}}onConfigurationChanged(e){const options2=this._context.configuration.options;const layoutInfo=options2.get(142);this._setAccessibilityOptions(options2);this._contentLeft=layoutInfo.contentLeft;this._contentWidth=layoutInfo.contentWidth;this._contentHeight=layoutInfo.height;this._fontInfo=options2.get(49);this._lineHeight=options2.get(65);this._emptySelectionClipboard=options2.get(36);this._copyWithSyntaxHighlighting=options2.get(24);this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:tabSize}=this._context.viewModel.model.getOptions();this.textArea.domNode.style.tabSize=`${tabSize*this._fontInfo.spaceWidth}px`;this.textArea.setAttribute("aria-label",this._getAriaLabel(options2));this.textArea.setAttribute("aria-required",options2.get(5)?"true":"false");this.textArea.setAttribute("tabindex",String(options2.get(122)));if(e.hasChanged(33)||e.hasChanged(89)){this._ensureReadOnlyAttribute()}if(e.hasChanged(2)){this._textAreaInput.writeScreenReaderContent("strategy changed")}return true}onCursorStateChanged(e){this._selections=e.selections.slice(0);this._modelSelections=e.modelSelections.slice(0);this._textAreaInput.writeScreenReaderContent("selection changed");return true}onDecorationsChanged(e){return true}onFlushed(e){return true}onLinesChanged(e){return true}onLinesDeleted(e){return true}onLinesInserted(e){return true}onScrollChanged(e){this._scrollLeft=e.scrollLeft;this._scrollTop=e.scrollTop;return true}onZonesChanged(e){return true}isFocused(){return this._textAreaInput.isFocused()}focusTextArea(){this._textAreaInput.focusTextArea()}getLastRenderData(){return this._lastRenderPosition}setAriaOptions(options2){if(options2.activeDescendant){this.textArea.setAttribute("aria-haspopup","true");this.textArea.setAttribute("aria-autocomplete","list");this.textArea.setAttribute("aria-activedescendant",options2.activeDescendant)}else{this.textArea.setAttribute("aria-haspopup","false");this.textArea.setAttribute("aria-autocomplete","both");this.textArea.removeAttribute("aria-activedescendant")}if(options2.role){this.textArea.setAttribute("role",options2.role)}}_ensureReadOnlyAttribute(){const options2=this._context.configuration.options;const useReadOnly=!IME.enabled||options2.get(33)&&options2.get(89);if(useReadOnly){this.textArea.setAttribute("readonly","true")}else{this.textArea.removeAttribute("readonly")}}prepareRender(ctx){var _a6;this._primaryCursorPosition=new Position(this._selections[0].positionLineNumber,this._selections[0].positionColumn);this._primaryCursorVisibleRange=ctx.visibleRangeForPosition(this._primaryCursorPosition);(_a6=this._visibleTextArea)===null||_a6===void 0?void 0:_a6.prepareRender(ctx)}render(ctx){this._textAreaInput.writeScreenReaderContent("render");this._render()}_render(){var _a6;if(this._visibleTextArea){const visibleStart=this._visibleTextArea.visibleTextareaStart;const visibleEnd=this._visibleTextArea.visibleTextareaEnd;const startPosition=this._visibleTextArea.startPosition;const endPosition=this._visibleTextArea.endPosition;if(startPosition&&endPosition&&visibleStart&&visibleEnd&&visibleEnd.left>=this._scrollLeft&&visibleStart.left<=this._scrollLeft+this._contentWidth){const top2=this._context.viewLayout.getVerticalOffsetForLineNumber(this._primaryCursorPosition.lineNumber)-this._scrollTop;const lineCount=this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));let scrollLeft=this._visibleTextArea.widthOfHiddenLineTextBefore;let left2=this._contentLeft+visibleStart.left-this._scrollLeft;let width=visibleEnd.left-visibleStart.left+1;if(left2<this._contentLeft){const delta=this._contentLeft-left2;left2+=delta;scrollLeft+=delta;width-=delta}if(width>this._contentWidth){width=this._contentWidth}const viewLineData=this._context.viewModel.getViewLineData(startPosition.lineNumber);const startTokenIndex=viewLineData.tokens.findTokenIndexAtOffset(startPosition.column-1);const endTokenIndex=viewLineData.tokens.findTokenIndexAtOffset(endPosition.column-1);const textareaSpansSingleToken=startTokenIndex===endTokenIndex;const presentation=this._visibleTextArea.definePresentation(textareaSpansSingleToken?viewLineData.tokens.getPresentation(startTokenIndex):null);this.textArea.domNode.scrollTop=lineCount*this._lineHeight;this.textArea.domNode.scrollLeft=scrollLeft;this._doRender({lastRenderPosition:null,top:top2,left:left2,width:width,height:this._lineHeight,useCover:false,color:(TokenizationRegistry2.getColorMap()||[])[presentation.foreground],italic:presentation.italic,bold:presentation.bold,underline:presentation.underline,strikethrough:presentation.strikethrough})}return}if(!this._primaryCursorVisibleRange){this._renderAtTopLeft();return}const left=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(left<this._contentLeft||left>this._contentLeft+this._contentWidth){this._renderAtTopLeft();return}const top=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;if(top<0||top>this._contentHeight){this._renderAtTopLeft();return}if(isMacintosh){this._doRender({lastRenderPosition:this._primaryCursorPosition,top:top,left:this._textAreaWrapping?this._contentLeft:left,width:this._textAreaWidth,height:this._lineHeight,useCover:false});this.textArea.domNode.scrollLeft=this._primaryCursorVisibleRange.left;const lineCount=(_a6=this._textAreaInput.textAreaState.newlineCountBeforeSelection)!==null&&_a6!==void 0?_a6:this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));this.textArea.domNode.scrollTop=lineCount*this._lineHeight;return}this._doRender({lastRenderPosition:this._primaryCursorPosition,top:top,left:this._textAreaWrapping?this._contentLeft:left,width:this._textAreaWidth,height:canUseZeroSizeTextarea?0:1,useCover:false})}_newlinecount(text2){let result=0;let startIndex=-1;do{startIndex=text2.indexOf("\n",startIndex+1);if(startIndex===-1){break}result++}while(true);return result}_renderAtTopLeft(){this._doRender({lastRenderPosition:null,top:0,left:0,width:this._textAreaWidth,height:canUseZeroSizeTextarea?0:1,useCover:true})}_doRender(renderData){this._lastRenderPosition=renderData.lastRenderPosition;const ta=this.textArea;const tac=this.textAreaCover;applyFontInfo(ta,this._fontInfo);ta.setTop(renderData.top);ta.setLeft(renderData.left);ta.setWidth(renderData.width);ta.setHeight(renderData.height);ta.setColor(renderData.color?Color.Format.CSS.formatHex(renderData.color):"");ta.setFontStyle(renderData.italic?"italic":"");if(renderData.bold){ta.setFontWeight("bold")}ta.setTextDecoration(`${renderData.underline?" underline":""}${renderData.strikethrough?" line-through":""}`);tac.setTop(renderData.useCover?renderData.top:0);tac.setLeft(renderData.useCover?renderData.left:0);tac.setWidth(renderData.useCover?renderData.width:0);tac.setHeight(renderData.useCover?renderData.height:0);const options2=this._context.configuration.options;if(options2.get(56)){tac.setClassName("monaco-editor-background textAreaCover "+Margin.OUTER_CLASS_NAME)}else{if(options2.get(66).renderType!==0){tac.setClassName("monaco-editor-background textAreaCover "+LineNumbersOverlay.CLASS_NAME)}else{tac.setClassName("monaco-editor-background textAreaCover")}}}};TextAreaHandler=__decorate9([__param8(3,IKeybindingService)],TextAreaHandler)}});function _normalizeIndentationFromWhitespace(str,indentSize,insertSpaces){let spacesCnt=0;for(let i=0;i<str.length;i++){if(str.charAt(i)==="\t"){spacesCnt=CursorColumns.nextIndentTabStop(spacesCnt,indentSize)}else{spacesCnt++}}let result="";if(!insertSpaces){const tabsCnt=Math.floor(spacesCnt/indentSize);spacesCnt=spacesCnt%indentSize;for(let i=0;i<tabsCnt;i++){result+="\t"}}for(let i=0;i<spacesCnt;i++){result+=" "}return result}function normalizeIndentation(str,indentSize,insertSpaces){let firstNonWhitespaceIndex2=firstNonWhitespaceIndex(str);if(firstNonWhitespaceIndex2===-1){firstNonWhitespaceIndex2=str.length}return _normalizeIndentationFromWhitespace(str.substring(0,firstNonWhitespaceIndex2),indentSize,insertSpaces)+str.substring(firstNonWhitespaceIndex2)}var init_indentation=__esm({"node_modules/monaco-editor/esm/vs/editor/common/core/indentation.js"(){init_strings();init_cursorColumns()}});function isQuote(ch){return ch==="'"||ch==='"'||ch==="`"}var autoCloseAlways,autoCloseNever,autoCloseBeforeWhitespace,CursorConfiguration,CursorState,PartialModelCursorState,PartialViewCursorState,SingleCursorState,EditOperationResult;var init_cursorCommon=__esm({"node_modules/monaco-editor/esm/vs/editor/common/cursorCommon.js"(){init_position();init_range();init_selection();init_supports();init_cursorColumns();init_indentation();autoCloseAlways=()=>true;autoCloseNever=()=>false;autoCloseBeforeWhitespace=chr=>chr===" "||chr==="\t";CursorConfiguration=class{static shouldRecreate(e){return e.hasChanged(142)||e.hasChanged(128)||e.hasChanged(36)||e.hasChanged(75)||e.hasChanged(77)||e.hasChanged(78)||e.hasChanged(6)||e.hasChanged(10)||e.hasChanged(8)||e.hasChanged(9)||e.hasChanged(13)||e.hasChanged(126)||e.hasChanged(49)||e.hasChanged(89)}constructor(languageId,modelOptions,configuration,languageConfigurationService){this.languageConfigurationService=languageConfigurationService;this._cursorMoveConfigurationBrand=void 0;this._languageId=languageId;const options2=configuration.options;const layoutInfo=options2.get(142);const fontInfo=options2.get(49);this.readOnly=options2.get(89);this.tabSize=modelOptions.tabSize;this.indentSize=modelOptions.indentSize;this.insertSpaces=modelOptions.insertSpaces;this.stickyTabStops=options2.get(114);this.lineHeight=fontInfo.lineHeight;this.typicalHalfwidthCharacterWidth=fontInfo.typicalHalfwidthCharacterWidth;this.pageSize=Math.max(1,Math.floor(layoutInfo.height/this.lineHeight)-2);this.useTabStops=options2.get(126);this.wordSeparators=options2.get(128);this.emptySelectionClipboard=options2.get(36);this.copyWithSyntaxHighlighting=options2.get(24);this.multiCursorMergeOverlapping=options2.get(75);this.multiCursorPaste=options2.get(77);this.multiCursorLimit=options2.get(78);this.autoClosingBrackets=options2.get(6);this.autoClosingQuotes=options2.get(10);this.autoClosingDelete=options2.get(8);this.autoClosingOvertype=options2.get(9);this.autoSurround=options2.get(13);this.autoIndent=options2.get(11);this.surroundingPairs={};this._electricChars=null;this.shouldAutoCloseBefore={quote:this._getShouldAutoClose(languageId,this.autoClosingQuotes,true),bracket:this._getShouldAutoClose(languageId,this.autoClosingBrackets,false)};this.autoClosingPairs=this.languageConfigurationService.getLanguageConfiguration(languageId).getAutoClosingPairs();const surroundingPairs=this.languageConfigurationService.getLanguageConfiguration(languageId).getSurroundingPairs();if(surroundingPairs){for(const pair of surroundingPairs){this.surroundingPairs[pair.open]=pair.close}}}get electricChars(){var _a6;if(!this._electricChars){this._electricChars={};const electricChars=(_a6=this.languageConfigurationService.getLanguageConfiguration(this._languageId).electricCharacter)===null||_a6===void 0?void 0:_a6.getElectricCharacters();if(electricChars){for(const char of electricChars){this._electricChars[char]=true}}}return this._electricChars}onElectricCharacter(character,context,column){const scopedLineTokens=createScopedLineTokens(context,column-1);const electricCharacterSupport=this.languageConfigurationService.getLanguageConfiguration(scopedLineTokens.languageId).electricCharacter;if(!electricCharacterSupport){return null}return electricCharacterSupport.onElectricCharacter(character,scopedLineTokens,column-scopedLineTokens.firstCharOffset)}normalizeIndentation(str){return normalizeIndentation(str,this.indentSize,this.insertSpaces)}_getShouldAutoClose(languageId,autoCloseConfig,forQuotes){switch(autoCloseConfig){case"beforeWhitespace":return autoCloseBeforeWhitespace;case"languageDefined":return this._getLanguageDefinedShouldAutoClose(languageId,forQuotes);case"always":return autoCloseAlways;case"never":return autoCloseNever}}_getLanguageDefinedShouldAutoClose(languageId,forQuotes){const autoCloseBeforeSet=this.languageConfigurationService.getLanguageConfiguration(languageId).getAutoCloseBeforeSet(forQuotes);return c=>autoCloseBeforeSet.indexOf(c)!==-1}visibleColumnFromColumn(model,position){return CursorColumns.visibleColumnFromColumn(model.getLineContent(position.lineNumber),position.column,this.tabSize)}columnFromVisibleColumn(model,lineNumber,visibleColumn){const result=CursorColumns.columnFromVisibleColumn(model.getLineContent(lineNumber),visibleColumn,this.tabSize);const minColumn=model.getLineMinColumn(lineNumber);if(result<minColumn){return minColumn}const maxColumn=model.getLineMaxColumn(lineNumber);if(result>maxColumn){return maxColumn}return result}};CursorState=class{static fromModelState(modelState){return new PartialModelCursorState(modelState)}static fromViewState(viewState){return new PartialViewCursorState(viewState)}static fromModelSelection(modelSelection){const selection=Selection.liftSelection(modelSelection);const modelState=new SingleCursorState(Range.fromPositions(selection.getSelectionStart()),0,0,selection.getPosition(),0);return CursorState.fromModelState(modelState)}static fromModelSelections(modelSelections){const states=[];for(let i=0,len=modelSelections.length;i<len;i++){states[i]=this.fromModelSelection(modelSelections[i])}return states}constructor(modelState,viewState){this._cursorStateBrand=void 0;this.modelState=modelState;this.viewState=viewState}equals(other){return this.viewState.equals(other.viewState)&&this.modelState.equals(other.modelState)}};PartialModelCursorState=class{constructor(modelState){this.modelState=modelState;this.viewState=null}};PartialViewCursorState=class{constructor(viewState){this.modelState=null;this.viewState=viewState}};SingleCursorState=class{constructor(selectionStart,selectionStartKind,selectionStartLeftoverVisibleColumns,position,leftoverVisibleColumns){this.selectionStart=selectionStart;this.selectionStartKind=selectionStartKind;this.selectionStartLeftoverVisibleColumns=selectionStartLeftoverVisibleColumns;this.position=position;this.leftoverVisibleColumns=leftoverVisibleColumns;this._singleCursorStateBrand=void 0;this.selection=SingleCursorState._computeSelection(this.selectionStart,this.position)}equals(other){return this.selectionStartLeftoverVisibleColumns===other.selectionStartLeftoverVisibleColumns&&this.leftoverVisibleColumns===other.leftoverVisibleColumns&&this.selectionStartKind===other.selectionStartKind&&this.position.equals(other.position)&&this.selectionStart.equalsRange(other.selectionStart)}hasSelection(){return!this.selection.isEmpty()||!this.selectionStart.isEmpty()}move(inSelectionMode,lineNumber,column,leftoverVisibleColumns){if(inSelectionMode){return new SingleCursorState(this.selectionStart,this.selectionStartKind,this.selectionStartLeftoverVisibleColumns,new Position(lineNumber,column),leftoverVisibleColumns)}else{return new SingleCursorState(new Range(lineNumber,column,lineNumber,column),0,leftoverVisibleColumns,new Position(lineNumber,column),leftoverVisibleColumns)}}static _computeSelection(selectionStart,position){if(selectionStart.isEmpty()||!position.isBeforeOrEqual(selectionStart.getStartPosition())){return Selection.fromPositions(selectionStart.getStartPosition(),position)}else{return Selection.fromPositions(selectionStart.getEndPosition(),position)}}};EditOperationResult=class{constructor(type,commands,opts){this._editOperationResultBrand=void 0;this.type=type;this.commands=commands;this.shouldPushStackElementBefore=opts.shouldPushStackElementBefore;this.shouldPushStackElementAfter=opts.shouldPushStackElementAfter}}}});var ColumnSelection;var init_cursorColumnSelection=__esm({"node_modules/monaco-editor/esm/vs/editor/common/cursor/cursorColumnSelection.js"(){init_cursorCommon();init_position();init_range();ColumnSelection=class{static columnSelect(config,model,fromLineNumber,fromVisibleColumn,toLineNumber,toVisibleColumn){const lineCount=Math.abs(toLineNumber-fromLineNumber)+1;const reversed=fromLineNumber>toLineNumber;const isRTL=fromVisibleColumn>toVisibleColumn;const isLTR=fromVisibleColumn<toVisibleColumn;const result=[];for(let i=0;i<lineCount;i++){const lineNumber=fromLineNumber+(reversed?-i:i);const startColumn=config.columnFromVisibleColumn(model,lineNumber,fromVisibleColumn);const endColumn=config.columnFromVisibleColumn(model,lineNumber,toVisibleColumn);const visibleStartColumn=config.visibleColumnFromColumn(model,new Position(lineNumber,startColumn));const visibleEndColumn=config.visibleColumnFromColumn(model,new Position(lineNumber,endColumn));if(isLTR){if(visibleStartColumn>toVisibleColumn){continue}if(visibleEndColumn<fromVisibleColumn){continue}}if(isRTL){if(visibleEndColumn>fromVisibleColumn){continue}if(visibleStartColumn<toVisibleColumn){continue}}result.push(new SingleCursorState(new Range(lineNumber,startColumn,lineNumber,startColumn),0,0,new Position(lineNumber,endColumn),0))}if(result.length===0){for(let i=0;i<lineCount;i++){const lineNumber=fromLineNumber+(reversed?-i:i);const maxColumn=model.getLineMaxColumn(lineNumber);result.push(new SingleCursorState(new Range(lineNumber,maxColumn,lineNumber,maxColumn),0,0,new Position(lineNumber,maxColumn),0))}}return{viewStates:result,reversed:reversed,fromLineNumber:fromLineNumber,fromVisualColumn:fromVisibleColumn,toLineNumber:toLineNumber,toVisualColumn:toVisibleColumn}}static columnSelectLeft(config,model,prevColumnSelectData){let toViewVisualColumn=prevColumnSelectData.toViewVisualColumn;if(toViewVisualColumn>0){toViewVisualColumn--}return ColumnSelection.columnSelect(config,model,prevColumnSelectData.fromViewLineNumber,prevColumnSelectData.fromViewVisualColumn,prevColumnSelectData.toViewLineNumber,toViewVisualColumn)}static columnSelectRight(config,model,prevColumnSelectData){let maxVisualViewColumn=0;const minViewLineNumber=Math.min(prevColumnSelectData.fromViewLineNumber,prevColumnSelectData.toViewLineNumber);const maxViewLineNumber=Math.max(prevColumnSelectData.fromViewLineNumber,prevColumnSelectData.toViewLineNumber);for(let lineNumber=minViewLineNumber;lineNumber<=maxViewLineNumber;lineNumber++){const lineMaxViewColumn=model.getLineMaxColumn(lineNumber);const lineMaxVisualViewColumn=config.visibleColumnFromColumn(model,new Position(lineNumber,lineMaxViewColumn));maxVisualViewColumn=Math.max(maxVisualViewColumn,lineMaxVisualViewColumn)}let toViewVisualColumn=prevColumnSelectData.toViewVisualColumn;if(toViewVisualColumn<maxVisualViewColumn){toViewVisualColumn++}return this.columnSelect(config,model,prevColumnSelectData.fromViewLineNumber,prevColumnSelectData.fromViewVisualColumn,prevColumnSelectData.toViewLineNumber,toViewVisualColumn)}static columnSelectUp(config,model,prevColumnSelectData,isPaged){const linesCount=isPaged?config.pageSize:1;const toViewLineNumber=Math.max(1,prevColumnSelectData.toViewLineNumber-linesCount);return this.columnSelect(config,model,prevColumnSelectData.fromViewLineNumber,prevColumnSelectData.fromViewVisualColumn,toViewLineNumber,prevColumnSelectData.toViewVisualColumn)}static columnSelectDown(config,model,prevColumnSelectData,isPaged){const linesCount=isPaged?config.pageSize:1;const toViewLineNumber=Math.min(model.getLineCount(),prevColumnSelectData.toViewLineNumber+linesCount);return this.columnSelect(config,model,prevColumnSelectData.fromViewLineNumber,prevColumnSelectData.fromViewVisualColumn,toViewLineNumber,prevColumnSelectData.toViewVisualColumn)}}}});var ReplaceCommand,ReplaceCommandThatSelectsText,ReplaceCommandWithoutChangingPosition,ReplaceCommandWithOffsetCursorState,ReplaceCommandThatPreservesSelection;var init_replaceCommand=__esm({"node_modules/monaco-editor/esm/vs/editor/common/commands/replaceCommand.js"(){init_selection();ReplaceCommand=class{constructor(range2,text2,insertsAutoWhitespace=false){this._range=range2;this._text=text2;this.insertsAutoWhitespace=insertsAutoWhitespace}getEditOperations(model,builder){builder.addTrackedEditOperation(this._range,this._text)}computeCursorState(model,helper){const inverseEditOperations=helper.getInverseEditOperations();const srcRange=inverseEditOperations[0].range;return Selection.fromPositions(srcRange.getEndPosition())}};ReplaceCommandThatSelectsText=class{constructor(range2,text2){this._range=range2;this._text=text2}getEditOperations(model,builder){builder.addTrackedEditOperation(this._range,this._text)}computeCursorState(model,helper){const inverseEditOperations=helper.getInverseEditOperations();const srcRange=inverseEditOperations[0].range;return Selection.fromRange(srcRange,0)}};ReplaceCommandWithoutChangingPosition=class{constructor(range2,text2,insertsAutoWhitespace=false){this._range=range2;this._text=text2;this.insertsAutoWhitespace=insertsAutoWhitespace}getEditOperations(model,builder){builder.addTrackedEditOperation(this._range,this._text)}computeCursorState(model,helper){const inverseEditOperations=helper.getInverseEditOperations();const srcRange=inverseEditOperations[0].range;return Selection.fromPositions(srcRange.getStartPosition())}};ReplaceCommandWithOffsetCursorState=class{constructor(range2,text2,lineNumberDeltaOffset,columnDeltaOffset,insertsAutoWhitespace=false){this._range=range2;this._text=text2;this._columnDeltaOffset=columnDeltaOffset;this._lineNumberDeltaOffset=lineNumberDeltaOffset;this.insertsAutoWhitespace=insertsAutoWhitespace}getEditOperations(model,builder){builder.addTrackedEditOperation(this._range,this._text)}computeCursorState(model,helper){const inverseEditOperations=helper.getInverseEditOperations();const srcRange=inverseEditOperations[0].range;return Selection.fromPositions(srcRange.getEndPosition().delta(this._lineNumberDeltaOffset,this._columnDeltaOffset))}};ReplaceCommandThatPreservesSelection=class{constructor(editRange,text2,initialSelection,forceMoveMarkers=false){this._range=editRange;this._text=text2;this._initialSelection=initialSelection;this._forceMoveMarkers=forceMoveMarkers;this._selectionId=null}getEditOperations(model,builder){builder.addTrackedEditOperation(this._range,this._text,this._forceMoveMarkers);this._selectionId=builder.trackSelection(this._initialSelection)}computeCursorState(model,helper){return helper.getTrackedSelection(this._selectionId)}}}});var CursorPosition,MoveOperations;var init_cursorMoveOperations=__esm({"node_modules/monaco-editor/esm/vs/editor/common/cursor/cursorMoveOperations.js"(){init_strings();init_cursorColumns();init_position();init_range();init_cursorAtomicMoveOperations();init_cursorCommon();CursorPosition=class{constructor(lineNumber,column,leftoverVisibleColumns){this._cursorPositionBrand=void 0;this.lineNumber=lineNumber;this.column=column;this.leftoverVisibleColumns=leftoverVisibleColumns}};MoveOperations=class{static leftPosition(model,position){if(position.column>model.getLineMinColumn(position.lineNumber)){return position.delta(void 0,-prevCharLength(model.getLineContent(position.lineNumber),position.column-1))}else if(position.lineNumber>1){const newLineNumber=position.lineNumber-1;return new Position(newLineNumber,model.getLineMaxColumn(newLineNumber))}else{return position}}static leftPositionAtomicSoftTabs(model,position,tabSize){if(position.column<=model.getLineIndentColumn(position.lineNumber)){const minColumn=model.getLineMinColumn(position.lineNumber);const lineContent=model.getLineContent(position.lineNumber);const newPosition=AtomicTabMoveOperations.atomicPosition(lineContent,position.column-1,tabSize,0);if(newPosition!==-1&&newPosition+1>=minColumn){return new Position(position.lineNumber,newPosition+1)}}return this.leftPosition(model,position)}static left(config,model,position){const pos=config.stickyTabStops?MoveOperations.leftPositionAtomicSoftTabs(model,position,config.tabSize):MoveOperations.leftPosition(model,position);return new CursorPosition(pos.lineNumber,pos.column,0)}static moveLeft(config,model,cursor,inSelectionMode,noOfColumns){let lineNumber,column;if(cursor.hasSelection()&&!inSelectionMode){lineNumber=cursor.selection.startLineNumber;column=cursor.selection.startColumn}else{const pos=cursor.position.delta(void 0,-(noOfColumns-1));const normalizedPos=model.normalizePosition(MoveOperations.clipPositionColumn(pos,model),0);const p=MoveOperations.left(config,model,normalizedPos);lineNumber=p.lineNumber;column=p.column}return cursor.move(inSelectionMode,lineNumber,column,0)}static clipPositionColumn(position,model){return new Position(position.lineNumber,MoveOperations.clipRange(position.column,model.getLineMinColumn(position.lineNumber),model.getLineMaxColumn(position.lineNumber)))}static clipRange(value,min,max){if(value<min){return min}if(value>max){return max}return value}static rightPosition(model,lineNumber,column){if(column<model.getLineMaxColumn(lineNumber)){column=column+nextCharLength(model.getLineContent(lineNumber),column-1)}else if(lineNumber<model.getLineCount()){lineNumber=lineNumber+1;column=model.getLineMinColumn(lineNumber)}return new Position(lineNumber,column)}static rightPositionAtomicSoftTabs(model,lineNumber,column,tabSize,indentSize){if(column<model.getLineIndentColumn(lineNumber)){const lineContent=model.getLineContent(lineNumber);const newPosition=AtomicTabMoveOperations.atomicPosition(lineContent,column-1,tabSize,1);if(newPosition!==-1){return new Position(lineNumber,newPosition+1)}}return this.rightPosition(model,lineNumber,column)}static right(config,model,position){const pos=config.stickyTabStops?MoveOperations.rightPositionAtomicSoftTabs(model,position.lineNumber,position.column,config.tabSize,config.indentSize):MoveOperations.rightPosition(model,position.lineNumber,position.column);return new CursorPosition(pos.lineNumber,pos.column,0)}static moveRight(config,model,cursor,inSelectionMode,noOfColumns){let lineNumber,column;if(cursor.hasSelection()&&!inSelectionMode){lineNumber=cursor.selection.endLineNumber;column=cursor.selection.endColumn}else{const pos=cursor.position.delta(void 0,noOfColumns-1);const normalizedPos=model.normalizePosition(MoveOperations.clipPositionColumn(pos,model),1);const r=MoveOperations.right(config,model,normalizedPos);lineNumber=r.lineNumber;column=r.column}return cursor.move(inSelectionMode,lineNumber,column,0)}static vertical(config,model,lineNumber,column,leftoverVisibleColumns,newLineNumber,allowMoveOnEdgeLine,normalizationAffinity){const currentVisibleColumn=CursorColumns.visibleColumnFromColumn(model.getLineContent(lineNumber),column,config.tabSize)+leftoverVisibleColumns;const lineCount=model.getLineCount();const wasOnFirstPosition=lineNumber===1&&column===1;const wasOnLastPosition=lineNumber===lineCount&&column===model.getLineMaxColumn(lineNumber);const wasAtEdgePosition=newLineNumber<lineNumber?wasOnFirstPosition:wasOnLastPosition;lineNumber=newLineNumber;if(lineNumber<1){lineNumber=1;if(allowMoveOnEdgeLine){column=model.getLineMinColumn(lineNumber)}else{column=Math.min(model.getLineMaxColumn(lineNumber),column)}}else if(lineNumber>lineCount){lineNumber=lineCount;if(allowMoveOnEdgeLine){column=model.getLineMaxColumn(lineNumber)}else{column=Math.min(model.getLineMaxColumn(lineNumber),column)}}else{column=config.columnFromVisibleColumn(model,lineNumber,currentVisibleColumn)}if(wasAtEdgePosition){leftoverVisibleColumns=0}else{leftoverVisibleColumns=currentVisibleColumn-CursorColumns.visibleColumnFromColumn(model.getLineContent(lineNumber),column,config.tabSize)}if(normalizationAffinity!==void 0){const position=new Position(lineNumber,column);const newPosition=model.normalizePosition(position,normalizationAffinity);leftoverVisibleColumns=leftoverVisibleColumns+(column-newPosition.column);lineNumber=newPosition.lineNumber;column=newPosition.column}return new CursorPosition(lineNumber,column,leftoverVisibleColumns)}static down(config,model,lineNumber,column,leftoverVisibleColumns,count,allowMoveOnLastLine){return this.vertical(config,model,lineNumber,column,leftoverVisibleColumns,lineNumber+count,allowMoveOnLastLine,4)}static moveDown(config,model,cursor,inSelectionMode,linesCount){let lineNumber,column;if(cursor.hasSelection()&&!inSelectionMode){lineNumber=cursor.selection.endLineNumber;column=cursor.selection.endColumn}else{lineNumber=cursor.position.lineNumber;column=cursor.position.column}let i=0;let r;do{r=MoveOperations.down(config,model,lineNumber+i,column,cursor.leftoverVisibleColumns,linesCount,true);const np=model.normalizePosition(new Position(r.lineNumber,r.column),2);if(np.lineNumber>lineNumber){break}}while(i++<10&&lineNumber+i<model.getLineCount());return cursor.move(inSelectionMode,r.lineNumber,r.column,r.leftoverVisibleColumns)}static translateDown(config,model,cursor){const selection=cursor.selection;const selectionStart=MoveOperations.down(config,model,selection.selectionStartLineNumber,selection.selectionStartColumn,cursor.selectionStartLeftoverVisibleColumns,1,false);const position=MoveOperations.down(config,model,selection.positionLineNumber,selection.positionColumn,cursor.leftoverVisibleColumns,1,false);return new SingleCursorState(new Range(selectionStart.lineNumber,selectionStart.column,selectionStart.lineNumber,selectionStart.column),0,selectionStart.leftoverVisibleColumns,new Position(position.lineNumber,position.column),position.leftoverVisibleColumns)}static up(config,model,lineNumber,column,leftoverVisibleColumns,count,allowMoveOnFirstLine){return this.vertical(config,model,lineNumber,column,leftoverVisibleColumns,lineNumber-count,allowMoveOnFirstLine,3)}static moveUp(config,model,cursor,inSelectionMode,linesCount){let lineNumber,column;if(cursor.hasSelection()&&!inSelectionMode){lineNumber=cursor.selection.startLineNumber;column=cursor.selection.startColumn}else{lineNumber=cursor.position.lineNumber;column=cursor.position.column}const r=MoveOperations.up(config,model,lineNumber,column,cursor.leftoverVisibleColumns,linesCount,true);return cursor.move(inSelectionMode,r.lineNumber,r.column,r.leftoverVisibleColumns)}static translateUp(config,model,cursor){const selection=cursor.selection;const selectionStart=MoveOperations.up(config,model,selection.selectionStartLineNumber,selection.selectionStartColumn,cursor.selectionStartLeftoverVisibleColumns,1,false);const position=MoveOperations.up(config,model,selection.positionLineNumber,selection.positionColumn,cursor.leftoverVisibleColumns,1,false);return new SingleCursorState(new Range(selectionStart.lineNumber,selectionStart.column,selectionStart.lineNumber,selectionStart.column),0,selectionStart.leftoverVisibleColumns,new Position(position.lineNumber,position.column),position.leftoverVisibleColumns)}static _isBlankLine(model,lineNumber){if(model.getLineFirstNonWhitespaceColumn(lineNumber)===0){return true}return false}static moveToPrevBlankLine(config,model,cursor,inSelectionMode){let lineNumber=cursor.position.lineNumber;while(lineNumber>1&&this._isBlankLine(model,lineNumber)){lineNumber--}while(lineNumber>1&&!this._isBlankLine(model,lineNumber)){lineNumber--}return cursor.move(inSelectionMode,lineNumber,model.getLineMinColumn(lineNumber),0)}static moveToNextBlankLine(config,model,cursor,inSelectionMode){const lineCount=model.getLineCount();let lineNumber=cursor.position.lineNumber;while(lineNumber<lineCount&&this._isBlankLine(model,lineNumber)){lineNumber++}while(lineNumber<lineCount&&!this._isBlankLine(model,lineNumber)){lineNumber++}return cursor.move(inSelectionMode,lineNumber,model.getLineMinColumn(lineNumber),0)}static moveToBeginningOfLine(config,model,cursor,inSelectionMode){const lineNumber=cursor.position.lineNumber;const minColumn=model.getLineMinColumn(lineNumber);const firstNonBlankColumn=model.getLineFirstNonWhitespaceColumn(lineNumber)||minColumn;let column;const relevantColumnNumber=cursor.position.column;if(relevantColumnNumber===firstNonBlankColumn){column=minColumn}else{column=firstNonBlankColumn}return cursor.move(inSelectionMode,lineNumber,column,0)}static moveToEndOfLine(config,model,cursor,inSelectionMode,sticky){const lineNumber=cursor.position.lineNumber;const maxColumn=model.getLineMaxColumn(lineNumber);return cursor.move(inSelectionMode,lineNumber,maxColumn,sticky?1073741824-maxColumn:0)}static moveToBeginningOfBuffer(config,model,cursor,inSelectionMode){return cursor.move(inSelectionMode,1,1,0)}static moveToEndOfBuffer(config,model,cursor,inSelectionMode){const lastLineNumber=model.getLineCount();const lastColumn=model.getLineMaxColumn(lastLineNumber);return cursor.move(inSelectionMode,lastLineNumber,lastColumn,0)}}}});var DeleteOperations;var init_cursorDeleteOperations=__esm({"node_modules/monaco-editor/esm/vs/editor/common/cursor/cursorDeleteOperations.js"(){init_strings();init_replaceCommand();init_cursorCommon();init_cursorColumns();init_cursorMoveOperations();init_range();init_position();DeleteOperations=class{static deleteRight(prevEditOperationType,config,model,selections){const commands=[];let shouldPushStackElementBefore=prevEditOperationType!==3;for(let i=0,len=selections.length;i<len;i++){const selection=selections[i];let deleteSelection=selection;if(deleteSelection.isEmpty()){const position=selection.getPosition();const rightOfPosition=MoveOperations.right(config,model,position);deleteSelection=new Range(rightOfPosition.lineNumber,rightOfPosition.column,position.lineNumber,position.column)}if(deleteSelection.isEmpty()){commands[i]=null;continue}if(deleteSelection.startLineNumber!==deleteSelection.endLineNumber){shouldPushStackElementBefore=true}commands[i]=new ReplaceCommand(deleteSelection,"")}return[shouldPushStackElementBefore,commands]}static isAutoClosingPairDelete(autoClosingDelete,autoClosingBrackets,autoClosingQuotes,autoClosingPairsOpen,model,selections,autoClosedCharacters){if(autoClosingBrackets==="never"&&autoClosingQuotes==="never"){return false}if(autoClosingDelete==="never"){return false}for(let i=0,len=selections.length;i<len;i++){const selection=selections[i];const position=selection.getPosition();if(!selection.isEmpty()){return false}const lineText=model.getLineContent(position.lineNumber);if(position.column<2||position.column>=lineText.length+1){return false}const character=lineText.charAt(position.column-2);const autoClosingPairCandidates=autoClosingPairsOpen.get(character);if(!autoClosingPairCandidates){return false}if(isQuote(character)){if(autoClosingQuotes==="never"){return false}}else{if(autoClosingBrackets==="never"){return false}}const afterCharacter=lineText.charAt(position.column-1);let foundAutoClosingPair=false;for(const autoClosingPairCandidate of autoClosingPairCandidates){if(autoClosingPairCandidate.open===character&&autoClosingPairCandidate.close===afterCharacter){foundAutoClosingPair=true}}if(!foundAutoClosingPair){return false}if(autoClosingDelete==="auto"){let found=false;for(let j=0,lenJ=autoClosedCharacters.length;j<lenJ;j++){const autoClosedCharacter=autoClosedCharacters[j];if(position.lineNumber===autoClosedCharacter.startLineNumber&&position.column===autoClosedCharacter.startColumn){found=true;break}}if(!found){return false}}}return true}static _runAutoClosingPairDelete(config,model,selections){const commands=[];for(let i=0,len=selections.length;i<len;i++){const position=selections[i].getPosition();const deleteSelection=new Range(position.lineNumber,position.column-1,position.lineNumber,position.column+1);commands[i]=new ReplaceCommand(deleteSelection,"")}return[true,commands]}static deleteLeft(prevEditOperationType,config,model,selections,autoClosedCharacters){if(this.isAutoClosingPairDelete(config.autoClosingDelete,config.autoClosingBrackets,config.autoClosingQuotes,config.autoClosingPairs.autoClosingPairsOpenByEnd,model,selections,autoClosedCharacters)){return this._runAutoClosingPairDelete(config,model,selections)}const commands=[];let shouldPushStackElementBefore=prevEditOperationType!==2;for(let i=0,len=selections.length;i<len;i++){const deleteRange=DeleteOperations.getDeleteRange(selections[i],model,config);if(deleteRange.isEmpty()){commands[i]=null;continue}if(deleteRange.startLineNumber!==deleteRange.endLineNumber){shouldPushStackElementBefore=true}commands[i]=new ReplaceCommand(deleteRange,"")}return[shouldPushStackElementBefore,commands]}static getDeleteRange(selection,model,config){if(!selection.isEmpty()){return selection}const position=selection.getPosition();if(config.useTabStops&&position.column>1){const lineContent=model.getLineContent(position.lineNumber);const firstNonWhitespaceIndex2=firstNonWhitespaceIndex(lineContent);const lastIndentationColumn=firstNonWhitespaceIndex2===-1?lineContent.length+1:firstNonWhitespaceIndex2+1;if(position.column<=lastIndentationColumn){const fromVisibleColumn=config.visibleColumnFromColumn(model,position);const toVisibleColumn=CursorColumns.prevIndentTabStop(fromVisibleColumn,config.indentSize);const toColumn=config.columnFromVisibleColumn(model,position.lineNumber,toVisibleColumn);return new Range(position.lineNumber,toColumn,position.lineNumber,position.column)}}return Range.fromPositions(DeleteOperations.getPositionAfterDeleteLeft(position,model),position)}static getPositionAfterDeleteLeft(position,model){if(position.column>1){const idx=getLeftDeleteOffset(position.column-1,model.getLineContent(position.lineNumber));return position.with(void 0,idx+1)}else if(position.lineNumber>1){const newLine=position.lineNumber-1;return new Position(newLine,model.getLineMaxColumn(newLine))}else{return position}}static cut(config,model,selections){const commands=[];let lastCutRange=null;selections.sort(((a,b)=>Position.compare(a.getStartPosition(),b.getEndPosition())));for(let i=0,len=selections.length;i<len;i++){const selection=selections[i];if(selection.isEmpty()){if(config.emptySelectionClipboard){const position=selection.getPosition();let startLineNumber,startColumn,endLineNumber,endColumn;if(position.lineNumber<model.getLineCount()){startLineNumber=position.lineNumber;startColumn=1;endLineNumber=position.lineNumber+1;endColumn=1}else if(position.lineNumber>1&&(lastCutRange===null||lastCutRange===void 0?void 0:lastCutRange.endLineNumber)!==position.lineNumber){startLineNumber=position.lineNumber-1;startColumn=model.getLineMaxColumn(position.lineNumber-1);endLineNumber=position.lineNumber;endColumn=model.getLineMaxColumn(position.lineNumber)}else{startLineNumber=position.lineNumber;startColumn=1;endLineNumber=position.lineNumber;endColumn=model.getLineMaxColumn(position.lineNumber)}const deleteSelection=new Range(startLineNumber,startColumn,endLineNumber,endColumn);lastCutRange=deleteSelection;if(!deleteSelection.isEmpty()){commands[i]=new ReplaceCommand(deleteSelection,"")}else{commands[i]=null}}else{commands[i]=null}}else{commands[i]=new ReplaceCommand(selection,"")}}return new EditOperationResult(0,commands,{shouldPushStackElementBefore:true,shouldPushStackElementAfter:true})}}}});function enforceDefined(arr){return arr.filter((el=>Boolean(el)))}var WordOperations,WordPartOperations;var init_cursorWordOperations=__esm({"node_modules/monaco-editor/esm/vs/editor/common/cursor/cursorWordOperations.js"(){init_strings();init_cursorCommon();init_cursorDeleteOperations();init_wordCharacterClassifier();init_position();init_range();WordOperations=class{static _createWord(lineContent,wordType,nextCharClass,start,end){return{start:start,end:end,wordType:wordType,nextCharClass:nextCharClass}}static _findPreviousWordOnLine(wordSeparators2,model,position){const lineContent=model.getLineContent(position.lineNumber);return this._doFindPreviousWordOnLine(lineContent,wordSeparators2,position)}static _doFindPreviousWordOnLine(lineContent,wordSeparators2,position){let wordType=0;for(let chIndex=position.column-2;chIndex>=0;chIndex--){const chCode=lineContent.charCodeAt(chIndex);const chClass=wordSeparators2.get(chCode);if(chClass===0){if(wordType===2){return this._createWord(lineContent,wordType,chClass,chIndex+1,this._findEndOfWord(lineContent,wordSeparators2,wordType,chIndex+1))}wordType=1}else if(chClass===2){if(wordType===1){return this._createWord(lineContent,wordType,chClass,chIndex+1,this._findEndOfWord(lineContent,wordSeparators2,wordType,chIndex+1))}wordType=2}else if(chClass===1){if(wordType!==0){return this._createWord(lineContent,wordType,chClass,chIndex+1,this._findEndOfWord(lineContent,wordSeparators2,wordType,chIndex+1))}}}if(wordType!==0){return this._createWord(lineContent,wordType,1,0,this._findEndOfWord(lineContent,wordSeparators2,wordType,0))}return null}static _findEndOfWord(lineContent,wordSeparators2,wordType,startIndex){const len=lineContent.length;for(let chIndex=startIndex;chIndex<len;chIndex++){const chCode=lineContent.charCodeAt(chIndex);const chClass=wordSeparators2.get(chCode);if(chClass===1){return chIndex}if(wordType===1&&chClass===2){return chIndex}if(wordType===2&&chClass===0){return chIndex}}return len}static _findNextWordOnLine(wordSeparators2,model,position){const lineContent=model.getLineContent(position.lineNumber);return this._doFindNextWordOnLine(lineContent,wordSeparators2,position)}static _doFindNextWordOnLine(lineContent,wordSeparators2,position){let wordType=0;const len=lineContent.length;for(let chIndex=position.column-1;chIndex<len;chIndex++){const chCode=lineContent.charCodeAt(chIndex);const chClass=wordSeparators2.get(chCode);if(chClass===0){if(wordType===2){return this._createWord(lineContent,wordType,chClass,this._findStartOfWord(lineContent,wordSeparators2,wordType,chIndex-1),chIndex)}wordType=1}else if(chClass===2){if(wordType===1){return this._createWord(lineContent,wordType,chClass,this._findStartOfWord(lineContent,wordSeparators2,wordType,chIndex-1),chIndex)}wordType=2}else if(chClass===1){if(wordType!==0){return this._createWord(lineContent,wordType,chClass,this._findStartOfWord(lineContent,wordSeparators2,wordType,chIndex-1),chIndex)}}}if(wordType!==0){return this._createWord(lineContent,wordType,1,this._findStartOfWord(lineContent,wordSeparators2,wordType,len-1),len)}return null}static _findStartOfWord(lineContent,wordSeparators2,wordType,startIndex){for(let chIndex=startIndex;chIndex>=0;chIndex--){const chCode=lineContent.charCodeAt(chIndex);const chClass=wordSeparators2.get(chCode);if(chClass===1){return chIndex+1}if(wordType===1&&chClass===2){return chIndex+1}if(wordType===2&&chClass===0){return chIndex+1}}return 0}static moveWordLeft(wordSeparators2,model,position,wordNavigationType){let lineNumber=position.lineNumber;let column=position.column;if(column===1){if(lineNumber>1){lineNumber=lineNumber-1;column=model.getLineMaxColumn(lineNumber)}}let prevWordOnLine=WordOperations._findPreviousWordOnLine(wordSeparators2,model,new Position(lineNumber,column));if(wordNavigationType===0){return new Position(lineNumber,prevWordOnLine?prevWordOnLine.start+1:1)}if(wordNavigationType===1){if(prevWordOnLine&&prevWordOnLine.wordType===2&&prevWordOnLine.end-prevWordOnLine.start===1&&prevWordOnLine.nextCharClass===0){prevWordOnLine=WordOperations._findPreviousWordOnLine(wordSeparators2,model,new Position(lineNumber,prevWordOnLine.start+1))}return new Position(lineNumber,prevWordOnLine?prevWordOnLine.start+1:1)}if(wordNavigationType===3){while(prevWordOnLine&&prevWordOnLine.wordType===2){prevWordOnLine=WordOperations._findPreviousWordOnLine(wordSeparators2,model,new Position(lineNumber,prevWordOnLine.start+1))}return new Position(lineNumber,prevWordOnLine?prevWordOnLine.start+1:1)}if(prevWordOnLine&&column<=prevWordOnLine.end+1){prevWordOnLine=WordOperations._findPreviousWordOnLine(wordSeparators2,model,new Position(lineNumber,prevWordOnLine.start+1))}return new Position(lineNumber,prevWordOnLine?prevWordOnLine.end+1:1)}static _moveWordPartLeft(model,position){const lineNumber=position.lineNumber;const maxColumn=model.getLineMaxColumn(lineNumber);if(position.column===1){return lineNumber>1?new Position(lineNumber-1,model.getLineMaxColumn(lineNumber-1)):position}const lineContent=model.getLineContent(lineNumber);for(let column=position.column-1;column>1;column--){const left=lineContent.charCodeAt(column-2);const right=lineContent.charCodeAt(column-1);if(left===95&&right!==95){return new Position(lineNumber,column)}if(left===45&&right!==45){return new Position(lineNumber,column)}if((isLowerAsciiLetter(left)||isAsciiDigit(left))&&isUpperAsciiLetter(right)){return new Position(lineNumber,column)}if(isUpperAsciiLetter(left)&&isUpperAsciiLetter(right)){if(column+1<maxColumn){const rightRight=lineContent.charCodeAt(column);if(isLowerAsciiLetter(rightRight)||isAsciiDigit(rightRight)){return new Position(lineNumber,column)}}}}return new Position(lineNumber,1)}static moveWordRight(wordSeparators2,model,position,wordNavigationType){let lineNumber=position.lineNumber;let column=position.column;let movedDown=false;if(column===model.getLineMaxColumn(lineNumber)){if(lineNumber<model.getLineCount()){movedDown=true;lineNumber=lineNumber+1;column=1}}let nextWordOnLine=WordOperations._findNextWordOnLine(wordSeparators2,model,new Position(lineNumber,column));if(wordNavigationType===2){if(nextWordOnLine&&nextWordOnLine.wordType===2){if(nextWordOnLine.end-nextWordOnLine.start===1&&nextWordOnLine.nextCharClass===0){nextWordOnLine=WordOperations._findNextWordOnLine(wordSeparators2,model,new Position(lineNumber,nextWordOnLine.end+1))}}if(nextWordOnLine){column=nextWordOnLine.end+1}else{column=model.getLineMaxColumn(lineNumber)}}else if(wordNavigationType===3){if(movedDown){column=0}while(nextWordOnLine&&(nextWordOnLine.wordType===2||nextWordOnLine.start+1<=column)){nextWordOnLine=WordOperations._findNextWordOnLine(wordSeparators2,model,new Position(lineNumber,nextWordOnLine.end+1))}if(nextWordOnLine){column=nextWordOnLine.start+1}else{column=model.getLineMaxColumn(lineNumber)}}else{if(nextWordOnLine&&!movedDown&&column>=nextWordOnLine.start+1){nextWordOnLine=WordOperations._findNextWordOnLine(wordSeparators2,model,new Position(lineNumber,nextWordOnLine.end+1))}if(nextWordOnLine){column=nextWordOnLine.start+1}else{column=model.getLineMaxColumn(lineNumber)}}return new Position(lineNumber,column)}static _moveWordPartRight(model,position){const lineNumber=position.lineNumber;const maxColumn=model.getLineMaxColumn(lineNumber);if(position.column===maxColumn){return lineNumber<model.getLineCount()?new Position(lineNumber+1,1):position}const lineContent=model.getLineContent(lineNumber);for(let column=position.column+1;column<maxColumn;column++){const left=lineContent.charCodeAt(column-2);const right=lineContent.charCodeAt(column-1);if(left!==95&&right===95){return new Position(lineNumber,column)}if(left!==45&&right===45){return new Position(lineNumber,column)}if((isLowerAsciiLetter(left)||isAsciiDigit(left))&&isUpperAsciiLetter(right)){return new Position(lineNumber,column)}if(isUpperAsciiLetter(left)&&isUpperAsciiLetter(right)){if(column+1<maxColumn){const rightRight=lineContent.charCodeAt(column);if(isLowerAsciiLetter(rightRight)||isAsciiDigit(rightRight)){return new Position(lineNumber,column)}}}}return new Position(lineNumber,maxColumn)}static _deleteWordLeftWhitespace(model,position){const lineContent=model.getLineContent(position.lineNumber);const startIndex=position.column-2;const lastNonWhitespace=lastNonWhitespaceIndex(lineContent,startIndex);if(lastNonWhitespace+1<startIndex){return new Range(position.lineNumber,lastNonWhitespace+2,position.lineNumber,position.column)}return null}static deleteWordLeft(ctx,wordNavigationType){const wordSeparators2=ctx.wordSeparators;const model=ctx.model;const selection=ctx.selection;const whitespaceHeuristics=ctx.whitespaceHeuristics;if(!selection.isEmpty()){return selection}if(DeleteOperations.isAutoClosingPairDelete(ctx.autoClosingDelete,ctx.autoClosingBrackets,ctx.autoClosingQuotes,ctx.autoClosingPairs.autoClosingPairsOpenByEnd,ctx.model,[ctx.selection],ctx.autoClosedCharacters)){const position2=ctx.selection.getPosition();return new Range(position2.lineNumber,position2.column-1,position2.lineNumber,position2.column+1)}const position=new Position(selection.positionLineNumber,selection.positionColumn);let lineNumber=position.lineNumber;let column=position.column;if(lineNumber===1&&column===1){return null}if(whitespaceHeuristics){const r=this._deleteWordLeftWhitespace(model,position);if(r){return r}}let prevWordOnLine=WordOperations._findPreviousWordOnLine(wordSeparators2,model,position);if(wordNavigationType===0){if(prevWordOnLine){column=prevWordOnLine.start+1}else{if(column>1){column=1}else{lineNumber--;column=model.getLineMaxColumn(lineNumber)}}}else{if(prevWordOnLine&&column<=prevWordOnLine.end+1){prevWordOnLine=WordOperations._findPreviousWordOnLine(wordSeparators2,model,new Position(lineNumber,prevWordOnLine.start+1))}if(prevWordOnLine){column=prevWordOnLine.end+1}else{if(column>1){column=1}else{lineNumber--;column=model.getLineMaxColumn(lineNumber)}}}return new Range(lineNumber,column,position.lineNumber,position.column)}static deleteInsideWord(wordSeparators2,model,selection){if(!selection.isEmpty()){return selection}const position=new Position(selection.positionLineNumber,selection.positionColumn);const r=this._deleteInsideWordWhitespace(model,position);if(r){return r}return this._deleteInsideWordDetermineDeleteRange(wordSeparators2,model,position)}static _charAtIsWhitespace(str,index){const charCode=str.charCodeAt(index);return charCode===32||charCode===9}static _deleteInsideWordWhitespace(model,position){const lineContent=model.getLineContent(position.lineNumber);const lineContentLength=lineContent.length;if(lineContentLength===0){return null}let leftIndex=Math.max(position.column-2,0);if(!this._charAtIsWhitespace(lineContent,leftIndex)){return null}let rightIndex=Math.min(position.column-1,lineContentLength-1);if(!this._charAtIsWhitespace(lineContent,rightIndex)){return null}while(leftIndex>0&&this._charAtIsWhitespace(lineContent,leftIndex-1)){leftIndex--}while(rightIndex+1<lineContentLength&&this._charAtIsWhitespace(lineContent,rightIndex+1)){rightIndex++}return new Range(position.lineNumber,leftIndex+1,position.lineNumber,rightIndex+2)}static _deleteInsideWordDetermineDeleteRange(wordSeparators2,model,position){const lineContent=model.getLineContent(position.lineNumber);const lineLength=lineContent.length;if(lineLength===0){if(position.lineNumber>1){return new Range(position.lineNumber-1,model.getLineMaxColumn(position.lineNumber-1),position.lineNumber,1)}else{if(position.lineNumber<model.getLineCount()){return new Range(position.lineNumber,1,position.lineNumber+1,1)}else{return new Range(position.lineNumber,1,position.lineNumber,1)}}}const touchesWord=word=>word.start+1<=position.column&&position.column<=word.end+1;const createRangeWithPosition=(startColumn,endColumn)=>{startColumn=Math.min(startColumn,position.column);endColumn=Math.max(endColumn,position.column);return new Range(position.lineNumber,startColumn,position.lineNumber,endColumn)};const deleteWordAndAdjacentWhitespace=word=>{let startColumn=word.start+1;let endColumn=word.end+1;let expandedToTheRight=false;while(endColumn-1<lineLength&&this._charAtIsWhitespace(lineContent,endColumn-1)){expandedToTheRight=true;endColumn++}if(!expandedToTheRight){while(startColumn>1&&this._charAtIsWhitespace(lineContent,startColumn-2)){startColumn--}}return createRangeWithPosition(startColumn,endColumn)};const prevWordOnLine=WordOperations._findPreviousWordOnLine(wordSeparators2,model,position);if(prevWordOnLine&&touchesWord(prevWordOnLine)){return deleteWordAndAdjacentWhitespace(prevWordOnLine)}const nextWordOnLine=WordOperations._findNextWordOnLine(wordSeparators2,model,position);if(nextWordOnLine&&touchesWord(nextWordOnLine)){return deleteWordAndAdjacentWhitespace(nextWordOnLine)}if(prevWordOnLine&&nextWordOnLine){return createRangeWithPosition(prevWordOnLine.end+1,nextWordOnLine.start+1)}if(prevWordOnLine){return createRangeWithPosition(prevWordOnLine.start+1,prevWordOnLine.end+1)}if(nextWordOnLine){return createRangeWithPosition(nextWordOnLine.start+1,nextWordOnLine.end+1)}return createRangeWithPosition(1,lineLength+1)}static _deleteWordPartLeft(model,selection){if(!selection.isEmpty()){return selection}const pos=selection.getPosition();const toPosition=WordOperations._moveWordPartLeft(model,pos);return new Range(pos.lineNumber,pos.column,toPosition.lineNumber,toPosition.column)}static _findFirstNonWhitespaceChar(str,startIndex){const len=str.length;for(let chIndex=startIndex;chIndex<len;chIndex++){const ch=str.charAt(chIndex);if(ch!==" "&&ch!=="\t"){return chIndex}}return len}static _deleteWordRightWhitespace(model,position){const lineContent=model.getLineContent(position.lineNumber);const startIndex=position.column-1;const firstNonWhitespace=this._findFirstNonWhitespaceChar(lineContent,startIndex);if(startIndex+1<firstNonWhitespace){return new Range(position.lineNumber,position.column,position.lineNumber,firstNonWhitespace+1)}return null}static deleteWordRight(ctx,wordNavigationType){const wordSeparators2=ctx.wordSeparators;const model=ctx.model;const selection=ctx.selection;const whitespaceHeuristics=ctx.whitespaceHeuristics;if(!selection.isEmpty()){return selection}const position=new Position(selection.positionLineNumber,selection.positionColumn);let lineNumber=position.lineNumber;let column=position.column;const lineCount=model.getLineCount();const maxColumn=model.getLineMaxColumn(lineNumber);if(lineNumber===lineCount&&column===maxColumn){return null}if(whitespaceHeuristics){const r=this._deleteWordRightWhitespace(model,position);if(r){return r}}let nextWordOnLine=WordOperations._findNextWordOnLine(wordSeparators2,model,position);if(wordNavigationType===2){if(nextWordOnLine){column=nextWordOnLine.end+1}else{if(column<maxColumn||lineNumber===lineCount){column=maxColumn}else{lineNumber++;nextWordOnLine=WordOperations._findNextWordOnLine(wordSeparators2,model,new Position(lineNumber,1));if(nextWordOnLine){column=nextWordOnLine.start+1}else{column=model.getLineMaxColumn(lineNumber)}}}}else{if(nextWordOnLine&&column>=nextWordOnLine.start+1){nextWordOnLine=WordOperations._findNextWordOnLine(wordSeparators2,model,new Position(lineNumber,nextWordOnLine.end+1))}if(nextWordOnLine){column=nextWordOnLine.start+1}else{if(column<maxColumn||lineNumber===lineCount){column=maxColumn}else{lineNumber++;nextWordOnLine=WordOperations._findNextWordOnLine(wordSeparators2,model,new Position(lineNumber,1));if(nextWordOnLine){column=nextWordOnLine.start+1}else{column=model.getLineMaxColumn(lineNumber)}}}}return new Range(lineNumber,column,position.lineNumber,position.column)}static _deleteWordPartRight(model,selection){if(!selection.isEmpty()){return selection}const pos=selection.getPosition();const toPosition=WordOperations._moveWordPartRight(model,pos);return new Range(pos.lineNumber,pos.column,toPosition.lineNumber,toPosition.column)}static _createWordAtPosition(model,lineNumber,word){const range2=new Range(lineNumber,word.start+1,lineNumber,word.end+1);return{word:model.getValueInRange(range2),startColumn:range2.startColumn,endColumn:range2.endColumn}}static getWordAtPosition(model,_wordSeparators,position){const wordSeparators2=getMapForWordSeparators(_wordSeparators);const prevWord=WordOperations._findPreviousWordOnLine(wordSeparators2,model,position);if(prevWord&&prevWord.wordType===1&&prevWord.start<=position.column-1&&position.column-1<=prevWord.end){return WordOperations._createWordAtPosition(model,position.lineNumber,prevWord)}const nextWord2=WordOperations._findNextWordOnLine(wordSeparators2,model,position);if(nextWord2&&nextWord2.wordType===1&&nextWord2.start<=position.column-1&&position.column-1<=nextWord2.end){return WordOperations._createWordAtPosition(model,position.lineNumber,nextWord2)}return null}static word(config,model,cursor,inSelectionMode,position){const wordSeparators2=getMapForWordSeparators(config.wordSeparators);const prevWord=WordOperations._findPreviousWordOnLine(wordSeparators2,model,position);const nextWord2=WordOperations._findNextWordOnLine(wordSeparators2,model,position);if(!inSelectionMode){let startColumn2;let endColumn2;if(prevWord&&prevWord.wordType===1&&prevWord.start<=position.column-1&&position.column-1<=prevWord.end){startColumn2=prevWord.start+1;endColumn2=prevWord.end+1}else if(nextWord2&&nextWord2.wordType===1&&nextWord2.start<=position.column-1&&position.column-1<=nextWord2.end){startColumn2=nextWord2.start+1;endColumn2=nextWord2.end+1}else{if(prevWord){startColumn2=prevWord.end+1}else{startColumn2=1}if(nextWord2){endColumn2=nextWord2.start+1}else{endColumn2=model.getLineMaxColumn(position.lineNumber)}}return new SingleCursorState(new Range(position.lineNumber,startColumn2,position.lineNumber,endColumn2),1,0,new Position(position.lineNumber,endColumn2),0)}let startColumn;let endColumn;if(prevWord&&prevWord.wordType===1&&prevWord.start<position.column-1&&position.column-1<prevWord.end){startColumn=prevWord.start+1;endColumn=prevWord.end+1}else if(nextWord2&&nextWord2.wordType===1&&nextWord2.start<position.column-1&&position.column-1<nextWord2.end){startColumn=nextWord2.start+1;endColumn=nextWord2.end+1}else{startColumn=position.column;endColumn=position.column}const lineNumber=position.lineNumber;let column;if(cursor.selectionStart.containsPosition(position)){column=cursor.selectionStart.endColumn}else if(position.isBeforeOrEqual(cursor.selectionStart.getStartPosition())){column=startColumn;const possiblePosition=new Position(lineNumber,column);if(cursor.selectionStart.containsPosition(possiblePosition)){column=cursor.selectionStart.endColumn}}else{column=endColumn;const possiblePosition=new Position(lineNumber,column);if(cursor.selectionStart.containsPosition(possiblePosition)){column=cursor.selectionStart.startColumn}}return cursor.move(true,lineNumber,column,0)}};WordPartOperations=class extends WordOperations{static deleteWordPartLeft(ctx){const candidates=enforceDefined([WordOperations.deleteWordLeft(ctx,0),WordOperations.deleteWordLeft(ctx,2),WordOperations._deleteWordPartLeft(ctx.model,ctx.selection)]);candidates.sort(Range.compareRangesUsingEnds);return candidates[2]}static deleteWordPartRight(ctx){const candidates=enforceDefined([WordOperations.deleteWordRight(ctx,0),WordOperations.deleteWordRight(ctx,2),WordOperations._deleteWordPartRight(ctx.model,ctx.selection)]);candidates.sort(Range.compareRangesUsingStarts);return candidates[0]}static moveWordPartLeft(wordSeparators2,model,position){const candidates=enforceDefined([WordOperations.moveWordLeft(wordSeparators2,model,position,0),WordOperations.moveWordLeft(wordSeparators2,model,position,2),WordOperations._moveWordPartLeft(model,position)]);candidates.sort(Position.compare);return candidates[2]}static moveWordPartRight(wordSeparators2,model,position){const candidates=enforceDefined([WordOperations.moveWordRight(wordSeparators2,model,position,0),WordOperations.moveWordRight(wordSeparators2,model,position,2),WordOperations._moveWordPartRight(model,position)]);candidates.sort(Position.compare);return candidates[0]}}}});var CursorMoveCommands,CursorMove;var init_cursorMoveCommands=__esm({"node_modules/monaco-editor/esm/vs/editor/common/cursor/cursorMoveCommands.js"(){init_types();init_cursorCommon();init_cursorMoveOperations();init_cursorWordOperations();init_position();init_range();CursorMoveCommands=class{static addCursorDown(viewModel,cursors,useLogicalLine){const result=[];let resultLen=0;for(let i=0,len=cursors.length;i<len;i++){const cursor=cursors[i];result[resultLen++]=new CursorState(cursor.modelState,cursor.viewState);if(useLogicalLine){result[resultLen++]=CursorState.fromModelState(MoveOperations.translateDown(viewModel.cursorConfig,viewModel.model,cursor.modelState))}else{result[resultLen++]=CursorState.fromViewState(MoveOperations.translateDown(viewModel.cursorConfig,viewModel,cursor.viewState))}}return result}static addCursorUp(viewModel,cursors,useLogicalLine){const result=[];let resultLen=0;for(let i=0,len=cursors.length;i<len;i++){const cursor=cursors[i];result[resultLen++]=new CursorState(cursor.modelState,cursor.viewState);if(useLogicalLine){result[resultLen++]=CursorState.fromModelState(MoveOperations.translateUp(viewModel.cursorConfig,viewModel.model,cursor.modelState))}else{result[resultLen++]=CursorState.fromViewState(MoveOperations.translateUp(viewModel.cursorConfig,viewModel,cursor.viewState))}}return result}static moveToBeginningOfLine(viewModel,cursors,inSelectionMode){const result=[];for(let i=0,len=cursors.length;i<len;i++){const cursor=cursors[i];result[i]=this._moveToLineStart(viewModel,cursor,inSelectionMode)}return result}static _moveToLineStart(viewModel,cursor,inSelectionMode){const currentViewStateColumn=cursor.viewState.position.column;const currentModelStateColumn=cursor.modelState.position.column;const isFirstLineOfWrappedLine=currentViewStateColumn===currentModelStateColumn;const currentViewStatelineNumber=cursor.viewState.position.lineNumber;const firstNonBlankColumn=viewModel.getLineFirstNonWhitespaceColumn(currentViewStatelineNumber);const isBeginningOfViewLine=currentViewStateColumn===firstNonBlankColumn;if(!isFirstLineOfWrappedLine&&!isBeginningOfViewLine){return this._moveToLineStartByView(viewModel,cursor,inSelectionMode)}else{return this._moveToLineStartByModel(viewModel,cursor,inSelectionMode)}}static _moveToLineStartByView(viewModel,cursor,inSelectionMode){return CursorState.fromViewState(MoveOperations.moveToBeginningOfLine(viewModel.cursorConfig,viewModel,cursor.viewState,inSelectionMode))}static _moveToLineStartByModel(viewModel,cursor,inSelectionMode){return CursorState.fromModelState(MoveOperations.moveToBeginningOfLine(viewModel.cursorConfig,viewModel.model,cursor.modelState,inSelectionMode))}static moveToEndOfLine(viewModel,cursors,inSelectionMode,sticky){const result=[];for(let i=0,len=cursors.length;i<len;i++){const cursor=cursors[i];result[i]=this._moveToLineEnd(viewModel,cursor,inSelectionMode,sticky)}return result}static _moveToLineEnd(viewModel,cursor,inSelectionMode,sticky){const viewStatePosition=cursor.viewState.position;const viewModelMaxColumn=viewModel.getLineMaxColumn(viewStatePosition.lineNumber);const isEndOfViewLine=viewStatePosition.column===viewModelMaxColumn;const modelStatePosition=cursor.modelState.position;const modelMaxColumn=viewModel.model.getLineMaxColumn(modelStatePosition.lineNumber);const isEndLineOfWrappedLine=viewModelMaxColumn-viewStatePosition.column===modelMaxColumn-modelStatePosition.column;if(isEndOfViewLine||isEndLineOfWrappedLine){return this._moveToLineEndByModel(viewModel,cursor,inSelectionMode,sticky)}else{return this._moveToLineEndByView(viewModel,cursor,inSelectionMode,sticky)}}static _moveToLineEndByView(viewModel,cursor,inSelectionMode,sticky){return CursorState.fromViewState(MoveOperations.moveToEndOfLine(viewModel.cursorConfig,viewModel,cursor.viewState,inSelectionMode,sticky))}static _moveToLineEndByModel(viewModel,cursor,inSelectionMode,sticky){return CursorState.fromModelState(MoveOperations.moveToEndOfLine(viewModel.cursorConfig,viewModel.model,cursor.modelState,inSelectionMode,sticky))}static expandLineSelection(viewModel,cursors){const result=[];for(let i=0,len=cursors.length;i<len;i++){const cursor=cursors[i];const startLineNumber=cursor.modelState.selection.startLineNumber;const lineCount=viewModel.model.getLineCount();let endLineNumber=cursor.modelState.selection.endLineNumber;let endColumn;if(endLineNumber===lineCount){endColumn=viewModel.model.getLineMaxColumn(lineCount)}else{endLineNumber++;endColumn=1}result[i]=CursorState.fromModelState(new SingleCursorState(new Range(startLineNumber,1,startLineNumber,1),0,0,new Position(endLineNumber,endColumn),0))}return result}static moveToBeginningOfBuffer(viewModel,cursors,inSelectionMode){const result=[];for(let i=0,len=cursors.length;i<len;i++){const cursor=cursors[i];result[i]=CursorState.fromModelState(MoveOperations.moveToBeginningOfBuffer(viewModel.cursorConfig,viewModel.model,cursor.modelState,inSelectionMode))}return result}static moveToEndOfBuffer(viewModel,cursors,inSelectionMode){const result=[];for(let i=0,len=cursors.length;i<len;i++){const cursor=cursors[i];result[i]=CursorState.fromModelState(MoveOperations.moveToEndOfBuffer(viewModel.cursorConfig,viewModel.model,cursor.modelState,inSelectionMode))}return result}static selectAll(viewModel,cursor){const lineCount=viewModel.model.getLineCount();const maxColumn=viewModel.model.getLineMaxColumn(lineCount);return CursorState.fromModelState(new SingleCursorState(new Range(1,1,1,1),0,0,new Position(lineCount,maxColumn),0))}static line(viewModel,cursor,inSelectionMode,_position,_viewPosition){const position=viewModel.model.validatePosition(_position);const viewPosition=_viewPosition?viewModel.coordinatesConverter.validateViewPosition(new Position(_viewPosition.lineNumber,_viewPosition.column),position):viewModel.coordinatesConverter.convertModelPositionToViewPosition(position);if(!inSelectionMode){const lineCount=viewModel.model.getLineCount();let selectToLineNumber=position.lineNumber+1;let selectToColumn=1;if(selectToLineNumber>lineCount){selectToLineNumber=lineCount;selectToColumn=viewModel.model.getLineMaxColumn(selectToLineNumber)}return CursorState.fromModelState(new SingleCursorState(new Range(position.lineNumber,1,selectToLineNumber,selectToColumn),2,0,new Position(selectToLineNumber,selectToColumn),0))}const enteringLineNumber=cursor.modelState.selectionStart.getStartPosition().lineNumber;if(position.lineNumber<enteringLineNumber){return CursorState.fromViewState(cursor.viewState.move(true,viewPosition.lineNumber,1,0))}else if(position.lineNumber>enteringLineNumber){const lineCount=viewModel.getLineCount();let selectToViewLineNumber=viewPosition.lineNumber+1;let selectToViewColumn=1;if(selectToViewLineNumber>lineCount){selectToViewLineNumber=lineCount;selectToViewColumn=viewModel.getLineMaxColumn(selectToViewLineNumber)}return CursorState.fromViewState(cursor.viewState.move(true,selectToViewLineNumber,selectToViewColumn,0))}else{const endPositionOfSelectionStart=cursor.modelState.selectionStart.getEndPosition();return CursorState.fromModelState(cursor.modelState.move(true,endPositionOfSelectionStart.lineNumber,endPositionOfSelectionStart.column,0))}}static word(viewModel,cursor,inSelectionMode,_position){const position=viewModel.model.validatePosition(_position);return CursorState.fromModelState(WordOperations.word(viewModel.cursorConfig,viewModel.model,cursor.modelState,inSelectionMode,position))}static cancelSelection(viewModel,cursor){if(!cursor.modelState.hasSelection()){return new CursorState(cursor.modelState,cursor.viewState)}const lineNumber=cursor.viewState.position.lineNumber;const column=cursor.viewState.position.column;return CursorState.fromViewState(new SingleCursorState(new Range(lineNumber,column,lineNumber,column),0,0,new Position(lineNumber,column),0))}static moveTo(viewModel,cursor,inSelectionMode,_position,_viewPosition){if(inSelectionMode){if(cursor.modelState.selectionStartKind===1){return this.word(viewModel,cursor,inSelectionMode,_position)}if(cursor.modelState.selectionStartKind===2){return this.line(viewModel,cursor,inSelectionMode,_position,_viewPosition)}}const position=viewModel.model.validatePosition(_position);const viewPosition=_viewPosition?viewModel.coordinatesConverter.validateViewPosition(new Position(_viewPosition.lineNumber,_viewPosition.column),position):viewModel.coordinatesConverter.convertModelPositionToViewPosition(position);return CursorState.fromViewState(cursor.viewState.move(inSelectionMode,viewPosition.lineNumber,viewPosition.column,0))}static simpleMove(viewModel,cursors,direction,inSelectionMode,value,unit){switch(direction){case 0:{if(unit===4){return this._moveHalfLineLeft(viewModel,cursors,inSelectionMode)}else{return this._moveLeft(viewModel,cursors,inSelectionMode,value)}}case 1:{if(unit===4){return this._moveHalfLineRight(viewModel,cursors,inSelectionMode)}else{return this._moveRight(viewModel,cursors,inSelectionMode,value)}}case 2:{if(unit===2){return this._moveUpByViewLines(viewModel,cursors,inSelectionMode,value)}else{return this._moveUpByModelLines(viewModel,cursors,inSelectionMode,value)}}case 3:{if(unit===2){return this._moveDownByViewLines(viewModel,cursors,inSelectionMode,value)}else{return this._moveDownByModelLines(viewModel,cursors,inSelectionMode,value)}}case 4:{if(unit===2){return cursors.map((cursor=>CursorState.fromViewState(MoveOperations.moveToPrevBlankLine(viewModel.cursorConfig,viewModel,cursor.viewState,inSelectionMode))))}else{return cursors.map((cursor=>CursorState.fromModelState(MoveOperations.moveToPrevBlankLine(viewModel.cursorConfig,viewModel.model,cursor.modelState,inSelectionMode))))}}case 5:{if(unit===2){return cursors.map((cursor=>CursorState.fromViewState(MoveOperations.moveToNextBlankLine(viewModel.cursorConfig,viewModel,cursor.viewState,inSelectionMode))))}else{return cursors.map((cursor=>CursorState.fromModelState(MoveOperations.moveToNextBlankLine(viewModel.cursorConfig,viewModel.model,cursor.modelState,inSelectionMode))))}}case 6:{return this._moveToViewMinColumn(viewModel,cursors,inSelectionMode)}case 7:{return this._moveToViewFirstNonWhitespaceColumn(viewModel,cursors,inSelectionMode)}case 8:{return this._moveToViewCenterColumn(viewModel,cursors,inSelectionMode)}case 9:{return this._moveToViewMaxColumn(viewModel,cursors,inSelectionMode)}case 10:{return this._moveToViewLastNonWhitespaceColumn(viewModel,cursors,inSelectionMode)}default:return null}}static viewportMove(viewModel,cursors,direction,inSelectionMode,value){const visibleViewRange=viewModel.getCompletelyVisibleViewRange();const visibleModelRange=viewModel.coordinatesConverter.convertViewRangeToModelRange(visibleViewRange);switch(direction){case 11:{const modelLineNumber=this._firstLineNumberInRange(viewModel.model,visibleModelRange,value);const modelColumn=viewModel.model.getLineFirstNonWhitespaceColumn(modelLineNumber);return[this._moveToModelPosition(viewModel,cursors[0],inSelectionMode,modelLineNumber,modelColumn)]}case 13:{const modelLineNumber=this._lastLineNumberInRange(viewModel.model,visibleModelRange,value);const modelColumn=viewModel.model.getLineFirstNonWhitespaceColumn(modelLineNumber);return[this._moveToModelPosition(viewModel,cursors[0],inSelectionMode,modelLineNumber,modelColumn)]}case 12:{const modelLineNumber=Math.round((visibleModelRange.startLineNumber+visibleModelRange.endLineNumber)/2);const modelColumn=viewModel.model.getLineFirstNonWhitespaceColumn(modelLineNumber);return[this._moveToModelPosition(viewModel,cursors[0],inSelectionMode,modelLineNumber,modelColumn)]}case 14:{const result=[];for(let i=0,len=cursors.length;i<len;i++){const cursor=cursors[i];result[i]=this.findPositionInViewportIfOutside(viewModel,cursor,visibleViewRange,inSelectionMode)}return result}default:return null}}static findPositionInViewportIfOutside(viewModel,cursor,visibleViewRange,inSelectionMode){const viewLineNumber=cursor.viewState.position.lineNumber;if(visibleViewRange.startLineNumber<=viewLineNumber&&viewLineNumber<=visibleViewRange.endLineNumber-1){return new CursorState(cursor.modelState,cursor.viewState)}else{let newViewLineNumber;if(viewLineNumber>visibleViewRange.endLineNumber-1){newViewLineNumber=visibleViewRange.endLineNumber-1}else if(viewLineNumber<visibleViewRange.startLineNumber){newViewLineNumber=visibleViewRange.startLineNumber}else{newViewLineNumber=viewLineNumber}const position=MoveOperations.vertical(viewModel.cursorConfig,viewModel,viewLineNumber,cursor.viewState.position.column,cursor.viewState.leftoverVisibleColumns,newViewLineNumber,false);return CursorState.fromViewState(cursor.viewState.move(inSelectionMode,position.lineNumber,position.column,position.leftoverVisibleColumns))}}static _firstLineNumberInRange(model,range2,count){let startLineNumber=range2.startLineNumber;if(range2.startColumn!==model.getLineMinColumn(startLineNumber)){startLineNumber++}return Math.min(range2.endLineNumber,startLineNumber+count-1)}static _lastLineNumberInRange(model,range2,count){let startLineNumber=range2.startLineNumber;if(range2.startColumn!==model.getLineMinColumn(startLineNumber)){startLineNumber++}return Math.max(startLineNumber,range2.endLineNumber-count+1)}static _moveLeft(viewModel,cursors,inSelectionMode,noOfColumns){return cursors.map((cursor=>CursorState.fromViewState(MoveOperations.moveLeft(viewModel.cursorConfig,viewModel,cursor.viewState,inSelectionMode,noOfColumns))))}static _moveHalfLineLeft(viewModel,cursors,inSelectionMode){const result=[];for(let i=0,len=cursors.length;i<len;i++){const cursor=cursors[i];const viewLineNumber=cursor.viewState.position.lineNumber;const halfLine=Math.round(viewModel.getLineContent(viewLineNumber).length/2);result[i]=CursorState.fromViewState(MoveOperations.moveLeft(viewModel.cursorConfig,viewModel,cursor.viewState,inSelectionMode,halfLine))}return result}static _moveRight(viewModel,cursors,inSelectionMode,noOfColumns){return cursors.map((cursor=>CursorState.fromViewState(MoveOperations.moveRight(viewModel.cursorConfig,viewModel,cursor.viewState,inSelectionMode,noOfColumns))))}static _moveHalfLineRight(viewModel,cursors,inSelectionMode){const result=[];for(let i=0,len=cursors.length;i<len;i++){const cursor=cursors[i];const viewLineNumber=cursor.viewState.position.lineNumber;const halfLine=Math.round(viewModel.getLineContent(viewLineNumber).length/2);result[i]=CursorState.fromViewState(MoveOperations.moveRight(viewModel.cursorConfig,viewModel,cursor.viewState,inSelectionMode,halfLine))}return result}static _moveDownByViewLines(viewModel,cursors,inSelectionMode,linesCount){const result=[];for(let i=0,len=cursors.length;i<len;i++){const cursor=cursors[i];result[i]=CursorState.fromViewState(MoveOperations.moveDown(viewModel.cursorConfig,viewModel,cursor.viewState,inSelectionMode,linesCount))}return result}static _moveDownByModelLines(viewModel,cursors,inSelectionMode,linesCount){const result=[];for(let i=0,len=cursors.length;i<len;i++){const cursor=cursors[i];result[i]=CursorState.fromModelState(MoveOperations.moveDown(viewModel.cursorConfig,viewModel.model,cursor.modelState,inSelectionMode,linesCount))}return result}static _moveUpByViewLines(viewModel,cursors,inSelectionMode,linesCount){const result=[];for(let i=0,len=cursors.length;i<len;i++){const cursor=cursors[i];result[i]=CursorState.fromViewState(MoveOperations.moveUp(viewModel.cursorConfig,viewModel,cursor.viewState,inSelectionMode,linesCount))}return result}static _moveUpByModelLines(viewModel,cursors,inSelectionMode,linesCount){const result=[];for(let i=0,len=cursors.length;i<len;i++){const cursor=cursors[i];result[i]=CursorState.fromModelState(MoveOperations.moveUp(viewModel.cursorConfig,viewModel.model,cursor.modelState,inSelectionMode,linesCount))}return result}static _moveToViewPosition(viewModel,cursor,inSelectionMode,toViewLineNumber,toViewColumn){return CursorState.fromViewState(cursor.viewState.move(inSelectionMode,toViewLineNumber,toViewColumn,0))}static _moveToModelPosition(viewModel,cursor,inSelectionMode,toModelLineNumber,toModelColumn){return CursorState.fromModelState(cursor.modelState.move(inSelectionMode,toModelLineNumber,toModelColumn,0))}static _moveToViewMinColumn(viewModel,cursors,inSelectionMode){const result=[];for(let i=0,len=cursors.length;i<len;i++){const cursor=cursors[i];const viewLineNumber=cursor.viewState.position.lineNumber;const viewColumn=viewModel.getLineMinColumn(viewLineNumber);result[i]=this._moveToViewPosition(viewModel,cursor,inSelectionMode,viewLineNumber,viewColumn)}return result}static _moveToViewFirstNonWhitespaceColumn(viewModel,cursors,inSelectionMode){const result=[];for(let i=0,len=cursors.length;i<len;i++){const cursor=cursors[i];const viewLineNumber=cursor.viewState.position.lineNumber;const viewColumn=viewModel.getLineFirstNonWhitespaceColumn(viewLineNumber);result[i]=this._moveToViewPosition(viewModel,cursor,inSelectionMode,viewLineNumber,viewColumn)}return result}static _moveToViewCenterColumn(viewModel,cursors,inSelectionMode){const result=[];for(let i=0,len=cursors.length;i<len;i++){const cursor=cursors[i];const viewLineNumber=cursor.viewState.position.lineNumber;const viewColumn=Math.round((viewModel.getLineMaxColumn(viewLineNumber)+viewModel.getLineMinColumn(viewLineNumber))/2);result[i]=this._moveToViewPosition(viewModel,cursor,inSelectionMode,viewLineNumber,viewColumn)}return result}static _moveToViewMaxColumn(viewModel,cursors,inSelectionMode){const result=[];for(let i=0,len=cursors.length;i<len;i++){const cursor=cursors[i];const viewLineNumber=cursor.viewState.position.lineNumber;const viewColumn=viewModel.getLineMaxColumn(viewLineNumber);result[i]=this._moveToViewPosition(viewModel,cursor,inSelectionMode,viewLineNumber,viewColumn)}return result}static _moveToViewLastNonWhitespaceColumn(viewModel,cursors,inSelectionMode){const result=[];for(let i=0,len=cursors.length;i<len;i++){const cursor=cursors[i];const viewLineNumber=cursor.viewState.position.lineNumber;const viewColumn=viewModel.getLineLastNonWhitespaceColumn(viewLineNumber);result[i]=this._moveToViewPosition(viewModel,cursor,inSelectionMode,viewLineNumber,viewColumn)}return result}};(function(CursorMove2){const isCursorMoveArgs=function(arg){if(!isObject(arg)){return false}const cursorMoveArg=arg;if(!isString(cursorMoveArg.to)){return false}if(!isUndefined(cursorMoveArg.select)&&!isBoolean(cursorMoveArg.select)){return false}if(!isUndefined(cursorMoveArg.by)&&!isString(cursorMoveArg.by)){return false}if(!isUndefined(cursorMoveArg.value)&&!isNumber(cursorMoveArg.value)){return false}return true};CursorMove2.description={description:"Move cursor to a logical position in the view",args:[{name:"Cursor move argument object",description:`Property-value pairs that can be passed through this argument:\n\t\t\t\t\t* 'to': A mandatory logical position value providing where to move the cursor.\n\t\t\t\t\t\t\`\`\`\n\t\t\t\t\t\t'left', 'right', 'up', 'down', 'prevBlankLine', 'nextBlankLine',\n\t\t\t\t\t\t'wrappedLineStart', 'wrappedLineEnd', 'wrappedLineColumnCenter'\n\t\t\t\t\t\t'wrappedLineFirstNonWhitespaceCharacter', 'wrappedLineLastNonWhitespaceCharacter'\n\t\t\t\t\t\t'viewPortTop', 'viewPortCenter', 'viewPortBottom', 'viewPortIfOutside'\n\t\t\t\t\t\t\`\`\`\n\t\t\t\t\t* 'by': Unit to move. Default is computed based on 'to' value.\n\t\t\t\t\t\t\`\`\`\n\t\t\t\t\t\t'line', 'wrappedLine', 'character', 'halfLine'\n\t\t\t\t\t\t\`\`\`\n\t\t\t\t\t* 'value': Number of units to move. Default is '1'.\n\t\t\t\t\t* 'select': If 'true' makes the selection. Default is 'false'.\n\t\t\t\t`,constraint:isCursorMoveArgs,schema:{type:"object",required:["to"],properties:{to:{type:"string",enum:["left","right","up","down","prevBlankLine","nextBlankLine","wrappedLineStart","wrappedLineEnd","wrappedLineColumnCenter","wrappedLineFirstNonWhitespaceCharacter","wrappedLineLastNonWhitespaceCharacter","viewPortTop","viewPortCenter","viewPortBottom","viewPortIfOutside"]},by:{type:"string",enum:["line","wrappedLine","character","halfLine"]},value:{type:"number",default:1},select:{type:"boolean",default:false}}}}]};CursorMove2.RawDirection={Left:"left",Right:"right",Up:"up",Down:"down",PrevBlankLine:"prevBlankLine",NextBlankLine:"nextBlankLine",WrappedLineStart:"wrappedLineStart",WrappedLineFirstNonWhitespaceCharacter:"wrappedLineFirstNonWhitespaceCharacter",WrappedLineColumnCenter:"wrappedLineColumnCenter",WrappedLineEnd:"wrappedLineEnd",WrappedLineLastNonWhitespaceCharacter:"wrappedLineLastNonWhitespaceCharacter",ViewPortTop:"viewPortTop",ViewPortCenter:"viewPortCenter",ViewPortBottom:"viewPortBottom",ViewPortIfOutside:"viewPortIfOutside"};CursorMove2.RawUnit={Line:"line",WrappedLine:"wrappedLine",Character:"character",HalfLine:"halfLine"};function parse4(args){if(!args.to){return null}let direction;switch(args.to){case CursorMove2.RawDirection.Left:direction=0;break;case CursorMove2.RawDirection.Right:direction=1;break;case CursorMove2.RawDirection.Up:direction=2;break;case CursorMove2.RawDirection.Down:direction=3;break;case CursorMove2.RawDirection.PrevBlankLine:direction=4;break;case CursorMove2.RawDirection.NextBlankLine:direction=5;break;case CursorMove2.RawDirection.WrappedLineStart:direction=6;break;case CursorMove2.RawDirection.WrappedLineFirstNonWhitespaceCharacter:direction=7;break;case CursorMove2.RawDirection.WrappedLineColumnCenter:direction=8;break;case CursorMove2.RawDirection.WrappedLineEnd:direction=9;break;case CursorMove2.RawDirection.WrappedLineLastNonWhitespaceCharacter:direction=10;break;case CursorMove2.RawDirection.ViewPortTop:direction=11;break;case CursorMove2.RawDirection.ViewPortBottom:direction=13;break;case CursorMove2.RawDirection.ViewPortCenter:direction=12;break;case CursorMove2.RawDirection.ViewPortIfOutside:direction=14;break;default:return null}let unit=0;switch(args.by){case CursorMove2.RawUnit.Line:unit=1;break;case CursorMove2.RawUnit.WrappedLine:unit=2;break;case CursorMove2.RawUnit.Character:unit=3;break;case CursorMove2.RawUnit.HalfLine:unit=4;break}return{direction:direction,unit:unit,select:!!args.select,value:args.value||1}}CursorMove2.parse=parse4})(CursorMove||(CursorMove={}))}});function getEnterAction(autoIndent,model,range2,languageConfigurationService){const scopedLineTokens=getScopedLineTokens(model,range2.startLineNumber,range2.startColumn);const richEditSupport=languageConfigurationService.getLanguageConfiguration(scopedLineTokens.languageId);if(!richEditSupport){return null}const scopedLineText=scopedLineTokens.getLineContent();const beforeEnterText=scopedLineText.substr(0,range2.startColumn-1-scopedLineTokens.firstCharOffset);let afterEnterText;if(range2.isEmpty()){afterEnterText=scopedLineText.substr(range2.startColumn-1-scopedLineTokens.firstCharOffset)}else{const endScopedLineTokens=getScopedLineTokens(model,range2.endLineNumber,range2.endColumn);afterEnterText=endScopedLineTokens.getLineContent().substr(range2.endColumn-1-scopedLineTokens.firstCharOffset)}let previousLineText="";if(range2.startLineNumber>1&&scopedLineTokens.firstCharOffset===0){const oneLineAboveScopedLineTokens=getScopedLineTokens(model,range2.startLineNumber-1);if(oneLineAboveScopedLineTokens.languageId===scopedLineTokens.languageId){previousLineText=oneLineAboveScopedLineTokens.getLineContent()}}const enterResult=richEditSupport.onEnter(autoIndent,previousLineText,beforeEnterText,afterEnterText);if(!enterResult){return null}const indentAction=enterResult.indentAction;let appendText=enterResult.appendText;const removeText=enterResult.removeText||0;if(!appendText){if(indentAction===IndentAction2.Indent||indentAction===IndentAction2.IndentOutdent){appendText="\t"}else{appendText=""}}else if(indentAction===IndentAction2.Indent){appendText="\t"+appendText}let indentation=getIndentationAtPosition(model,range2.startLineNumber,range2.startColumn);if(removeText){indentation=indentation.substring(0,indentation.length-removeText)}return{indentAction:indentAction,appendText:appendText,removeText:removeText,indentation:indentation}}var init_enterAction=__esm({"node_modules/monaco-editor/esm/vs/editor/common/languages/enterAction.js"(){init_languageConfiguration();init_languageConfigurationRegistry()}});function cachedStringRepeat(str,count){if(count<=0){return""}if(!repeatCache[str]){repeatCache[str]=["",str]}const cache=repeatCache[str];for(let i=cache.length;i<=count;i++){cache[i]=cache[i-1]+str}return cache[count]}var __decorate10,__param9,ShiftCommand_1,repeatCache,ShiftCommand;var init_shiftCommand=__esm({"node_modules/monaco-editor/esm/vs/editor/common/commands/shiftCommand.js"(){init_strings();init_cursorColumns();init_range();init_selection();init_enterAction();init_languageConfigurationRegistry();__decorate10=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param9=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};repeatCache=Object.create(null);ShiftCommand=ShiftCommand_1=class ShiftCommand2{static unshiftIndent(line,column,tabSize,indentSize,insertSpaces){const contentStartVisibleColumn=CursorColumns.visibleColumnFromColumn(line,column,tabSize);if(insertSpaces){const indent=cachedStringRepeat(" ",indentSize);const desiredTabStop=CursorColumns.prevIndentTabStop(contentStartVisibleColumn,indentSize);const indentCount=desiredTabStop/indentSize;return cachedStringRepeat(indent,indentCount)}else{const indent="\t";const desiredTabStop=CursorColumns.prevRenderTabStop(contentStartVisibleColumn,tabSize);const indentCount=desiredTabStop/tabSize;return cachedStringRepeat(indent,indentCount)}}static shiftIndent(line,column,tabSize,indentSize,insertSpaces){const contentStartVisibleColumn=CursorColumns.visibleColumnFromColumn(line,column,tabSize);if(insertSpaces){const indent=cachedStringRepeat(" ",indentSize);const desiredTabStop=CursorColumns.nextIndentTabStop(contentStartVisibleColumn,indentSize);const indentCount=desiredTabStop/indentSize;return cachedStringRepeat(indent,indentCount)}else{const indent="\t";const desiredTabStop=CursorColumns.nextRenderTabStop(contentStartVisibleColumn,tabSize);const indentCount=desiredTabStop/tabSize;return cachedStringRepeat(indent,indentCount)}}constructor(range2,opts,_languageConfigurationService){this._languageConfigurationService=_languageConfigurationService;this._opts=opts;this._selection=range2;this._selectionId=null;this._useLastEditRangeForCursorEndPosition=false;this._selectionStartColumnStaysPut=false}_addEditOperation(builder,range2,text2){if(this._useLastEditRangeForCursorEndPosition){builder.addTrackedEditOperation(range2,text2)}else{builder.addEditOperation(range2,text2)}}getEditOperations(model,builder){const startLine=this._selection.startLineNumber;let endLine=this._selection.endLineNumber;if(this._selection.endColumn===1&&startLine!==endLine){endLine=endLine-1}const{tabSize:tabSize,indentSize:indentSize,insertSpaces:insertSpaces}=this._opts;const shouldIndentEmptyLines=startLine===endLine;if(this._opts.useTabStops){if(this._selection.isEmpty()){if(/^\s*$/.test(model.getLineContent(startLine))){this._useLastEditRangeForCursorEndPosition=true}}let previousLineExtraSpaces=0,extraSpaces=0;for(let lineNumber=startLine;lineNumber<=endLine;lineNumber++,previousLineExtraSpaces=extraSpaces){extraSpaces=0;const lineText=model.getLineContent(lineNumber);let indentationEndIndex=firstNonWhitespaceIndex(lineText);if(this._opts.isUnshift&&(lineText.length===0||indentationEndIndex===0)){continue}if(!shouldIndentEmptyLines&&!this._opts.isUnshift&&lineText.length===0){continue}if(indentationEndIndex===-1){indentationEndIndex=lineText.length}if(lineNumber>1){const contentStartVisibleColumn=CursorColumns.visibleColumnFromColumn(lineText,indentationEndIndex+1,tabSize);if(contentStartVisibleColumn%indentSize!==0){if(model.tokenization.isCheapToTokenize(lineNumber-1)){const enterAction=getEnterAction(this._opts.autoIndent,model,new Range(lineNumber-1,model.getLineMaxColumn(lineNumber-1),lineNumber-1,model.getLineMaxColumn(lineNumber-1)),this._languageConfigurationService);if(enterAction){extraSpaces=previousLineExtraSpaces;if(enterAction.appendText){for(let j=0,lenJ=enterAction.appendText.length;j<lenJ&&extraSpaces<indentSize;j++){if(enterAction.appendText.charCodeAt(j)===32){extraSpaces++}else{break}}}if(enterAction.removeText){extraSpaces=Math.max(0,extraSpaces-enterAction.removeText)}for(let j=0;j<extraSpaces;j++){if(indentationEndIndex===0||lineText.charCodeAt(indentationEndIndex-1)!==32){break}indentationEndIndex--}}}}}if(this._opts.isUnshift&&indentationEndIndex===0){continue}let desiredIndent;if(this._opts.isUnshift){desiredIndent=ShiftCommand_1.unshiftIndent(lineText,indentationEndIndex+1,tabSize,indentSize,insertSpaces)}else{desiredIndent=ShiftCommand_1.shiftIndent(lineText,indentationEndIndex+1,tabSize,indentSize,insertSpaces)}this._addEditOperation(builder,new Range(lineNumber,1,lineNumber,indentationEndIndex+1),desiredIndent);if(lineNumber===startLine&&!this._selection.isEmpty()){this._selectionStartColumnStaysPut=this._selection.startColumn<=indentationEndIndex+1}}}else{if(!this._opts.isUnshift&&this._selection.isEmpty()&&model.getLineLength(startLine)===0){this._useLastEditRangeForCursorEndPosition=true}const oneIndent=insertSpaces?cachedStringRepeat(" ",indentSize):"\t";for(let lineNumber=startLine;lineNumber<=endLine;lineNumber++){const lineText=model.getLineContent(lineNumber);let indentationEndIndex=firstNonWhitespaceIndex(lineText);if(this._opts.isUnshift&&(lineText.length===0||indentationEndIndex===0)){continue}if(!shouldIndentEmptyLines&&!this._opts.isUnshift&&lineText.length===0){continue}if(indentationEndIndex===-1){indentationEndIndex=lineText.length}if(this._opts.isUnshift&&indentationEndIndex===0){continue}if(this._opts.isUnshift){indentationEndIndex=Math.min(indentationEndIndex,indentSize);for(let i=0;i<indentationEndIndex;i++){const chr=lineText.charCodeAt(i);if(chr===9){indentationEndIndex=i+1;break}}this._addEditOperation(builder,new Range(lineNumber,1,lineNumber,indentationEndIndex+1),"")}else{this._addEditOperation(builder,new Range(lineNumber,1,lineNumber,1),oneIndent);if(lineNumber===startLine&&!this._selection.isEmpty()){this._selectionStartColumnStaysPut=this._selection.startColumn===1}}}}this._selectionId=builder.trackSelection(this._selection)}computeCursorState(model,helper){if(this._useLastEditRangeForCursorEndPosition){const lastOp=helper.getInverseEditOperations()[0];return new Selection(lastOp.range.endLineNumber,lastOp.range.endColumn,lastOp.range.endLineNumber,lastOp.range.endColumn)}const result=helper.getTrackedSelection(this._selectionId);if(this._selectionStartColumnStaysPut){const initialStartColumn=this._selection.startColumn;const resultStartColumn=result.startColumn;if(resultStartColumn<=initialStartColumn){return result}if(result.getDirection()===0){return new Selection(result.startLineNumber,initialStartColumn,result.endLineNumber,result.endColumn)}return new Selection(result.endLineNumber,result.endColumn,result.startLineNumber,initialStartColumn)}return result}};ShiftCommand=ShiftCommand_1=__decorate10([__param9(2,ILanguageConfigurationService)],ShiftCommand)}});var SurroundSelectionCommand,CompositionSurroundSelectionCommand;var init_surroundSelectionCommand=__esm({"node_modules/monaco-editor/esm/vs/editor/common/commands/surroundSelectionCommand.js"(){init_range();init_selection();SurroundSelectionCommand=class{constructor(range2,charBeforeSelection,charAfterSelection){this._range=range2;this._charBeforeSelection=charBeforeSelection;this._charAfterSelection=charAfterSelection}getEditOperations(model,builder){builder.addTrackedEditOperation(new Range(this._range.startLineNumber,this._range.startColumn,this._range.startLineNumber,this._range.startColumn),this._charBeforeSelection);builder.addTrackedEditOperation(new Range(this._range.endLineNumber,this._range.endColumn,this._range.endLineNumber,this._range.endColumn),this._charAfterSelection)}computeCursorState(model,helper){const inverseEditOperations=helper.getInverseEditOperations();const firstOperationRange=inverseEditOperations[0].range;const secondOperationRange=inverseEditOperations[1].range;return new Selection(firstOperationRange.endLineNumber,firstOperationRange.endColumn,secondOperationRange.endLineNumber,secondOperationRange.endColumn-this._charAfterSelection.length)}};CompositionSurroundSelectionCommand=class{constructor(_position,_text,_charAfter){this._position=_position;this._text=_text;this._charAfter=_charAfter}getEditOperations(model,builder){builder.addTrackedEditOperation(new Range(this._position.lineNumber,this._position.column,this._position.lineNumber,this._position.column),this._text+this._charAfter)}computeCursorState(model,helper){const inverseEditOperations=helper.getInverseEditOperations();const opRange=inverseEditOperations[0].range;return new Selection(opRange.endLineNumber,opRange.startColumn,opRange.endLineNumber,opRange.endColumn-this._charAfter.length)}}}});function getPrecedingValidLine(model,lineNumber,indentRulesSupport){const languageId=model.tokenization.getLanguageIdAtPosition(lineNumber,0);if(lineNumber>1){let lastLineNumber;let resultLineNumber=-1;for(lastLineNumber=lineNumber-1;lastLineNumber>=1;lastLineNumber--){if(model.tokenization.getLanguageIdAtPosition(lastLineNumber,0)!==languageId){return resultLineNumber}const text2=model.getLineContent(lastLineNumber);if(indentRulesSupport.shouldIgnore(text2)||/^\s+$/.test(text2)||text2===""){resultLineNumber=lastLineNumber;continue}return lastLineNumber}}return-1}function getInheritIndentForLine(autoIndent,model,lineNumber,honorIntentialIndent=true,languageConfigurationService){if(autoIndent<4){return null}const indentRulesSupport=languageConfigurationService.getLanguageConfiguration(model.tokenization.getLanguageId()).indentRulesSupport;if(!indentRulesSupport){return null}if(lineNumber<=1){return{indentation:"",action:null}}for(let priorLineNumber=lineNumber-1;priorLineNumber>0;priorLineNumber--){if(model.getLineContent(priorLineNumber)!==""){break}if(priorLineNumber===1){return{indentation:"",action:null}}}const precedingUnIgnoredLine=getPrecedingValidLine(model,lineNumber,indentRulesSupport);if(precedingUnIgnoredLine<0){return null}else if(precedingUnIgnoredLine<1){return{indentation:"",action:null}}const precedingUnIgnoredLineContent=model.getLineContent(precedingUnIgnoredLine);if(indentRulesSupport.shouldIncrease(precedingUnIgnoredLineContent)||indentRulesSupport.shouldIndentNextLine(precedingUnIgnoredLineContent)){return{indentation:getLeadingWhitespace(precedingUnIgnoredLineContent),action:IndentAction2.Indent,line:precedingUnIgnoredLine}}else if(indentRulesSupport.shouldDecrease(precedingUnIgnoredLineContent)){return{indentation:getLeadingWhitespace(precedingUnIgnoredLineContent),action:null,line:precedingUnIgnoredLine}}else{if(precedingUnIgnoredLine===1){return{indentation:getLeadingWhitespace(model.getLineContent(precedingUnIgnoredLine)),action:null,line:precedingUnIgnoredLine}}const previousLine=precedingUnIgnoredLine-1;const previousLineIndentMetadata=indentRulesSupport.getIndentMetadata(model.getLineContent(previousLine));if(!(previousLineIndentMetadata&(1|2))&&previousLineIndentMetadata&4){let stopLine=0;for(let i=previousLine-1;i>0;i--){if(indentRulesSupport.shouldIndentNextLine(model.getLineContent(i))){continue}stopLine=i;break}return{indentation:getLeadingWhitespace(model.getLineContent(stopLine+1)),action:null,line:stopLine+1}}if(honorIntentialIndent){return{indentation:getLeadingWhitespace(model.getLineContent(precedingUnIgnoredLine)),action:null,line:precedingUnIgnoredLine}}else{for(let i=precedingUnIgnoredLine;i>0;i--){const lineContent=model.getLineContent(i);if(indentRulesSupport.shouldIncrease(lineContent)){return{indentation:getLeadingWhitespace(lineContent),action:IndentAction2.Indent,line:i}}else if(indentRulesSupport.shouldIndentNextLine(lineContent)){let stopLine=0;for(let j=i-1;j>0;j--){if(indentRulesSupport.shouldIndentNextLine(model.getLineContent(i))){continue}stopLine=j;break}return{indentation:getLeadingWhitespace(model.getLineContent(stopLine+1)),action:null,line:stopLine+1}}else if(indentRulesSupport.shouldDecrease(lineContent)){return{indentation:getLeadingWhitespace(lineContent),action:null,line:i}}}return{indentation:getLeadingWhitespace(model.getLineContent(1)),action:null,line:1}}}}function getGoodIndentForLine(autoIndent,virtualModel,languageId,lineNumber,indentConverter,languageConfigurationService){if(autoIndent<4){return null}const richEditSupport=languageConfigurationService.getLanguageConfiguration(languageId);if(!richEditSupport){return null}const indentRulesSupport=languageConfigurationService.getLanguageConfiguration(languageId).indentRulesSupport;if(!indentRulesSupport){return null}const indent=getInheritIndentForLine(autoIndent,virtualModel,lineNumber,void 0,languageConfigurationService);const lineContent=virtualModel.getLineContent(lineNumber);if(indent){const inheritLine=indent.line;if(inheritLine!==void 0){let shouldApplyEnterRules=true;for(let inBetweenLine=inheritLine;inBetweenLine<lineNumber-1;inBetweenLine++){if(!/^\s*$/.test(virtualModel.getLineContent(inBetweenLine))){shouldApplyEnterRules=false;break}}if(shouldApplyEnterRules){const enterResult=richEditSupport.onEnter(autoIndent,"",virtualModel.getLineContent(inheritLine),"");if(enterResult){let indentation=getLeadingWhitespace(virtualModel.getLineContent(inheritLine));if(enterResult.removeText){indentation=indentation.substring(0,indentation.length-enterResult.removeText)}if(enterResult.indentAction===IndentAction2.Indent||enterResult.indentAction===IndentAction2.IndentOutdent){indentation=indentConverter.shiftIndent(indentation)}else if(enterResult.indentAction===IndentAction2.Outdent){indentation=indentConverter.unshiftIndent(indentation)}if(indentRulesSupport.shouldDecrease(lineContent)){indentation=indentConverter.unshiftIndent(indentation)}if(enterResult.appendText){indentation+=enterResult.appendText}return getLeadingWhitespace(indentation)}}}if(indentRulesSupport.shouldDecrease(lineContent)){if(indent.action===IndentAction2.Indent){return indent.indentation}else{return indentConverter.unshiftIndent(indent.indentation)}}else{if(indent.action===IndentAction2.Indent){return indentConverter.shiftIndent(indent.indentation)}else{return indent.indentation}}}return null}function getIndentForEnter(autoIndent,model,range2,indentConverter,languageConfigurationService){if(autoIndent<4){return null}model.tokenization.forceTokenization(range2.startLineNumber);const lineTokens=model.tokenization.getLineTokens(range2.startLineNumber);const scopedLineTokens=createScopedLineTokens(lineTokens,range2.startColumn-1);const scopedLineText=scopedLineTokens.getLineContent();let embeddedLanguage=false;let beforeEnterText;if(scopedLineTokens.firstCharOffset>0&&lineTokens.getLanguageId(0)!==scopedLineTokens.languageId){embeddedLanguage=true;beforeEnterText=scopedLineText.substr(0,range2.startColumn-1-scopedLineTokens.firstCharOffset)}else{beforeEnterText=lineTokens.getLineContent().substring(0,range2.startColumn-1)}let afterEnterText;if(range2.isEmpty()){afterEnterText=scopedLineText.substr(range2.startColumn-1-scopedLineTokens.firstCharOffset)}else{const endScopedLineTokens=getScopedLineTokens(model,range2.endLineNumber,range2.endColumn);afterEnterText=endScopedLineTokens.getLineContent().substr(range2.endColumn-1-scopedLineTokens.firstCharOffset)}const indentRulesSupport=languageConfigurationService.getLanguageConfiguration(scopedLineTokens.languageId).indentRulesSupport;if(!indentRulesSupport){return null}const beforeEnterResult=beforeEnterText;const beforeEnterIndent=getLeadingWhitespace(beforeEnterText);const virtualModel={tokenization:{getLineTokens:lineNumber=>model.tokenization.getLineTokens(lineNumber),getLanguageId:()=>model.getLanguageId(),getLanguageIdAtPosition:(lineNumber,column)=>model.getLanguageIdAtPosition(lineNumber,column)},getLineContent:lineNumber=>{if(lineNumber===range2.startLineNumber){return beforeEnterResult}else{return model.getLineContent(lineNumber)}}};const currentLineIndent=getLeadingWhitespace(lineTokens.getLineContent());const afterEnterAction=getInheritIndentForLine(autoIndent,virtualModel,range2.startLineNumber+1,void 0,languageConfigurationService);if(!afterEnterAction){const beforeEnter=embeddedLanguage?currentLineIndent:beforeEnterIndent;return{beforeEnter:beforeEnter,afterEnter:beforeEnter}}let afterEnterIndent=embeddedLanguage?currentLineIndent:afterEnterAction.indentation;if(afterEnterAction.action===IndentAction2.Indent){afterEnterIndent=indentConverter.shiftIndent(afterEnterIndent)}if(indentRulesSupport.shouldDecrease(afterEnterText)){afterEnterIndent=indentConverter.unshiftIndent(afterEnterIndent)}return{beforeEnter:embeddedLanguage?currentLineIndent:beforeEnterIndent,afterEnter:afterEnterIndent}}function getIndentActionForType(autoIndent,model,range2,ch,indentConverter,languageConfigurationService){if(autoIndent<4){return null}const scopedLineTokens=getScopedLineTokens(model,range2.startLineNumber,range2.startColumn);if(scopedLineTokens.firstCharOffset){return null}const indentRulesSupport=languageConfigurationService.getLanguageConfiguration(scopedLineTokens.languageId).indentRulesSupport;if(!indentRulesSupport){return null}const scopedLineText=scopedLineTokens.getLineContent();const beforeTypeText=scopedLineText.substr(0,range2.startColumn-1-scopedLineTokens.firstCharOffset);let afterTypeText;if(range2.isEmpty()){afterTypeText=scopedLineText.substr(range2.startColumn-1-scopedLineTokens.firstCharOffset)}else{const endScopedLineTokens=getScopedLineTokens(model,range2.endLineNumber,range2.endColumn);afterTypeText=endScopedLineTokens.getLineContent().substr(range2.endColumn-1-scopedLineTokens.firstCharOffset)}if(!indentRulesSupport.shouldDecrease(beforeTypeText+afterTypeText)&&indentRulesSupport.shouldDecrease(beforeTypeText+ch+afterTypeText)){const r=getInheritIndentForLine(autoIndent,model,range2.startLineNumber,false,languageConfigurationService);if(!r){return null}let indentation=r.indentation;if(r.action!==IndentAction2.Indent){indentation=indentConverter.unshiftIndent(indentation)}return indentation}return null}function getIndentMetadata(model,lineNumber,languageConfigurationService){const indentRulesSupport=languageConfigurationService.getLanguageConfiguration(model.getLanguageId()).indentRulesSupport;if(!indentRulesSupport){return null}if(lineNumber<1||lineNumber>model.getLineCount()){return null}return indentRulesSupport.getIndentMetadata(model.getLineContent(lineNumber))}var init_autoIndent=__esm({"node_modules/monaco-editor/esm/vs/editor/common/languages/autoIndent.js"(){init_strings();init_languageConfiguration();init_supports();init_languageConfigurationRegistry()}});function getTypingOperation(typedText,previousTypingOperation){if(typedText===" "){return previousTypingOperation===5||previousTypingOperation===6?6:5}return 4}function shouldPushStackElementBetween(previousTypingOperation,typingOperation){if(isTypingOperation(previousTypingOperation)&&!isTypingOperation(typingOperation)){return true}if(previousTypingOperation===5){return false}return normalizeOperationType(previousTypingOperation)!==normalizeOperationType(typingOperation)}function normalizeOperationType(type){return type===6||type===5?"space":type}function isTypingOperation(type){return type===4||type===5||type===6}var TypeOperations,TypeWithAutoClosingCommand,CompositionOutcome;var init_cursorTypeOperations=__esm({"node_modules/monaco-editor/esm/vs/editor/common/cursor/cursorTypeOperations.js"(){init_errors();init_strings();init_replaceCommand();init_shiftCommand();init_surroundSelectionCommand();init_cursorCommon();init_wordCharacterClassifier();init_range();init_position();init_languageConfiguration();init_languageConfigurationRegistry();init_supports();init_autoIndent();init_enterAction();TypeOperations=class{static indent(config,model,selections){if(model===null||selections===null){return[]}const commands=[];for(let i=0,len=selections.length;i<len;i++){commands[i]=new ShiftCommand(selections[i],{isUnshift:false,tabSize:config.tabSize,indentSize:config.indentSize,insertSpaces:config.insertSpaces,useTabStops:config.useTabStops,autoIndent:config.autoIndent},config.languageConfigurationService)}return commands}static outdent(config,model,selections){const commands=[];for(let i=0,len=selections.length;i<len;i++){commands[i]=new ShiftCommand(selections[i],{isUnshift:true,tabSize:config.tabSize,indentSize:config.indentSize,insertSpaces:config.insertSpaces,useTabStops:config.useTabStops,autoIndent:config.autoIndent},config.languageConfigurationService)}return commands}static shiftIndent(config,indentation,count){count=count||1;return ShiftCommand.shiftIndent(indentation,indentation.length+count,config.tabSize,config.indentSize,config.insertSpaces)}static unshiftIndent(config,indentation,count){count=count||1;return ShiftCommand.unshiftIndent(indentation,indentation.length+count,config.tabSize,config.indentSize,config.insertSpaces)}static _distributedPaste(config,model,selections,text2){const commands=[];for(let i=0,len=selections.length;i<len;i++){commands[i]=new ReplaceCommand(selections[i],text2[i])}return new EditOperationResult(0,commands,{shouldPushStackElementBefore:true,shouldPushStackElementAfter:true})}static _simplePaste(config,model,selections,text2,pasteOnNewLine){const commands=[];for(let i=0,len=selections.length;i<len;i++){const selection=selections[i];const position=selection.getPosition();if(pasteOnNewLine&&!selection.isEmpty()){pasteOnNewLine=false}if(pasteOnNewLine&&text2.indexOf("\n")!==text2.length-1){pasteOnNewLine=false}if(pasteOnNewLine){const typeSelection=new Range(position.lineNumber,1,position.lineNumber,1);commands[i]=new ReplaceCommandThatPreservesSelection(typeSelection,text2,selection,true)}else{commands[i]=new ReplaceCommand(selection,text2)}}return new EditOperationResult(0,commands,{shouldPushStackElementBefore:true,shouldPushStackElementAfter:true})}static _distributePasteToCursors(config,selections,text2,pasteOnNewLine,multicursorText){if(pasteOnNewLine){return null}if(selections.length===1){return null}if(multicursorText&&multicursorText.length===selections.length){return multicursorText}if(config.multiCursorPaste==="spread"){if(text2.charCodeAt(text2.length-1)===10){text2=text2.substr(0,text2.length-1)}if(text2.charCodeAt(text2.length-1)===13){text2=text2.substr(0,text2.length-1)}const lines=splitLines(text2);if(lines.length===selections.length){return lines}}return null}static paste(config,model,selections,text2,pasteOnNewLine,multicursorText){const distributedPaste=this._distributePasteToCursors(config,selections,text2,pasteOnNewLine,multicursorText);if(distributedPaste){selections=selections.sort(Range.compareRangesUsingStarts);return this._distributedPaste(config,model,selections,distributedPaste)}else{return this._simplePaste(config,model,selections,text2,pasteOnNewLine)}}static _goodIndentForLine(config,model,lineNumber){let action=null;let indentation="";const expectedIndentAction=getInheritIndentForLine(config.autoIndent,model,lineNumber,false,config.languageConfigurationService);if(expectedIndentAction){action=expectedIndentAction.action;indentation=expectedIndentAction.indentation}else if(lineNumber>1){let lastLineNumber;for(lastLineNumber=lineNumber-1;lastLineNumber>=1;lastLineNumber--){const lineText=model.getLineContent(lastLineNumber);const nonWhitespaceIdx=lastNonWhitespaceIndex(lineText);if(nonWhitespaceIdx>=0){break}}if(lastLineNumber<1){return null}const maxColumn=model.getLineMaxColumn(lastLineNumber);const expectedEnterAction=getEnterAction(config.autoIndent,model,new Range(lastLineNumber,maxColumn,lastLineNumber,maxColumn),config.languageConfigurationService);if(expectedEnterAction){indentation=expectedEnterAction.indentation+expectedEnterAction.appendText}}if(action){if(action===IndentAction2.Indent){indentation=TypeOperations.shiftIndent(config,indentation)}if(action===IndentAction2.Outdent){indentation=TypeOperations.unshiftIndent(config,indentation)}indentation=config.normalizeIndentation(indentation)}if(!indentation){return null}return indentation}static _replaceJumpToNextIndent(config,model,selection,insertsAutoWhitespace){let typeText="";const position=selection.getStartPosition();if(config.insertSpaces){const visibleColumnFromColumn=config.visibleColumnFromColumn(model,position);const indentSize=config.indentSize;const spacesCnt=indentSize-visibleColumnFromColumn%indentSize;for(let i=0;i<spacesCnt;i++){typeText+=" "}}else{typeText="\t"}return new ReplaceCommand(selection,typeText,insertsAutoWhitespace)}static tab(config,model,selections){const commands=[];for(let i=0,len=selections.length;i<len;i++){const selection=selections[i];if(selection.isEmpty()){const lineText=model.getLineContent(selection.startLineNumber);if(/^\s*$/.test(lineText)&&model.tokenization.isCheapToTokenize(selection.startLineNumber)){let goodIndent=this._goodIndentForLine(config,model,selection.startLineNumber);goodIndent=goodIndent||"\t";const possibleTypeText=config.normalizeIndentation(goodIndent);if(!lineText.startsWith(possibleTypeText)){commands[i]=new ReplaceCommand(new Range(selection.startLineNumber,1,selection.startLineNumber,lineText.length+1),possibleTypeText,true);continue}}commands[i]=this._replaceJumpToNextIndent(config,model,selection,true)}else{if(selection.startLineNumber===selection.endLineNumber){const lineMaxColumn=model.getLineMaxColumn(selection.startLineNumber);if(selection.startColumn!==1||selection.endColumn!==lineMaxColumn){commands[i]=this._replaceJumpToNextIndent(config,model,selection,false);continue}}commands[i]=new ShiftCommand(selection,{isUnshift:false,tabSize:config.tabSize,indentSize:config.indentSize,insertSpaces:config.insertSpaces,useTabStops:config.useTabStops,autoIndent:config.autoIndent},config.languageConfigurationService)}}return commands}static compositionType(prevEditOperationType,config,model,selections,text2,replacePrevCharCnt,replaceNextCharCnt,positionDelta){const commands=selections.map((selection=>this._compositionType(model,selection,text2,replacePrevCharCnt,replaceNextCharCnt,positionDelta)));return new EditOperationResult(4,commands,{shouldPushStackElementBefore:shouldPushStackElementBetween(prevEditOperationType,4),shouldPushStackElementAfter:false})}static _compositionType(model,selection,text2,replacePrevCharCnt,replaceNextCharCnt,positionDelta){if(!selection.isEmpty()){return null}const pos=selection.getPosition();const startColumn=Math.max(1,pos.column-replacePrevCharCnt);const endColumn=Math.min(model.getLineMaxColumn(pos.lineNumber),pos.column+replaceNextCharCnt);const range2=new Range(pos.lineNumber,startColumn,pos.lineNumber,endColumn);const oldText=model.getValueInRange(range2);if(oldText===text2&&positionDelta===0){return null}return new ReplaceCommandWithOffsetCursorState(range2,text2,0,positionDelta)}static _typeCommand(range2,text2,keepPosition){if(keepPosition){return new ReplaceCommandWithoutChangingPosition(range2,text2,true)}else{return new ReplaceCommand(range2,text2,true)}}static _enter(config,model,keepPosition,range2){if(config.autoIndent===0){return TypeOperations._typeCommand(range2,"\n",keepPosition)}if(!model.tokenization.isCheapToTokenize(range2.getStartPosition().lineNumber)||config.autoIndent===1){const lineText2=model.getLineContent(range2.startLineNumber);const indentation2=getLeadingWhitespace(lineText2).substring(0,range2.startColumn-1);return TypeOperations._typeCommand(range2,"\n"+config.normalizeIndentation(indentation2),keepPosition)}const r=getEnterAction(config.autoIndent,model,range2,config.languageConfigurationService);if(r){if(r.indentAction===IndentAction2.None){return TypeOperations._typeCommand(range2,"\n"+config.normalizeIndentation(r.indentation+r.appendText),keepPosition)}else if(r.indentAction===IndentAction2.Indent){return TypeOperations._typeCommand(range2,"\n"+config.normalizeIndentation(r.indentation+r.appendText),keepPosition)}else if(r.indentAction===IndentAction2.IndentOutdent){const normalIndent=config.normalizeIndentation(r.indentation);const increasedIndent=config.normalizeIndentation(r.indentation+r.appendText);const typeText="\n"+increasedIndent+"\n"+normalIndent;if(keepPosition){return new ReplaceCommandWithoutChangingPosition(range2,typeText,true)}else{return new ReplaceCommandWithOffsetCursorState(range2,typeText,-1,increasedIndent.length-normalIndent.length,true)}}else if(r.indentAction===IndentAction2.Outdent){const actualIndentation=TypeOperations.unshiftIndent(config,r.indentation);return TypeOperations._typeCommand(range2,"\n"+config.normalizeIndentation(actualIndentation+r.appendText),keepPosition)}}const lineText=model.getLineContent(range2.startLineNumber);const indentation=getLeadingWhitespace(lineText).substring(0,range2.startColumn-1);if(config.autoIndent>=4){const ir=getIndentForEnter(config.autoIndent,model,range2,{unshiftIndent:indent=>TypeOperations.unshiftIndent(config,indent),shiftIndent:indent=>TypeOperations.shiftIndent(config,indent),normalizeIndentation:indent=>config.normalizeIndentation(indent)},config.languageConfigurationService);if(ir){let oldEndViewColumn=config.visibleColumnFromColumn(model,range2.getEndPosition());const oldEndColumn=range2.endColumn;const newLineContent=model.getLineContent(range2.endLineNumber);const firstNonWhitespace=firstNonWhitespaceIndex(newLineContent);if(firstNonWhitespace>=0){range2=range2.setEndPosition(range2.endLineNumber,Math.max(range2.endColumn,firstNonWhitespace+1))}else{range2=range2.setEndPosition(range2.endLineNumber,model.getLineMaxColumn(range2.endLineNumber))}if(keepPosition){return new ReplaceCommandWithoutChangingPosition(range2,"\n"+config.normalizeIndentation(ir.afterEnter),true)}else{let offset=0;if(oldEndColumn<=firstNonWhitespace+1){if(!config.insertSpaces){oldEndViewColumn=Math.ceil(oldEndViewColumn/config.indentSize)}offset=Math.min(oldEndViewColumn+1-config.normalizeIndentation(ir.afterEnter).length-1,0)}return new ReplaceCommandWithOffsetCursorState(range2,"\n"+config.normalizeIndentation(ir.afterEnter),0,offset,true)}}}return TypeOperations._typeCommand(range2,"\n"+config.normalizeIndentation(indentation),keepPosition)}static _isAutoIndentType(config,model,selections){if(config.autoIndent<4){return false}for(let i=0,len=selections.length;i<len;i++){if(!model.tokenization.isCheapToTokenize(selections[i].getEndPosition().lineNumber)){return false}}return true}static _runAutoIndentType(config,model,range2,ch){const currentIndentation=getIndentationAtPosition(model,range2.startLineNumber,range2.startColumn);const actualIndentation=getIndentActionForType(config.autoIndent,model,range2,ch,{shiftIndent:indentation=>TypeOperations.shiftIndent(config,indentation),unshiftIndent:indentation=>TypeOperations.unshiftIndent(config,indentation)},config.languageConfigurationService);if(actualIndentation===null){return null}if(actualIndentation!==config.normalizeIndentation(currentIndentation)){const firstNonWhitespace=model.getLineFirstNonWhitespaceColumn(range2.startLineNumber);if(firstNonWhitespace===0){return TypeOperations._typeCommand(new Range(range2.startLineNumber,1,range2.endLineNumber,range2.endColumn),config.normalizeIndentation(actualIndentation)+ch,false)}else{return TypeOperations._typeCommand(new Range(range2.startLineNumber,1,range2.endLineNumber,range2.endColumn),config.normalizeIndentation(actualIndentation)+model.getLineContent(range2.startLineNumber).substring(firstNonWhitespace-1,range2.startColumn-1)+ch,false)}}return null}static _isAutoClosingOvertype(config,model,selections,autoClosedCharacters,ch){if(config.autoClosingOvertype==="never"){return false}if(!config.autoClosingPairs.autoClosingPairsCloseSingleChar.has(ch)){return false}for(let i=0,len=selections.length;i<len;i++){const selection=selections[i];if(!selection.isEmpty()){return false}const position=selection.getPosition();const lineText=model.getLineContent(position.lineNumber);const afterCharacter=lineText.charAt(position.column-1);if(afterCharacter!==ch){return false}const chIsQuote=isQuote(ch);const beforeCharacter=position.column>2?lineText.charCodeAt(position.column-2):0;if(beforeCharacter===92&&chIsQuote){return false}if(config.autoClosingOvertype==="auto"){let found=false;for(let j=0,lenJ=autoClosedCharacters.length;j<lenJ;j++){const autoClosedCharacter=autoClosedCharacters[j];if(position.lineNumber===autoClosedCharacter.startLineNumber&&position.column===autoClosedCharacter.startColumn){found=true;break}}if(!found){return false}}}return true}static _runAutoClosingOvertype(prevEditOperationType,config,model,selections,ch){const commands=[];for(let i=0,len=selections.length;i<len;i++){const selection=selections[i];const position=selection.getPosition();const typeSelection=new Range(position.lineNumber,position.column,position.lineNumber,position.column+1);commands[i]=new ReplaceCommand(typeSelection,ch)}return new EditOperationResult(4,commands,{shouldPushStackElementBefore:shouldPushStackElementBetween(prevEditOperationType,4),shouldPushStackElementAfter:false})}static _isBeforeClosingBrace(config,lineAfter){const nextChar=lineAfter.charAt(0);const potentialStartingBraces=config.autoClosingPairs.autoClosingPairsOpenByStart.get(nextChar)||[];const potentialClosingBraces=config.autoClosingPairs.autoClosingPairsCloseByStart.get(nextChar)||[];const isBeforeStartingBrace=potentialStartingBraces.some((x=>lineAfter.startsWith(x.open)));const isBeforeClosingBrace=potentialClosingBraces.some((x=>lineAfter.startsWith(x.close)));return!isBeforeStartingBrace&&isBeforeClosingBrace}static _findAutoClosingPairOpen(config,model,positions,ch){const candidates=config.autoClosingPairs.autoClosingPairsOpenByEnd.get(ch);if(!candidates){return null}let result=null;for(const candidate of candidates){if(result===null||candidate.open.length>result.open.length){let candidateIsMatch=true;for(const position of positions){const relevantText=model.getValueInRange(new Range(position.lineNumber,position.column-candidate.open.length+1,position.lineNumber,position.column));if(relevantText+ch!==candidate.open){candidateIsMatch=false;break}}if(candidateIsMatch){result=candidate}}}return result}static _findContainedAutoClosingPair(config,pair){if(pair.open.length<=1){return null}const lastChar=pair.close.charAt(pair.close.length-1);const candidates=config.autoClosingPairs.autoClosingPairsCloseByEnd.get(lastChar)||[];let result=null;for(const candidate of candidates){if(candidate.open!==pair.open&&pair.open.includes(candidate.open)&&pair.close.endsWith(candidate.close)){if(!result||candidate.open.length>result.open.length){result=candidate}}}return result}static _getAutoClosingPairClose(config,model,selections,ch,chIsAlreadyTyped){const chIsQuote=isQuote(ch);const autoCloseConfig=chIsQuote?config.autoClosingQuotes:config.autoClosingBrackets;const shouldAutoCloseBefore=chIsQuote?config.shouldAutoCloseBefore.quote:config.shouldAutoCloseBefore.bracket;if(autoCloseConfig==="never"){return null}for(const selection of selections){if(!selection.isEmpty()){return null}}const positions=selections.map((s=>{const position=s.getPosition();if(chIsAlreadyTyped){return{lineNumber:position.lineNumber,beforeColumn:position.column-ch.length,afterColumn:position.column}}else{return{lineNumber:position.lineNumber,beforeColumn:position.column,afterColumn:position.column}}}));const pair=this._findAutoClosingPairOpen(config,model,positions.map((p=>new Position(p.lineNumber,p.beforeColumn))),ch);if(!pair){return null}const containedPair=this._findContainedAutoClosingPair(config,pair);const containedPairClose=containedPair?containedPair.close:"";let isContainedPairPresent=true;for(const position of positions){const{lineNumber:lineNumber,beforeColumn:beforeColumn,afterColumn:afterColumn}=position;const lineText=model.getLineContent(lineNumber);const lineBefore=lineText.substring(0,beforeColumn-1);const lineAfter=lineText.substring(afterColumn-1);if(!lineAfter.startsWith(containedPairClose)){isContainedPairPresent=false}if(lineAfter.length>0){const characterAfter=lineAfter.charAt(0);const isBeforeCloseBrace=TypeOperations._isBeforeClosingBrace(config,lineAfter);if(!isBeforeCloseBrace&&!shouldAutoCloseBefore(characterAfter)){return null}}if(pair.open.length===1&&(ch==="'"||ch==='"')&&autoCloseConfig!=="always"){const wordSeparators2=getMapForWordSeparators(config.wordSeparators);if(lineBefore.length>0){const characterBefore=lineBefore.charCodeAt(lineBefore.length-1);if(wordSeparators2.get(characterBefore)===0){return null}}}if(!model.tokenization.isCheapToTokenize(lineNumber)){return null}model.tokenization.forceTokenization(lineNumber);const lineTokens=model.tokenization.getLineTokens(lineNumber);const scopedLineTokens=createScopedLineTokens(lineTokens,beforeColumn-1);if(!pair.shouldAutoClose(scopedLineTokens,beforeColumn-scopedLineTokens.firstCharOffset)){return null}const neutralCharacter=pair.findNeutralCharacter();if(neutralCharacter){const tokenType=model.tokenization.getTokenTypeIfInsertingCharacter(lineNumber,beforeColumn,neutralCharacter);if(!pair.isOK(tokenType)){return null}}}if(isContainedPairPresent){return pair.close.substring(0,pair.close.length-containedPairClose.length)}else{return pair.close}}static _runAutoClosingOpenCharType(prevEditOperationType,config,model,selections,ch,chIsAlreadyTyped,autoClosingPairClose){const commands=[];for(let i=0,len=selections.length;i<len;i++){const selection=selections[i];commands[i]=new TypeWithAutoClosingCommand(selection,ch,!chIsAlreadyTyped,autoClosingPairClose)}return new EditOperationResult(4,commands,{shouldPushStackElementBefore:true,shouldPushStackElementAfter:false})}static _shouldSurroundChar(config,ch){if(isQuote(ch)){return config.autoSurround==="quotes"||config.autoSurround==="languageDefined"}else{return config.autoSurround==="brackets"||config.autoSurround==="languageDefined"}}static _isSurroundSelectionType(config,model,selections,ch){if(!TypeOperations._shouldSurroundChar(config,ch)||!config.surroundingPairs.hasOwnProperty(ch)){return false}const isTypingAQuoteCharacter=isQuote(ch);for(const selection of selections){if(selection.isEmpty()){return false}let selectionContainsOnlyWhitespace=true;for(let lineNumber=selection.startLineNumber;lineNumber<=selection.endLineNumber;lineNumber++){const lineText=model.getLineContent(lineNumber);const startIndex=lineNumber===selection.startLineNumber?selection.startColumn-1:0;const endIndex=lineNumber===selection.endLineNumber?selection.endColumn-1:lineText.length;const selectedText=lineText.substring(startIndex,endIndex);if(/[^ \t]/.test(selectedText)){selectionContainsOnlyWhitespace=false;break}}if(selectionContainsOnlyWhitespace){return false}if(isTypingAQuoteCharacter&&selection.startLineNumber===selection.endLineNumber&&selection.startColumn+1===selection.endColumn){const selectionText=model.getValueInRange(selection);if(isQuote(selectionText)){return false}}}return true}static _runSurroundSelectionType(prevEditOperationType,config,model,selections,ch){const commands=[];for(let i=0,len=selections.length;i<len;i++){const selection=selections[i];const closeCharacter=config.surroundingPairs[ch];commands[i]=new SurroundSelectionCommand(selection,ch,closeCharacter)}return new EditOperationResult(0,commands,{shouldPushStackElementBefore:true,shouldPushStackElementAfter:true})}static _isTypeInterceptorElectricChar(config,model,selections){if(selections.length===1&&model.tokenization.isCheapToTokenize(selections[0].getEndPosition().lineNumber)){return true}return false}static _typeInterceptorElectricChar(prevEditOperationType,config,model,selection,ch){if(!config.electricChars.hasOwnProperty(ch)||!selection.isEmpty()){return null}const position=selection.getPosition();model.tokenization.forceTokenization(position.lineNumber);const lineTokens=model.tokenization.getLineTokens(position.lineNumber);let electricAction;try{electricAction=config.onElectricCharacter(ch,lineTokens,position.column)}catch(e){onUnexpectedError(e);return null}if(!electricAction){return null}if(electricAction.matchOpenBracket){const endColumn=(lineTokens.getLineContent()+ch).lastIndexOf(electricAction.matchOpenBracket)+1;const match2=model.bracketPairs.findMatchingBracketUp(electricAction.matchOpenBracket,{lineNumber:position.lineNumber,column:endColumn},500);if(match2){if(match2.startLineNumber===position.lineNumber){return null}const matchLine=model.getLineContent(match2.startLineNumber);const matchLineIndentation=getLeadingWhitespace(matchLine);const newIndentation=config.normalizeIndentation(matchLineIndentation);const lineText=model.getLineContent(position.lineNumber);const lineFirstNonBlankColumn=model.getLineFirstNonWhitespaceColumn(position.lineNumber)||position.column;const prefix=lineText.substring(lineFirstNonBlankColumn-1,position.column-1);const typeText=newIndentation+prefix+ch;const typeSelection=new Range(position.lineNumber,1,position.lineNumber,position.column);const command=new ReplaceCommand(typeSelection,typeText);return new EditOperationResult(getTypingOperation(typeText,prevEditOperationType),[command],{shouldPushStackElementBefore:false,shouldPushStackElementAfter:true})}}return null}static compositionEndWithInterceptors(prevEditOperationType,config,model,compositions,selections,autoClosedCharacters){if(!compositions){return null}let insertedText=null;for(const composition of compositions){if(insertedText===null){insertedText=composition.insertedText}else if(insertedText!==composition.insertedText){return null}}if(!insertedText||insertedText.length!==1){return null}const ch=insertedText;let hasDeletion=false;for(const composition of compositions){if(composition.deletedText.length!==0){hasDeletion=true;break}}if(hasDeletion){if(!TypeOperations._shouldSurroundChar(config,ch)||!config.surroundingPairs.hasOwnProperty(ch)){return null}const isTypingAQuoteCharacter=isQuote(ch);for(const composition of compositions){if(composition.deletedSelectionStart!==0||composition.deletedSelectionEnd!==composition.deletedText.length){return null}if(/^[ \t]+$/.test(composition.deletedText)){return null}if(isTypingAQuoteCharacter&&isQuote(composition.deletedText)){return null}}const positions=[];for(const selection of selections){if(!selection.isEmpty()){return null}positions.push(selection.getPosition())}if(positions.length!==compositions.length){return null}const commands=[];for(let i=0,len=positions.length;i<len;i++){commands.push(new CompositionSurroundSelectionCommand(positions[i],compositions[i].deletedText,config.surroundingPairs[ch]))}return new EditOperationResult(4,commands,{shouldPushStackElementBefore:true,shouldPushStackElementAfter:false})}if(this._isAutoClosingOvertype(config,model,selections,autoClosedCharacters,ch)){const commands=selections.map((s=>new ReplaceCommand(new Range(s.positionLineNumber,s.positionColumn,s.positionLineNumber,s.positionColumn+1),"",false)));return new EditOperationResult(4,commands,{shouldPushStackElementBefore:true,shouldPushStackElementAfter:false})}const autoClosingPairClose=this._getAutoClosingPairClose(config,model,selections,ch,true);if(autoClosingPairClose!==null){return this._runAutoClosingOpenCharType(prevEditOperationType,config,model,selections,ch,true,autoClosingPairClose)}return null}static typeWithInterceptors(isDoingComposition,prevEditOperationType,config,model,selections,autoClosedCharacters,ch){if(!isDoingComposition&&ch==="\n"){const commands2=[];for(let i=0,len=selections.length;i<len;i++){commands2[i]=TypeOperations._enter(config,model,false,selections[i])}return new EditOperationResult(4,commands2,{shouldPushStackElementBefore:true,shouldPushStackElementAfter:false})}if(!isDoingComposition&&this._isAutoIndentType(config,model,selections)){const commands2=[];let autoIndentFails=false;for(let i=0,len=selections.length;i<len;i++){commands2[i]=this._runAutoIndentType(config,model,selections[i],ch);if(!commands2[i]){autoIndentFails=true;break}}if(!autoIndentFails){return new EditOperationResult(4,commands2,{shouldPushStackElementBefore:true,shouldPushStackElementAfter:false})}}if(this._isAutoClosingOvertype(config,model,selections,autoClosedCharacters,ch)){return this._runAutoClosingOvertype(prevEditOperationType,config,model,selections,ch)}if(!isDoingComposition){const autoClosingPairClose=this._getAutoClosingPairClose(config,model,selections,ch,false);if(autoClosingPairClose){return this._runAutoClosingOpenCharType(prevEditOperationType,config,model,selections,ch,false,autoClosingPairClose)}}if(!isDoingComposition&&this._isSurroundSelectionType(config,model,selections,ch)){return this._runSurroundSelectionType(prevEditOperationType,config,model,selections,ch)}if(!isDoingComposition&&this._isTypeInterceptorElectricChar(config,model,selections)){const r=this._typeInterceptorElectricChar(prevEditOperationType,config,model,selections[0],ch);if(r){return r}}const commands=[];for(let i=0,len=selections.length;i<len;i++){commands[i]=new ReplaceCommand(selections[i],ch)}const opType=getTypingOperation(ch,prevEditOperationType);return new EditOperationResult(opType,commands,{shouldPushStackElementBefore:shouldPushStackElementBetween(prevEditOperationType,opType),shouldPushStackElementAfter:false})}static typeWithoutInterceptors(prevEditOperationType,config,model,selections,str){const commands=[];for(let i=0,len=selections.length;i<len;i++){commands[i]=new ReplaceCommand(selections[i],str)}const opType=getTypingOperation(str,prevEditOperationType);return new EditOperationResult(opType,commands,{shouldPushStackElementBefore:shouldPushStackElementBetween(prevEditOperationType,opType),shouldPushStackElementAfter:false})}static lineInsertBefore(config,model,selections){if(model===null||selections===null){return[]}const commands=[];for(let i=0,len=selections.length;i<len;i++){let lineNumber=selections[i].positionLineNumber;if(lineNumber===1){commands[i]=new ReplaceCommandWithoutChangingPosition(new Range(1,1,1,1),"\n")}else{lineNumber--;const column=model.getLineMaxColumn(lineNumber);commands[i]=this._enter(config,model,false,new Range(lineNumber,column,lineNumber,column))}}return commands}static lineInsertAfter(config,model,selections){if(model===null||selections===null){return[]}const commands=[];for(let i=0,len=selections.length;i<len;i++){const lineNumber=selections[i].positionLineNumber;const column=model.getLineMaxColumn(lineNumber);commands[i]=this._enter(config,model,false,new Range(lineNumber,column,lineNumber,column))}return commands}static lineBreakInsert(config,model,selections){const commands=[];for(let i=0,len=selections.length;i<len;i++){commands[i]=this._enter(config,model,true,selections[i])}return commands}};TypeWithAutoClosingCommand=class extends ReplaceCommandWithOffsetCursorState{constructor(selection,openCharacter,insertOpenCharacter,closeCharacter){super(selection,(insertOpenCharacter?openCharacter:"")+closeCharacter,0,-closeCharacter.length);this._openCharacter=openCharacter;this._closeCharacter=closeCharacter;this.closeCharacterRange=null;this.enclosingRange=null}computeCursorState(model,helper){const inverseEditOperations=helper.getInverseEditOperations();const range2=inverseEditOperations[0].range;this.closeCharacterRange=new Range(range2.startLineNumber,range2.endColumn-this._closeCharacter.length,range2.endLineNumber,range2.endColumn);this.enclosingRange=new Range(range2.startLineNumber,range2.endColumn-this._openCharacter.length-this._closeCharacter.length,range2.endLineNumber,range2.endColumn);return super.computeCursorState(model,helper)}};CompositionOutcome=class{constructor(deletedText,deletedSelectionStart,deletedSelectionEnd,insertedText,insertedSelectionStart,insertedSelectionEnd){this.deletedText=deletedText;this.deletedSelectionStart=deletedSelectionStart;this.deletedSelectionEnd=deletedSelectionEnd;this.insertedText=insertedText;this.insertedSelectionStart=insertedSelectionStart;this.insertedSelectionEnd=insertedSelectionEnd}}}});var EditorContextKeys;var init_editorContextKeys=__esm({"node_modules/monaco-editor/esm/vs/editor/common/editorContextKeys.js"(){init_nls();init_contextkey();(function(EditorContextKeys2){EditorContextKeys2.editorSimpleInput=new RawContextKey("editorSimpleInput",false,true);EditorContextKeys2.editorTextFocus=new RawContextKey("editorTextFocus",false,localize("editorTextFocus","Whether the editor text has focus (cursor is blinking)"));EditorContextKeys2.focus=new RawContextKey("editorFocus",false,localize("editorFocus","Whether the editor or an editor widget has focus (e.g. focus is in the find widget)"));EditorContextKeys2.textInputFocus=new RawContextKey("textInputFocus",false,localize("textInputFocus","Whether an editor or a rich text input has focus (cursor is blinking)"));EditorContextKeys2.readOnly=new RawContextKey("editorReadonly",false,localize("editorReadonly","Whether the editor is read-only"));EditorContextKeys2.inDiffEditor=new RawContextKey("inDiffEditor",false,localize("inDiffEditor","Whether the context is a diff editor"));EditorContextKeys2.isEmbeddedDiffEditor=new RawContextKey("isEmbeddedDiffEditor",false,localize("isEmbeddedDiffEditor","Whether the context is an embedded diff editor"));EditorContextKeys2.comparingMovedCode=new RawContextKey("comparingMovedCode",false,localize("comparingMovedCode","Whether a moved code block is selected for comparison"));EditorContextKeys2.accessibleDiffViewerVisible=new RawContextKey("accessibleDiffViewerVisible",false,localize("accessibleDiffViewerVisible","Whether the accessible diff viewer is visible"));EditorContextKeys2.diffEditorRenderSideBySideInlineBreakpointReached=new RawContextKey("diffEditorRenderSideBySideInlineBreakpointReached",false,localize("diffEditorRenderSideBySideInlineBreakpointReached","Whether the diff editor render side by side inline breakpoint is reached"));EditorContextKeys2.columnSelection=new RawContextKey("editorColumnSelection",false,localize("editorColumnSelection","Whether `editor.columnSelection` is enabled"));EditorContextKeys2.writable=EditorContextKeys2.readOnly.toNegated();EditorContextKeys2.hasNonEmptySelection=new RawContextKey("editorHasSelection",false,localize("editorHasSelection","Whether the editor has text selected"));EditorContextKeys2.hasOnlyEmptySelection=EditorContextKeys2.hasNonEmptySelection.toNegated();EditorContextKeys2.hasMultipleSelections=new RawContextKey("editorHasMultipleSelections",false,localize("editorHasMultipleSelections","Whether the editor has multiple selections"));EditorContextKeys2.hasSingleSelection=EditorContextKeys2.hasMultipleSelections.toNegated();EditorContextKeys2.tabMovesFocus=new RawContextKey("editorTabMovesFocus",false,localize("editorTabMovesFocus","Whether `Tab` will move focus out of the editor"));EditorContextKeys2.tabDoesNotMoveFocus=EditorContextKeys2.tabMovesFocus.toNegated();EditorContextKeys2.isInWalkThroughSnippet=new RawContextKey("isInEmbeddedEditor",false,true);EditorContextKeys2.canUndo=new RawContextKey("canUndo",false,true);EditorContextKeys2.canRedo=new RawContextKey("canRedo",false,true);EditorContextKeys2.hoverVisible=new RawContextKey("editorHoverVisible",false,localize("editorHoverVisible","Whether the editor hover is visible"));EditorContextKeys2.hoverFocused=new RawContextKey("editorHoverFocused",false,localize("editorHoverFocused","Whether the editor hover is focused"));EditorContextKeys2.stickyScrollFocused=new RawContextKey("stickyScrollFocused",false,localize("stickyScrollFocused","Whether the sticky scroll is focused"));EditorContextKeys2.stickyScrollVisible=new RawContextKey("stickyScrollVisible",false,localize("stickyScrollVisible","Whether the sticky scroll is visible"));EditorContextKeys2.standaloneColorPickerVisible=new RawContextKey("standaloneColorPickerVisible",false,localize("standaloneColorPickerVisible","Whether the standalone color picker is visible"));EditorContextKeys2.standaloneColorPickerFocused=new RawContextKey("standaloneColorPickerFocused",false,localize("standaloneColorPickerFocused","Whether the standalone color picker is focused"));EditorContextKeys2.inCompositeEditor=new RawContextKey("inCompositeEditor",void 0,localize("inCompositeEditor","Whether the editor is part of a larger editor (e.g. notebooks)"));EditorContextKeys2.notInCompositeEditor=EditorContextKeys2.inCompositeEditor.toNegated();EditorContextKeys2.languageId=new RawContextKey("editorLangId","",localize("editorLangId","The language identifier of the editor"));EditorContextKeys2.hasCompletionItemProvider=new RawContextKey("editorHasCompletionItemProvider",false,localize("editorHasCompletionItemProvider","Whether the editor has a completion item provider"));EditorContextKeys2.hasCodeActionsProvider=new RawContextKey("editorHasCodeActionsProvider",false,localize("editorHasCodeActionsProvider","Whether the editor has a code actions provider"));EditorContextKeys2.hasCodeLensProvider=new RawContextKey("editorHasCodeLensProvider",false,localize("editorHasCodeLensProvider","Whether the editor has a code lens provider"));EditorContextKeys2.hasDefinitionProvider=new RawContextKey("editorHasDefinitionProvider",false,localize("editorHasDefinitionProvider","Whether the editor has a definition provider"));EditorContextKeys2.hasDeclarationProvider=new RawContextKey("editorHasDeclarationProvider",false,localize("editorHasDeclarationProvider","Whether the editor has a declaration provider"));EditorContextKeys2.hasImplementationProvider=new RawContextKey("editorHasImplementationProvider",false,localize("editorHasImplementationProvider","Whether the editor has an implementation provider"));EditorContextKeys2.hasTypeDefinitionProvider=new RawContextKey("editorHasTypeDefinitionProvider",false,localize("editorHasTypeDefinitionProvider","Whether the editor has a type definition provider"));EditorContextKeys2.hasHoverProvider=new RawContextKey("editorHasHoverProvider",false,localize("editorHasHoverProvider","Whether the editor has a hover provider"));EditorContextKeys2.hasDocumentHighlightProvider=new RawContextKey("editorHasDocumentHighlightProvider",false,localize("editorHasDocumentHighlightProvider","Whether the editor has a document highlight provider"));EditorContextKeys2.hasDocumentSymbolProvider=new RawContextKey("editorHasDocumentSymbolProvider",false,localize("editorHasDocumentSymbolProvider","Whether the editor has a document symbol provider"));EditorContextKeys2.hasReferenceProvider=new RawContextKey("editorHasReferenceProvider",false,localize("editorHasReferenceProvider","Whether the editor has a reference provider"));EditorContextKeys2.hasRenameProvider=new RawContextKey("editorHasRenameProvider",false,localize("editorHasRenameProvider","Whether the editor has a rename provider"));EditorContextKeys2.hasSignatureHelpProvider=new RawContextKey("editorHasSignatureHelpProvider",false,localize("editorHasSignatureHelpProvider","Whether the editor has a signature help provider"));EditorContextKeys2.hasInlayHintsProvider=new RawContextKey("editorHasInlayHintsProvider",false,localize("editorHasInlayHintsProvider","Whether the editor has an inline hints provider"));EditorContextKeys2.hasDocumentFormattingProvider=new RawContextKey("editorHasDocumentFormattingProvider",false,localize("editorHasDocumentFormattingProvider","Whether the editor has a document formatting provider"));EditorContextKeys2.hasDocumentSelectionFormattingProvider=new RawContextKey("editorHasDocumentSelectionFormattingProvider",false,localize("editorHasDocumentSelectionFormattingProvider","Whether the editor has a document selection formatting provider"));EditorContextKeys2.hasMultipleDocumentFormattingProvider=new RawContextKey("editorHasMultipleDocumentFormattingProvider",false,localize("editorHasMultipleDocumentFormattingProvider","Whether the editor has multiple document formatting providers"));EditorContextKeys2.hasMultipleDocumentSelectionFormattingProvider=new RawContextKey("editorHasMultipleDocumentSelectionFormattingProvider",false,localize("editorHasMultipleDocumentSelectionFormattingProvider","Whether the editor has multiple document selection formatting providers"))})(EditorContextKeys||(EditorContextKeys={}))}});function registerColumnSelection(id,keybinding){KeybindingsRegistry.registerKeybindingRule({id:id,primary:keybinding,when:columnSelectionCondition,weight:CORE_WEIGHT+1})}function registerCommand2(command){command.register();return command}function registerOverwritableCommand(handlerId,description){registerCommand2(new EditorHandlerCommand("default:"+handlerId,handlerId));registerCommand2(new EditorHandlerCommand(handlerId,handlerId,description))}var CORE_WEIGHT,CoreEditorCommand,EditorScroll_,RevealLine_,EditorOrNativeTextInputCommand,CoreNavigationCommands,columnSelectionCondition,CoreEditingCommands,EditorHandlerCommand;var init_coreCommands=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/coreCommands.js"(){init_nls();init_browser();init_types();init_aria();init_editorExtensions();init_codeEditorService();init_cursorColumnSelection();init_cursorCommon();init_cursorDeleteOperations();init_cursorMoveCommands();init_cursorTypeOperations();init_position();init_range();init_editorContextKeys();init_contextkey();init_keybindingsRegistry();CORE_WEIGHT=0;CoreEditorCommand=class extends EditorCommand{runEditorCommand(accessor,editor2,args){const viewModel=editor2._getViewModel();if(!viewModel){return}this.runCoreEditorCommand(viewModel,args||{})}};(function(EditorScroll_2){const isEditorScrollArgs=function(arg){if(!isObject(arg)){return false}const scrollArg=arg;if(!isString(scrollArg.to)){return false}if(!isUndefined(scrollArg.by)&&!isString(scrollArg.by)){return false}if(!isUndefined(scrollArg.value)&&!isNumber(scrollArg.value)){return false}if(!isUndefined(scrollArg.revealCursor)&&!isBoolean(scrollArg.revealCursor)){return false}return true};EditorScroll_2.description={description:"Scroll editor in the given direction",args:[{name:"Editor scroll argument object",description:`Property-value pairs that can be passed through this argument:\n\t\t\t\t\t* 'to': A mandatory direction value.\n\t\t\t\t\t\t\`\`\`\n\t\t\t\t\t\t'up', 'down'\n\t\t\t\t\t\t\`\`\`\n\t\t\t\t\t* 'by': Unit to move. Default is computed based on 'to' value.\n\t\t\t\t\t\t\`\`\`\n\t\t\t\t\t\t'line', 'wrappedLine', 'page', 'halfPage', 'editor'\n\t\t\t\t\t\t\`\`\`\n\t\t\t\t\t* 'value': Number of units to move. Default is '1'.\n\t\t\t\t\t* 'revealCursor': If 'true' reveals the cursor if it is outside view port.\n\t\t\t\t`,constraint:isEditorScrollArgs,schema:{type:"object",required:["to"],properties:{to:{type:"string",enum:["up","down"]},by:{type:"string",enum:["line","wrappedLine","page","halfPage","editor"]},value:{type:"number",default:1},revealCursor:{type:"boolean"}}}}]};EditorScroll_2.RawDirection={Up:"up",Right:"right",Down:"down",Left:"left"};EditorScroll_2.RawUnit={Line:"line",WrappedLine:"wrappedLine",Page:"page",HalfPage:"halfPage",Editor:"editor",Column:"column"};function parse4(args){let direction;switch(args.to){case EditorScroll_2.RawDirection.Up:direction=1;break;case EditorScroll_2.RawDirection.Right:direction=2;break;case EditorScroll_2.RawDirection.Down:direction=3;break;case EditorScroll_2.RawDirection.Left:direction=4;break;default:return null}let unit;switch(args.by){case EditorScroll_2.RawUnit.Line:unit=1;break;case EditorScroll_2.RawUnit.WrappedLine:unit=2;break;case EditorScroll_2.RawUnit.Page:unit=3;break;case EditorScroll_2.RawUnit.HalfPage:unit=4;break;case EditorScroll_2.RawUnit.Editor:unit=5;break;case EditorScroll_2.RawUnit.Column:unit=6;break;default:unit=2}const value=Math.floor(args.value||1);const revealCursor=!!args.revealCursor;return{direction:direction,unit:unit,value:value,revealCursor:revealCursor,select:!!args.select}}EditorScroll_2.parse=parse4})(EditorScroll_||(EditorScroll_={}));(function(RevealLine_2){const isRevealLineArgs=function(arg){if(!isObject(arg)){return false}const reveaLineArg=arg;if(!isNumber(reveaLineArg.lineNumber)&&!isString(reveaLineArg.lineNumber)){return false}if(!isUndefined(reveaLineArg.at)&&!isString(reveaLineArg.at)){return false}return true};RevealLine_2.description={description:"Reveal the given line at the given logical position",args:[{name:"Reveal line argument object",description:`Property-value pairs that can be passed through this argument:\n\t\t\t\t\t* 'lineNumber': A mandatory line number value.\n\t\t\t\t\t* 'at': Logical position at which line has to be revealed.\n\t\t\t\t\t\t\`\`\`\n\t\t\t\t\t\t'top', 'center', 'bottom'\n\t\t\t\t\t\t\`\`\`\n\t\t\t\t`,constraint:isRevealLineArgs,schema:{type:"object",required:["lineNumber"],properties:{lineNumber:{type:["number","string"]},at:{type:"string",enum:["top","center","bottom"]}}}}]};RevealLine_2.RawAtArgument={Top:"top",Center:"center",Bottom:"bottom"}})(RevealLine_||(RevealLine_={}));EditorOrNativeTextInputCommand=class{constructor(target){target.addImplementation(1e4,"code-editor",((accessor,args)=>{const focusedEditor=accessor.get(ICodeEditorService).getFocusedCodeEditor();if(focusedEditor&&focusedEditor.hasTextFocus()){return this._runEditorCommand(accessor,focusedEditor,args)}return false}));target.addImplementation(1e3,"generic-dom-input-textarea",((accessor,args)=>{const activeElement=document.activeElement;if(activeElement&&["input","textarea"].indexOf(activeElement.tagName.toLowerCase())>=0){this.runDOMCommand();return true}return false}));target.addImplementation(0,"generic-dom",((accessor,args)=>{const activeEditor=accessor.get(ICodeEditorService).getActiveCodeEditor();if(activeEditor){activeEditor.focus();return this._runEditorCommand(accessor,activeEditor,args)}return false}))}_runEditorCommand(accessor,editor2,args){const result=this.runEditorCommand(accessor,editor2,args);if(result){return result}return true}};(function(CoreNavigationCommands2){class BaseMoveToCommand extends CoreEditorCommand{constructor(opts){super(opts);this._inSelectionMode=opts.inSelectionMode}runCoreEditorCommand(viewModel,args){if(!args.position){return}viewModel.model.pushStackElement();const cursorStateChanged=viewModel.setCursorStates(args.source,3,[CursorMoveCommands.moveTo(viewModel,viewModel.getPrimaryCursorState(),this._inSelectionMode,args.position,args.viewPosition)]);if(cursorStateChanged&&args.revealType!==2){viewModel.revealPrimaryCursor(args.source,true,true)}}}CoreNavigationCommands2.MoveTo=registerEditorCommand(new BaseMoveToCommand({id:"_moveTo",inSelectionMode:false,precondition:void 0}));CoreNavigationCommands2.MoveToSelect=registerEditorCommand(new BaseMoveToCommand({id:"_moveToSelect",inSelectionMode:true,precondition:void 0}));class ColumnSelectCommand extends CoreEditorCommand{runCoreEditorCommand(viewModel,args){viewModel.model.pushStackElement();const result=this._getColumnSelectResult(viewModel,viewModel.getPrimaryCursorState(),viewModel.getCursorColumnSelectData(),args);if(result===null){return}viewModel.setCursorStates(args.source,3,result.viewStates.map((viewState=>CursorState.fromViewState(viewState))));viewModel.setCursorColumnSelectData({isReal:true,fromViewLineNumber:result.fromLineNumber,fromViewVisualColumn:result.fromVisualColumn,toViewLineNumber:result.toLineNumber,toViewVisualColumn:result.toVisualColumn});if(result.reversed){viewModel.revealTopMostCursor(args.source)}else{viewModel.revealBottomMostCursor(args.source)}}}CoreNavigationCommands2.ColumnSelect=registerEditorCommand(new class extends ColumnSelectCommand{constructor(){super({id:"columnSelect",precondition:void 0})}_getColumnSelectResult(viewModel,primary,prevColumnSelectData,args){if(typeof args.position==="undefined"||typeof args.viewPosition==="undefined"||typeof args.mouseColumn==="undefined"){return null}const validatedPosition=viewModel.model.validatePosition(args.position);const validatedViewPosition=viewModel.coordinatesConverter.validateViewPosition(new Position(args.viewPosition.lineNumber,args.viewPosition.column),validatedPosition);const fromViewLineNumber=args.doColumnSelect?prevColumnSelectData.fromViewLineNumber:validatedViewPosition.lineNumber;const fromViewVisualColumn=args.doColumnSelect?prevColumnSelectData.fromViewVisualColumn:args.mouseColumn-1;return ColumnSelection.columnSelect(viewModel.cursorConfig,viewModel,fromViewLineNumber,fromViewVisualColumn,validatedViewPosition.lineNumber,args.mouseColumn-1)}});CoreNavigationCommands2.CursorColumnSelectLeft=registerEditorCommand(new class extends ColumnSelectCommand{constructor(){super({id:"cursorColumnSelectLeft",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:2048|1024|512|15,linux:{primary:0}}})}_getColumnSelectResult(viewModel,primary,prevColumnSelectData,args){return ColumnSelection.columnSelectLeft(viewModel.cursorConfig,viewModel,prevColumnSelectData)}});CoreNavigationCommands2.CursorColumnSelectRight=registerEditorCommand(new class extends ColumnSelectCommand{constructor(){super({id:"cursorColumnSelectRight",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:2048|1024|512|17,linux:{primary:0}}})}_getColumnSelectResult(viewModel,primary,prevColumnSelectData,args){return ColumnSelection.columnSelectRight(viewModel.cursorConfig,viewModel,prevColumnSelectData)}});class ColumnSelectUpCommand extends ColumnSelectCommand{constructor(opts){super(opts);this._isPaged=opts.isPaged}_getColumnSelectResult(viewModel,primary,prevColumnSelectData,args){return ColumnSelection.columnSelectUp(viewModel.cursorConfig,viewModel,prevColumnSelectData,this._isPaged)}}CoreNavigationCommands2.CursorColumnSelectUp=registerEditorCommand(new ColumnSelectUpCommand({isPaged:false,id:"cursorColumnSelectUp",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:2048|1024|512|16,linux:{primary:0}}}));CoreNavigationCommands2.CursorColumnSelectPageUp=registerEditorCommand(new ColumnSelectUpCommand({isPaged:true,id:"cursorColumnSelectPageUp",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:2048|1024|512|11,linux:{primary:0}}}));class ColumnSelectDownCommand extends ColumnSelectCommand{constructor(opts){super(opts);this._isPaged=opts.isPaged}_getColumnSelectResult(viewModel,primary,prevColumnSelectData,args){return ColumnSelection.columnSelectDown(viewModel.cursorConfig,viewModel,prevColumnSelectData,this._isPaged)}}CoreNavigationCommands2.CursorColumnSelectDown=registerEditorCommand(new ColumnSelectDownCommand({isPaged:false,id:"cursorColumnSelectDown",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:2048|1024|512|18,linux:{primary:0}}}));CoreNavigationCommands2.CursorColumnSelectPageDown=registerEditorCommand(new ColumnSelectDownCommand({isPaged:true,id:"cursorColumnSelectPageDown",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:2048|1024|512|12,linux:{primary:0}}}));class CursorMoveImpl extends CoreEditorCommand{constructor(){super({id:"cursorMove",precondition:void 0,description:CursorMove.description})}runCoreEditorCommand(viewModel,args){const parsed=CursorMove.parse(args);if(!parsed){return}this._runCursorMove(viewModel,args.source,parsed)}_runCursorMove(viewModel,source,args){viewModel.model.pushStackElement();viewModel.setCursorStates(source,3,CursorMoveImpl._move(viewModel,viewModel.getCursorStates(),args));viewModel.revealPrimaryCursor(source,true)}static _move(viewModel,cursors,args){const inSelectionMode=args.select;const value=args.value;switch(args.direction){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return CursorMoveCommands.simpleMove(viewModel,cursors,args.direction,inSelectionMode,value,args.unit);case 11:case 13:case 12:case 14:return CursorMoveCommands.viewportMove(viewModel,cursors,args.direction,inSelectionMode,value);default:return null}}}CoreNavigationCommands2.CursorMoveImpl=CursorMoveImpl;CoreNavigationCommands2.CursorMove=registerEditorCommand(new CursorMoveImpl);class CursorMoveBasedCommand extends CoreEditorCommand{constructor(opts){super(opts);this._staticArgs=opts.args}runCoreEditorCommand(viewModel,dynamicArgs){let args=this._staticArgs;if(this._staticArgs.value===-1){args={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:dynamicArgs.pageSize||viewModel.cursorConfig.pageSize}}viewModel.model.pushStackElement();viewModel.setCursorStates(dynamicArgs.source,3,CursorMoveCommands.simpleMove(viewModel,viewModel.getCursorStates(),args.direction,args.select,args.value,args.unit));viewModel.revealPrimaryCursor(dynamicArgs.source,true)}}CoreNavigationCommands2.CursorLeft=registerEditorCommand(new CursorMoveBasedCommand({args:{direction:0,unit:0,select:false,value:1},id:"cursorLeft",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:15,mac:{primary:15,secondary:[256|32]}}}));CoreNavigationCommands2.CursorLeftSelect=registerEditorCommand(new CursorMoveBasedCommand({args:{direction:0,unit:0,select:true,value:1},id:"cursorLeftSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:1024|15}}));CoreNavigationCommands2.CursorRight=registerEditorCommand(new CursorMoveBasedCommand({args:{direction:1,unit:0,select:false,value:1},id:"cursorRight",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:17,mac:{primary:17,secondary:[256|36]}}}));CoreNavigationCommands2.CursorRightSelect=registerEditorCommand(new CursorMoveBasedCommand({args:{direction:1,unit:0,select:true,value:1},id:"cursorRightSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:1024|17}}));CoreNavigationCommands2.CursorUp=registerEditorCommand(new CursorMoveBasedCommand({args:{direction:2,unit:2,select:false,value:1},id:"cursorUp",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:16,mac:{primary:16,secondary:[256|46]}}}));CoreNavigationCommands2.CursorUpSelect=registerEditorCommand(new CursorMoveBasedCommand({args:{direction:2,unit:2,select:true,value:1},id:"cursorUpSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:1024|16,secondary:[2048|1024|16],mac:{primary:1024|16},linux:{primary:1024|16}}}));CoreNavigationCommands2.CursorPageUp=registerEditorCommand(new CursorMoveBasedCommand({args:{direction:2,unit:2,select:false,value:-1},id:"cursorPageUp",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:11}}));CoreNavigationCommands2.CursorPageUpSelect=registerEditorCommand(new CursorMoveBasedCommand({args:{direction:2,unit:2,select:true,value:-1},id:"cursorPageUpSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:1024|11}}));CoreNavigationCommands2.CursorDown=registerEditorCommand(new CursorMoveBasedCommand({args:{direction:3,unit:2,select:false,value:1},id:"cursorDown",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:18,mac:{primary:18,secondary:[256|44]}}}));CoreNavigationCommands2.CursorDownSelect=registerEditorCommand(new CursorMoveBasedCommand({args:{direction:3,unit:2,select:true,value:1},id:"cursorDownSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:1024|18,secondary:[2048|1024|18],mac:{primary:1024|18},linux:{primary:1024|18}}}));CoreNavigationCommands2.CursorPageDown=registerEditorCommand(new CursorMoveBasedCommand({args:{direction:3,unit:2,select:false,value:-1},id:"cursorPageDown",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:12}}));CoreNavigationCommands2.CursorPageDownSelect=registerEditorCommand(new CursorMoveBasedCommand({args:{direction:3,unit:2,select:true,value:-1},id:"cursorPageDownSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:1024|12}}));CoreNavigationCommands2.CreateCursor=registerEditorCommand(new class extends CoreEditorCommand{constructor(){super({id:"createCursor",precondition:void 0})}runCoreEditorCommand(viewModel,args){if(!args.position){return}let newState;if(args.wholeLine){newState=CursorMoveCommands.line(viewModel,viewModel.getPrimaryCursorState(),false,args.position,args.viewPosition)}else{newState=CursorMoveCommands.moveTo(viewModel,viewModel.getPrimaryCursorState(),false,args.position,args.viewPosition)}const states=viewModel.getCursorStates();if(states.length>1){const newModelPosition=newState.modelState?newState.modelState.position:null;const newViewPosition=newState.viewState?newState.viewState.position:null;for(let i=0,len=states.length;i<len;i++){const state=states[i];if(newModelPosition&&!state.modelState.selection.containsPosition(newModelPosition)){continue}if(newViewPosition&&!state.viewState.selection.containsPosition(newViewPosition)){continue}states.splice(i,1);viewModel.model.pushStackElement();viewModel.setCursorStates(args.source,3,states);return}}states.push(newState);viewModel.model.pushStackElement();viewModel.setCursorStates(args.source,3,states)}});CoreNavigationCommands2.LastCursorMoveToSelect=registerEditorCommand(new class extends CoreEditorCommand{constructor(){super({id:"_lastCursorMoveToSelect",precondition:void 0})}runCoreEditorCommand(viewModel,args){if(!args.position){return}const lastAddedCursorIndex=viewModel.getLastAddedCursorIndex();const states=viewModel.getCursorStates();const newStates=states.slice(0);newStates[lastAddedCursorIndex]=CursorMoveCommands.moveTo(viewModel,states[lastAddedCursorIndex],true,args.position,args.viewPosition);viewModel.model.pushStackElement();viewModel.setCursorStates(args.source,3,newStates)}});class HomeCommand extends CoreEditorCommand{constructor(opts){super(opts);this._inSelectionMode=opts.inSelectionMode}runCoreEditorCommand(viewModel,args){viewModel.model.pushStackElement();viewModel.setCursorStates(args.source,3,CursorMoveCommands.moveToBeginningOfLine(viewModel,viewModel.getCursorStates(),this._inSelectionMode));viewModel.revealPrimaryCursor(args.source,true)}}CoreNavigationCommands2.CursorHome=registerEditorCommand(new HomeCommand({inSelectionMode:false,id:"cursorHome",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:14,mac:{primary:14,secondary:[2048|15]}}}));CoreNavigationCommands2.CursorHomeSelect=registerEditorCommand(new HomeCommand({inSelectionMode:true,id:"cursorHomeSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:1024|14,mac:{primary:1024|14,secondary:[2048|1024|15]}}}));class LineStartCommand extends CoreEditorCommand{constructor(opts){super(opts);this._inSelectionMode=opts.inSelectionMode}runCoreEditorCommand(viewModel,args){viewModel.model.pushStackElement();viewModel.setCursorStates(args.source,3,this._exec(viewModel.getCursorStates()));viewModel.revealPrimaryCursor(args.source,true)}_exec(cursors){const result=[];for(let i=0,len=cursors.length;i<len;i++){const cursor=cursors[i];const lineNumber=cursor.modelState.position.lineNumber;result[i]=CursorState.fromModelState(cursor.modelState.move(this._inSelectionMode,lineNumber,1,0))}return result}}CoreNavigationCommands2.CursorLineStart=registerEditorCommand(new LineStartCommand({inSelectionMode:false,id:"cursorLineStart",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|31}}}));CoreNavigationCommands2.CursorLineStartSelect=registerEditorCommand(new LineStartCommand({inSelectionMode:true,id:"cursorLineStartSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|1024|31}}}));class EndCommand extends CoreEditorCommand{constructor(opts){super(opts);this._inSelectionMode=opts.inSelectionMode}runCoreEditorCommand(viewModel,args){viewModel.model.pushStackElement();viewModel.setCursorStates(args.source,3,CursorMoveCommands.moveToEndOfLine(viewModel,viewModel.getCursorStates(),this._inSelectionMode,args.sticky||false));viewModel.revealPrimaryCursor(args.source,true)}}CoreNavigationCommands2.CursorEnd=registerEditorCommand(new EndCommand({inSelectionMode:false,id:"cursorEnd",precondition:void 0,kbOpts:{args:{sticky:false},weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:13,mac:{primary:13,secondary:[2048|17]}},description:{description:`Go to End`,args:[{name:"args",schema:{type:"object",properties:{sticky:{description:localize("stickydesc","Stick to the end even when going to longer lines"),type:"boolean",default:false}}}}]}}));CoreNavigationCommands2.CursorEndSelect=registerEditorCommand(new EndCommand({inSelectionMode:true,id:"cursorEndSelect",precondition:void 0,kbOpts:{args:{sticky:false},weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:1024|13,mac:{primary:1024|13,secondary:[2048|1024|17]}},description:{description:`Select to End`,args:[{name:"args",schema:{type:"object",properties:{sticky:{description:localize("stickydesc","Stick to the end even when going to longer lines"),type:"boolean",default:false}}}}]}}));class LineEndCommand extends CoreEditorCommand{constructor(opts){super(opts);this._inSelectionMode=opts.inSelectionMode}runCoreEditorCommand(viewModel,args){viewModel.model.pushStackElement();viewModel.setCursorStates(args.source,3,this._exec(viewModel,viewModel.getCursorStates()));viewModel.revealPrimaryCursor(args.source,true)}_exec(viewModel,cursors){const result=[];for(let i=0,len=cursors.length;i<len;i++){const cursor=cursors[i];const lineNumber=cursor.modelState.position.lineNumber;const maxColumn=viewModel.model.getLineMaxColumn(lineNumber);result[i]=CursorState.fromModelState(cursor.modelState.move(this._inSelectionMode,lineNumber,maxColumn,0))}return result}}CoreNavigationCommands2.CursorLineEnd=registerEditorCommand(new LineEndCommand({inSelectionMode:false,id:"cursorLineEnd",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|35}}}));CoreNavigationCommands2.CursorLineEndSelect=registerEditorCommand(new LineEndCommand({inSelectionMode:true,id:"cursorLineEndSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|1024|35}}}));class TopCommand extends CoreEditorCommand{constructor(opts){super(opts);this._inSelectionMode=opts.inSelectionMode}runCoreEditorCommand(viewModel,args){viewModel.model.pushStackElement();viewModel.setCursorStates(args.source,3,CursorMoveCommands.moveToBeginningOfBuffer(viewModel,viewModel.getCursorStates(),this._inSelectionMode));viewModel.revealPrimaryCursor(args.source,true)}}CoreNavigationCommands2.CursorTop=registerEditorCommand(new TopCommand({inSelectionMode:false,id:"cursorTop",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:2048|14,mac:{primary:2048|16}}}));CoreNavigationCommands2.CursorTopSelect=registerEditorCommand(new TopCommand({inSelectionMode:true,id:"cursorTopSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:2048|1024|14,mac:{primary:2048|1024|16}}}));class BottomCommand extends CoreEditorCommand{constructor(opts){super(opts);this._inSelectionMode=opts.inSelectionMode}runCoreEditorCommand(viewModel,args){viewModel.model.pushStackElement();viewModel.setCursorStates(args.source,3,CursorMoveCommands.moveToEndOfBuffer(viewModel,viewModel.getCursorStates(),this._inSelectionMode));viewModel.revealPrimaryCursor(args.source,true)}}CoreNavigationCommands2.CursorBottom=registerEditorCommand(new BottomCommand({inSelectionMode:false,id:"cursorBottom",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:2048|13,mac:{primary:2048|18}}}));CoreNavigationCommands2.CursorBottomSelect=registerEditorCommand(new BottomCommand({inSelectionMode:true,id:"cursorBottomSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:2048|1024|13,mac:{primary:2048|1024|18}}}));class EditorScrollImpl extends CoreEditorCommand{constructor(){super({id:"editorScroll",precondition:void 0,description:EditorScroll_.description})}determineScrollMethod(args){const horizontalUnits=[6];const verticalUnits=[1,2,3,4,5,6];const horizontalDirections=[4,2];const verticalDirections=[1,3];if(horizontalUnits.includes(args.unit)&&horizontalDirections.includes(args.direction)){return this._runHorizontalEditorScroll.bind(this)}if(verticalUnits.includes(args.unit)&&verticalDirections.includes(args.direction)){return this._runVerticalEditorScroll.bind(this)}return null}runCoreEditorCommand(viewModel,args){const parsed=EditorScroll_.parse(args);if(!parsed){return}const runEditorScroll=this.determineScrollMethod(parsed);if(!runEditorScroll){return}runEditorScroll(viewModel,args.source,parsed)}_runVerticalEditorScroll(viewModel,source,args){const desiredScrollTop=this._computeDesiredScrollTop(viewModel,args);if(args.revealCursor){const desiredVisibleViewRange=viewModel.getCompletelyVisibleViewRangeAtScrollTop(desiredScrollTop);viewModel.setCursorStates(source,3,[CursorMoveCommands.findPositionInViewportIfOutside(viewModel,viewModel.getPrimaryCursorState(),desiredVisibleViewRange,args.select)])}viewModel.viewLayout.setScrollPosition({scrollTop:desiredScrollTop},0)}_computeDesiredScrollTop(viewModel,args){if(args.unit===1){const futureViewport=viewModel.viewLayout.getFutureViewport();const visibleViewRange=viewModel.getCompletelyVisibleViewRangeAtScrollTop(futureViewport.top);const visibleModelRange=viewModel.coordinatesConverter.convertViewRangeToModelRange(visibleViewRange);let desiredTopModelLineNumber;if(args.direction===1){desiredTopModelLineNumber=Math.max(1,visibleModelRange.startLineNumber-args.value)}else{desiredTopModelLineNumber=Math.min(viewModel.model.getLineCount(),visibleModelRange.startLineNumber+args.value)}const viewPosition=viewModel.coordinatesConverter.convertModelPositionToViewPosition(new Position(desiredTopModelLineNumber,1));return viewModel.viewLayout.getVerticalOffsetForLineNumber(viewPosition.lineNumber)}if(args.unit===5){let desiredTopModelLineNumber=0;if(args.direction===3){desiredTopModelLineNumber=viewModel.model.getLineCount()-viewModel.cursorConfig.pageSize}return viewModel.viewLayout.getVerticalOffsetForLineNumber(desiredTopModelLineNumber)}let noOfLines;if(args.unit===3){noOfLines=viewModel.cursorConfig.pageSize*args.value}else if(args.unit===4){noOfLines=Math.round(viewModel.cursorConfig.pageSize/2)*args.value}else{noOfLines=args.value}const deltaLines=(args.direction===1?-1:1)*noOfLines;return viewModel.viewLayout.getCurrentScrollTop()+deltaLines*viewModel.cursorConfig.lineHeight}_runHorizontalEditorScroll(viewModel,source,args){const desiredScrollLeft=this._computeDesiredScrollLeft(viewModel,args);viewModel.viewLayout.setScrollPosition({scrollLeft:desiredScrollLeft},0)}_computeDesiredScrollLeft(viewModel,args){const deltaColumns=(args.direction===4?-1:1)*args.value;return viewModel.viewLayout.getCurrentScrollLeft()+deltaColumns*viewModel.cursorConfig.typicalHalfwidthCharacterWidth}}CoreNavigationCommands2.EditorScrollImpl=EditorScrollImpl;CoreNavigationCommands2.EditorScroll=registerEditorCommand(new EditorScrollImpl);CoreNavigationCommands2.ScrollLineUp=registerEditorCommand(new class extends CoreEditorCommand{constructor(){super({id:"scrollLineUp",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:2048|16,mac:{primary:256|11}}})}runCoreEditorCommand(viewModel,args){CoreNavigationCommands2.EditorScroll.runCoreEditorCommand(viewModel,{to:EditorScroll_.RawDirection.Up,by:EditorScroll_.RawUnit.WrappedLine,value:1,revealCursor:false,select:false,source:args.source})}});CoreNavigationCommands2.ScrollPageUp=registerEditorCommand(new class extends CoreEditorCommand{constructor(){super({id:"scrollPageUp",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:2048|11,win:{primary:512|11},linux:{primary:512|11}}})}runCoreEditorCommand(viewModel,args){CoreNavigationCommands2.EditorScroll.runCoreEditorCommand(viewModel,{to:EditorScroll_.RawDirection.Up,by:EditorScroll_.RawUnit.Page,value:1,revealCursor:false,select:false,source:args.source})}});CoreNavigationCommands2.ScrollEditorTop=registerEditorCommand(new class extends CoreEditorCommand{constructor(){super({id:"scrollEditorTop",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus}})}runCoreEditorCommand(viewModel,args){CoreNavigationCommands2.EditorScroll.runCoreEditorCommand(viewModel,{to:EditorScroll_.RawDirection.Up,by:EditorScroll_.RawUnit.Editor,value:1,revealCursor:false,select:false,source:args.source})}});CoreNavigationCommands2.ScrollLineDown=registerEditorCommand(new class extends CoreEditorCommand{constructor(){super({id:"scrollLineDown",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:2048|18,mac:{primary:256|12}}})}runCoreEditorCommand(viewModel,args){CoreNavigationCommands2.EditorScroll.runCoreEditorCommand(viewModel,{to:EditorScroll_.RawDirection.Down,by:EditorScroll_.RawUnit.WrappedLine,value:1,revealCursor:false,select:false,source:args.source})}});CoreNavigationCommands2.ScrollPageDown=registerEditorCommand(new class extends CoreEditorCommand{constructor(){super({id:"scrollPageDown",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:2048|12,win:{primary:512|12},linux:{primary:512|12}}})}runCoreEditorCommand(viewModel,args){CoreNavigationCommands2.EditorScroll.runCoreEditorCommand(viewModel,{to:EditorScroll_.RawDirection.Down,by:EditorScroll_.RawUnit.Page,value:1,revealCursor:false,select:false,source:args.source})}});CoreNavigationCommands2.ScrollEditorBottom=registerEditorCommand(new class extends CoreEditorCommand{constructor(){super({id:"scrollEditorBottom",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus}})}runCoreEditorCommand(viewModel,args){CoreNavigationCommands2.EditorScroll.runCoreEditorCommand(viewModel,{to:EditorScroll_.RawDirection.Down,by:EditorScroll_.RawUnit.Editor,value:1,revealCursor:false,select:false,source:args.source})}});CoreNavigationCommands2.ScrollLeft=registerEditorCommand(new class extends CoreEditorCommand{constructor(){super({id:"scrollLeft",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus}})}runCoreEditorCommand(viewModel,args){CoreNavigationCommands2.EditorScroll.runCoreEditorCommand(viewModel,{to:EditorScroll_.RawDirection.Left,by:EditorScroll_.RawUnit.Column,value:2,revealCursor:false,select:false,source:args.source})}});CoreNavigationCommands2.ScrollRight=registerEditorCommand(new class extends CoreEditorCommand{constructor(){super({id:"scrollRight",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus}})}runCoreEditorCommand(viewModel,args){CoreNavigationCommands2.EditorScroll.runCoreEditorCommand(viewModel,{to:EditorScroll_.RawDirection.Right,by:EditorScroll_.RawUnit.Column,value:2,revealCursor:false,select:false,source:args.source})}});class WordCommand extends CoreEditorCommand{constructor(opts){super(opts);this._inSelectionMode=opts.inSelectionMode}runCoreEditorCommand(viewModel,args){if(!args.position){return}viewModel.model.pushStackElement();viewModel.setCursorStates(args.source,3,[CursorMoveCommands.word(viewModel,viewModel.getPrimaryCursorState(),this._inSelectionMode,args.position)]);if(args.revealType!==2){viewModel.revealPrimaryCursor(args.source,true,true)}}}CoreNavigationCommands2.WordSelect=registerEditorCommand(new WordCommand({inSelectionMode:false,id:"_wordSelect",precondition:void 0}));CoreNavigationCommands2.WordSelectDrag=registerEditorCommand(new WordCommand({inSelectionMode:true,id:"_wordSelectDrag",precondition:void 0}));CoreNavigationCommands2.LastCursorWordSelect=registerEditorCommand(new class extends CoreEditorCommand{constructor(){super({id:"lastCursorWordSelect",precondition:void 0})}runCoreEditorCommand(viewModel,args){if(!args.position){return}const lastAddedCursorIndex=viewModel.getLastAddedCursorIndex();const states=viewModel.getCursorStates();const newStates=states.slice(0);const lastAddedState=states[lastAddedCursorIndex];newStates[lastAddedCursorIndex]=CursorMoveCommands.word(viewModel,lastAddedState,lastAddedState.modelState.hasSelection(),args.position);viewModel.model.pushStackElement();viewModel.setCursorStates(args.source,3,newStates)}});class LineCommand extends CoreEditorCommand{constructor(opts){super(opts);this._inSelectionMode=opts.inSelectionMode}runCoreEditorCommand(viewModel,args){if(!args.position){return}viewModel.model.pushStackElement();viewModel.setCursorStates(args.source,3,[CursorMoveCommands.line(viewModel,viewModel.getPrimaryCursorState(),this._inSelectionMode,args.position,args.viewPosition)]);if(args.revealType!==2){viewModel.revealPrimaryCursor(args.source,false,true)}}}CoreNavigationCommands2.LineSelect=registerEditorCommand(new LineCommand({inSelectionMode:false,id:"_lineSelect",precondition:void 0}));CoreNavigationCommands2.LineSelectDrag=registerEditorCommand(new LineCommand({inSelectionMode:true,id:"_lineSelectDrag",precondition:void 0}));class LastCursorLineCommand extends CoreEditorCommand{constructor(opts){super(opts);this._inSelectionMode=opts.inSelectionMode}runCoreEditorCommand(viewModel,args){if(!args.position){return}const lastAddedCursorIndex=viewModel.getLastAddedCursorIndex();const states=viewModel.getCursorStates();const newStates=states.slice(0);newStates[lastAddedCursorIndex]=CursorMoveCommands.line(viewModel,states[lastAddedCursorIndex],this._inSelectionMode,args.position,args.viewPosition);viewModel.model.pushStackElement();viewModel.setCursorStates(args.source,3,newStates)}}CoreNavigationCommands2.LastCursorLineSelect=registerEditorCommand(new LastCursorLineCommand({inSelectionMode:false,id:"lastCursorLineSelect",precondition:void 0}));CoreNavigationCommands2.LastCursorLineSelectDrag=registerEditorCommand(new LastCursorLineCommand({inSelectionMode:true,id:"lastCursorLineSelectDrag",precondition:void 0}));CoreNavigationCommands2.CancelSelection=registerEditorCommand(new class extends CoreEditorCommand{constructor(){super({id:"cancelSelection",precondition:EditorContextKeys.hasNonEmptySelection,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:9,secondary:[1024|9]}})}runCoreEditorCommand(viewModel,args){viewModel.model.pushStackElement();viewModel.setCursorStates(args.source,3,[CursorMoveCommands.cancelSelection(viewModel,viewModel.getPrimaryCursorState())]);viewModel.revealPrimaryCursor(args.source,true)}});CoreNavigationCommands2.RemoveSecondaryCursors=registerEditorCommand(new class extends CoreEditorCommand{constructor(){super({id:"removeSecondaryCursors",precondition:EditorContextKeys.hasMultipleSelections,kbOpts:{weight:CORE_WEIGHT+1,kbExpr:EditorContextKeys.textInputFocus,primary:9,secondary:[1024|9]}})}runCoreEditorCommand(viewModel,args){viewModel.model.pushStackElement();viewModel.setCursorStates(args.source,3,[viewModel.getPrimaryCursorState()]);viewModel.revealPrimaryCursor(args.source,true);status(localize("removedCursor","Removed secondary cursors"))}});CoreNavigationCommands2.RevealLine=registerEditorCommand(new class extends CoreEditorCommand{constructor(){super({id:"revealLine",precondition:void 0,description:RevealLine_.description})}runCoreEditorCommand(viewModel,args){const revealLineArg=args;const lineNumberArg=revealLineArg.lineNumber||0;let lineNumber=typeof lineNumberArg==="number"?lineNumberArg+1:parseInt(lineNumberArg)+1;if(lineNumber<1){lineNumber=1}const lineCount=viewModel.model.getLineCount();if(lineNumber>lineCount){lineNumber=lineCount}const range2=new Range(lineNumber,1,lineNumber,viewModel.model.getLineMaxColumn(lineNumber));let revealAt=0;if(revealLineArg.at){switch(revealLineArg.at){case RevealLine_.RawAtArgument.Top:revealAt=3;break;case RevealLine_.RawAtArgument.Center:revealAt=1;break;case RevealLine_.RawAtArgument.Bottom:revealAt=4;break;default:break}}const viewRange=viewModel.coordinatesConverter.convertModelRangeToViewRange(range2);viewModel.revealRange(args.source,false,viewRange,revealAt,0)}});CoreNavigationCommands2.SelectAll=new class extends EditorOrNativeTextInputCommand{constructor(){super(SelectAllCommand)}runDOMCommand(){if(isFirefox2){document.activeElement.focus();document.activeElement.select()}document.execCommand("selectAll")}runEditorCommand(accessor,editor2,args){const viewModel=editor2._getViewModel();if(!viewModel){return}this.runCoreEditorCommand(viewModel,args)}runCoreEditorCommand(viewModel,args){viewModel.model.pushStackElement();viewModel.setCursorStates("keyboard",3,[CursorMoveCommands.selectAll(viewModel,viewModel.getPrimaryCursorState())])}};CoreNavigationCommands2.SetSelection=registerEditorCommand(new class extends CoreEditorCommand{constructor(){super({id:"setSelection",precondition:void 0})}runCoreEditorCommand(viewModel,args){if(!args.selection){return}viewModel.model.pushStackElement();viewModel.setCursorStates(args.source,3,[CursorState.fromModelSelection(args.selection)])}})})(CoreNavigationCommands||(CoreNavigationCommands={}));columnSelectionCondition=ContextKeyExpr.and(EditorContextKeys.textInputFocus,EditorContextKeys.columnSelection);registerColumnSelection(CoreNavigationCommands.CursorColumnSelectLeft.id,1024|15);registerColumnSelection(CoreNavigationCommands.CursorColumnSelectRight.id,1024|17);registerColumnSelection(CoreNavigationCommands.CursorColumnSelectUp.id,1024|16);registerColumnSelection(CoreNavigationCommands.CursorColumnSelectPageUp.id,1024|11);registerColumnSelection(CoreNavigationCommands.CursorColumnSelectDown.id,1024|18);registerColumnSelection(CoreNavigationCommands.CursorColumnSelectPageDown.id,1024|12);(function(CoreEditingCommands2){class CoreEditingCommand extends EditorCommand{runEditorCommand(accessor,editor2,args){const viewModel=editor2._getViewModel();if(!viewModel){return}this.runCoreEditingCommand(editor2,viewModel,args||{})}}CoreEditingCommands2.CoreEditingCommand=CoreEditingCommand;CoreEditingCommands2.LineBreakInsert=registerEditorCommand(new class extends CoreEditingCommand{constructor(){super({id:"lineBreakInsert",precondition:EditorContextKeys.writable,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|45}}})}runCoreEditingCommand(editor2,viewModel,args){editor2.pushUndoStop();editor2.executeCommands(this.id,TypeOperations.lineBreakInsert(viewModel.cursorConfig,viewModel.model,viewModel.getCursorStates().map((s=>s.modelState.selection))))}});CoreEditingCommands2.Outdent=registerEditorCommand(new class extends CoreEditingCommand{constructor(){super({id:"outdent",precondition:EditorContextKeys.writable,kbOpts:{weight:CORE_WEIGHT,kbExpr:ContextKeyExpr.and(EditorContextKeys.editorTextFocus,EditorContextKeys.tabDoesNotMoveFocus),primary:1024|2}})}runCoreEditingCommand(editor2,viewModel,args){editor2.pushUndoStop();editor2.executeCommands(this.id,TypeOperations.outdent(viewModel.cursorConfig,viewModel.model,viewModel.getCursorStates().map((s=>s.modelState.selection))));editor2.pushUndoStop()}});CoreEditingCommands2.Tab=registerEditorCommand(new class extends CoreEditingCommand{constructor(){super({id:"tab",precondition:EditorContextKeys.writable,kbOpts:{weight:CORE_WEIGHT,kbExpr:ContextKeyExpr.and(EditorContextKeys.editorTextFocus,EditorContextKeys.tabDoesNotMoveFocus),primary:2}})}runCoreEditingCommand(editor2,viewModel,args){editor2.pushUndoStop();editor2.executeCommands(this.id,TypeOperations.tab(viewModel.cursorConfig,viewModel.model,viewModel.getCursorStates().map((s=>s.modelState.selection))));editor2.pushUndoStop()}});CoreEditingCommands2.DeleteLeft=registerEditorCommand(new class extends CoreEditingCommand{constructor(){super({id:"deleteLeft",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:1,secondary:[1024|1],mac:{primary:1,secondary:[1024|1,256|38,256|1]}}})}runCoreEditingCommand(editor2,viewModel,args){const[shouldPushStackElementBefore,commands]=DeleteOperations.deleteLeft(viewModel.getPrevEditOperationType(),viewModel.cursorConfig,viewModel.model,viewModel.getCursorStates().map((s=>s.modelState.selection)),viewModel.getCursorAutoClosedCharacters());if(shouldPushStackElementBefore){editor2.pushUndoStop()}editor2.executeCommands(this.id,commands);viewModel.setPrevEditOperationType(2)}});CoreEditingCommands2.DeleteRight=registerEditorCommand(new class extends CoreEditingCommand{constructor(){super({id:"deleteRight",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:20,mac:{primary:20,secondary:[256|34,256|20]}}})}runCoreEditingCommand(editor2,viewModel,args){const[shouldPushStackElementBefore,commands]=DeleteOperations.deleteRight(viewModel.getPrevEditOperationType(),viewModel.cursorConfig,viewModel.model,viewModel.getCursorStates().map((s=>s.modelState.selection)));if(shouldPushStackElementBefore){editor2.pushUndoStop()}editor2.executeCommands(this.id,commands);viewModel.setPrevEditOperationType(3)}});CoreEditingCommands2.Undo=new class extends EditorOrNativeTextInputCommand{constructor(){super(UndoCommand)}runDOMCommand(){document.execCommand("undo")}runEditorCommand(accessor,editor2,args){if(!editor2.hasModel()||editor2.getOption(89)===true){return}return editor2.getModel().undo()}};CoreEditingCommands2.Redo=new class extends EditorOrNativeTextInputCommand{constructor(){super(RedoCommand)}runDOMCommand(){document.execCommand("redo")}runEditorCommand(accessor,editor2,args){if(!editor2.hasModel()||editor2.getOption(89)===true){return}return editor2.getModel().redo()}}})(CoreEditingCommands||(CoreEditingCommands={}));EditorHandlerCommand=class extends Command2{constructor(id,handlerId,description){super({id:id,precondition:void 0,description:description});this._handlerId=handlerId}runCommand(accessor,args){const editor2=accessor.get(ICodeEditorService).getFocusedCodeEditor();if(!editor2){return}editor2.trigger("keyboard",this._handlerId,args)}};registerOverwritableCommand("type",{description:`Type`,args:[{name:"args",schema:{type:"object",required:["text"],properties:{text:{type:"string"}}}}]});registerOverwritableCommand("replacePreviousChar");registerOverwritableCommand("compositionType");registerOverwritableCommand("compositionStart");registerOverwritableCommand("compositionEnd");registerOverwritableCommand("paste");registerOverwritableCommand("cut")}});var ViewController;var init_viewController=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/view/viewController.js"(){init_coreCommands();init_position();init_platform();ViewController=class{constructor(configuration,viewModel,userInputEvents,commandDelegate){this.configuration=configuration;this.viewModel=viewModel;this.userInputEvents=userInputEvents;this.commandDelegate=commandDelegate}paste(text2,pasteOnNewLine,multicursorText,mode){this.commandDelegate.paste(text2,pasteOnNewLine,multicursorText,mode)}type(text2){this.commandDelegate.type(text2)}compositionType(text2,replacePrevCharCnt,replaceNextCharCnt,positionDelta){this.commandDelegate.compositionType(text2,replacePrevCharCnt,replaceNextCharCnt,positionDelta)}compositionStart(){this.commandDelegate.startComposition()}compositionEnd(){this.commandDelegate.endComposition()}cut(){this.commandDelegate.cut()}setSelection(modelSelection){CoreNavigationCommands.SetSelection.runCoreEditorCommand(this.viewModel,{source:"keyboard",selection:modelSelection})}_validateViewColumn(viewPosition){const minColumn=this.viewModel.getLineMinColumn(viewPosition.lineNumber);if(viewPosition.column<minColumn){return new Position(viewPosition.lineNumber,minColumn)}return viewPosition}_hasMulticursorModifier(data){switch(this.configuration.options.get(76)){case"altKey":return data.altKey;case"ctrlKey":return data.ctrlKey;case"metaKey":return data.metaKey;default:return false}}_hasNonMulticursorModifier(data){switch(this.configuration.options.get(76)){case"altKey":return data.ctrlKey||data.metaKey;case"ctrlKey":return data.altKey||data.metaKey;case"metaKey":return data.ctrlKey||data.altKey;default:return false}}dispatchMouse(data){const options2=this.configuration.options;const selectionClipboardIsOn=isLinux&&options2.get(105);const columnSelection=options2.get(21);if(data.middleButton&&!selectionClipboardIsOn){this._columnSelect(data.position,data.mouseColumn,data.inSelectionMode)}else if(data.startedOnLineNumbers){if(this._hasMulticursorModifier(data)){if(data.inSelectionMode){this._lastCursorLineSelect(data.position,data.revealType)}else{this._createCursor(data.position,true)}}else{if(data.inSelectionMode){this._lineSelectDrag(data.position,data.revealType)}else{this._lineSelect(data.position,data.revealType)}}}else if(data.mouseDownCount>=4){this._selectAll()}else if(data.mouseDownCount===3){if(this._hasMulticursorModifier(data)){if(data.inSelectionMode){this._lastCursorLineSelectDrag(data.position,data.revealType)}else{this._lastCursorLineSelect(data.position,data.revealType)}}else{if(data.inSelectionMode){this._lineSelectDrag(data.position,data.revealType)}else{this._lineSelect(data.position,data.revealType)}}}else if(data.mouseDownCount===2){if(!data.onInjectedText){if(this._hasMulticursorModifier(data)){this._lastCursorWordSelect(data.position,data.revealType)}else{if(data.inSelectionMode){this._wordSelectDrag(data.position,data.revealType)}else{this._wordSelect(data.position,data.revealType)}}}}else{if(this._hasMulticursorModifier(data)){if(!this._hasNonMulticursorModifier(data)){if(data.shiftKey){this._columnSelect(data.position,data.mouseColumn,true)}else{if(data.inSelectionMode){this._lastCursorMoveToSelect(data.position,data.revealType)}else{this._createCursor(data.position,false)}}}}else{if(data.inSelectionMode){if(data.altKey){this._columnSelect(data.position,data.mouseColumn,true)}else{if(columnSelection){this._columnSelect(data.position,data.mouseColumn,true)}else{this._moveToSelect(data.position,data.revealType)}}}else{this.moveTo(data.position,data.revealType)}}}}_usualArgs(viewPosition,revealType){viewPosition=this._validateViewColumn(viewPosition);return{source:"mouse",position:this._convertViewToModelPosition(viewPosition),viewPosition:viewPosition,revealType:revealType}}moveTo(viewPosition,revealType){CoreNavigationCommands.MoveTo.runCoreEditorCommand(this.viewModel,this._usualArgs(viewPosition,revealType))}_moveToSelect(viewPosition,revealType){CoreNavigationCommands.MoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(viewPosition,revealType))}_columnSelect(viewPosition,mouseColumn,doColumnSelect){viewPosition=this._validateViewColumn(viewPosition);CoreNavigationCommands.ColumnSelect.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(viewPosition),viewPosition:viewPosition,mouseColumn:mouseColumn,doColumnSelect:doColumnSelect})}_createCursor(viewPosition,wholeLine){viewPosition=this._validateViewColumn(viewPosition);CoreNavigationCommands.CreateCursor.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(viewPosition),viewPosition:viewPosition,wholeLine:wholeLine})}_lastCursorMoveToSelect(viewPosition,revealType){CoreNavigationCommands.LastCursorMoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(viewPosition,revealType))}_wordSelect(viewPosition,revealType){CoreNavigationCommands.WordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(viewPosition,revealType))}_wordSelectDrag(viewPosition,revealType){CoreNavigationCommands.WordSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(viewPosition,revealType))}_lastCursorWordSelect(viewPosition,revealType){CoreNavigationCommands.LastCursorWordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(viewPosition,revealType))}_lineSelect(viewPosition,revealType){CoreNavigationCommands.LineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(viewPosition,revealType))}_lineSelectDrag(viewPosition,revealType){CoreNavigationCommands.LineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(viewPosition,revealType))}_lastCursorLineSelect(viewPosition,revealType){CoreNavigationCommands.LastCursorLineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(viewPosition,revealType))}_lastCursorLineSelectDrag(viewPosition,revealType){CoreNavigationCommands.LastCursorLineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(viewPosition,revealType))}_selectAll(){CoreNavigationCommands.SelectAll.runCoreEditorCommand(this.viewModel,{source:"mouse"})}_convertViewToModelPosition(viewPosition){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(viewPosition)}emitKeyDown(e){this.userInputEvents.emitKeyDown(e)}emitKeyUp(e){this.userInputEvents.emitKeyUp(e)}emitContextMenu(e){this.userInputEvents.emitContextMenu(e)}emitMouseMove(e){this.userInputEvents.emitMouseMove(e)}emitMouseLeave(e){this.userInputEvents.emitMouseLeave(e)}emitMouseUp(e){this.userInputEvents.emitMouseUp(e)}emitMouseDown(e){this.userInputEvents.emitMouseDown(e)}emitMouseDrag(e){this.userInputEvents.emitMouseDrag(e)}emitMouseDrop(e){this.userInputEvents.emitMouseDrop(e)}emitMouseDropCanceled(){this.userInputEvents.emitMouseDropCanceled()}emitMouseWheel(e){this.userInputEvents.emitMouseWheel(e)}}}});var ViewUserInputEvents;var init_viewUserInputEvents=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/view/viewUserInputEvents.js"(){init_position();ViewUserInputEvents=class{constructor(coordinatesConverter){this.onKeyDown=null;this.onKeyUp=null;this.onContextMenu=null;this.onMouseMove=null;this.onMouseLeave=null;this.onMouseDown=null;this.onMouseUp=null;this.onMouseDrag=null;this.onMouseDrop=null;this.onMouseDropCanceled=null;this.onMouseWheel=null;this._coordinatesConverter=coordinatesConverter}emitKeyDown(e){var _a6;(_a6=this.onKeyDown)===null||_a6===void 0?void 0:_a6.call(this,e)}emitKeyUp(e){var _a6;(_a6=this.onKeyUp)===null||_a6===void 0?void 0:_a6.call(this,e)}emitContextMenu(e){var _a6;(_a6=this.onContextMenu)===null||_a6===void 0?void 0:_a6.call(this,this._convertViewToModelMouseEvent(e))}emitMouseMove(e){var _a6;(_a6=this.onMouseMove)===null||_a6===void 0?void 0:_a6.call(this,this._convertViewToModelMouseEvent(e))}emitMouseLeave(e){var _a6;(_a6=this.onMouseLeave)===null||_a6===void 0?void 0:_a6.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDown(e){var _a6;(_a6=this.onMouseDown)===null||_a6===void 0?void 0:_a6.call(this,this._convertViewToModelMouseEvent(e))}emitMouseUp(e){var _a6;(_a6=this.onMouseUp)===null||_a6===void 0?void 0:_a6.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDrag(e){var _a6;(_a6=this.onMouseDrag)===null||_a6===void 0?void 0:_a6.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDrop(e){var _a6;(_a6=this.onMouseDrop)===null||_a6===void 0?void 0:_a6.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDropCanceled(){var _a6;(_a6=this.onMouseDropCanceled)===null||_a6===void 0?void 0:_a6.call(this)}emitMouseWheel(e){var _a6;(_a6=this.onMouseWheel)===null||_a6===void 0?void 0:_a6.call(this,e)}_convertViewToModelMouseEvent(e){if(e.target){return{event:e.event,target:this._convertViewToModelMouseTarget(e.target)}}return e}_convertViewToModelMouseTarget(target){return ViewUserInputEvents.convertViewToModelMouseTarget(target,this._coordinatesConverter)}static convertViewToModelMouseTarget(target,coordinatesConverter){const result=Object.assign({},target);if(result.position){result.position=coordinatesConverter.convertViewPositionToModelPosition(result.position)}if(result.range){result.range=coordinatesConverter.convertViewRangeToModelRange(result.range)}if(result.type===5||result.type===8){result.detail=this.convertViewToModelViewZoneData(result.detail,coordinatesConverter)}return result}static convertViewToModelViewZoneData(data,coordinatesConverter){return{viewZoneId:data.viewZoneId,positionBefore:data.positionBefore?coordinatesConverter.convertViewPositionToModelPosition(data.positionBefore):data.positionBefore,positionAfter:data.positionAfter?coordinatesConverter.convertViewPositionToModelPosition(data.positionAfter):data.positionAfter,position:coordinatesConverter.convertViewPositionToModelPosition(data.position),afterLineNumber:coordinatesConverter.convertViewPositionToModelPosition(new Position(data.afterLineNumber,1)).lineNumber}}}}});var RenderedLinesCollection,VisibleLinesCollection,ViewLayerRenderer;var init_viewLayer=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/view/viewLayer.js"(){init_fastDomNode();init_trustedTypes();init_errors();init_stringBuilder();RenderedLinesCollection=class{constructor(createLine){this._createLine=createLine;this._set(1,[])}flush(){this._set(1,[])}_set(rendLineNumberStart,lines){this._lines=lines;this._rendLineNumberStart=rendLineNumberStart}_get(){return{rendLineNumberStart:this._rendLineNumberStart,lines:this._lines}}getStartLineNumber(){return this._rendLineNumberStart}getEndLineNumber(){return this._rendLineNumberStart+this._lines.length-1}getCount(){return this._lines.length}getLine(lineNumber){const lineIndex=lineNumber-this._rendLineNumberStart;if(lineIndex<0||lineIndex>=this._lines.length){throw new BugIndicatingError("Illegal value for lineNumber")}return this._lines[lineIndex]}onLinesDeleted(deleteFromLineNumber,deleteToLineNumber){if(this.getCount()===0){return null}const startLineNumber=this.getStartLineNumber();const endLineNumber=this.getEndLineNumber();if(deleteToLineNumber<startLineNumber){const deleteCnt=deleteToLineNumber-deleteFromLineNumber+1;this._rendLineNumberStart-=deleteCnt;return null}if(deleteFromLineNumber>endLineNumber){return null}let deleteStartIndex=0;let deleteCount=0;for(let lineNumber=startLineNumber;lineNumber<=endLineNumber;lineNumber++){const lineIndex=lineNumber-this._rendLineNumberStart;if(deleteFromLineNumber<=lineNumber&&lineNumber<=deleteToLineNumber){if(deleteCount===0){deleteStartIndex=lineIndex;deleteCount=1}else{deleteCount++}}}if(deleteFromLineNumber<startLineNumber){let deleteAboveCount=0;if(deleteToLineNumber<startLineNumber){deleteAboveCount=deleteToLineNumber-deleteFromLineNumber+1}else{deleteAboveCount=startLineNumber-deleteFromLineNumber}this._rendLineNumberStart-=deleteAboveCount}const deleted=this._lines.splice(deleteStartIndex,deleteCount);return deleted}onLinesChanged(changeFromLineNumber,changeCount){const changeToLineNumber=changeFromLineNumber+changeCount-1;if(this.getCount()===0){return false}const startLineNumber=this.getStartLineNumber();const endLineNumber=this.getEndLineNumber();let someoneNotified=false;for(let changedLineNumber=changeFromLineNumber;changedLineNumber<=changeToLineNumber;changedLineNumber++){if(changedLineNumber>=startLineNumber&&changedLineNumber<=endLineNumber){this._lines[changedLineNumber-this._rendLineNumberStart].onContentChanged();someoneNotified=true}}return someoneNotified}onLinesInserted(insertFromLineNumber,insertToLineNumber){if(this.getCount()===0){return null}const insertCnt=insertToLineNumber-insertFromLineNumber+1;const startLineNumber=this.getStartLineNumber();const endLineNumber=this.getEndLineNumber();if(insertFromLineNumber<=startLineNumber){this._rendLineNumberStart+=insertCnt;return null}if(insertFromLineNumber>endLineNumber){return null}if(insertCnt+insertFromLineNumber>endLineNumber){const deleted=this._lines.splice(insertFromLineNumber-this._rendLineNumberStart,endLineNumber-insertFromLineNumber+1);return deleted}const newLines=[];for(let i=0;i<insertCnt;i++){newLines[i]=this._createLine()}const insertIndex=insertFromLineNumber-this._rendLineNumberStart;const beforeLines=this._lines.slice(0,insertIndex);const afterLines=this._lines.slice(insertIndex,this._lines.length-insertCnt);const deletedLines=this._lines.slice(this._lines.length-insertCnt,this._lines.length);this._lines=beforeLines.concat(newLines).concat(afterLines);return deletedLines}onTokensChanged(ranges){if(this.getCount()===0){return false}const startLineNumber=this.getStartLineNumber();const endLineNumber=this.getEndLineNumber();let notifiedSomeone=false;for(let i=0,len=ranges.length;i<len;i++){const rng=ranges[i];if(rng.toLineNumber<startLineNumber||rng.fromLineNumber>endLineNumber){continue}const from=Math.max(startLineNumber,rng.fromLineNumber);const to=Math.min(endLineNumber,rng.toLineNumber);for(let lineNumber=from;lineNumber<=to;lineNumber++){const lineIndex=lineNumber-this._rendLineNumberStart;this._lines[lineIndex].onTokensChanged();notifiedSomeone=true}}return notifiedSomeone}};VisibleLinesCollection=class{constructor(host){this._host=host;this.domNode=this._createDomNode();this._linesCollection=new RenderedLinesCollection((()=>this._host.createVisibleLine()))}_createDomNode(){const domNode=createFastDomNode(document.createElement("div"));domNode.setClassName("view-layer");domNode.setPosition("absolute");domNode.domNode.setAttribute("role","presentation");domNode.domNode.setAttribute("aria-hidden","true");return domNode}onConfigurationChanged(e){if(e.hasChanged(142)){return true}return false}onFlushed(e){this._linesCollection.flush();return true}onLinesChanged(e){return this._linesCollection.onLinesChanged(e.fromLineNumber,e.count)}onLinesDeleted(e){const deleted=this._linesCollection.onLinesDeleted(e.fromLineNumber,e.toLineNumber);if(deleted){for(let i=0,len=deleted.length;i<len;i++){const lineDomNode=deleted[i].getDomNode();if(lineDomNode){this.domNode.domNode.removeChild(lineDomNode)}}}return true}onLinesInserted(e){const deleted=this._linesCollection.onLinesInserted(e.fromLineNumber,e.toLineNumber);if(deleted){for(let i=0,len=deleted.length;i<len;i++){const lineDomNode=deleted[i].getDomNode();if(lineDomNode){this.domNode.domNode.removeChild(lineDomNode)}}}return true}onScrollChanged(e){return e.scrollTopChanged}onTokensChanged(e){return this._linesCollection.onTokensChanged(e.ranges)}onZonesChanged(e){return true}getStartLineNumber(){return this._linesCollection.getStartLineNumber()}getEndLineNumber(){return this._linesCollection.getEndLineNumber()}getVisibleLine(lineNumber){return this._linesCollection.getLine(lineNumber)}renderLines(viewportData){const inp=this._linesCollection._get();const renderer=new ViewLayerRenderer(this.domNode.domNode,this._host,viewportData);const ctx={rendLineNumberStart:inp.rendLineNumberStart,lines:inp.lines,linesLength:inp.lines.length};const resCtx=renderer.render(ctx,viewportData.startLineNumber,viewportData.endLineNumber,viewportData.relativeVerticalOffset);this._linesCollection._set(resCtx.rendLineNumberStart,resCtx.lines)}};ViewLayerRenderer=class{constructor(domNode,host,viewportData){this.domNode=domNode;this.host=host;this.viewportData=viewportData}render(inContext,startLineNumber,stopLineNumber,deltaTop){const ctx={rendLineNumberStart:inContext.rendLineNumberStart,lines:inContext.lines.slice(0),linesLength:inContext.linesLength};if(ctx.rendLineNumberStart+ctx.linesLength-1<startLineNumber||stopLineNumber<ctx.rendLineNumberStart){ctx.rendLineNumberStart=startLineNumber;ctx.linesLength=stopLineNumber-startLineNumber+1;ctx.lines=[];for(let x=startLineNumber;x<=stopLineNumber;x++){ctx.lines[x-startLineNumber]=this.host.createVisibleLine()}this._finishRendering(ctx,true,deltaTop);return ctx}this._renderUntouchedLines(ctx,Math.max(startLineNumber-ctx.rendLineNumberStart,0),Math.min(stopLineNumber-ctx.rendLineNumberStart,ctx.linesLength-1),deltaTop,startLineNumber);if(ctx.rendLineNumberStart>startLineNumber){const fromLineNumber=startLineNumber;const toLineNumber=Math.min(stopLineNumber,ctx.rendLineNumberStart-1);if(fromLineNumber<=toLineNumber){this._insertLinesBefore(ctx,fromLineNumber,toLineNumber,deltaTop,startLineNumber);ctx.linesLength+=toLineNumber-fromLineNumber+1}}else if(ctx.rendLineNumberStart<startLineNumber){const removeCnt=Math.min(ctx.linesLength,startLineNumber-ctx.rendLineNumberStart);if(removeCnt>0){this._removeLinesBefore(ctx,removeCnt);ctx.linesLength-=removeCnt}}ctx.rendLineNumberStart=startLineNumber;if(ctx.rendLineNumberStart+ctx.linesLength-1<stopLineNumber){const fromLineNumber=ctx.rendLineNumberStart+ctx.linesLength;const toLineNumber=stopLineNumber;if(fromLineNumber<=toLineNumber){this._insertLinesAfter(ctx,fromLineNumber,toLineNumber,deltaTop,startLineNumber);ctx.linesLength+=toLineNumber-fromLineNumber+1}}else if(ctx.rendLineNumberStart+ctx.linesLength-1>stopLineNumber){const fromLineNumber=Math.max(0,stopLineNumber-ctx.rendLineNumberStart+1);const toLineNumber=ctx.linesLength-1;const removeCnt=toLineNumber-fromLineNumber+1;if(removeCnt>0){this._removeLinesAfter(ctx,removeCnt);ctx.linesLength-=removeCnt}}this._finishRendering(ctx,false,deltaTop);return ctx}_renderUntouchedLines(ctx,startIndex,endIndex,deltaTop,deltaLN){const rendLineNumberStart=ctx.rendLineNumberStart;const lines=ctx.lines;for(let i=startIndex;i<=endIndex;i++){const lineNumber=rendLineNumberStart+i;lines[i].layoutLine(lineNumber,deltaTop[lineNumber-deltaLN])}}_insertLinesBefore(ctx,fromLineNumber,toLineNumber,deltaTop,deltaLN){const newLines=[];let newLinesLen=0;for(let lineNumber=fromLineNumber;lineNumber<=toLineNumber;lineNumber++){newLines[newLinesLen++]=this.host.createVisibleLine()}ctx.lines=newLines.concat(ctx.lines)}_removeLinesBefore(ctx,removeCount){for(let i=0;i<removeCount;i++){const lineDomNode=ctx.lines[i].getDomNode();if(lineDomNode){this.domNode.removeChild(lineDomNode)}}ctx.lines.splice(0,removeCount)}_insertLinesAfter(ctx,fromLineNumber,toLineNumber,deltaTop,deltaLN){const newLines=[];let newLinesLen=0;for(let lineNumber=fromLineNumber;lineNumber<=toLineNumber;lineNumber++){newLines[newLinesLen++]=this.host.createVisibleLine()}ctx.lines=ctx.lines.concat(newLines)}_removeLinesAfter(ctx,removeCount){const removeIndex=ctx.linesLength-removeCount;for(let i=0;i<removeCount;i++){const lineDomNode=ctx.lines[removeIndex+i].getDomNode();if(lineDomNode){this.domNode.removeChild(lineDomNode)}}ctx.lines.splice(removeIndex,removeCount)}_finishRenderingNewLines(ctx,domNodeIsEmpty,newLinesHTML,wasNew){if(ViewLayerRenderer._ttPolicy){newLinesHTML=ViewLayerRenderer._ttPolicy.createHTML(newLinesHTML)}const lastChild=this.domNode.lastChild;if(domNodeIsEmpty||!lastChild){this.domNode.innerHTML=newLinesHTML}else{lastChild.insertAdjacentHTML("afterend",newLinesHTML)}let currChild=this.domNode.lastChild;for(let i=ctx.linesLength-1;i>=0;i--){const line=ctx.lines[i];if(wasNew[i]){line.setDomNode(currChild);currChild=currChild.previousSibling}}}_finishRenderingInvalidLines(ctx,invalidLinesHTML,wasInvalid){const hugeDomNode=document.createElement("div");if(ViewLayerRenderer._ttPolicy){invalidLinesHTML=ViewLayerRenderer._ttPolicy.createHTML(invalidLinesHTML)}hugeDomNode.innerHTML=invalidLinesHTML;for(let i=0;i<ctx.linesLength;i++){const line=ctx.lines[i];if(wasInvalid[i]){const source=hugeDomNode.firstChild;const lineDomNode=line.getDomNode();lineDomNode.parentNode.replaceChild(source,lineDomNode);line.setDomNode(source)}}}_finishRendering(ctx,domNodeIsEmpty,deltaTop){const sb=ViewLayerRenderer._sb;const linesLength=ctx.linesLength;const lines=ctx.lines;const rendLineNumberStart=ctx.rendLineNumberStart;const wasNew=[];{sb.reset();let hadNewLine=false;for(let i=0;i<linesLength;i++){const line=lines[i];wasNew[i]=false;const lineDomNode=line.getDomNode();if(lineDomNode){continue}const renderResult=line.renderLine(i+rendLineNumberStart,deltaTop[i],this.viewportData,sb);if(!renderResult){continue}wasNew[i]=true;hadNewLine=true}if(hadNewLine){this._finishRenderingNewLines(ctx,domNodeIsEmpty,sb.build(),wasNew)}}{sb.reset();let hadInvalidLine=false;const wasInvalid=[];for(let i=0;i<linesLength;i++){const line=lines[i];wasInvalid[i]=false;if(wasNew[i]){continue}const renderResult=line.renderLine(i+rendLineNumberStart,deltaTop[i],this.viewportData,sb);if(!renderResult){continue}wasInvalid[i]=true;hadInvalidLine=true}if(hadInvalidLine){this._finishRenderingInvalidLines(ctx,sb.build(),wasInvalid)}}}};ViewLayerRenderer._ttPolicy=createTrustedTypesPolicy("editorViewLayer",{createHTML:value=>value});ViewLayerRenderer._sb=new StringBuilder(1e5)}});var ViewOverlays,ViewOverlayLine,ContentViewOverlays,MarginViewOverlays;var init_viewOverlays=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/view/viewOverlays.js"(){init_fastDomNode();init_domFontInfo();init_viewLayer();init_viewPart();ViewOverlays=class extends ViewPart{constructor(context){super(context);this._visibleLines=new VisibleLinesCollection(this);this.domNode=this._visibleLines.domNode;const options2=this._context.configuration.options;const fontInfo=options2.get(49);applyFontInfo(this.domNode,fontInfo);this._dynamicOverlays=[];this._isFocused=false;this.domNode.setClassName("view-overlays")}shouldRender(){if(super.shouldRender()){return true}for(let i=0,len=this._dynamicOverlays.length;i<len;i++){const dynamicOverlay=this._dynamicOverlays[i];if(dynamicOverlay.shouldRender()){return true}}return false}dispose(){super.dispose();for(let i=0,len=this._dynamicOverlays.length;i<len;i++){const dynamicOverlay=this._dynamicOverlays[i];dynamicOverlay.dispose()}this._dynamicOverlays=[]}getDomNode(){return this.domNode}createVisibleLine(){return new ViewOverlayLine(this._context.configuration,this._dynamicOverlays)}addDynamicOverlay(overlay){this._dynamicOverlays.push(overlay)}onConfigurationChanged(e){this._visibleLines.onConfigurationChanged(e);const startLineNumber=this._visibleLines.getStartLineNumber();const endLineNumber=this._visibleLines.getEndLineNumber();for(let lineNumber=startLineNumber;lineNumber<=endLineNumber;lineNumber++){const line=this._visibleLines.getVisibleLine(lineNumber);line.onConfigurationChanged(e)}const options2=this._context.configuration.options;const fontInfo=options2.get(49);applyFontInfo(this.domNode,fontInfo);return true}onFlushed(e){return this._visibleLines.onFlushed(e)}onFocusChanged(e){this._isFocused=e.isFocused;return true}onLinesChanged(e){return this._visibleLines.onLinesChanged(e)}onLinesDeleted(e){return this._visibleLines.onLinesDeleted(e)}onLinesInserted(e){return this._visibleLines.onLinesInserted(e)}onScrollChanged(e){return this._visibleLines.onScrollChanged(e)||true}onTokensChanged(e){return this._visibleLines.onTokensChanged(e)}onZonesChanged(e){return this._visibleLines.onZonesChanged(e)}prepareRender(ctx){const toRender=this._dynamicOverlays.filter((overlay=>overlay.shouldRender()));for(let i=0,len=toRender.length;i<len;i++){const dynamicOverlay=toRender[i];dynamicOverlay.prepareRender(ctx);dynamicOverlay.onDidRender()}}render(ctx){this._viewOverlaysRender(ctx);this.domNode.toggleClassName("focused",this._isFocused)}_viewOverlaysRender(ctx){this._visibleLines.renderLines(ctx.viewportData)}};ViewOverlayLine=class{constructor(configuration,dynamicOverlays){this._configuration=configuration;this._lineHeight=this._configuration.options.get(65);this._dynamicOverlays=dynamicOverlays;this._domNode=null;this._renderedContent=null}getDomNode(){if(!this._domNode){return null}return this._domNode.domNode}setDomNode(domNode){this._domNode=createFastDomNode(domNode)}onContentChanged(){}onTokensChanged(){}onConfigurationChanged(e){this._lineHeight=this._configuration.options.get(65)}renderLine(lineNumber,deltaTop,viewportData,sb){let result="";for(let i=0,len=this._dynamicOverlays.length;i<len;i++){const dynamicOverlay=this._dynamicOverlays[i];result+=dynamicOverlay.render(viewportData.startLineNumber,lineNumber)}if(this._renderedContent===result){return false}this._renderedContent=result;sb.appendString('<div style="position:absolute;top:');sb.appendString(String(deltaTop));sb.appendString("px;width:100%;height:");sb.appendString(String(this._lineHeight));sb.appendString('px;">');sb.appendString(result);sb.appendString("</div>");return true}layoutLine(lineNumber,deltaTop){if(this._domNode){this._domNode.setTop(deltaTop);this._domNode.setHeight(this._lineHeight)}}};ContentViewOverlays=class extends ViewOverlays{constructor(context){super(context);const options2=this._context.configuration.options;const layoutInfo=options2.get(142);this._contentWidth=layoutInfo.contentWidth;this.domNode.setHeight(0)}onConfigurationChanged(e){const options2=this._context.configuration.options;const layoutInfo=options2.get(142);this._contentWidth=layoutInfo.contentWidth;return super.onConfigurationChanged(e)||true}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollWidthChanged}_viewOverlaysRender(ctx){super._viewOverlaysRender(ctx);this.domNode.setWidth(Math.max(ctx.scrollWidth,this._contentWidth))}};MarginViewOverlays=class extends ViewOverlays{constructor(context){super(context);const options2=this._context.configuration.options;const layoutInfo=options2.get(142);this._contentLeft=layoutInfo.contentLeft;this.domNode.setClassName("margin-view-overlays");this.domNode.setWidth(1);applyFontInfo(this.domNode,options2.get(49))}onConfigurationChanged(e){const options2=this._context.configuration.options;applyFontInfo(this.domNode,options2.get(49));const layoutInfo=options2.get(142);this._contentLeft=layoutInfo.contentLeft;return super.onConfigurationChanged(e)||true}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollHeightChanged}_viewOverlaysRender(ctx){super._viewOverlaysRender(ctx);const height=Math.min(ctx.scrollHeight,1e6);this.domNode.setHeight(height);this.domNode.setWidth(this._contentLeft)}}}});function safeInvoke(fn,thisArg,...args){try{return fn.call(thisArg,...args)}catch(_a6){return null}}var ViewContentWidgets,Widget2,PositionPair,Coordinate,AnchorCoordinate;var init_contentWidgets=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js"(){init_dom();init_fastDomNode();init_viewPart();ViewContentWidgets=class extends ViewPart{constructor(context,viewDomNode){super(context);this._viewDomNode=viewDomNode;this._widgets={};this.domNode=createFastDomNode(document.createElement("div"));PartFingerprints.write(this.domNode,1);this.domNode.setClassName("contentWidgets");this.domNode.setPosition("absolute");this.domNode.setTop(0);this.overflowingContentWidgetsDomNode=createFastDomNode(document.createElement("div"));PartFingerprints.write(this.overflowingContentWidgetsDomNode,2);this.overflowingContentWidgetsDomNode.setClassName("overflowingContentWidgets")}dispose(){super.dispose();this._widgets={}}onConfigurationChanged(e){const keys=Object.keys(this._widgets);for(const widgetId of keys){this._widgets[widgetId].onConfigurationChanged(e)}return true}onDecorationsChanged(e){return true}onFlushed(e){return true}onLineMappingChanged(e){this._updateAnchorsViewPositions();return true}onLinesChanged(e){this._updateAnchorsViewPositions();return true}onLinesDeleted(e){this._updateAnchorsViewPositions();return true}onLinesInserted(e){this._updateAnchorsViewPositions();return true}onScrollChanged(e){return true}onZonesChanged(e){return true}_updateAnchorsViewPositions(){const keys=Object.keys(this._widgets);for(const widgetId of keys){this._widgets[widgetId].updateAnchorViewPosition()}}addWidget(_widget){const myWidget=new Widget2(this._context,this._viewDomNode,_widget);this._widgets[myWidget.id]=myWidget;if(myWidget.allowEditorOverflow){this.overflowingContentWidgetsDomNode.appendChild(myWidget.domNode)}else{this.domNode.appendChild(myWidget.domNode)}this.setShouldRender()}setWidgetPosition(widget,primaryAnchor,secondaryAnchor,preference,affinity){const myWidget=this._widgets[widget.getId()];myWidget.setPosition(primaryAnchor,secondaryAnchor,preference,affinity);this.setShouldRender()}removeWidget(widget){const widgetId=widget.getId();if(this._widgets.hasOwnProperty(widgetId)){const myWidget=this._widgets[widgetId];delete this._widgets[widgetId];const domNode=myWidget.domNode.domNode;domNode.parentNode.removeChild(domNode);domNode.removeAttribute("monaco-visible-content-widget");this.setShouldRender()}}shouldSuppressMouseDownOnWidget(widgetId){if(this._widgets.hasOwnProperty(widgetId)){return this._widgets[widgetId].suppressMouseDown}return false}onBeforeRender(viewportData){const keys=Object.keys(this._widgets);for(const widgetId of keys){this._widgets[widgetId].onBeforeRender(viewportData)}}prepareRender(ctx){const keys=Object.keys(this._widgets);for(const widgetId of keys){this._widgets[widgetId].prepareRender(ctx)}}render(ctx){const keys=Object.keys(this._widgets);for(const widgetId of keys){this._widgets[widgetId].render(ctx)}}};Widget2=class{constructor(context,viewDomNode,actual){this._primaryAnchor=new PositionPair(null,null);this._secondaryAnchor=new PositionPair(null,null);this._context=context;this._viewDomNode=viewDomNode;this._actual=actual;this.domNode=createFastDomNode(this._actual.getDomNode());this.id=this._actual.getId();this.allowEditorOverflow=this._actual.allowEditorOverflow||false;this.suppressMouseDown=this._actual.suppressMouseDown||false;const options2=this._context.configuration.options;const layoutInfo=options2.get(142);this._fixedOverflowWidgets=options2.get(41);this._contentWidth=layoutInfo.contentWidth;this._contentLeft=layoutInfo.contentLeft;this._lineHeight=options2.get(65);this._affinity=null;this._preference=[];this._cachedDomNodeOffsetWidth=-1;this._cachedDomNodeOffsetHeight=-1;this._maxWidth=this._getMaxWidth();this._isVisible=false;this._renderData=null;this.domNode.setPosition(this._fixedOverflowWidgets&&this.allowEditorOverflow?"fixed":"absolute");this.domNode.setDisplay("none");this.domNode.setVisibility("hidden");this.domNode.setAttribute("widgetId",this.id);this.domNode.setMaxWidth(this._maxWidth)}onConfigurationChanged(e){const options2=this._context.configuration.options;this._lineHeight=options2.get(65);if(e.hasChanged(142)){const layoutInfo=options2.get(142);this._contentLeft=layoutInfo.contentLeft;this._contentWidth=layoutInfo.contentWidth;this._maxWidth=this._getMaxWidth()}}updateAnchorViewPosition(){this._setPosition(this._affinity,this._primaryAnchor.modelPosition,this._secondaryAnchor.modelPosition)}_setPosition(affinity,primaryAnchor,secondaryAnchor){this._affinity=affinity;this._primaryAnchor=getValidPositionPair(primaryAnchor,this._context.viewModel,this._affinity);this._secondaryAnchor=getValidPositionPair(secondaryAnchor,this._context.viewModel,this._affinity);function getValidPositionPair(position,viewModel,affinity2){if(!position){return new PositionPair(null,null)}const validModelPosition=viewModel.model.validatePosition(position);if(viewModel.coordinatesConverter.modelPositionIsVisible(validModelPosition)){const viewPosition=viewModel.coordinatesConverter.convertModelPositionToViewPosition(validModelPosition,affinity2!==null&&affinity2!==void 0?affinity2:void 0);return new PositionPair(position,viewPosition)}return new PositionPair(position,null)}}_getMaxWidth(){return this.allowEditorOverflow?window.innerWidth||document.documentElement.offsetWidth||document.body.offsetWidth:this._contentWidth}setPosition(primaryAnchor,secondaryAnchor,preference,affinity){this._setPosition(affinity,primaryAnchor,secondaryAnchor);this._preference=preference;if(this._primaryAnchor.viewPosition&&this._preference&&this._preference.length>0){this.domNode.setDisplay("block")}else{this.domNode.setDisplay("none")}this._cachedDomNodeOffsetWidth=-1;this._cachedDomNodeOffsetHeight=-1}_layoutBoxInViewport(anchor,width,height,ctx){const aboveLineTop=anchor.top;const heightAvailableAboveLine=aboveLineTop;const underLineTop=anchor.top+anchor.height;const heightAvailableUnderLine=ctx.viewportHeight-underLineTop;const aboveTop=aboveLineTop-height;const fitsAbove=heightAvailableAboveLine>=height;const belowTop=underLineTop;const fitsBelow=heightAvailableUnderLine>=height;let left=anchor.left;if(left+width>ctx.scrollLeft+ctx.viewportWidth){left=ctx.scrollLeft+ctx.viewportWidth-width}if(left<ctx.scrollLeft){left=ctx.scrollLeft}return{fitsAbove:fitsAbove,aboveTop:aboveTop,fitsBelow:fitsBelow,belowTop:belowTop,left:left}}_layoutHorizontalSegmentInPage(windowSize,domNodePosition,left,width){const LEFT_PADDING=15;const RIGHT_PADDING=15;const MIN_LIMIT=Math.max(LEFT_PADDING,domNodePosition.left-width);const MAX_LIMIT=Math.min(domNodePosition.left+domNodePosition.width+width,windowSize.width-RIGHT_PADDING);let absoluteLeft=domNodePosition.left+left-window.scrollX;if(absoluteLeft+width>MAX_LIMIT){const delta=absoluteLeft-(MAX_LIMIT-width);absoluteLeft-=delta;left-=delta}if(absoluteLeft<MIN_LIMIT){const delta=absoluteLeft-MIN_LIMIT;absoluteLeft-=delta;left-=delta}return[left,absoluteLeft]}_layoutBoxInPage(anchor,width,height,ctx){const aboveTop=anchor.top-height;const belowTop=anchor.top+anchor.height;const domNodePosition=getDomNodePagePosition(this._viewDomNode.domNode);const absoluteAboveTop=domNodePosition.top+aboveTop-window.scrollY;const absoluteBelowTop=domNodePosition.top+belowTop-window.scrollY;const windowSize=getClientArea(document.body);const[left,absoluteAboveLeft]=this._layoutHorizontalSegmentInPage(windowSize,domNodePosition,anchor.left-ctx.scrollLeft+this._contentLeft,width);const TOP_PADDING=22;const BOTTOM_PADDING=22;const fitsAbove=absoluteAboveTop>=TOP_PADDING;const fitsBelow=absoluteBelowTop+height<=windowSize.height-BOTTOM_PADDING;if(this._fixedOverflowWidgets){return{fitsAbove:fitsAbove,aboveTop:Math.max(absoluteAboveTop,TOP_PADDING),fitsBelow:fitsBelow,belowTop:absoluteBelowTop,left:absoluteAboveLeft}}return{fitsAbove:fitsAbove,aboveTop:aboveTop,fitsBelow:fitsBelow,belowTop:belowTop,left:left}}_prepareRenderWidgetAtExactPositionOverflowing(topLeft){return new Coordinate(topLeft.top,topLeft.left+this._contentLeft)}_getAnchorsCoordinates(ctx){var _a6,_b3;const primary=getCoordinates(this._primaryAnchor.viewPosition,this._affinity,this._lineHeight);const secondaryViewPosition=((_a6=this._secondaryAnchor.viewPosition)===null||_a6===void 0?void 0:_a6.lineNumber)===((_b3=this._primaryAnchor.viewPosition)===null||_b3===void 0?void 0:_b3.lineNumber)?this._secondaryAnchor.viewPosition:null;const secondary=getCoordinates(secondaryViewPosition,this._affinity,this._lineHeight);return{primary:primary,secondary:secondary};function getCoordinates(position,affinity,lineHeight){if(!position){return null}const horizontalPosition=ctx.visibleRangeForPosition(position);if(!horizontalPosition){return null}const left=position.column===1&&affinity===3?0:horizontalPosition.left;const top=ctx.getVerticalOffsetForLineNumber(position.lineNumber)-ctx.scrollTop;return new AnchorCoordinate(top,left,lineHeight)}}_reduceAnchorCoordinates(primary,secondary,width){if(!secondary){return primary}const fontInfo=this._context.configuration.options.get(49);let left=secondary.left;if(left<primary.left){left=Math.max(left,primary.left-width+fontInfo.typicalFullwidthCharacterWidth)}else{left=Math.min(left,primary.left+width-fontInfo.typicalFullwidthCharacterWidth)}return new AnchorCoordinate(primary.top,left,primary.height)}_prepareRenderWidget(ctx){if(!this._preference||this._preference.length===0){return null}const{primary:primary,secondary:secondary}=this._getAnchorsCoordinates(ctx);if(!primary){return null}if(this._cachedDomNodeOffsetWidth===-1||this._cachedDomNodeOffsetHeight===-1){let preferredDimensions=null;if(typeof this._actual.beforeRender==="function"){preferredDimensions=safeInvoke(this._actual.beforeRender,this._actual)}if(preferredDimensions){this._cachedDomNodeOffsetWidth=preferredDimensions.width;this._cachedDomNodeOffsetHeight=preferredDimensions.height}else{const domNode=this.domNode.domNode;const clientRect=domNode.getBoundingClientRect();this._cachedDomNodeOffsetWidth=Math.round(clientRect.width);this._cachedDomNodeOffsetHeight=Math.round(clientRect.height)}}const anchor=this._reduceAnchorCoordinates(primary,secondary,this._cachedDomNodeOffsetWidth);let placement;if(this.allowEditorOverflow){placement=this._layoutBoxInPage(anchor,this._cachedDomNodeOffsetWidth,this._cachedDomNodeOffsetHeight,ctx)}else{placement=this._layoutBoxInViewport(anchor,this._cachedDomNodeOffsetWidth,this._cachedDomNodeOffsetHeight,ctx)}for(let pass=1;pass<=2;pass++){for(const pref of this._preference){if(pref===1){if(!placement){return null}if(pass===2||placement.fitsAbove){return{coordinate:new Coordinate(placement.aboveTop,placement.left),position:1}}}else if(pref===2){if(!placement){return null}if(pass===2||placement.fitsBelow){return{coordinate:new Coordinate(placement.belowTop,placement.left),position:2}}}else{if(this.allowEditorOverflow){return{coordinate:this._prepareRenderWidgetAtExactPositionOverflowing(new Coordinate(anchor.top,anchor.left)),position:0}}else{return{coordinate:new Coordinate(anchor.top,anchor.left),position:0}}}}}return null}onBeforeRender(viewportData){if(!this._primaryAnchor.viewPosition||!this._preference){return}if(this._primaryAnchor.viewPosition.lineNumber<viewportData.startLineNumber||this._primaryAnchor.viewPosition.lineNumber>viewportData.endLineNumber){return}this.domNode.setMaxWidth(this._maxWidth)}prepareRender(ctx){this._renderData=this._prepareRenderWidget(ctx)}render(ctx){if(!this._renderData){if(this._isVisible){this.domNode.removeAttribute("monaco-visible-content-widget");this._isVisible=false;this.domNode.setVisibility("hidden")}if(typeof this._actual.afterRender==="function"){safeInvoke(this._actual.afterRender,this._actual,null)}return}if(this.allowEditorOverflow){this.domNode.setTop(this._renderData.coordinate.top);this.domNode.setLeft(this._renderData.coordinate.left)}else{this.domNode.setTop(this._renderData.coordinate.top+ctx.scrollTop-ctx.bigNumbersDelta);this.domNode.setLeft(this._renderData.coordinate.left)}if(!this._isVisible){this.domNode.setVisibility("inherit");this.domNode.setAttribute("monaco-visible-content-widget","true");this._isVisible=true}if(typeof this._actual.afterRender==="function"){safeInvoke(this._actual.afterRender,this._actual,this._renderData.position)}}};PositionPair=class{constructor(modelPosition,viewPosition){this.modelPosition=modelPosition;this.viewPosition=viewPosition}};Coordinate=class{constructor(top,left){this.top=top;this.left=left;this._coordinateBrand=void 0}};AnchorCoordinate=class{constructor(top,left,height){this.top=top;this.left=left;this.height=height;this._anchorCoordinateBrand=void 0}}}});var init_9=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.css"(){}});var AbstractLineHighlightOverlay,CurrentLineHighlightOverlay,CurrentLineMarginHighlightOverlay;var init_currentLineHighlight=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js"(){init_9();init_dynamicViewOverlay();init_editorColorRegistry();init_arrays();init_themeService();init_selection();init_theme();AbstractLineHighlightOverlay=class extends DynamicViewOverlay{constructor(context){super();this._context=context;const options2=this._context.configuration.options;const layoutInfo=options2.get(142);this._lineHeight=options2.get(65);this._renderLineHighlight=options2.get(94);this._renderLineHighlightOnlyWhenFocus=options2.get(95);this._contentLeft=layoutInfo.contentLeft;this._contentWidth=layoutInfo.contentWidth;this._selectionIsEmpty=true;this._focused=false;this._cursorLineNumbers=[1];this._selections=[new Selection(1,1,1,1)];this._renderData=null;this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this);super.dispose()}_readFromSelections(){let hasChanged=false;const cursorsLineNumbers=this._selections.map((s=>s.positionLineNumber));cursorsLineNumbers.sort(((a,b)=>a-b));if(!equals(this._cursorLineNumbers,cursorsLineNumbers)){this._cursorLineNumbers=cursorsLineNumbers;hasChanged=true}const selectionIsEmpty=this._selections.every((s=>s.isEmpty()));if(this._selectionIsEmpty!==selectionIsEmpty){this._selectionIsEmpty=selectionIsEmpty;hasChanged=true}return hasChanged}onThemeChanged(e){return this._readFromSelections()}onConfigurationChanged(e){const options2=this._context.configuration.options;const layoutInfo=options2.get(142);this._lineHeight=options2.get(65);this._renderLineHighlight=options2.get(94);this._renderLineHighlightOnlyWhenFocus=options2.get(95);this._contentLeft=layoutInfo.contentLeft;this._contentWidth=layoutInfo.contentWidth;return true}onCursorStateChanged(e){this._selections=e.selections;return this._readFromSelections()}onFlushed(e){return true}onLinesDeleted(e){return true}onLinesInserted(e){return true}onScrollChanged(e){return e.scrollWidthChanged||e.scrollTopChanged}onZonesChanged(e){return true}onFocusChanged(e){if(!this._renderLineHighlightOnlyWhenFocus){return false}this._focused=e.isFocused;return true}prepareRender(ctx){if(!this._shouldRenderThis()){this._renderData=null;return}const renderedLine=this._renderOne(ctx);const visibleStartLineNumber=ctx.visibleRange.startLineNumber;const visibleEndLineNumber=ctx.visibleRange.endLineNumber;const len=this._cursorLineNumbers.length;let index=0;const renderData=[];for(let lineNumber=visibleStartLineNumber;lineNumber<=visibleEndLineNumber;lineNumber++){const lineIndex=lineNumber-visibleStartLineNumber;while(index<len&&this._cursorLineNumbers[index]<lineNumber){index++}if(index<len&&this._cursorLineNumbers[index]===lineNumber){renderData[lineIndex]=renderedLine}else{renderData[lineIndex]=""}}this._renderData=renderData}render(startLineNumber,lineNumber){if(!this._renderData){return""}const lineIndex=lineNumber-startLineNumber;if(lineIndex>=this._renderData.length){return""}return this._renderData[lineIndex]}_shouldRenderInMargin(){return(this._renderLineHighlight==="gutter"||this._renderLineHighlight==="all")&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}_shouldRenderInContent(){return(this._renderLineHighlight==="line"||this._renderLineHighlight==="all")&&this._selectionIsEmpty&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}};CurrentLineHighlightOverlay=class extends AbstractLineHighlightOverlay{_renderOne(ctx){const className="current-line"+(this._shouldRenderOther()?" current-line-both":"");return`<div class="${className}" style="width:${Math.max(ctx.scrollWidth,this._contentWidth)}px; height:${this._lineHeight}px;"></div>`}_shouldRenderThis(){return this._shouldRenderInContent()}_shouldRenderOther(){return this._shouldRenderInMargin()}};CurrentLineMarginHighlightOverlay=class extends AbstractLineHighlightOverlay{_renderOne(ctx){const className="current-line"+(this._shouldRenderInMargin()?" current-line-margin":"")+(this._shouldRenderOther()?" current-line-margin-both":"");return`<div class="${className}" style="width:${this._contentLeft}px; height:${this._lineHeight}px;"></div>`}_shouldRenderThis(){return true}_shouldRenderOther(){return this._shouldRenderInContent()}};registerThemingParticipant(((theme,collector)=>{const lineHighlight=theme.getColor(editorLineHighlight);if(lineHighlight){collector.addRule(`.monaco-editor .view-overlays .current-line { background-color: ${lineHighlight}; }`);collector.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { background-color: ${lineHighlight}; border: none; }`)}if(!lineHighlight||lineHighlight.isTransparent()||theme.defines(editorLineHighlightBorder)){const lineHighlightBorder=theme.getColor(editorLineHighlightBorder);if(lineHighlightBorder){collector.addRule(`.monaco-editor .view-overlays .current-line { border: 2px solid ${lineHighlightBorder}; }`);collector.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { border: 2px solid ${lineHighlightBorder}; }`);if(isHighContrast(theme.type)){collector.addRule(`.monaco-editor .view-overlays .current-line { border-width: 1px; }`);collector.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { border-width: 1px; }`)}}}}))}});var init_10=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/decorations/decorations.css"(){}});var DecorationsOverlay;var init_decorations=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/decorations/decorations.js"(){init_10();init_dynamicViewOverlay();init_renderingContext();init_range();DecorationsOverlay=class extends DynamicViewOverlay{constructor(context){super();this._context=context;const options2=this._context.configuration.options;this._lineHeight=options2.get(65);this._typicalHalfwidthCharacterWidth=options2.get(49).typicalHalfwidthCharacterWidth;this._renderResult=null;this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this);this._renderResult=null;super.dispose()}onConfigurationChanged(e){const options2=this._context.configuration.options;this._lineHeight=options2.get(65);this._typicalHalfwidthCharacterWidth=options2.get(49).typicalHalfwidthCharacterWidth;return true}onDecorationsChanged(e){return true}onFlushed(e){return true}onLinesChanged(e){return true}onLinesDeleted(e){return true}onLinesInserted(e){return true}onScrollChanged(e){return e.scrollTopChanged||e.scrollWidthChanged}onZonesChanged(e){return true}prepareRender(ctx){const _decorations=ctx.getDecorationsInViewport();let decorations=[];let decorationsLen=0;for(let i=0,len=_decorations.length;i<len;i++){const d=_decorations[i];if(d.options.className){decorations[decorationsLen++]=d}}decorations=decorations.sort(((a,b)=>{if(a.options.zIndex<b.options.zIndex){return-1}if(a.options.zIndex>b.options.zIndex){return 1}const aClassName=a.options.className;const bClassName=b.options.className;if(aClassName<bClassName){return-1}if(aClassName>bClassName){return 1}return Range.compareRangesUsingStarts(a.range,b.range)}));const visibleStartLineNumber=ctx.visibleRange.startLineNumber;const visibleEndLineNumber=ctx.visibleRange.endLineNumber;const output=[];for(let lineNumber=visibleStartLineNumber;lineNumber<=visibleEndLineNumber;lineNumber++){const lineIndex=lineNumber-visibleStartLineNumber;output[lineIndex]=""}this._renderWholeLineDecorations(ctx,decorations,output);this._renderNormalDecorations(ctx,decorations,output);this._renderResult=output}_renderWholeLineDecorations(ctx,decorations,output){const lineHeight=String(this._lineHeight);const visibleStartLineNumber=ctx.visibleRange.startLineNumber;const visibleEndLineNumber=ctx.visibleRange.endLineNumber;for(let i=0,lenI=decorations.length;i<lenI;i++){const d=decorations[i];if(!d.options.isWholeLine){continue}const decorationOutput='<div class="cdr '+d.options.className+'" style="left:0;width:100%;height:'+lineHeight+'px;"></div>';const startLineNumber=Math.max(d.range.startLineNumber,visibleStartLineNumber);const endLineNumber=Math.min(d.range.endLineNumber,visibleEndLineNumber);for(let j=startLineNumber;j<=endLineNumber;j++){const lineIndex=j-visibleStartLineNumber;output[lineIndex]+=decorationOutput}}}_renderNormalDecorations(ctx,decorations,output){var _a6;const lineHeight=String(this._lineHeight);const visibleStartLineNumber=ctx.visibleRange.startLineNumber;let prevClassName=null;let prevShowIfCollapsed=false;let prevRange=null;let prevShouldFillLineOnLineBreak=false;for(let i=0,lenI=decorations.length;i<lenI;i++){const d=decorations[i];if(d.options.isWholeLine){continue}const className=d.options.className;const showIfCollapsed=Boolean(d.options.showIfCollapsed);let range2=d.range;if(showIfCollapsed&&range2.endColumn===1&&range2.endLineNumber!==range2.startLineNumber){range2=new Range(range2.startLineNumber,range2.startColumn,range2.endLineNumber-1,this._context.viewModel.getLineMaxColumn(range2.endLineNumber-1))}if(prevClassName===className&&prevShowIfCollapsed===showIfCollapsed&&Range.areIntersectingOrTouching(prevRange,range2)){prevRange=Range.plusRange(prevRange,range2);continue}if(prevClassName!==null){this._renderNormalDecoration(ctx,prevRange,prevClassName,prevShouldFillLineOnLineBreak,prevShowIfCollapsed,lineHeight,visibleStartLineNumber,output)}prevClassName=className;prevShowIfCollapsed=showIfCollapsed;prevRange=range2;prevShouldFillLineOnLineBreak=(_a6=d.options.shouldFillLineOnLineBreak)!==null&&_a6!==void 0?_a6:false}if(prevClassName!==null){this._renderNormalDecoration(ctx,prevRange,prevClassName,prevShouldFillLineOnLineBreak,prevShowIfCollapsed,lineHeight,visibleStartLineNumber,output)}}_renderNormalDecoration(ctx,range2,className,shouldFillLineOnLineBreak,showIfCollapsed,lineHeight,visibleStartLineNumber,output){const linesVisibleRanges=ctx.linesVisibleRangesForRange(range2,className==="findMatch");if(!linesVisibleRanges){return}for(let j=0,lenJ=linesVisibleRanges.length;j<lenJ;j++){const lineVisibleRanges=linesVisibleRanges[j];if(lineVisibleRanges.outsideRenderedLine){continue}const lineIndex=lineVisibleRanges.lineNumber-visibleStartLineNumber;if(showIfCollapsed&&lineVisibleRanges.ranges.length===1){const singleVisibleRange=lineVisibleRanges.ranges[0];if(singleVisibleRange.width<this._typicalHalfwidthCharacterWidth){const center=Math.round(singleVisibleRange.left+singleVisibleRange.width/2);const left=Math.max(0,Math.round(center-this._typicalHalfwidthCharacterWidth/2));lineVisibleRanges.ranges[0]=new HorizontalRange(left,this._typicalHalfwidthCharacterWidth)}}for(let k=0,lenK=lineVisibleRanges.ranges.length;k<lenK;k++){const expandToLeft=shouldFillLineOnLineBreak&&lineVisibleRanges.continuesOnNextLine&&lenK===1;const visibleRange=lineVisibleRanges.ranges[k];const decorationOutput='<div class="cdr '+className+'" style="left:'+String(visibleRange.left)+(expandToLeft?"px;width:100%;height:":"px;width:"+String(visibleRange.width)+"px;height:")+lineHeight+'px;"></div>';output[lineIndex]+=decorationOutput}}}render(startLineNumber,lineNumber){if(!this._renderResult){return""}const lineIndex=lineNumber-startLineNumber;if(lineIndex<0||lineIndex>=this._renderResult.length){return""}return this._renderResult[lineIndex]}}}});var EditorScrollbar2;var init_editorScrollbar=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js"(){init_dom();init_fastDomNode();init_scrollableElement();init_viewPart();init_themeService();EditorScrollbar2=class extends ViewPart{constructor(context,linesContent,viewDomNode,overflowGuardDomNode){super(context);const options2=this._context.configuration.options;const scrollbar=options2.get(101);const mouseWheelScrollSensitivity=options2.get(73);const fastScrollSensitivity=options2.get(39);const scrollPredominantAxis=options2.get(104);const scrollbarOptions={listenOnDomNode:viewDomNode.domNode,className:"editor-scrollable "+getThemeTypeSelector(context.theme.type),useShadows:false,lazyRender:true,vertical:scrollbar.vertical,horizontal:scrollbar.horizontal,verticalHasArrows:scrollbar.verticalHasArrows,horizontalHasArrows:scrollbar.horizontalHasArrows,verticalScrollbarSize:scrollbar.verticalScrollbarSize,verticalSliderSize:scrollbar.verticalSliderSize,horizontalScrollbarSize:scrollbar.horizontalScrollbarSize,horizontalSliderSize:scrollbar.horizontalSliderSize,handleMouseWheel:scrollbar.handleMouseWheel,alwaysConsumeMouseWheel:scrollbar.alwaysConsumeMouseWheel,arrowSize:scrollbar.arrowSize,mouseWheelScrollSensitivity:mouseWheelScrollSensitivity,fastScrollSensitivity:fastScrollSensitivity,scrollPredominantAxis:scrollPredominantAxis,scrollByPage:scrollbar.scrollByPage};this.scrollbar=this._register(new SmoothScrollableElement(linesContent.domNode,scrollbarOptions,this._context.viewLayout.getScrollable()));PartFingerprints.write(this.scrollbar.getDomNode(),5);this.scrollbarDomNode=createFastDomNode(this.scrollbar.getDomNode());this.scrollbarDomNode.setPosition("absolute");this._setLayout();const onBrowserDesperateReveal=(domNode,lookAtScrollTop,lookAtScrollLeft)=>{const newScrollPosition={};if(lookAtScrollTop){const deltaTop=domNode.scrollTop;if(deltaTop){newScrollPosition.scrollTop=this._context.viewLayout.getCurrentScrollTop()+deltaTop;domNode.scrollTop=0}}if(lookAtScrollLeft){const deltaLeft=domNode.scrollLeft;if(deltaLeft){newScrollPosition.scrollLeft=this._context.viewLayout.getCurrentScrollLeft()+deltaLeft;domNode.scrollLeft=0}}this._context.viewModel.viewLayout.setScrollPosition(newScrollPosition,1)};this._register(addDisposableListener(viewDomNode.domNode,"scroll",(e=>onBrowserDesperateReveal(viewDomNode.domNode,true,true))));this._register(addDisposableListener(linesContent.domNode,"scroll",(e=>onBrowserDesperateReveal(linesContent.domNode,true,false))));this._register(addDisposableListener(overflowGuardDomNode.domNode,"scroll",(e=>onBrowserDesperateReveal(overflowGuardDomNode.domNode,true,false))));this._register(addDisposableListener(this.scrollbarDomNode.domNode,"scroll",(e=>onBrowserDesperateReveal(this.scrollbarDomNode.domNode,true,false))))}dispose(){super.dispose()}_setLayout(){const options2=this._context.configuration.options;const layoutInfo=options2.get(142);this.scrollbarDomNode.setLeft(layoutInfo.contentLeft);const minimap=options2.get(71);const side=minimap.side;if(side==="right"){this.scrollbarDomNode.setWidth(layoutInfo.contentWidth+layoutInfo.minimap.minimapWidth)}else{this.scrollbarDomNode.setWidth(layoutInfo.contentWidth)}this.scrollbarDomNode.setHeight(layoutInfo.height)}getOverviewRulerLayoutInfo(){return this.scrollbar.getOverviewRulerLayoutInfo()}getDomNode(){return this.scrollbarDomNode}delegateVerticalScrollbarPointerDown(browserEvent){this.scrollbar.delegateVerticalScrollbarPointerDown(browserEvent)}delegateScrollFromMouseWheelEvent(browserEvent){this.scrollbar.delegateScrollFromMouseWheelEvent(browserEvent)}onConfigurationChanged(e){if(e.hasChanged(101)||e.hasChanged(73)||e.hasChanged(39)){const options2=this._context.configuration.options;const scrollbar=options2.get(101);const mouseWheelScrollSensitivity=options2.get(73);const fastScrollSensitivity=options2.get(39);const scrollPredominantAxis=options2.get(104);const newOpts={vertical:scrollbar.vertical,horizontal:scrollbar.horizontal,verticalScrollbarSize:scrollbar.verticalScrollbarSize,horizontalScrollbarSize:scrollbar.horizontalScrollbarSize,scrollByPage:scrollbar.scrollByPage,handleMouseWheel:scrollbar.handleMouseWheel,mouseWheelScrollSensitivity:mouseWheelScrollSensitivity,fastScrollSensitivity:fastScrollSensitivity,scrollPredominantAxis:scrollPredominantAxis};this.scrollbar.updateOptions(newOpts)}if(e.hasChanged(142)){this._setLayout()}return true}onScrollChanged(e){return true}onThemeChanged(e){this.scrollbar.updateClassName("editor-scrollable "+getThemeTypeSelector(this._context.theme.type));return true}prepareRender(ctx){}render(ctx){this.scrollbar.renderNow()}}}});var init_11=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/indentGuides/indentGuides.css"(){}});var TextModelPart;var init_textModelPart=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/textModelPart.js"(){init_lifecycle();TextModelPart=class extends Disposable{constructor(){super(...arguments);this._isDisposed=false}dispose(){super.dispose();this._isDisposed=true}assertNotDisposed(){if(this._isDisposed){throw new Error("TextModelPart is disposed!")}}}}});function computeIndentLevel(line,tabSize){let indent=0;let i=0;const len=line.length;while(i<len){const chCode=line.charCodeAt(i);if(chCode===32){indent++}else if(chCode===9){indent=indent-indent%tabSize+tabSize}else{break}i++}if(i===len){return-1}return indent}var init_utils2=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/utils.js"(){}});var HorizontalGuidesState,IndentGuide,IndentGuideHorizontalLine;var init_textModelGuides=__esm({"node_modules/monaco-editor/esm/vs/editor/common/textModelGuides.js"(){(function(HorizontalGuidesState2){HorizontalGuidesState2[HorizontalGuidesState2["Disabled"]=0]="Disabled";HorizontalGuidesState2[HorizontalGuidesState2["EnabledForActive"]=1]="EnabledForActive";HorizontalGuidesState2[HorizontalGuidesState2["Enabled"]=2]="Enabled"})(HorizontalGuidesState||(HorizontalGuidesState={}));IndentGuide=class{constructor(visibleColumn,column,className,horizontalLine,forWrappedLinesAfterColumn,forWrappedLinesBeforeOrAtColumn){this.visibleColumn=visibleColumn;this.column=column;this.className=className;this.horizontalLine=horizontalLine;this.forWrappedLinesAfterColumn=forWrappedLinesAfterColumn;this.forWrappedLinesBeforeOrAtColumn=forWrappedLinesBeforeOrAtColumn;if(visibleColumn!==-1===(column!==-1)){throw new Error}}};IndentGuideHorizontalLine=class{constructor(top,endColumn){this.top=top;this.endColumn=endColumn}}}});var GuidesTextModelPart,BracketPairGuidesClassNames;var init_guidesTextModelPart=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/guidesTextModelPart.js"(){init_arrays();init_strings();init_cursorColumns();init_range();init_textModelPart();init_utils2();init_textModelGuides();init_errors();GuidesTextModelPart=class extends TextModelPart{constructor(textModel,languageConfigurationService){super();this.textModel=textModel;this.languageConfigurationService=languageConfigurationService}getLanguageConfiguration(languageId){return this.languageConfigurationService.getLanguageConfiguration(languageId)}_computeIndentLevel(lineIndex){return computeIndentLevel(this.textModel.getLineContent(lineIndex+1),this.textModel.getOptions().tabSize)}getActiveIndentGuide(lineNumber,minLineNumber,maxLineNumber){this.assertNotDisposed();const lineCount=this.textModel.getLineCount();if(lineNumber<1||lineNumber>lineCount){throw new BugIndicatingError("Illegal value for lineNumber")}const foldingRules=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules;const offSide=Boolean(foldingRules&&foldingRules.offSide);let up_aboveContentLineIndex=-2;let up_aboveContentLineIndent=-1;let up_belowContentLineIndex=-2;let up_belowContentLineIndent=-1;const up_resolveIndents=lineNumber2=>{if(up_aboveContentLineIndex!==-1&&(up_aboveContentLineIndex===-2||up_aboveContentLineIndex>lineNumber2-1)){up_aboveContentLineIndex=-1;up_aboveContentLineIndent=-1;for(let lineIndex=lineNumber2-2;lineIndex>=0;lineIndex--){const indent2=this._computeIndentLevel(lineIndex);if(indent2>=0){up_aboveContentLineIndex=lineIndex;up_aboveContentLineIndent=indent2;break}}}if(up_belowContentLineIndex===-2){up_belowContentLineIndex=-1;up_belowContentLineIndent=-1;for(let lineIndex=lineNumber2;lineIndex<lineCount;lineIndex++){const indent2=this._computeIndentLevel(lineIndex);if(indent2>=0){up_belowContentLineIndex=lineIndex;up_belowContentLineIndent=indent2;break}}}};let down_aboveContentLineIndex=-2;let down_aboveContentLineIndent=-1;let down_belowContentLineIndex=-2;let down_belowContentLineIndent=-1;const down_resolveIndents=lineNumber2=>{if(down_aboveContentLineIndex===-2){down_aboveContentLineIndex=-1;down_aboveContentLineIndent=-1;for(let lineIndex=lineNumber2-2;lineIndex>=0;lineIndex--){const indent2=this._computeIndentLevel(lineIndex);if(indent2>=0){down_aboveContentLineIndex=lineIndex;down_aboveContentLineIndent=indent2;break}}}if(down_belowContentLineIndex!==-1&&(down_belowContentLineIndex===-2||down_belowContentLineIndex<lineNumber2-1)){down_belowContentLineIndex=-1;down_belowContentLineIndent=-1;for(let lineIndex=lineNumber2;lineIndex<lineCount;lineIndex++){const indent2=this._computeIndentLevel(lineIndex);if(indent2>=0){down_belowContentLineIndex=lineIndex;down_belowContentLineIndent=indent2;break}}}};let startLineNumber=0;let goUp=true;let endLineNumber=0;let goDown=true;let indent=0;let initialIndent=0;for(let distance=0;goUp||goDown;distance++){const upLineNumber=lineNumber-distance;const downLineNumber=lineNumber+distance;if(distance>1&&(upLineNumber<1||upLineNumber<minLineNumber)){goUp=false}if(distance>1&&(downLineNumber>lineCount||downLineNumber>maxLineNumber)){goDown=false}if(distance>5e4){goUp=false;goDown=false}let upLineIndentLevel=-1;if(goUp&&upLineNumber>=1){const currentIndent=this._computeIndentLevel(upLineNumber-1);if(currentIndent>=0){up_belowContentLineIndex=upLineNumber-1;up_belowContentLineIndent=currentIndent;upLineIndentLevel=Math.ceil(currentIndent/this.textModel.getOptions().indentSize)}else{up_resolveIndents(upLineNumber);upLineIndentLevel=this._getIndentLevelForWhitespaceLine(offSide,up_aboveContentLineIndent,up_belowContentLineIndent)}}let downLineIndentLevel=-1;if(goDown&&downLineNumber<=lineCount){const currentIndent=this._computeIndentLevel(downLineNumber-1);if(currentIndent>=0){down_aboveContentLineIndex=downLineNumber-1;down_aboveContentLineIndent=currentIndent;downLineIndentLevel=Math.ceil(currentIndent/this.textModel.getOptions().indentSize)}else{down_resolveIndents(downLineNumber);downLineIndentLevel=this._getIndentLevelForWhitespaceLine(offSide,down_aboveContentLineIndent,down_belowContentLineIndent)}}if(distance===0){initialIndent=upLineIndentLevel;continue}if(distance===1){if(downLineNumber<=lineCount&&downLineIndentLevel>=0&&initialIndent+1===downLineIndentLevel){goUp=false;startLineNumber=downLineNumber;endLineNumber=downLineNumber;indent=downLineIndentLevel;continue}if(upLineNumber>=1&&upLineIndentLevel>=0&&upLineIndentLevel-1===initialIndent){goDown=false;startLineNumber=upLineNumber;endLineNumber=upLineNumber;indent=upLineIndentLevel;continue}startLineNumber=lineNumber;endLineNumber=lineNumber;indent=initialIndent;if(indent===0){return{startLineNumber:startLineNumber,endLineNumber:endLineNumber,indent:indent}}}if(goUp){if(upLineIndentLevel>=indent){startLineNumber=upLineNumber}else{goUp=false}}if(goDown){if(downLineIndentLevel>=indent){endLineNumber=downLineNumber}else{goDown=false}}}return{startLineNumber:startLineNumber,endLineNumber:endLineNumber,indent:indent}}getLinesBracketGuides(startLineNumber,endLineNumber,activePosition,options2){var _a6;const result=[];for(let lineNumber=startLineNumber;lineNumber<=endLineNumber;lineNumber++){result.push([])}const includeSingleLinePairs=true;const bracketPairs=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new Range(startLineNumber,1,endLineNumber,this.textModel.getLineMaxColumn(endLineNumber))).toArray();let activeBracketPairRange=void 0;if(activePosition&&bracketPairs.length>0){const bracketsContainingActivePosition=(startLineNumber<=activePosition.lineNumber&&activePosition.lineNumber<=endLineNumber?bracketPairs:this.textModel.bracketPairs.getBracketPairsInRange(Range.fromPositions(activePosition)).toArray()).filter((bp=>Range.strictContainsPosition(bp.range,activePosition)));activeBracketPairRange=(_a6=findLast(bracketsContainingActivePosition,(i=>includeSingleLinePairs||i.range.startLineNumber!==i.range.endLineNumber)))===null||_a6===void 0?void 0:_a6.range}const independentColorPoolPerBracketType=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType;const colorProvider=new BracketPairGuidesClassNames;for(const pair of bracketPairs){if(!pair.closingBracketRange){continue}const isActive=activeBracketPairRange&&pair.range.equalsRange(activeBracketPairRange);if(!isActive&&!options2.includeInactive){continue}const className=colorProvider.getInlineClassName(pair.nestingLevel,pair.nestingLevelOfEqualBracketType,independentColorPoolPerBracketType)+(options2.highlightActive&&isActive?" "+colorProvider.activeClassName:"");const start=pair.openingBracketRange.getStartPosition();const end=pair.closingBracketRange.getStartPosition();const horizontalGuides=options2.horizontalGuides===HorizontalGuidesState.Enabled||options2.horizontalGuides===HorizontalGuidesState.EnabledForActive&&isActive;if(pair.range.startLineNumber===pair.range.endLineNumber){if(includeSingleLinePairs&&horizontalGuides){result[pair.range.startLineNumber-startLineNumber].push(new IndentGuide(-1,pair.openingBracketRange.getEndPosition().column,className,new IndentGuideHorizontalLine(false,end.column),-1,-1))}continue}const endVisibleColumn=this.getVisibleColumnFromPosition(end);const startVisibleColumn=this.getVisibleColumnFromPosition(pair.openingBracketRange.getStartPosition());const guideVisibleColumn=Math.min(startVisibleColumn,endVisibleColumn,pair.minVisibleColumnIndentation+1);let renderHorizontalEndLineAtTheBottom=false;const firstNonWsIndex=firstNonWhitespaceIndex(this.textModel.getLineContent(pair.closingBracketRange.startLineNumber));const hasTextBeforeClosingBracket=firstNonWsIndex<pair.closingBracketRange.startColumn-1;if(hasTextBeforeClosingBracket){renderHorizontalEndLineAtTheBottom=true}const visibleGuideStartLineNumber=Math.max(start.lineNumber,startLineNumber);const visibleGuideEndLineNumber=Math.min(end.lineNumber,endLineNumber);const offset=renderHorizontalEndLineAtTheBottom?1:0;for(let l=visibleGuideStartLineNumber;l<visibleGuideEndLineNumber+offset;l++){result[l-startLineNumber].push(new IndentGuide(guideVisibleColumn,-1,className,null,l===start.lineNumber?start.column:-1,l===end.lineNumber?end.column:-1))}if(horizontalGuides){if(start.lineNumber>=startLineNumber&&startVisibleColumn>guideVisibleColumn){result[start.lineNumber-startLineNumber].push(new IndentGuide(guideVisibleColumn,-1,className,new IndentGuideHorizontalLine(false,start.column),-1,-1))}if(end.lineNumber<=endLineNumber&&endVisibleColumn>guideVisibleColumn){result[end.lineNumber-startLineNumber].push(new IndentGuide(guideVisibleColumn,-1,className,new IndentGuideHorizontalLine(!renderHorizontalEndLineAtTheBottom,end.column),-1,-1))}}}for(const guides of result){guides.sort(((a,b)=>a.visibleColumn-b.visibleColumn))}return result}getVisibleColumnFromPosition(position){return CursorColumns.visibleColumnFromColumn(this.textModel.getLineContent(position.lineNumber),position.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(startLineNumber,endLineNumber){this.assertNotDisposed();const lineCount=this.textModel.getLineCount();if(startLineNumber<1||startLineNumber>lineCount){throw new Error("Illegal value for startLineNumber")}if(endLineNumber<1||endLineNumber>lineCount){throw new Error("Illegal value for endLineNumber")}const options2=this.textModel.getOptions();const foldingRules=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules;const offSide=Boolean(foldingRules&&foldingRules.offSide);const result=new Array(endLineNumber-startLineNumber+1);let aboveContentLineIndex=-2;let aboveContentLineIndent=-1;let belowContentLineIndex=-2;let belowContentLineIndent=-1;for(let lineNumber=startLineNumber;lineNumber<=endLineNumber;lineNumber++){const resultIndex=lineNumber-startLineNumber;const currentIndent=this._computeIndentLevel(lineNumber-1);if(currentIndent>=0){aboveContentLineIndex=lineNumber-1;aboveContentLineIndent=currentIndent;result[resultIndex]=Math.ceil(currentIndent/options2.indentSize);continue}if(aboveContentLineIndex===-2){aboveContentLineIndex=-1;aboveContentLineIndent=-1;for(let lineIndex=lineNumber-2;lineIndex>=0;lineIndex--){const indent=this._computeIndentLevel(lineIndex);if(indent>=0){aboveContentLineIndex=lineIndex;aboveContentLineIndent=indent;break}}}if(belowContentLineIndex!==-1&&(belowContentLineIndex===-2||belowContentLineIndex<lineNumber-1)){belowContentLineIndex=-1;belowContentLineIndent=-1;for(let lineIndex=lineNumber;lineIndex<lineCount;lineIndex++){const indent=this._computeIndentLevel(lineIndex);if(indent>=0){belowContentLineIndex=lineIndex;belowContentLineIndent=indent;break}}}result[resultIndex]=this._getIndentLevelForWhitespaceLine(offSide,aboveContentLineIndent,belowContentLineIndent)}return result}_getIndentLevelForWhitespaceLine(offSide,aboveContentLineIndent,belowContentLineIndent){const options2=this.textModel.getOptions();if(aboveContentLineIndent===-1||belowContentLineIndent===-1){return 0}else if(aboveContentLineIndent<belowContentLineIndent){return 1+Math.floor(aboveContentLineIndent/options2.indentSize)}else if(aboveContentLineIndent===belowContentLineIndent){return Math.ceil(belowContentLineIndent/options2.indentSize)}else{if(offSide){return Math.ceil(belowContentLineIndent/options2.indentSize)}else{return 1+Math.floor(belowContentLineIndent/options2.indentSize)}}}};BracketPairGuidesClassNames=class{constructor(){this.activeClassName="indent-active"}getInlineClassName(nestingLevel,nestingLevelOfEqualBracketType,independentColorPoolPerBracketType){return this.getInlineClassNameOfLevel(independentColorPoolPerBracketType?nestingLevelOfEqualBracketType:nestingLevel)}getInlineClassNameOfLevel(level){return`bracket-indent-guide lvl-${level%30}`}}}});function transparentToUndefined(color){if(color&&color.isTransparent()){return void 0}return color}var IndentGuidesOverlay;var init_indentGuides=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/indentGuides/indentGuides.js"(){init_11();init_dynamicViewOverlay();init_editorColorRegistry();init_themeService();init_position();init_arrays();init_types();init_guidesTextModelPart();init_textModelGuides();IndentGuidesOverlay=class extends DynamicViewOverlay{constructor(context){super();this._context=context;this._primaryPosition=null;const options2=this._context.configuration.options;const wrappingInfo=options2.get(143);const fontInfo=options2.get(49);this._lineHeight=options2.get(65);this._spaceWidth=fontInfo.spaceWidth;this._maxIndentLeft=wrappingInfo.wrappingColumn===-1?-1:wrappingInfo.wrappingColumn*fontInfo.typicalHalfwidthCharacterWidth;this._bracketPairGuideOptions=options2.get(15);this._renderResult=null;this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this);this._renderResult=null;super.dispose()}onConfigurationChanged(e){const options2=this._context.configuration.options;const wrappingInfo=options2.get(143);const fontInfo=options2.get(49);this._lineHeight=options2.get(65);this._spaceWidth=fontInfo.spaceWidth;this._maxIndentLeft=wrappingInfo.wrappingColumn===-1?-1:wrappingInfo.wrappingColumn*fontInfo.typicalHalfwidthCharacterWidth;this._bracketPairGuideOptions=options2.get(15);return true}onCursorStateChanged(e){var _a6;const selection=e.selections[0];const newPosition=selection.getPosition();if(!((_a6=this._primaryPosition)===null||_a6===void 0?void 0:_a6.equals(newPosition))){this._primaryPosition=newPosition;return true}return false}onDecorationsChanged(e){return true}onFlushed(e){return true}onLinesChanged(e){return true}onLinesDeleted(e){return true}onLinesInserted(e){return true}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return true}onLanguageConfigurationChanged(e){return true}prepareRender(ctx){var _a6,_b3,_c2,_d2;if(!this._bracketPairGuideOptions.indentation&&this._bracketPairGuideOptions.bracketPairs===false){this._renderResult=null;return}const visibleStartLineNumber=ctx.visibleRange.startLineNumber;const visibleEndLineNumber=ctx.visibleRange.endLineNumber;const scrollWidth=ctx.scrollWidth;const lineHeight=this._lineHeight;const activeCursorPosition=this._primaryPosition;const indents=this.getGuidesByLine(visibleStartLineNumber,Math.min(visibleEndLineNumber+1,this._context.viewModel.getLineCount()),activeCursorPosition);const output=[];for(let lineNumber=visibleStartLineNumber;lineNumber<=visibleEndLineNumber;lineNumber++){const lineIndex=lineNumber-visibleStartLineNumber;const indent=indents[lineIndex];let result="";const leftOffset=(_b3=(_a6=ctx.visibleRangeForPosition(new Position(lineNumber,1)))===null||_a6===void 0?void 0:_a6.left)!==null&&_b3!==void 0?_b3:0;for(const guide of indent){const left=guide.column===-1?leftOffset+(guide.visibleColumn-1)*this._spaceWidth:ctx.visibleRangeForPosition(new Position(lineNumber,guide.column)).left;if(left>scrollWidth||this._maxIndentLeft>0&&left>this._maxIndentLeft){break}const className=guide.horizontalLine?guide.horizontalLine.top?"horizontal-top":"horizontal-bottom":"vertical";const width=guide.horizontalLine?((_d2=(_c2=ctx.visibleRangeForPosition(new Position(lineNumber,guide.horizontalLine.endColumn)))===null||_c2===void 0?void 0:_c2.left)!==null&&_d2!==void 0?_d2:left+this._spaceWidth)-left:this._spaceWidth;result+=`<div class="core-guide ${guide.className} ${className}" style="left:${left}px;height:${lineHeight}px;width:${width}px"></div>`}output[lineIndex]=result}this._renderResult=output}getGuidesByLine(visibleStartLineNumber,visibleEndLineNumber,activeCursorPosition){const bracketGuides=this._bracketPairGuideOptions.bracketPairs!==false?this._context.viewModel.getBracketGuidesInRangeByLine(visibleStartLineNumber,visibleEndLineNumber,activeCursorPosition,{highlightActive:this._bracketPairGuideOptions.highlightActiveBracketPair,horizontalGuides:this._bracketPairGuideOptions.bracketPairsHorizontal===true?HorizontalGuidesState.Enabled:this._bracketPairGuideOptions.bracketPairsHorizontal==="active"?HorizontalGuidesState.EnabledForActive:HorizontalGuidesState.Disabled,includeInactive:this._bracketPairGuideOptions.bracketPairs===true}):null;const indentGuides=this._bracketPairGuideOptions.indentation?this._context.viewModel.getLinesIndentGuides(visibleStartLineNumber,visibleEndLineNumber):null;let activeIndentStartLineNumber=0;let activeIndentEndLineNumber=0;let activeIndentLevel=0;if(this._bracketPairGuideOptions.highlightActiveIndentation!==false&&activeCursorPosition){const activeIndentInfo=this._context.viewModel.getActiveIndentGuide(activeCursorPosition.lineNumber,visibleStartLineNumber,visibleEndLineNumber);activeIndentStartLineNumber=activeIndentInfo.startLineNumber;activeIndentEndLineNumber=activeIndentInfo.endLineNumber;activeIndentLevel=activeIndentInfo.indent}const{indentSize:indentSize}=this._context.viewModel.model.getOptions();const result=[];for(let lineNumber=visibleStartLineNumber;lineNumber<=visibleEndLineNumber;lineNumber++){const lineGuides=new Array;result.push(lineGuides);const bracketGuidesInLine=bracketGuides?bracketGuides[lineNumber-visibleStartLineNumber]:[];const bracketGuidesInLineQueue=new ArrayQueue(bracketGuidesInLine);const indentGuidesInLine=indentGuides?indentGuides[lineNumber-visibleStartLineNumber]:0;for(let indentLvl=1;indentLvl<=indentGuidesInLine;indentLvl++){const indentGuide=(indentLvl-1)*indentSize+1;const isActive=(this._bracketPairGuideOptions.highlightActiveIndentation==="always"||bracketGuidesInLine.length===0)&&activeIndentStartLineNumber<=lineNumber&&lineNumber<=activeIndentEndLineNumber&&indentLvl===activeIndentLevel;lineGuides.push(...bracketGuidesInLineQueue.takeWhile((g=>g.visibleColumn<indentGuide))||[]);const peeked=bracketGuidesInLineQueue.peek();if(!peeked||peeked.visibleColumn!==indentGuide||peeked.horizontalLine){lineGuides.push(new IndentGuide(indentGuide,-1,`core-guide-indent lvl-${(indentLvl-1)%30}`+(isActive?" indent-active":""),null,-1,-1))}}lineGuides.push(...bracketGuidesInLineQueue.takeWhile((g=>true))||[])}return result}render(startLineNumber,lineNumber){if(!this._renderResult){return""}const lineIndex=lineNumber-startLineNumber;if(lineIndex<0||lineIndex>=this._renderResult.length){return""}return this._renderResult[lineIndex]}};registerThemingParticipant(((theme,collector)=>{const colors=[{bracketColor:editorBracketHighlightingForeground1,guideColor:editorBracketPairGuideBackground1,guideColorActive:editorBracketPairGuideActiveBackground1},{bracketColor:editorBracketHighlightingForeground2,guideColor:editorBracketPairGuideBackground2,guideColorActive:editorBracketPairGuideActiveBackground2},{bracketColor:editorBracketHighlightingForeground3,guideColor:editorBracketPairGuideBackground3,guideColorActive:editorBracketPairGuideActiveBackground3},{bracketColor:editorBracketHighlightingForeground4,guideColor:editorBracketPairGuideBackground4,guideColorActive:editorBracketPairGuideActiveBackground4},{bracketColor:editorBracketHighlightingForeground5,guideColor:editorBracketPairGuideBackground5,guideColorActive:editorBracketPairGuideActiveBackground5},{bracketColor:editorBracketHighlightingForeground6,guideColor:editorBracketPairGuideBackground6,guideColorActive:editorBracketPairGuideActiveBackground6}];const colorProvider=new BracketPairGuidesClassNames;const indentColors=[{indentColor:editorIndentGuide1,indentColorActive:editorActiveIndentGuide1},{indentColor:editorIndentGuide2,indentColorActive:editorActiveIndentGuide2},{indentColor:editorIndentGuide3,indentColorActive:editorActiveIndentGuide3},{indentColor:editorIndentGuide4,indentColorActive:editorActiveIndentGuide4},{indentColor:editorIndentGuide5,indentColorActive:editorActiveIndentGuide5},{indentColor:editorIndentGuide6,indentColorActive:editorActiveIndentGuide6}];const colorValues=colors.map((c=>{var _a6,_b3;const bracketColor=theme.getColor(c.bracketColor);const guideColor=theme.getColor(c.guideColor);const guideColorActive=theme.getColor(c.guideColorActive);const effectiveGuideColor=transparentToUndefined((_a6=transparentToUndefined(guideColor))!==null&&_a6!==void 0?_a6:bracketColor===null||bracketColor===void 0?void 0:bracketColor.transparent(.3));const effectiveGuideColorActive=transparentToUndefined((_b3=transparentToUndefined(guideColorActive))!==null&&_b3!==void 0?_b3:bracketColor);if(!effectiveGuideColor||!effectiveGuideColorActive){return void 0}return{guideColor:effectiveGuideColor,guideColorActive:effectiveGuideColorActive}})).filter(isDefined);const indentColorValues=indentColors.map((c=>{const indentColor=theme.getColor(c.indentColor);const indentColorActive=theme.getColor(c.indentColorActive);const effectiveIndentColor=transparentToUndefined(indentColor);const effectiveIndentColorActive=transparentToUndefined(indentColorActive);if(!effectiveIndentColor||!effectiveIndentColorActive){return void 0}return{indentColor:effectiveIndentColor,indentColorActive:effectiveIndentColorActive}})).filter(isDefined);if(colorValues.length>0){for(let level=0;level<30;level++){const colors2=colorValues[level%colorValues.length];collector.addRule(`.monaco-editor .${colorProvider.getInlineClassNameOfLevel(level).replace(/ /g,".")} { --guide-color: ${colors2.guideColor}; --guide-color-active: ${colors2.guideColorActive}; }`)}collector.addRule(`.monaco-editor .vertical { box-shadow: 1px 0 0 0 var(--guide-color) inset; }`);collector.addRule(`.monaco-editor .horizontal-top { border-top: 1px solid var(--guide-color); }`);collector.addRule(`.monaco-editor .horizontal-bottom { border-bottom: 1px solid var(--guide-color); }`);collector.addRule(`.monaco-editor .vertical.${colorProvider.activeClassName} { box-shadow: 1px 0 0 0 var(--guide-color-active) inset; }`);collector.addRule(`.monaco-editor .horizontal-top.${colorProvider.activeClassName} { border-top: 1px solid var(--guide-color-active); }`);collector.addRule(`.monaco-editor .horizontal-bottom.${colorProvider.activeClassName} { border-bottom: 1px solid var(--guide-color-active); }`)}if(indentColorValues.length>0){for(let level=0;level<30;level++){const colors2=indentColorValues[level%indentColorValues.length];collector.addRule(`.monaco-editor .lines-content .core-guide-indent.lvl-${level} { --indent-color: ${colors2.indentColor}; --indent-color-active: ${colors2.indentColorActive}; }`)}collector.addRule(`.monaco-editor .lines-content .core-guide-indent { box-shadow: 1px 0 0 0 var(--indent-color) inset; }`);collector.addRule(`.monaco-editor .lines-content .core-guide-indent.indent-active { box-shadow: 1px 0 0 0 var(--indent-color-active) inset; }`)}}))}});var init_12=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lines/viewLines.css"(){}});var DomReadingContext;var init_domReadingContext=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lines/domReadingContext.js"(){DomReadingContext=class{get didDomLayout(){return this._didDomLayout}readClientRect(){if(!this._clientRectRead){this._clientRectRead=true;const rect=this._domNode.getBoundingClientRect();this.markDidDomLayout();this._clientRectDeltaLeft=rect.left;this._clientRectScale=rect.width/this._domNode.offsetWidth}}get clientRectDeltaLeft(){if(!this._clientRectRead){this.readClientRect()}return this._clientRectDeltaLeft}get clientRectScale(){if(!this._clientRectRead){this.readClientRect()}return this._clientRectScale}constructor(_domNode,endNode){this._domNode=_domNode;this.endNode=endNode;this._didDomLayout=false;this._clientRectDeltaLeft=0;this._clientRectScale=1;this._clientRectRead=false}markDidDomLayout(){this._didDomLayout=true}}}});var LastRenderedData,HorizontalRevealRangeRequest,HorizontalRevealSelectionsRequest,ViewLines;var init_viewLines=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/lines/viewLines.js"(){init_mouseCursor();init_async();init_platform();init_12();init_domFontInfo();init_renderingContext();init_viewLayer();init_viewPart();init_domReadingContext();init_viewLine();init_position();init_range();LastRenderedData=class{constructor(){this._currentVisibleRange=new Range(1,1,1,1)}getCurrentVisibleRange(){return this._currentVisibleRange}setCurrentVisibleRange(currentVisibleRange){this._currentVisibleRange=currentVisibleRange}};HorizontalRevealRangeRequest=class{constructor(minimalReveal,lineNumber,startColumn,endColumn,startScrollTop,stopScrollTop,scrollType){this.minimalReveal=minimalReveal;this.lineNumber=lineNumber;this.startColumn=startColumn;this.endColumn=endColumn;this.startScrollTop=startScrollTop;this.stopScrollTop=stopScrollTop;this.scrollType=scrollType;this.type="range";this.minLineNumber=lineNumber;this.maxLineNumber=lineNumber}};HorizontalRevealSelectionsRequest=class{constructor(minimalReveal,selections,startScrollTop,stopScrollTop,scrollType){this.minimalReveal=minimalReveal;this.selections=selections;this.startScrollTop=startScrollTop;this.stopScrollTop=stopScrollTop;this.scrollType=scrollType;this.type="selections";let minLineNumber=selections[0].startLineNumber;let maxLineNumber=selections[0].endLineNumber;for(let i=1,len=selections.length;i<len;i++){const selection=selections[i];minLineNumber=Math.min(minLineNumber,selection.startLineNumber);maxLineNumber=Math.max(maxLineNumber,selection.endLineNumber)}this.minLineNumber=minLineNumber;this.maxLineNumber=maxLineNumber}};ViewLines=class extends ViewPart{constructor(context,linesContent){super(context);this._linesContent=linesContent;this._textRangeRestingSpot=document.createElement("div");this._visibleLines=new VisibleLinesCollection(this);this.domNode=this._visibleLines.domNode;const conf80=this._context.configuration;const options2=this._context.configuration.options;const fontInfo=options2.get(49);const wrappingInfo=options2.get(143);this._lineHeight=options2.get(65);this._typicalHalfwidthCharacterWidth=fontInfo.typicalHalfwidthCharacterWidth;this._isViewportWrapping=wrappingInfo.isViewportWrapping;this._revealHorizontalRightPadding=options2.get(98);this._cursorSurroundingLines=options2.get(28);this._cursorSurroundingLinesStyle=options2.get(29);this._canUseLayerHinting=!options2.get(31);this._viewLineOptions=new ViewLineOptions(conf80,this._context.theme.type);PartFingerprints.write(this.domNode,7);this.domNode.setClassName(`view-lines ${MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`);applyFontInfo(this.domNode,fontInfo);this._maxLineWidth=0;this._asyncUpdateLineWidths=new RunOnceScheduler((()=>{this._updateLineWidthsSlow()}),200);this._asyncCheckMonospaceFontAssumptions=new RunOnceScheduler((()=>{this._checkMonospaceFontAssumptions()}),2e3);this._lastRenderedData=new LastRenderedData;this._horizontalRevealRequest=null;this._stickyScrollEnabled=options2.get(113).enabled;this._maxNumberStickyLines=options2.get(113).maxLineCount}dispose(){this._asyncUpdateLineWidths.dispose();this._asyncCheckMonospaceFontAssumptions.dispose();super.dispose()}getDomNode(){return this.domNode}createVisibleLine(){return new ViewLine(this._viewLineOptions)}onConfigurationChanged(e){this._visibleLines.onConfigurationChanged(e);if(e.hasChanged(143)){this._maxLineWidth=0}const options2=this._context.configuration.options;const fontInfo=options2.get(49);const wrappingInfo=options2.get(143);this._lineHeight=options2.get(65);this._typicalHalfwidthCharacterWidth=fontInfo.typicalHalfwidthCharacterWidth;this._isViewportWrapping=wrappingInfo.isViewportWrapping;this._revealHorizontalRightPadding=options2.get(98);this._cursorSurroundingLines=options2.get(28);this._cursorSurroundingLinesStyle=options2.get(29);this._canUseLayerHinting=!options2.get(31);this._stickyScrollEnabled=options2.get(113).enabled;this._maxNumberStickyLines=options2.get(113).maxLineCount;applyFontInfo(this.domNode,fontInfo);this._onOptionsMaybeChanged();if(e.hasChanged(142)){this._maxLineWidth=0}return true}_onOptionsMaybeChanged(){const conf80=this._context.configuration;const newViewLineOptions=new ViewLineOptions(conf80,this._context.theme.type);if(!this._viewLineOptions.equals(newViewLineOptions)){this._viewLineOptions=newViewLineOptions;const startLineNumber=this._visibleLines.getStartLineNumber();const endLineNumber=this._visibleLines.getEndLineNumber();for(let lineNumber=startLineNumber;lineNumber<=endLineNumber;lineNumber++){const line=this._visibleLines.getVisibleLine(lineNumber);line.onOptionsChanged(this._viewLineOptions)}return true}return false}onCursorStateChanged(e){const rendStartLineNumber=this._visibleLines.getStartLineNumber();const rendEndLineNumber=this._visibleLines.getEndLineNumber();let r=false;for(let lineNumber=rendStartLineNumber;lineNumber<=rendEndLineNumber;lineNumber++){r=this._visibleLines.getVisibleLine(lineNumber).onSelectionChanged()||r}return r}onDecorationsChanged(e){if(true){const rendStartLineNumber=this._visibleLines.getStartLineNumber();const rendEndLineNumber=this._visibleLines.getEndLineNumber();for(let lineNumber=rendStartLineNumber;lineNumber<=rendEndLineNumber;lineNumber++){this._visibleLines.getVisibleLine(lineNumber).onDecorationsChanged()}}return true}onFlushed(e){const shouldRender=this._visibleLines.onFlushed(e);this._maxLineWidth=0;return shouldRender}onLinesChanged(e){return this._visibleLines.onLinesChanged(e)}onLinesDeleted(e){return this._visibleLines.onLinesDeleted(e)}onLinesInserted(e){return this._visibleLines.onLinesInserted(e)}onRevealRangeRequest(e){const desiredScrollTop=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),e.source,e.minimalReveal,e.range,e.selections,e.verticalType);if(desiredScrollTop===-1){return false}let newScrollPosition=this._context.viewLayout.validateScrollPosition({scrollTop:desiredScrollTop});if(e.revealHorizontal){if(e.range&&e.range.startLineNumber!==e.range.endLineNumber){newScrollPosition={scrollTop:newScrollPosition.scrollTop,scrollLeft:0}}else if(e.range){this._horizontalRevealRequest=new HorizontalRevealRangeRequest(e.minimalReveal,e.range.startLineNumber,e.range.startColumn,e.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),newScrollPosition.scrollTop,e.scrollType)}else if(e.selections&&e.selections.length>0){this._horizontalRevealRequest=new HorizontalRevealSelectionsRequest(e.minimalReveal,e.selections,this._context.viewLayout.getCurrentScrollTop(),newScrollPosition.scrollTop,e.scrollType)}}else{this._horizontalRevealRequest=null}const scrollTopDelta=Math.abs(this._context.viewLayout.getCurrentScrollTop()-newScrollPosition.scrollTop);const scrollType=scrollTopDelta<=this._lineHeight?1:e.scrollType;this._context.viewModel.viewLayout.setScrollPosition(newScrollPosition,scrollType);return true}onScrollChanged(e){if(this._horizontalRevealRequest&&e.scrollLeftChanged){this._horizontalRevealRequest=null}if(this._horizontalRevealRequest&&e.scrollTopChanged){const min=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);const max=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);if(e.scrollTop<min||e.scrollTop>max){this._horizontalRevealRequest=null}}this.domNode.setWidth(e.scrollWidth);return this._visibleLines.onScrollChanged(e)||true}onTokensChanged(e){return this._visibleLines.onTokensChanged(e)}onZonesChanged(e){this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth);return this._visibleLines.onZonesChanged(e)}onThemeChanged(e){return this._onOptionsMaybeChanged()}getPositionFromDOMInfo(spanNode,offset){const viewLineDomNode=this._getViewLineDomNode(spanNode);if(viewLineDomNode===null){return null}const lineNumber=this._getLineNumberFor(viewLineDomNode);if(lineNumber===-1){return null}if(lineNumber<1||lineNumber>this._context.viewModel.getLineCount()){return null}if(this._context.viewModel.getLineMaxColumn(lineNumber)===1){return new Position(lineNumber,1)}const rendStartLineNumber=this._visibleLines.getStartLineNumber();const rendEndLineNumber=this._visibleLines.getEndLineNumber();if(lineNumber<rendStartLineNumber||lineNumber>rendEndLineNumber){return null}let column=this._visibleLines.getVisibleLine(lineNumber).getColumnOfNodeOffset(spanNode,offset);const minColumn=this._context.viewModel.getLineMinColumn(lineNumber);if(column<minColumn){column=minColumn}return new Position(lineNumber,column)}_getViewLineDomNode(node){while(node&&node.nodeType===1){if(node.className===ViewLine.CLASS_NAME){return node}node=node.parentElement}return null}_getLineNumberFor(domNode){const startLineNumber=this._visibleLines.getStartLineNumber();const endLineNumber=this._visibleLines.getEndLineNumber();for(let lineNumber=startLineNumber;lineNumber<=endLineNumber;lineNumber++){const line=this._visibleLines.getVisibleLine(lineNumber);if(domNode===line.getDomNode()){return lineNumber}}return-1}getLineWidth(lineNumber){const rendStartLineNumber=this._visibleLines.getStartLineNumber();const rendEndLineNumber=this._visibleLines.getEndLineNumber();if(lineNumber<rendStartLineNumber||lineNumber>rendEndLineNumber){return-1}const context=new DomReadingContext(this.domNode.domNode,this._textRangeRestingSpot);const result=this._visibleLines.getVisibleLine(lineNumber).getWidth(context);this._updateLineWidthsSlowIfDomDidLayout(context);return result}linesVisibleRangesForRange(_range,includeNewLines){if(this.shouldRender()){return null}const originalEndLineNumber=_range.endLineNumber;const range2=Range.intersectRanges(_range,this._lastRenderedData.getCurrentVisibleRange());if(!range2){return null}const visibleRanges=[];let visibleRangesLen=0;const domReadingContext=new DomReadingContext(this.domNode.domNode,this._textRangeRestingSpot);let nextLineModelLineNumber=0;if(includeNewLines){nextLineModelLineNumber=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Position(range2.startLineNumber,1)).lineNumber}const rendStartLineNumber=this._visibleLines.getStartLineNumber();const rendEndLineNumber=this._visibleLines.getEndLineNumber();for(let lineNumber=range2.startLineNumber;lineNumber<=range2.endLineNumber;lineNumber++){if(lineNumber<rendStartLineNumber||lineNumber>rendEndLineNumber){continue}const startColumn=lineNumber===range2.startLineNumber?range2.startColumn:1;const continuesInNextLine=lineNumber!==range2.endLineNumber;const endColumn=continuesInNextLine?this._context.viewModel.getLineMaxColumn(lineNumber):range2.endColumn;const visibleRangesForLine=this._visibleLines.getVisibleLine(lineNumber).getVisibleRangesForRange(lineNumber,startColumn,endColumn,domReadingContext);if(!visibleRangesForLine){continue}if(includeNewLines&&lineNumber<originalEndLineNumber){const currentLineModelLineNumber=nextLineModelLineNumber;nextLineModelLineNumber=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Position(lineNumber+1,1)).lineNumber;if(currentLineModelLineNumber!==nextLineModelLineNumber){visibleRangesForLine.ranges[visibleRangesForLine.ranges.length-1].width+=this._typicalHalfwidthCharacterWidth}}visibleRanges[visibleRangesLen++]=new LineVisibleRanges(visibleRangesForLine.outsideRenderedLine,lineNumber,HorizontalRange.from(visibleRangesForLine.ranges),continuesInNextLine)}this._updateLineWidthsSlowIfDomDidLayout(domReadingContext);if(visibleRangesLen===0){return null}return visibleRanges}_visibleRangesForLineRange(lineNumber,startColumn,endColumn){if(this.shouldRender()){return null}if(lineNumber<this._visibleLines.getStartLineNumber()||lineNumber>this._visibleLines.getEndLineNumber()){return null}const domReadingContext=new DomReadingContext(this.domNode.domNode,this._textRangeRestingSpot);const result=this._visibleLines.getVisibleLine(lineNumber).getVisibleRangesForRange(lineNumber,startColumn,endColumn,domReadingContext);this._updateLineWidthsSlowIfDomDidLayout(domReadingContext);return result}visibleRangeForPosition(position){const visibleRanges=this._visibleRangesForLineRange(position.lineNumber,position.column,position.column);if(!visibleRanges){return null}return new HorizontalPosition(visibleRanges.outsideRenderedLine,visibleRanges.ranges[0].left)}_updateLineWidthsFast(){return this._updateLineWidths(true)}_updateLineWidthsSlow(){this._updateLineWidths(false)}_updateLineWidthsSlowIfDomDidLayout(domReadingContext){if(!domReadingContext.didDomLayout){return}if(this._asyncUpdateLineWidths.isScheduled()){return}this._asyncUpdateLineWidths.cancel();this._updateLineWidthsSlow()}_updateLineWidths(fast){const rendStartLineNumber=this._visibleLines.getStartLineNumber();const rendEndLineNumber=this._visibleLines.getEndLineNumber();let localMaxLineWidth=1;let allWidthsComputed=true;for(let lineNumber=rendStartLineNumber;lineNumber<=rendEndLineNumber;lineNumber++){const visibleLine=this._visibleLines.getVisibleLine(lineNumber);if(fast&&!visibleLine.getWidthIsFast()){allWidthsComputed=false;continue}localMaxLineWidth=Math.max(localMaxLineWidth,visibleLine.getWidth(null))}if(allWidthsComputed&&rendStartLineNumber===1&&rendEndLineNumber===this._context.viewModel.getLineCount()){this._maxLineWidth=0}this._ensureMaxLineWidth(localMaxLineWidth);return allWidthsComputed}_checkMonospaceFontAssumptions(){let longestLineNumber=-1;let longestWidth=-1;const rendStartLineNumber=this._visibleLines.getStartLineNumber();const rendEndLineNumber=this._visibleLines.getEndLineNumber();for(let lineNumber=rendStartLineNumber;lineNumber<=rendEndLineNumber;lineNumber++){const visibleLine=this._visibleLines.getVisibleLine(lineNumber);if(visibleLine.needsMonospaceFontCheck()){const lineWidth=visibleLine.getWidth(null);if(lineWidth>longestWidth){longestWidth=lineWidth;longestLineNumber=lineNumber}}}if(longestLineNumber===-1){return}if(!this._visibleLines.getVisibleLine(longestLineNumber).monospaceAssumptionsAreValid()){for(let lineNumber=rendStartLineNumber;lineNumber<=rendEndLineNumber;lineNumber++){const visibleLine=this._visibleLines.getVisibleLine(lineNumber);visibleLine.onMonospaceAssumptionsInvalidated()}}}prepareRender(){throw new Error("Not supported")}render(){throw new Error("Not supported")}renderText(viewportData){this._visibleLines.renderLines(viewportData);this._lastRenderedData.setCurrentVisibleRange(viewportData.visibleRange);this.domNode.setWidth(this._context.viewLayout.getScrollWidth());this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6));if(this._horizontalRevealRequest){const horizontalRevealRequest=this._horizontalRevealRequest;if(viewportData.startLineNumber<=horizontalRevealRequest.minLineNumber&&horizontalRevealRequest.maxLineNumber<=viewportData.endLineNumber){this._horizontalRevealRequest=null;this.onDidRender();const newScrollLeft=this._computeScrollLeftToReveal(horizontalRevealRequest);if(newScrollLeft){if(!this._isViewportWrapping){this._ensureMaxLineWidth(newScrollLeft.maxHorizontalOffset)}this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:newScrollLeft.scrollLeft},horizontalRevealRequest.scrollType)}}}if(!this._updateLineWidthsFast()){this._asyncUpdateLineWidths.schedule()}else{this._asyncUpdateLineWidths.cancel()}if(isLinux&&!this._asyncCheckMonospaceFontAssumptions.isScheduled()){const rendStartLineNumber=this._visibleLines.getStartLineNumber();const rendEndLineNumber=this._visibleLines.getEndLineNumber();for(let lineNumber=rendStartLineNumber;lineNumber<=rendEndLineNumber;lineNumber++){const visibleLine=this._visibleLines.getVisibleLine(lineNumber);if(visibleLine.needsMonospaceFontCheck()){this._asyncCheckMonospaceFontAssumptions.schedule();break}}}this._linesContent.setLayerHinting(this._canUseLayerHinting);this._linesContent.setContain("strict");const adjustedScrollTop=this._context.viewLayout.getCurrentScrollTop()-viewportData.bigNumbersDelta;this._linesContent.setTop(-adjustedScrollTop);this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())}_ensureMaxLineWidth(lineWidth){const iLineWidth=Math.ceil(lineWidth);if(this._maxLineWidth<iLineWidth){this._maxLineWidth=iLineWidth;this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth)}}_computeScrollTopToRevealRange(viewport,source,minimalReveal,range2,selections,verticalType){const viewportStartY=viewport.top;const viewportHeight=viewport.height;const viewportEndY=viewportStartY+viewportHeight;let boxIsSingleRange;let boxStartY;let boxEndY;if(selections&&selections.length>0){let minLineNumber=selections[0].startLineNumber;let maxLineNumber=selections[0].endLineNumber;for(let i=1,len=selections.length;i<len;i++){const selection=selections[i];minLineNumber=Math.min(minLineNumber,selection.startLineNumber);maxLineNumber=Math.max(maxLineNumber,selection.endLineNumber)}boxIsSingleRange=false;boxStartY=this._context.viewLayout.getVerticalOffsetForLineNumber(minLineNumber);boxEndY=this._context.viewLayout.getVerticalOffsetForLineNumber(maxLineNumber)+this._lineHeight}else if(range2){boxIsSingleRange=true;boxStartY=this._context.viewLayout.getVerticalOffsetForLineNumber(range2.startLineNumber);boxEndY=this._context.viewLayout.getVerticalOffsetForLineNumber(range2.endLineNumber)+this._lineHeight}else{return-1}const shouldIgnoreScrollOff=(source==="mouse"||minimalReveal)&&this._cursorSurroundingLinesStyle==="default";let paddingTop=0;let paddingBottom=0;if(!shouldIgnoreScrollOff){const context=Math.min(viewportHeight/this._lineHeight/2,this._cursorSurroundingLines);if(this._stickyScrollEnabled){paddingTop=Math.max(context,this._maxNumberStickyLines)*this._lineHeight}else{paddingTop=context*this._lineHeight}paddingBottom=Math.max(0,context-1)*this._lineHeight}else{if(!minimalReveal){paddingTop=this._lineHeight}}if(!minimalReveal){if(verticalType===0||verticalType===4){paddingBottom+=this._lineHeight}}boxStartY-=paddingTop;boxEndY+=paddingBottom;let newScrollTop;if(boxEndY-boxStartY>viewportHeight){if(!boxIsSingleRange){return-1}newScrollTop=boxStartY}else if(verticalType===5||verticalType===6){if(verticalType===6&&viewportStartY<=boxStartY&&boxEndY<=viewportEndY){newScrollTop=viewportStartY}else{const desiredGapAbove=Math.max(5*this._lineHeight,viewportHeight*.2);const desiredScrollTop=boxStartY-desiredGapAbove;const minScrollTop=boxEndY-viewportHeight;newScrollTop=Math.max(minScrollTop,desiredScrollTop)}}else if(verticalType===1||verticalType===2){if(verticalType===2&&viewportStartY<=boxStartY&&boxEndY<=viewportEndY){newScrollTop=viewportStartY}else{const boxMiddleY=(boxStartY+boxEndY)/2;newScrollTop=Math.max(0,boxMiddleY-viewportHeight/2)}}else{newScrollTop=this._computeMinimumScrolling(viewportStartY,viewportEndY,boxStartY,boxEndY,verticalType===3,verticalType===4)}return newScrollTop}_computeScrollLeftToReveal(horizontalRevealRequest){const viewport=this._context.viewLayout.getCurrentViewport();const layoutInfo=this._context.configuration.options.get(142);const viewportStartX=viewport.left;const viewportEndX=viewportStartX+viewport.width-layoutInfo.verticalScrollbarWidth;let boxStartX=1073741824;let boxEndX=0;if(horizontalRevealRequest.type==="range"){const visibleRanges=this._visibleRangesForLineRange(horizontalRevealRequest.lineNumber,horizontalRevealRequest.startColumn,horizontalRevealRequest.endColumn);if(!visibleRanges){return null}for(const visibleRange of visibleRanges.ranges){boxStartX=Math.min(boxStartX,Math.round(visibleRange.left));boxEndX=Math.max(boxEndX,Math.round(visibleRange.left+visibleRange.width))}}else{for(const selection of horizontalRevealRequest.selections){if(selection.startLineNumber!==selection.endLineNumber){return null}const visibleRanges=this._visibleRangesForLineRange(selection.startLineNumber,selection.startColumn,selection.endColumn);if(!visibleRanges){return null}for(const visibleRange of visibleRanges.ranges){boxStartX=Math.min(boxStartX,Math.round(visibleRange.left));boxEndX=Math.max(boxEndX,Math.round(visibleRange.left+visibleRange.width))}}}if(!horizontalRevealRequest.minimalReveal){boxStartX=Math.max(0,boxStartX-ViewLines.HORIZONTAL_EXTRA_PX);boxEndX+=this._revealHorizontalRightPadding}if(horizontalRevealRequest.type==="selections"&&boxEndX-boxStartX>viewport.width){return null}const newScrollLeft=this._computeMinimumScrolling(viewportStartX,viewportEndX,boxStartX,boxEndX);return{scrollLeft:newScrollLeft,maxHorizontalOffset:boxEndX}}_computeMinimumScrolling(viewportStart,viewportEnd,boxStart,boxEnd,revealAtStart,revealAtEnd){viewportStart=viewportStart|0;viewportEnd=viewportEnd|0;boxStart=boxStart|0;boxEnd=boxEnd|0;revealAtStart=!!revealAtStart;revealAtEnd=!!revealAtEnd;const viewportLength=viewportEnd-viewportStart;const boxLength=boxEnd-boxStart;if(boxLength<viewportLength){if(revealAtStart){return boxStart}if(revealAtEnd){return Math.max(0,boxEnd-viewportLength)}if(boxStart<viewportStart){return boxStart}else if(boxEnd>viewportEnd){return Math.max(0,boxEnd-viewportLength)}}else{return boxStart}return viewportStart}};ViewLines.HORIZONTAL_EXTRA_PX=30}});var init_13=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/linesDecorations/linesDecorations.css"(){}});var init_14=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/glyphMargin/glyphMargin.css"(){}});var DecorationToRender,LineDecorationToRender,VisibleLineDecorationsToRender,DedupOverlay,GlyphMarginWidgets,DecorationBasedGlyphRenderRequest,WidgetBasedGlyphRenderRequest,DecorationBasedGlyph;var init_glyphMargin=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js"(){init_fastDomNode();init_arrays();init_14();init_dynamicViewOverlay();init_viewPart();init_range();DecorationToRender=class{constructor(startLineNumber,endLineNumber,className,zIndex){this._decorationToRenderBrand=void 0;this.startLineNumber=+startLineNumber;this.endLineNumber=+endLineNumber;this.className=String(className);this.zIndex=zIndex!==null&&zIndex!==void 0?zIndex:0}};LineDecorationToRender=class{constructor(className,zIndex){this.className=className;this.zIndex=zIndex}};VisibleLineDecorationsToRender=class{constructor(){this.decorations=[]}add(decoration2){this.decorations.push(decoration2)}getDecorations(){return this.decorations}};DedupOverlay=class extends DynamicViewOverlay{_render(visibleStartLineNumber,visibleEndLineNumber,decorations){const output=[];for(let lineNumber=visibleStartLineNumber;lineNumber<=visibleEndLineNumber;lineNumber++){const lineIndex=lineNumber-visibleStartLineNumber;output[lineIndex]=new VisibleLineDecorationsToRender}if(decorations.length===0){return output}decorations.sort(((a,b)=>{if(a.className===b.className){if(a.startLineNumber===b.startLineNumber){return a.endLineNumber-b.endLineNumber}return a.startLineNumber-b.startLineNumber}return a.className<b.className?-1:1}));let prevClassName=null;let prevEndLineIndex=0;for(let i=0,len=decorations.length;i<len;i++){const d=decorations[i];const className=d.className;const zIndex=d.zIndex;let startLineIndex=Math.max(d.startLineNumber,visibleStartLineNumber)-visibleStartLineNumber;const endLineIndex=Math.min(d.endLineNumber,visibleEndLineNumber)-visibleStartLineNumber;if(prevClassName===className){startLineIndex=Math.max(prevEndLineIndex+1,startLineIndex);prevEndLineIndex=Math.max(prevEndLineIndex,endLineIndex)}else{prevClassName=className;prevEndLineIndex=endLineIndex}for(let i2=startLineIndex;i2<=prevEndLineIndex;i2++){output[i2].add(new LineDecorationToRender(className,zIndex))}}return output}};GlyphMarginWidgets=class extends ViewPart{constructor(context){super(context);this._widgets={};this._context=context;const options2=this._context.configuration.options;const layoutInfo=options2.get(142);this.domNode=createFastDomNode(document.createElement("div"));this.domNode.setClassName("glyph-margin-widgets");this.domNode.setPosition("absolute");this.domNode.setTop(0);this._lineHeight=options2.get(65);this._glyphMargin=options2.get(56);this._glyphMarginLeft=layoutInfo.glyphMarginLeft;this._glyphMarginWidth=layoutInfo.glyphMarginWidth;this._glyphMarginDecorationLaneCount=layoutInfo.glyphMarginDecorationLaneCount;this._managedDomNodes=[];this._decorationGlyphsToRender=[]}dispose(){this._managedDomNodes=[];this._decorationGlyphsToRender=[];this._widgets={};super.dispose()}getWidgets(){return Object.values(this._widgets)}onConfigurationChanged(e){const options2=this._context.configuration.options;const layoutInfo=options2.get(142);this._lineHeight=options2.get(65);this._glyphMargin=options2.get(56);this._glyphMarginLeft=layoutInfo.glyphMarginLeft;this._glyphMarginWidth=layoutInfo.glyphMarginWidth;this._glyphMarginDecorationLaneCount=layoutInfo.glyphMarginDecorationLaneCount;return true}onDecorationsChanged(e){return true}onFlushed(e){return true}onLinesChanged(e){return true}onLinesDeleted(e){return true}onLinesInserted(e){return true}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return true}addWidget(widget){const domNode=createFastDomNode(widget.getDomNode());this._widgets[widget.getId()]={widget:widget,preference:widget.getPosition(),domNode:domNode,renderInfo:null};domNode.setPosition("absolute");domNode.setDisplay("none");domNode.setAttribute("widgetId",widget.getId());this.domNode.appendChild(domNode);this.setShouldRender()}setWidgetPosition(widget,preference){const myWidget=this._widgets[widget.getId()];if(myWidget.preference.lane===preference.lane&&myWidget.preference.zIndex===preference.zIndex&&Range.equalsRange(myWidget.preference.range,preference.range)){return false}myWidget.preference=preference;this.setShouldRender();return true}removeWidget(widget){var _a6;const widgetId=widget.getId();if(this._widgets[widgetId]){const widgetData=this._widgets[widgetId];const domNode=widgetData.domNode.domNode;delete this._widgets[widgetId];(_a6=domNode.parentNode)===null||_a6===void 0?void 0:_a6.removeChild(domNode);this.setShouldRender()}}_collectDecorationBasedGlyphRenderRequest(ctx,requests){var _a6,_b3,_c2;const visibleStartLineNumber=ctx.visibleRange.startLineNumber;const visibleEndLineNumber=ctx.visibleRange.endLineNumber;const decorations=ctx.getDecorationsInViewport();for(const d of decorations){const glyphMarginClassName=d.options.glyphMarginClassName;if(!glyphMarginClassName){continue}const startLineNumber=Math.max(d.range.startLineNumber,visibleStartLineNumber);const endLineNumber=Math.min(d.range.endLineNumber,visibleEndLineNumber);const lane=Math.min((_b3=(_a6=d.options.glyphMargin)===null||_a6===void 0?void 0:_a6.position)!==null&&_b3!==void 0?_b3:1,this._glyphMarginDecorationLaneCount);const zIndex=(_c2=d.options.zIndex)!==null&&_c2!==void 0?_c2:0;for(let lineNumber=startLineNumber;lineNumber<=endLineNumber;lineNumber++){requests.push(new DecorationBasedGlyphRenderRequest(lineNumber,lane,zIndex,glyphMarginClassName))}}}_collectWidgetBasedGlyphRenderRequest(ctx,requests){const visibleStartLineNumber=ctx.visibleRange.startLineNumber;const visibleEndLineNumber=ctx.visibleRange.endLineNumber;for(const widget of Object.values(this._widgets)){const range2=widget.preference.range;if(range2.endLineNumber<visibleStartLineNumber||range2.startLineNumber>visibleEndLineNumber){continue}const widgetLineNumber=Math.max(range2.startLineNumber,visibleStartLineNumber);const lane=Math.min(widget.preference.lane,this._glyphMarginDecorationLaneCount);requests.push(new WidgetBasedGlyphRenderRequest(widgetLineNumber,lane,widget.preference.zIndex,widget))}}_collectSortedGlyphRenderRequests(ctx){const requests=[];this._collectDecorationBasedGlyphRenderRequest(ctx,requests);this._collectWidgetBasedGlyphRenderRequest(ctx,requests);requests.sort(((a,b)=>{if(a.lineNumber===b.lineNumber){if(a.lane===b.lane){if(a.zIndex===b.zIndex){if(b.type===a.type){if(a.type===0&&b.type===0){return a.className<b.className?-1:1}return 0}return b.type-a.type}return b.zIndex-a.zIndex}return a.lane-b.lane}return a.lineNumber-b.lineNumber}));return requests}prepareRender(ctx){if(!this._glyphMargin){this._decorationGlyphsToRender=[];return}for(const widget of Object.values(this._widgets)){widget.renderInfo=null}const requests=new ArrayQueue(this._collectSortedGlyphRenderRequests(ctx));const decorationGlyphsToRender=[];while(requests.length>0){const first2=requests.peek();if(!first2){break}const requestsAtLocation=requests.takeWhile((el=>el.lineNumber===first2.lineNumber&&el.lane===first2.lane));if(!requestsAtLocation||requestsAtLocation.length===0){break}const winner=requestsAtLocation[0];if(winner.type===0){const classNames=[];for(const request of requestsAtLocation){if(request.zIndex!==winner.zIndex||request.type!==winner.type){break}if(classNames.length===0||classNames[classNames.length-1]!==request.className){classNames.push(request.className)}}decorationGlyphsToRender.push(winner.accept(classNames.join(" ")))}else{winner.widget.renderInfo={lineNumber:winner.lineNumber,lane:winner.lane}}}this._decorationGlyphsToRender=decorationGlyphsToRender}render(ctx){if(!this._glyphMargin){for(const widget of Object.values(this._widgets)){widget.domNode.setDisplay("none")}while(this._managedDomNodes.length>0){const domNode=this._managedDomNodes.pop();domNode===null||domNode===void 0?void 0:domNode.domNode.remove()}return}const width=Math.round(this._glyphMarginWidth/this._glyphMarginDecorationLaneCount);for(const widget of Object.values(this._widgets)){if(!widget.renderInfo){widget.domNode.setDisplay("none")}else{const top=ctx.viewportData.relativeVerticalOffset[widget.renderInfo.lineNumber-ctx.viewportData.startLineNumber];const left=this._glyphMarginLeft+(widget.renderInfo.lane-1)*this._lineHeight;widget.domNode.setDisplay("block");widget.domNode.setTop(top);widget.domNode.setLeft(left);widget.domNode.setWidth(width);widget.domNode.setHeight(this._lineHeight)}}for(let i=0;i<this._decorationGlyphsToRender.length;i++){const dec=this._decorationGlyphsToRender[i];const top=ctx.viewportData.relativeVerticalOffset[dec.lineNumber-ctx.viewportData.startLineNumber];const left=this._glyphMarginLeft+(dec.lane-1)*this._lineHeight;let domNode;if(i<this._managedDomNodes.length){domNode=this._managedDomNodes[i]}else{domNode=createFastDomNode(document.createElement("div"));this._managedDomNodes.push(domNode);this.domNode.appendChild(domNode)}domNode.setClassName(`cgmr codicon `+dec.combinedClassName);domNode.setPosition(`absolute`);domNode.setTop(top);domNode.setLeft(left);domNode.setWidth(width);domNode.setHeight(this._lineHeight)}while(this._managedDomNodes.length>this._decorationGlyphsToRender.length){const domNode=this._managedDomNodes.pop();domNode===null||domNode===void 0?void 0:domNode.domNode.remove()}}};DecorationBasedGlyphRenderRequest=class{constructor(lineNumber,lane,zIndex,className){this.lineNumber=lineNumber;this.lane=lane;this.zIndex=zIndex;this.className=className;this.type=0}accept(combinedClassName){return new DecorationBasedGlyph(this.lineNumber,this.lane,combinedClassName)}};WidgetBasedGlyphRenderRequest=class{constructor(lineNumber,lane,zIndex,widget){this.lineNumber=lineNumber;this.lane=lane;this.zIndex=zIndex;this.widget=widget;this.type=1}};DecorationBasedGlyph=class{constructor(lineNumber,lane,combinedClassName){this.lineNumber=lineNumber;this.lane=lane;this.combinedClassName=combinedClassName}}}});var LinesDecorationsOverlay;var init_linesDecorations=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/linesDecorations/linesDecorations.js"(){init_13();init_glyphMargin();LinesDecorationsOverlay=class extends DedupOverlay{constructor(context){super();this._context=context;const options2=this._context.configuration.options;const layoutInfo=options2.get(142);this._decorationsLeft=layoutInfo.decorationsLeft;this._decorationsWidth=layoutInfo.decorationsWidth;this._renderResult=null;this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this);this._renderResult=null;super.dispose()}onConfigurationChanged(e){const options2=this._context.configuration.options;const layoutInfo=options2.get(142);this._decorationsLeft=layoutInfo.decorationsLeft;this._decorationsWidth=layoutInfo.decorationsWidth;return true}onDecorationsChanged(e){return true}onFlushed(e){return true}onLinesChanged(e){return true}onLinesDeleted(e){return true}onLinesInserted(e){return true}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return true}_getDecorations(ctx){const decorations=ctx.getDecorationsInViewport();const r=[];let rLen=0;for(let i=0,len=decorations.length;i<len;i++){const d=decorations[i];const linesDecorationsClassName=d.options.linesDecorationsClassName;const zIndex=d.options.zIndex;if(linesDecorationsClassName){r[rLen++]=new DecorationToRender(d.range.startLineNumber,d.range.endLineNumber,linesDecorationsClassName,zIndex)}const firstLineDecorationClassName=d.options.firstLineDecorationClassName;if(firstLineDecorationClassName){r[rLen++]=new DecorationToRender(d.range.startLineNumber,d.range.startLineNumber,firstLineDecorationClassName,zIndex)}}return r}prepareRender(ctx){const visibleStartLineNumber=ctx.visibleRange.startLineNumber;const visibleEndLineNumber=ctx.visibleRange.endLineNumber;const toRender=this._render(visibleStartLineNumber,visibleEndLineNumber,this._getDecorations(ctx));const left=this._decorationsLeft.toString();const width=this._decorationsWidth.toString();const common='" style="left:'+left+"px;width:"+width+'px;"></div>';const output=[];for(let lineNumber=visibleStartLineNumber;lineNumber<=visibleEndLineNumber;lineNumber++){const lineIndex=lineNumber-visibleStartLineNumber;const decorations=toRender[lineIndex].getDecorations();let lineOutput="";for(const decoration2 of decorations){lineOutput+='<div class="cldr '+decoration2.className+common}output[lineIndex]=lineOutput}this._renderResult=output}render(startLineNumber,lineNumber){if(!this._renderResult){return""}return this._renderResult[lineNumber-startLineNumber]}}}});var init_15=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/marginDecorations/marginDecorations.css"(){}});var MarginViewLineDecorationsOverlay;var init_marginDecorations=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/marginDecorations/marginDecorations.js"(){init_15();init_glyphMargin();MarginViewLineDecorationsOverlay=class extends DedupOverlay{constructor(context){super();this._context=context;this._renderResult=null;this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this);this._renderResult=null;super.dispose()}onConfigurationChanged(e){return true}onDecorationsChanged(e){return true}onFlushed(e){return true}onLinesChanged(e){return true}onLinesDeleted(e){return true}onLinesInserted(e){return true}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return true}_getDecorations(ctx){const decorations=ctx.getDecorationsInViewport();const r=[];let rLen=0;for(let i=0,len=decorations.length;i<len;i++){const d=decorations[i];const marginClassName=d.options.marginClassName;const zIndex=d.options.zIndex;if(marginClassName){r[rLen++]=new DecorationToRender(d.range.startLineNumber,d.range.endLineNumber,marginClassName,zIndex)}}return r}prepareRender(ctx){const visibleStartLineNumber=ctx.visibleRange.startLineNumber;const visibleEndLineNumber=ctx.visibleRange.endLineNumber;const toRender=this._render(visibleStartLineNumber,visibleEndLineNumber,this._getDecorations(ctx));const output=[];for(let lineNumber=visibleStartLineNumber;lineNumber<=visibleEndLineNumber;lineNumber++){const lineIndex=lineNumber-visibleStartLineNumber;const decorations=toRender[lineIndex].getDecorations();let lineOutput="";for(const decoration2 of decorations){lineOutput+='<div class="cmdr '+decoration2.className+'" style=""></div>'}output[lineIndex]=lineOutput}this._renderResult=output}render(startLineNumber,lineNumber){if(!this._renderResult){return""}return this._renderResult[lineNumber-startLineNumber]}}}});var init_16=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/minimap/minimap.css"(){}});var RGBA8;var init_rgba=__esm({"node_modules/monaco-editor/esm/vs/editor/common/core/rgba.js"(){RGBA8=class{constructor(r,g,b,a){this._rgba8Brand=void 0;this.r=RGBA8._clamp(r);this.g=RGBA8._clamp(g);this.b=RGBA8._clamp(b);this.a=RGBA8._clamp(a)}equals(other){return this.r===other.r&&this.g===other.g&&this.b===other.b&&this.a===other.a}static _clamp(c){if(c<0){return 0}if(c>255){return 255}return c|0}};RGBA8.Empty=new RGBA8(0,0,0,0)}});var MinimapTokensColorTracker;var init_minimapTokensColorTracker=__esm({"node_modules/monaco-editor/esm/vs/editor/common/viewModel/minimapTokensColorTracker.js"(){init_event();init_lifecycle();init_rgba();init_languages();MinimapTokensColorTracker=class extends Disposable{static getInstance(){if(!this._INSTANCE){this._INSTANCE=markAsSingleton(new MinimapTokensColorTracker)}return this._INSTANCE}constructor(){super();this._onDidChange=new Emitter;this.onDidChange=this._onDidChange.event;this._updateColorMap();this._register(TokenizationRegistry2.onDidChange((e=>{if(e.changedColorMap){this._updateColorMap()}})))}_updateColorMap(){const colorMap=TokenizationRegistry2.getColorMap();if(!colorMap){this._colors=[RGBA8.Empty];this._backgroundIsLight=true;return}this._colors=[RGBA8.Empty];for(let colorId=1;colorId<colorMap.length;colorId++){const source=colorMap[colorId].rgba;this._colors[colorId]=new RGBA8(source.r,source.g,source.b,Math.round(source.a*255))}const backgroundLuminosity=colorMap[2].getRelativeLuminance();this._backgroundIsLight=backgroundLuminosity>=.5;this._onDidChange.fire(void 0)}getColor(colorId){if(colorId<1||colorId>=this._colors.length){colorId=2}return this._colors[colorId]}backgroundIsLight(){return this._backgroundIsLight}};MinimapTokensColorTracker._INSTANCE=null}});var allCharCodes,getCharIndex;var init_minimapCharSheet=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/minimap/minimapCharSheet.js"(){allCharCodes=(()=>{const v=[];for(let i=32;i<=126;i++){v.push(i)}v.push(65533);return v})();getCharIndex=(chCode,fontScale)=>{chCode-=32;if(chCode<0||chCode>96){if(fontScale<=2){return(chCode+96)%96}return 96-1}return chCode}}});var MinimapCharRenderer;var init_minimapCharRenderer=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/minimap/minimapCharRenderer.js"(){init_minimapCharSheet();init_uint();MinimapCharRenderer=class{constructor(charData,scale){this.scale=scale;this._minimapCharRendererBrand=void 0;this.charDataNormal=MinimapCharRenderer.soften(charData,12/15);this.charDataLight=MinimapCharRenderer.soften(charData,50/60)}static soften(input,ratio){const result=new Uint8ClampedArray(input.length);for(let i=0,len=input.length;i<len;i++){result[i]=toUint8(input[i]*ratio)}return result}renderChar(target,dx,dy,chCode,color,foregroundAlpha,backgroundColor,backgroundAlpha,fontScale,useLighterFont,force1pxHeight){const charWidth=1*this.scale;const charHeight=2*this.scale;const renderHeight=force1pxHeight?1:charHeight;if(dx+charWidth>target.width||dy+renderHeight>target.height){console.warn("bad render request outside image data");return}const charData=useLighterFont?this.charDataLight:this.charDataNormal;const charIndex=getCharIndex(chCode,fontScale);const destWidth=target.width*4;const backgroundR=backgroundColor.r;const backgroundG=backgroundColor.g;const backgroundB=backgroundColor.b;const deltaR=color.r-backgroundR;const deltaG=color.g-backgroundG;const deltaB=color.b-backgroundB;const destAlpha=Math.max(foregroundAlpha,backgroundAlpha);const dest=target.data;let sourceOffset=charIndex*charWidth*charHeight;let row=dy*destWidth+dx*4;for(let y=0;y<renderHeight;y++){let column=row;for(let x=0;x<charWidth;x++){const c=charData[sourceOffset++]/255*(foregroundAlpha/255);dest[column++]=backgroundR+deltaR*c;dest[column++]=backgroundG+deltaG*c;dest[column++]=backgroundB+deltaB*c;dest[column++]=destAlpha}row+=destWidth}}blockRenderChar(target,dx,dy,color,foregroundAlpha,backgroundColor,backgroundAlpha,force1pxHeight){const charWidth=1*this.scale;const charHeight=2*this.scale;const renderHeight=force1pxHeight?1:charHeight;if(dx+charWidth>target.width||dy+renderHeight>target.height){console.warn("bad render request outside image data");return}const destWidth=target.width*4;const c=.5*(foregroundAlpha/255);const backgroundR=backgroundColor.r;const backgroundG=backgroundColor.g;const backgroundB=backgroundColor.b;const deltaR=color.r-backgroundR;const deltaG=color.g-backgroundG;const deltaB=color.b-backgroundB;const colorR=backgroundR+deltaR*c;const colorG=backgroundG+deltaG*c;const colorB=backgroundB+deltaB*c;const destAlpha=Math.max(foregroundAlpha,backgroundAlpha);const dest=target.data;let row=dy*destWidth+dx*4;for(let y=0;y<renderHeight;y++){let column=row;for(let x=0;x<charWidth;x++){dest[column++]=colorR;dest[column++]=colorG;dest[column++]=colorB;dest[column++]=destAlpha}row+=destWidth}}}}});var charTable,decodeData,prebakedMiniMaps;var init_minimapPreBaked=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/minimap/minimapPreBaked.js"(){init_functional();charTable={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15};decodeData=str=>{const output=new Uint8ClampedArray(str.length/2);for(let i=0;i<str.length;i+=2){output[i>>1]=charTable[str[i]]<<4|charTable[str[i+1]]&15}return output};prebakedMiniMaps={1:once((()=>decodeData("0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792"))),2:once((()=>decodeData("000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126")))}}});var MinimapCharRendererFactory;var init_minimapCharRendererFactory=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/minimap/minimapCharRendererFactory.js"(){init_minimapCharRenderer();init_minimapCharSheet();init_minimapPreBaked();init_uint();MinimapCharRendererFactory=class{static create(scale,fontFamily){if(this.lastCreated&&scale===this.lastCreated.scale&&fontFamily===this.lastFontFamily){return this.lastCreated}let factory;if(prebakedMiniMaps[scale]){factory=new MinimapCharRenderer(prebakedMiniMaps[scale](),scale)}else{factory=MinimapCharRendererFactory.createFromSampleData(MinimapCharRendererFactory.createSampleData(fontFamily).data,scale)}this.lastFontFamily=fontFamily;this.lastCreated=factory;return factory}static createSampleData(fontFamily){const canvas=document.createElement("canvas");const ctx=canvas.getContext("2d");canvas.style.height=`${16}px`;canvas.height=16;canvas.width=96*10;canvas.style.width=96*10+"px";ctx.fillStyle="#ffffff";ctx.font=`bold ${16}px ${fontFamily}`;ctx.textBaseline="middle";let x=0;for(const code of allCharCodes){ctx.fillText(String.fromCharCode(code),x,16/2);x+=10}return ctx.getImageData(0,0,96*10,16)}static createFromSampleData(source,scale){const expectedLength=16*10*4*96;if(source.length!==expectedLength){throw new Error("Unexpected source in MinimapCharRenderer")}const charData=MinimapCharRendererFactory._downsample(source,scale);return new MinimapCharRenderer(charData,scale)}static _downsampleChar(source,sourceOffset,dest,destOffset,scale){const width=1*scale;const height=2*scale;let targetIndex=destOffset;let brightest=0;for(let y=0;y<height;y++){const sourceY1=y/height*16;const sourceY2=(y+1)/height*16;for(let x=0;x<width;x++){const sourceX1=x/width*10;const sourceX2=(x+1)/width*10;let value=0;let samples=0;for(let sy=sourceY1;sy<sourceY2;sy++){const sourceRow=sourceOffset+Math.floor(sy)*3840;const yBalance=1-(sy-Math.floor(sy));for(let sx=sourceX1;sx<sourceX2;sx++){const xBalance=1-(sx-Math.floor(sx));const sourceIndex=sourceRow+Math.floor(sx)*4;const weight5=xBalance*yBalance;samples+=weight5;value+=source[sourceIndex]*source[sourceIndex+3]/255*weight5}}const final=value/samples;brightest=Math.max(brightest,final);dest[targetIndex++]=toUint8(final)}}return brightest}static _downsample(data,scale){const pixelsPerCharacter=2*scale*1*scale;const resultLen=pixelsPerCharacter*96;const result=new Uint8ClampedArray(resultLen);let resultOffset=0;let sourceOffset=0;let brightest=0;for(let charIndex=0;charIndex<96;charIndex++){brightest=Math.max(brightest,this._downsampleChar(data,sourceOffset,result,resultOffset,scale));resultOffset+=pixelsPerCharacter;sourceOffset+=10*4}if(brightest>0){const adjust=255/brightest;for(let i=0;i<resultLen;i++){result[i]*=adjust}}return result}}}});var POINTER_DRAG_RESET_DISTANCE2,GUTTER_DECORATION_WIDTH,MinimapOptions,MinimapLayout,MinimapLine,RenderData,MinimapBuffers,MinimapSamplingState,Minimap,InnerMinimap,ContiguousLineMap;var init_minimap=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/minimap/minimap.js"(){init_16();init_dom();init_fastDomNode();init_globalPointerMoveMonitor();init_lifecycle();init_platform();init_strings();init_viewLayer();init_viewPart();init_editorOptions();init_range();init_rgba();init_minimapTokensColorTracker();init_viewModel();init_colorRegistry();init_selection();init_touch();init_minimapCharRendererFactory();init_model();init_functional();POINTER_DRAG_RESET_DISTANCE2=140;GUTTER_DECORATION_WIDTH=2;MinimapOptions=class{constructor(configuration,theme,tokensColorTracker){const options2=configuration.options;const pixelRatio=options2.get(140);const layoutInfo=options2.get(142);const minimapLayout=layoutInfo.minimap;const fontInfo=options2.get(49);const minimapOpts=options2.get(71);this.renderMinimap=minimapLayout.renderMinimap;this.size=minimapOpts.size;this.minimapHeightIsEditorHeight=minimapLayout.minimapHeightIsEditorHeight;this.scrollBeyondLastLine=options2.get(103);this.paddingTop=options2.get(82).top;this.paddingBottom=options2.get(82).bottom;this.showSlider=minimapOpts.showSlider;this.autohide=minimapOpts.autohide;this.pixelRatio=pixelRatio;this.typicalHalfwidthCharacterWidth=fontInfo.typicalHalfwidthCharacterWidth;this.lineHeight=options2.get(65);this.minimapLeft=minimapLayout.minimapLeft;this.minimapWidth=minimapLayout.minimapWidth;this.minimapHeight=layoutInfo.height;this.canvasInnerWidth=minimapLayout.minimapCanvasInnerWidth;this.canvasInnerHeight=minimapLayout.minimapCanvasInnerHeight;this.canvasOuterWidth=minimapLayout.minimapCanvasOuterWidth;this.canvasOuterHeight=minimapLayout.minimapCanvasOuterHeight;this.isSampling=minimapLayout.minimapIsSampling;this.editorHeight=layoutInfo.height;this.fontScale=minimapLayout.minimapScale;this.minimapLineHeight=minimapLayout.minimapLineHeight;this.minimapCharWidth=1*this.fontScale;this.charRenderer=once((()=>MinimapCharRendererFactory.create(this.fontScale,fontInfo.fontFamily)));this.defaultBackgroundColor=tokensColorTracker.getColor(2);this.backgroundColor=MinimapOptions._getMinimapBackground(theme,this.defaultBackgroundColor);this.foregroundAlpha=MinimapOptions._getMinimapForegroundOpacity(theme)}static _getMinimapBackground(theme,defaultBackgroundColor){const themeColor=theme.getColor(minimapBackground);if(themeColor){return new RGBA8(themeColor.rgba.r,themeColor.rgba.g,themeColor.rgba.b,Math.round(255*themeColor.rgba.a))}return defaultBackgroundColor}static _getMinimapForegroundOpacity(theme){const themeColor=theme.getColor(minimapForegroundOpacity);if(themeColor){return RGBA8._clamp(Math.round(255*themeColor.rgba.a))}return 255}equals(other){return this.renderMinimap===other.renderMinimap&&this.size===other.size&&this.minimapHeightIsEditorHeight===other.minimapHeightIsEditorHeight&&this.scrollBeyondLastLine===other.scrollBeyondLastLine&&this.paddingTop===other.paddingTop&&this.paddingBottom===other.paddingBottom&&this.showSlider===other.showSlider&&this.autohide===other.autohide&&this.pixelRatio===other.pixelRatio&&this.typicalHalfwidthCharacterWidth===other.typicalHalfwidthCharacterWidth&&this.lineHeight===other.lineHeight&&this.minimapLeft===other.minimapLeft&&this.minimapWidth===other.minimapWidth&&this.minimapHeight===other.minimapHeight&&this.canvasInnerWidth===other.canvasInnerWidth&&this.canvasInnerHeight===other.canvasInnerHeight&&this.canvasOuterWidth===other.canvasOuterWidth&&this.canvasOuterHeight===other.canvasOuterHeight&&this.isSampling===other.isSampling&&this.editorHeight===other.editorHeight&&this.fontScale===other.fontScale&&this.minimapLineHeight===other.minimapLineHeight&&this.minimapCharWidth===other.minimapCharWidth&&this.defaultBackgroundColor&&this.defaultBackgroundColor.equals(other.defaultBackgroundColor)&&this.backgroundColor&&this.backgroundColor.equals(other.backgroundColor)&&this.foregroundAlpha===other.foregroundAlpha}};MinimapLayout=class{constructor(scrollTop,scrollHeight,sliderNeeded,_computedSliderRatio,sliderTop,sliderHeight,topPaddingLineCount,startLineNumber,endLineNumber){this.scrollTop=scrollTop;this.scrollHeight=scrollHeight;this.sliderNeeded=sliderNeeded;this._computedSliderRatio=_computedSliderRatio;this.sliderTop=sliderTop;this.sliderHeight=sliderHeight;this.topPaddingLineCount=topPaddingLineCount;this.startLineNumber=startLineNumber;this.endLineNumber=endLineNumber}getDesiredScrollTopFromDelta(delta){return Math.round(this.scrollTop+delta/this._computedSliderRatio)}getDesiredScrollTopFromTouchLocation(pageY){return Math.round((pageY-this.sliderHeight/2)/this._computedSliderRatio)}intersectWithViewport(range2){const startLineNumber=Math.max(this.startLineNumber,range2.startLineNumber);const endLineNumber=Math.min(this.endLineNumber,range2.endLineNumber);if(startLineNumber>endLineNumber){return null}return[startLineNumber,endLineNumber]}getYForLineNumber(lineNumber,minimapLineHeight){return+(lineNumber-this.startLineNumber+this.topPaddingLineCount)*minimapLineHeight}static create(options2,viewportStartLineNumber,viewportEndLineNumber,viewportStartLineNumberVerticalOffset,viewportHeight,viewportContainsWhitespaceGaps,lineCount,realLineCount,scrollTop,scrollHeight,previousLayout){const pixelRatio=options2.pixelRatio;const minimapLineHeight=options2.minimapLineHeight;const minimapLinesFitting=Math.floor(options2.canvasInnerHeight/minimapLineHeight);const lineHeight=options2.lineHeight;if(options2.minimapHeightIsEditorHeight){let logicalScrollHeight=realLineCount*options2.lineHeight+options2.paddingTop+options2.paddingBottom;if(options2.scrollBeyondLastLine){logicalScrollHeight+=Math.max(0,viewportHeight-options2.lineHeight-options2.paddingBottom)}const sliderHeight2=Math.max(1,Math.floor(viewportHeight*viewportHeight/logicalScrollHeight));const maxMinimapSliderTop2=Math.max(0,options2.minimapHeight-sliderHeight2);const computedSliderRatio2=maxMinimapSliderTop2/(scrollHeight-viewportHeight);const sliderTop2=scrollTop*computedSliderRatio2;const sliderNeeded=maxMinimapSliderTop2>0;const maxLinesFitting=Math.floor(options2.canvasInnerHeight/options2.minimapLineHeight);const topPaddingLineCount=Math.floor(options2.paddingTop/options2.lineHeight);return new MinimapLayout(scrollTop,scrollHeight,sliderNeeded,computedSliderRatio2,sliderTop2,sliderHeight2,topPaddingLineCount,1,Math.min(lineCount,maxLinesFitting))}let sliderHeight;if(viewportContainsWhitespaceGaps&&viewportEndLineNumber!==lineCount){const viewportLineCount=viewportEndLineNumber-viewportStartLineNumber+1;sliderHeight=Math.floor(viewportLineCount*minimapLineHeight/pixelRatio)}else{const expectedViewportLineCount=viewportHeight/lineHeight;sliderHeight=Math.floor(expectedViewportLineCount*minimapLineHeight/pixelRatio)}const extraLinesAtTheTop=Math.floor(options2.paddingTop/lineHeight);let extraLinesAtTheBottom=Math.floor(options2.paddingBottom/lineHeight);if(options2.scrollBeyondLastLine){const expectedViewportLineCount=viewportHeight/lineHeight;extraLinesAtTheBottom=Math.max(extraLinesAtTheBottom,expectedViewportLineCount-1)}let maxMinimapSliderTop;if(extraLinesAtTheBottom>0){const expectedViewportLineCount=viewportHeight/lineHeight;maxMinimapSliderTop=(extraLinesAtTheTop+lineCount+extraLinesAtTheBottom-expectedViewportLineCount-1)*minimapLineHeight/pixelRatio}else{maxMinimapSliderTop=Math.max(0,(extraLinesAtTheTop+lineCount)*minimapLineHeight/pixelRatio-sliderHeight)}maxMinimapSliderTop=Math.min(options2.minimapHeight-sliderHeight,maxMinimapSliderTop);const computedSliderRatio=maxMinimapSliderTop/(scrollHeight-viewportHeight);const sliderTop=scrollTop*computedSliderRatio;if(minimapLinesFitting>=extraLinesAtTheTop+lineCount+extraLinesAtTheBottom){const sliderNeeded=maxMinimapSliderTop>0;return new MinimapLayout(scrollTop,scrollHeight,sliderNeeded,computedSliderRatio,sliderTop,sliderHeight,extraLinesAtTheTop,1,lineCount)}else{let consideringStartLineNumber;if(viewportStartLineNumber>1){consideringStartLineNumber=viewportStartLineNumber+extraLinesAtTheTop}else{consideringStartLineNumber=Math.max(1,scrollTop/lineHeight)}let topPaddingLineCount;let startLineNumber=Math.max(1,Math.floor(consideringStartLineNumber-sliderTop*pixelRatio/minimapLineHeight));if(startLineNumber<extraLinesAtTheTop){topPaddingLineCount=extraLinesAtTheTop-startLineNumber+1;startLineNumber=1}else{topPaddingLineCount=0;startLineNumber=Math.max(1,startLineNumber-extraLinesAtTheTop)}if(previousLayout&&previousLayout.scrollHeight===scrollHeight){if(previousLayout.scrollTop>scrollTop){startLineNumber=Math.min(startLineNumber,previousLayout.startLineNumber);topPaddingLineCount=Math.max(topPaddingLineCount,previousLayout.topPaddingLineCount)}if(previousLayout.scrollTop<scrollTop){startLineNumber=Math.max(startLineNumber,previousLayout.startLineNumber);topPaddingLineCount=Math.min(topPaddingLineCount,previousLayout.topPaddingLineCount)}}const endLineNumber=Math.min(lineCount,startLineNumber-topPaddingLineCount+minimapLinesFitting-1);const partialLine=(scrollTop-viewportStartLineNumberVerticalOffset)/lineHeight;let sliderTopAligned;if(scrollTop>=options2.paddingTop){sliderTopAligned=(viewportStartLineNumber-startLineNumber+topPaddingLineCount+partialLine)*minimapLineHeight/pixelRatio}else{sliderTopAligned=scrollTop/options2.paddingTop*(topPaddingLineCount+partialLine)*minimapLineHeight/pixelRatio}return new MinimapLayout(scrollTop,scrollHeight,true,computedSliderRatio,sliderTopAligned,sliderHeight,topPaddingLineCount,startLineNumber,endLineNumber)}}};MinimapLine=class{constructor(dy){this.dy=dy}onContentChanged(){this.dy=-1}onTokensChanged(){this.dy=-1}};MinimapLine.INVALID=new MinimapLine(-1);RenderData=class{constructor(renderedLayout,imageData,lines){this.renderedLayout=renderedLayout;this._imageData=imageData;this._renderedLines=new RenderedLinesCollection((()=>MinimapLine.INVALID));this._renderedLines._set(renderedLayout.startLineNumber,lines)}linesEquals(layout2){if(!this.scrollEquals(layout2)){return false}const tmp=this._renderedLines._get();const lines=tmp.lines;for(let i=0,len=lines.length;i<len;i++){if(lines[i].dy===-1){return false}}return true}scrollEquals(layout2){return this.renderedLayout.startLineNumber===layout2.startLineNumber&&this.renderedLayout.endLineNumber===layout2.endLineNumber}_get(){const tmp=this._renderedLines._get();return{imageData:this._imageData,rendLineNumberStart:tmp.rendLineNumberStart,lines:tmp.lines}}onLinesChanged(changeFromLineNumber,changeCount){return this._renderedLines.onLinesChanged(changeFromLineNumber,changeCount)}onLinesDeleted(deleteFromLineNumber,deleteToLineNumber){this._renderedLines.onLinesDeleted(deleteFromLineNumber,deleteToLineNumber)}onLinesInserted(insertFromLineNumber,insertToLineNumber){this._renderedLines.onLinesInserted(insertFromLineNumber,insertToLineNumber)}onTokensChanged(ranges){return this._renderedLines.onTokensChanged(ranges)}};MinimapBuffers=class{constructor(ctx,WIDTH,HEIGHT,background){this._backgroundFillData=MinimapBuffers._createBackgroundFillData(WIDTH,HEIGHT,background);this._buffers=[ctx.createImageData(WIDTH,HEIGHT),ctx.createImageData(WIDTH,HEIGHT)];this._lastUsedBuffer=0}getBuffer(){this._lastUsedBuffer=1-this._lastUsedBuffer;const result=this._buffers[this._lastUsedBuffer];result.data.set(this._backgroundFillData);return result}static _createBackgroundFillData(WIDTH,HEIGHT,background){const backgroundR=background.r;const backgroundG=background.g;const backgroundB=background.b;const backgroundA=background.a;const result=new Uint8ClampedArray(WIDTH*HEIGHT*4);let offset=0;for(let i=0;i<HEIGHT;i++){for(let j=0;j<WIDTH;j++){result[offset]=backgroundR;result[offset+1]=backgroundG;result[offset+2]=backgroundB;result[offset+3]=backgroundA;offset+=4}}return result}};MinimapSamplingState=class{static compute(options2,viewLineCount,oldSamplingState){if(options2.renderMinimap===0||!options2.isSampling){return[null,[]]}const{minimapLineCount:minimapLineCount}=EditorLayoutInfoComputer.computeContainedMinimapLineCount({viewLineCount:viewLineCount,scrollBeyondLastLine:options2.scrollBeyondLastLine,paddingTop:options2.paddingTop,paddingBottom:options2.paddingBottom,height:options2.editorHeight,lineHeight:options2.lineHeight,pixelRatio:options2.pixelRatio});const ratio=viewLineCount/minimapLineCount;const halfRatio=ratio/2;if(!oldSamplingState||oldSamplingState.minimapLines.length===0){const result2=[];result2[0]=1;if(minimapLineCount>1){for(let i=0,lastIndex=minimapLineCount-1;i<lastIndex;i++){result2[i]=Math.round(i*ratio+halfRatio)}result2[minimapLineCount-1]=viewLineCount}return[new MinimapSamplingState(ratio,result2),[]]}const oldMinimapLines=oldSamplingState.minimapLines;const oldLength=oldMinimapLines.length;const result=[];let oldIndex=0;let oldDeltaLineCount=0;let minViewLineNumber=1;const MAX_EVENT_COUNT=10;let events=[];let lastEvent=null;for(let i=0;i<minimapLineCount;i++){const fromViewLineNumber=Math.max(minViewLineNumber,Math.round(i*ratio));const toViewLineNumber=Math.max(fromViewLineNumber,Math.round((i+1)*ratio));while(oldIndex<oldLength&&oldMinimapLines[oldIndex]<fromViewLineNumber){if(events.length<MAX_EVENT_COUNT){const oldMinimapLineNumber=oldIndex+1+oldDeltaLineCount;if(lastEvent&&lastEvent.type==="deleted"&&lastEvent._oldIndex===oldIndex-1){lastEvent.deleteToLineNumber++}else{lastEvent={type:"deleted",_oldIndex:oldIndex,deleteFromLineNumber:oldMinimapLineNumber,deleteToLineNumber:oldMinimapLineNumber};events.push(lastEvent)}oldDeltaLineCount--}oldIndex++}let selectedViewLineNumber;if(oldIndex<oldLength&&oldMinimapLines[oldIndex]<=toViewLineNumber){selectedViewLineNumber=oldMinimapLines[oldIndex];oldIndex++}else{if(i===0){selectedViewLineNumber=1}else if(i+1===minimapLineCount){selectedViewLineNumber=viewLineCount}else{selectedViewLineNumber=Math.round(i*ratio+halfRatio)}if(events.length<MAX_EVENT_COUNT){const oldMinimapLineNumber=oldIndex+1+oldDeltaLineCount;if(lastEvent&&lastEvent.type==="inserted"&&lastEvent._i===i-1){lastEvent.insertToLineNumber++}else{lastEvent={type:"inserted",_i:i,insertFromLineNumber:oldMinimapLineNumber,insertToLineNumber:oldMinimapLineNumber};events.push(lastEvent)}oldDeltaLineCount++}}result[i]=selectedViewLineNumber;minViewLineNumber=selectedViewLineNumber}if(events.length<MAX_EVENT_COUNT){while(oldIndex<oldLength){const oldMinimapLineNumber=oldIndex+1+oldDeltaLineCount;if(lastEvent&&lastEvent.type==="deleted"&&lastEvent._oldIndex===oldIndex-1){lastEvent.deleteToLineNumber++}else{lastEvent={type:"deleted",_oldIndex:oldIndex,deleteFromLineNumber:oldMinimapLineNumber,deleteToLineNumber:oldMinimapLineNumber};events.push(lastEvent)}oldDeltaLineCount--;oldIndex++}}else{events=[{type:"flush"}]}return[new MinimapSamplingState(ratio,result),events]}constructor(samplingRatio,minimapLines){this.samplingRatio=samplingRatio;this.minimapLines=minimapLines}modelLineToMinimapLine(lineNumber){return Math.min(this.minimapLines.length,Math.max(1,Math.round(lineNumber/this.samplingRatio)))}modelLineRangeToMinimapLineRange(fromLineNumber,toLineNumber){let fromLineIndex=this.modelLineToMinimapLine(fromLineNumber)-1;while(fromLineIndex>0&&this.minimapLines[fromLineIndex-1]>=fromLineNumber){fromLineIndex--}let toLineIndex=this.modelLineToMinimapLine(toLineNumber)-1;while(toLineIndex+1<this.minimapLines.length&&this.minimapLines[toLineIndex+1]<=toLineNumber){toLineIndex++}if(fromLineIndex===toLineIndex){const sampledLineNumber=this.minimapLines[fromLineIndex];if(sampledLineNumber<fromLineNumber||sampledLineNumber>toLineNumber){return null}}return[fromLineIndex+1,toLineIndex+1]}decorationLineRangeToMinimapLineRange(startLineNumber,endLineNumber){let minimapLineStart=this.modelLineToMinimapLine(startLineNumber);let minimapLineEnd=this.modelLineToMinimapLine(endLineNumber);if(startLineNumber!==endLineNumber&&minimapLineEnd===minimapLineStart){if(minimapLineEnd===this.minimapLines.length){if(minimapLineStart>1){minimapLineStart--}}else{minimapLineEnd++}}return[minimapLineStart,minimapLineEnd]}onLinesDeleted(e){const deletedLineCount=e.toLineNumber-e.fromLineNumber+1;let changeStartIndex=this.minimapLines.length;let changeEndIndex=0;for(let i=this.minimapLines.length-1;i>=0;i--){if(this.minimapLines[i]<e.fromLineNumber){break}if(this.minimapLines[i]<=e.toLineNumber){this.minimapLines[i]=Math.max(1,e.fromLineNumber-1);changeStartIndex=Math.min(changeStartIndex,i);changeEndIndex=Math.max(changeEndIndex,i)}else{this.minimapLines[i]-=deletedLineCount}}return[changeStartIndex,changeEndIndex]}onLinesInserted(e){const insertedLineCount=e.toLineNumber-e.fromLineNumber+1;for(let i=this.minimapLines.length-1;i>=0;i--){if(this.minimapLines[i]<e.fromLineNumber){break}this.minimapLines[i]+=insertedLineCount}}};Minimap=class extends ViewPart{constructor(context){super(context);this.tokensColorTracker=MinimapTokensColorTracker.getInstance();this._selections=[];this._minimapSelections=null;this.options=new MinimapOptions(this._context.configuration,this._context.theme,this.tokensColorTracker);const[samplingState]=MinimapSamplingState.compute(this.options,this._context.viewModel.getLineCount(),null);this._samplingState=samplingState;this._shouldCheckSampling=false;this._actual=new InnerMinimap(context.theme,this)}dispose(){this._actual.dispose();super.dispose()}getDomNode(){return this._actual.getDomNode()}_onOptionsMaybeChanged(){const opts=new MinimapOptions(this._context.configuration,this._context.theme,this.tokensColorTracker);if(this.options.equals(opts)){return false}this.options=opts;this._recreateLineSampling();this._actual.onDidChangeOptions();return true}onConfigurationChanged(e){return this._onOptionsMaybeChanged()}onCursorStateChanged(e){this._selections=e.selections;this._minimapSelections=null;return this._actual.onSelectionChanged()}onDecorationsChanged(e){if(e.affectsMinimap){return this._actual.onDecorationsChanged()}return false}onFlushed(e){if(this._samplingState){this._shouldCheckSampling=true}return this._actual.onFlushed()}onLinesChanged(e){if(this._samplingState){const minimapLineRange=this._samplingState.modelLineRangeToMinimapLineRange(e.fromLineNumber,e.fromLineNumber+e.count-1);if(minimapLineRange){return this._actual.onLinesChanged(minimapLineRange[0],minimapLineRange[1]-minimapLineRange[0]+1)}else{return false}}else{return this._actual.onLinesChanged(e.fromLineNumber,e.count)}}onLinesDeleted(e){if(this._samplingState){const[changeStartIndex,changeEndIndex]=this._samplingState.onLinesDeleted(e);if(changeStartIndex<=changeEndIndex){this._actual.onLinesChanged(changeStartIndex+1,changeEndIndex-changeStartIndex+1)}this._shouldCheckSampling=true;return true}else{return this._actual.onLinesDeleted(e.fromLineNumber,e.toLineNumber)}}onLinesInserted(e){if(this._samplingState){this._samplingState.onLinesInserted(e);this._shouldCheckSampling=true;return true}else{return this._actual.onLinesInserted(e.fromLineNumber,e.toLineNumber)}}onScrollChanged(e){return this._actual.onScrollChanged()}onThemeChanged(e){this._actual.onThemeChanged();this._onOptionsMaybeChanged();return true}onTokensChanged(e){if(this._samplingState){const ranges=[];for(const range2 of e.ranges){const minimapLineRange=this._samplingState.modelLineRangeToMinimapLineRange(range2.fromLineNumber,range2.toLineNumber);if(minimapLineRange){ranges.push({fromLineNumber:minimapLineRange[0],toLineNumber:minimapLineRange[1]})}}if(ranges.length){return this._actual.onTokensChanged(ranges)}else{return false}}else{return this._actual.onTokensChanged(e.ranges)}}onTokensColorsChanged(e){this._onOptionsMaybeChanged();return this._actual.onTokensColorsChanged()}onZonesChanged(e){return this._actual.onZonesChanged()}prepareRender(ctx){if(this._shouldCheckSampling){this._shouldCheckSampling=false;this._recreateLineSampling()}}render(ctx){let viewportStartLineNumber=ctx.visibleRange.startLineNumber;let viewportEndLineNumber=ctx.visibleRange.endLineNumber;if(this._samplingState){viewportStartLineNumber=this._samplingState.modelLineToMinimapLine(viewportStartLineNumber);viewportEndLineNumber=this._samplingState.modelLineToMinimapLine(viewportEndLineNumber)}const minimapCtx={viewportContainsWhitespaceGaps:ctx.viewportData.whitespaceViewportData.length>0,scrollWidth:ctx.scrollWidth,scrollHeight:ctx.scrollHeight,viewportStartLineNumber:viewportStartLineNumber,viewportEndLineNumber:viewportEndLineNumber,viewportStartLineNumberVerticalOffset:ctx.getVerticalOffsetForLineNumber(viewportStartLineNumber),scrollTop:ctx.scrollTop,scrollLeft:ctx.scrollLeft,viewportWidth:ctx.viewportWidth,viewportHeight:ctx.viewportHeight};this._actual.render(minimapCtx)}_recreateLineSampling(){this._minimapSelections=null;const wasSampling=Boolean(this._samplingState);const[samplingState,events]=MinimapSamplingState.compute(this.options,this._context.viewModel.getLineCount(),this._samplingState);this._samplingState=samplingState;if(wasSampling&&this._samplingState){for(const event of events){switch(event.type){case"deleted":this._actual.onLinesDeleted(event.deleteFromLineNumber,event.deleteToLineNumber);break;case"inserted":this._actual.onLinesInserted(event.insertFromLineNumber,event.insertToLineNumber);break;case"flush":this._actual.onFlushed();break}}}}getLineCount(){if(this._samplingState){return this._samplingState.minimapLines.length}return this._context.viewModel.getLineCount()}getRealLineCount(){return this._context.viewModel.getLineCount()}getLineContent(lineNumber){if(this._samplingState){return this._context.viewModel.getLineContent(this._samplingState.minimapLines[lineNumber-1])}return this._context.viewModel.getLineContent(lineNumber)}getLineMaxColumn(lineNumber){if(this._samplingState){return this._context.viewModel.getLineMaxColumn(this._samplingState.minimapLines[lineNumber-1])}return this._context.viewModel.getLineMaxColumn(lineNumber)}getMinimapLinesRenderingData(startLineNumber,endLineNumber,needed){if(this._samplingState){const result=[];for(let lineIndex=0,lineCount=endLineNumber-startLineNumber+1;lineIndex<lineCount;lineIndex++){if(needed[lineIndex]){result[lineIndex]=this._context.viewModel.getViewLineData(this._samplingState.minimapLines[startLineNumber+lineIndex-1])}else{result[lineIndex]=null}}return result}return this._context.viewModel.getMinimapLinesRenderingData(startLineNumber,endLineNumber,needed).data}getSelections(){if(this._minimapSelections===null){if(this._samplingState){this._minimapSelections=[];for(const selection of this._selections){const[minimapLineStart,minimapLineEnd]=this._samplingState.decorationLineRangeToMinimapLineRange(selection.startLineNumber,selection.endLineNumber);this._minimapSelections.push(new Selection(minimapLineStart,selection.startColumn,minimapLineEnd,selection.endColumn))}}else{this._minimapSelections=this._selections}}return this._minimapSelections}getMinimapDecorationsInViewport(startLineNumber,endLineNumber){let visibleRange;if(this._samplingState){const modelStartLineNumber=this._samplingState.minimapLines[startLineNumber-1];const modelEndLineNumber=this._samplingState.minimapLines[endLineNumber-1];visibleRange=new Range(modelStartLineNumber,1,modelEndLineNumber,this._context.viewModel.getLineMaxColumn(modelEndLineNumber))}else{visibleRange=new Range(startLineNumber,1,endLineNumber,this._context.viewModel.getLineMaxColumn(endLineNumber))}const decorations=this._context.viewModel.getMinimapDecorationsInRange(visibleRange);if(this._samplingState){const result=[];for(const decoration2 of decorations){if(!decoration2.options.minimap){continue}const range2=decoration2.range;const minimapStartLineNumber=this._samplingState.modelLineToMinimapLine(range2.startLineNumber);const minimapEndLineNumber=this._samplingState.modelLineToMinimapLine(range2.endLineNumber);result.push(new ViewModelDecoration(new Range(minimapStartLineNumber,range2.startColumn,minimapEndLineNumber,range2.endColumn),decoration2.options))}return result}return decorations}getOptions(){return this._context.viewModel.model.getOptions()}revealLineNumber(lineNumber){if(this._samplingState){lineNumber=this._samplingState.minimapLines[lineNumber-1]}this._context.viewModel.revealRange("mouse",false,new Range(lineNumber,1,lineNumber,1),1,0)}setScrollTop(scrollTop){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:scrollTop},1)}};InnerMinimap=class extends Disposable{constructor(theme,model){super();this._renderDecorations=false;this._gestureInProgress=false;this._theme=theme;this._model=model;this._lastRenderData=null;this._buffers=null;this._selectionColor=this._theme.getColor(minimapSelection);this._domNode=createFastDomNode(document.createElement("div"));PartFingerprints.write(this._domNode,8);this._domNode.setClassName(this._getMinimapDomNodeClassName());this._domNode.setPosition("absolute");this._domNode.setAttribute("role","presentation");this._domNode.setAttribute("aria-hidden","true");this._shadow=createFastDomNode(document.createElement("div"));this._shadow.setClassName("minimap-shadow-hidden");this._domNode.appendChild(this._shadow);this._canvas=createFastDomNode(document.createElement("canvas"));this._canvas.setPosition("absolute");this._canvas.setLeft(0);this._domNode.appendChild(this._canvas);this._decorationsCanvas=createFastDomNode(document.createElement("canvas"));this._decorationsCanvas.setPosition("absolute");this._decorationsCanvas.setClassName("minimap-decorations-layer");this._decorationsCanvas.setLeft(0);this._domNode.appendChild(this._decorationsCanvas);this._slider=createFastDomNode(document.createElement("div"));this._slider.setPosition("absolute");this._slider.setClassName("minimap-slider");this._slider.setLayerHinting(true);this._slider.setContain("strict");this._domNode.appendChild(this._slider);this._sliderHorizontal=createFastDomNode(document.createElement("div"));this._sliderHorizontal.setPosition("absolute");this._sliderHorizontal.setClassName("minimap-slider-horizontal");this._slider.appendChild(this._sliderHorizontal);this._applyLayout();this._pointerDownListener=addStandardDisposableListener(this._domNode.domNode,EventType.POINTER_DOWN,(e=>{e.preventDefault();const renderMinimap=this._model.options.renderMinimap;if(renderMinimap===0){return}if(!this._lastRenderData){return}if(this._model.options.size!=="proportional"){if(e.button===0&&this._lastRenderData){const position=getDomNodePagePosition(this._slider.domNode);const initialPosY=position.top+position.height/2;this._startSliderDragging(e,initialPosY,this._lastRenderData.renderedLayout)}return}const minimapLineHeight=this._model.options.minimapLineHeight;const internalOffsetY=this._model.options.canvasInnerHeight/this._model.options.canvasOuterHeight*e.offsetY;const lineIndex=Math.floor(internalOffsetY/minimapLineHeight);let lineNumber=lineIndex+this._lastRenderData.renderedLayout.startLineNumber-this._lastRenderData.renderedLayout.topPaddingLineCount;lineNumber=Math.min(lineNumber,this._model.getLineCount());this._model.revealLineNumber(lineNumber)}));this._sliderPointerMoveMonitor=new GlobalPointerMoveMonitor;this._sliderPointerDownListener=addStandardDisposableListener(this._slider.domNode,EventType.POINTER_DOWN,(e=>{e.preventDefault();e.stopPropagation();if(e.button===0&&this._lastRenderData){this._startSliderDragging(e,e.pageY,this._lastRenderData.renderedLayout)}}));this._gestureDisposable=Gesture.addTarget(this._domNode.domNode);this._sliderTouchStartListener=addDisposableListener(this._domNode.domNode,EventType2.Start,(e=>{e.preventDefault();e.stopPropagation();if(this._lastRenderData){this._slider.toggleClassName("active",true);this._gestureInProgress=true;this.scrollDueToTouchEvent(e)}}),{passive:false});this._sliderTouchMoveListener=addDisposableListener(this._domNode.domNode,EventType2.Change,(e=>{e.preventDefault();e.stopPropagation();if(this._lastRenderData&&this._gestureInProgress){this.scrollDueToTouchEvent(e)}}),{passive:false});this._sliderTouchEndListener=addStandardDisposableListener(this._domNode.domNode,EventType2.End,(e=>{e.preventDefault();e.stopPropagation();this._gestureInProgress=false;this._slider.toggleClassName("active",false)}))}_startSliderDragging(e,initialPosY,initialSliderState){if(!e.target||!(e.target instanceof Element)){return}const initialPosX=e.pageX;this._slider.toggleClassName("active",true);const handlePointerMove=(posy,posx)=>{const minimapPosition=getDomNodePagePosition(this._domNode.domNode);const pointerOrthogonalDelta=Math.min(Math.abs(posx-initialPosX),Math.abs(posx-minimapPosition.left),Math.abs(posx-minimapPosition.left-minimapPosition.width));if(isWindows&&pointerOrthogonalDelta>POINTER_DRAG_RESET_DISTANCE2){this._model.setScrollTop(initialSliderState.scrollTop);return}const pointerDelta=posy-initialPosY;this._model.setScrollTop(initialSliderState.getDesiredScrollTopFromDelta(pointerDelta))};if(e.pageY!==initialPosY){handlePointerMove(e.pageY,initialPosX)}this._sliderPointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,(pointerMoveData=>handlePointerMove(pointerMoveData.pageY,pointerMoveData.pageX)),(()=>{this._slider.toggleClassName("active",false)}))}scrollDueToTouchEvent(touch){const startY=this._domNode.domNode.getBoundingClientRect().top;const scrollTop=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(touch.pageY-startY);this._model.setScrollTop(scrollTop)}dispose(){this._pointerDownListener.dispose();this._sliderPointerMoveMonitor.dispose();this._sliderPointerDownListener.dispose();this._gestureDisposable.dispose();this._sliderTouchStartListener.dispose();this._sliderTouchMoveListener.dispose();this._sliderTouchEndListener.dispose();super.dispose()}_getMinimapDomNodeClassName(){const class_=["minimap"];if(this._model.options.showSlider==="always"){class_.push("slider-always")}else{class_.push("slider-mouseover")}if(this._model.options.autohide){class_.push("autohide")}return class_.join(" ")}getDomNode(){return this._domNode}_applyLayout(){this._domNode.setLeft(this._model.options.minimapLeft);this._domNode.setWidth(this._model.options.minimapWidth);this._domNode.setHeight(this._model.options.minimapHeight);this._shadow.setHeight(this._model.options.minimapHeight);this._canvas.setWidth(this._model.options.canvasOuterWidth);this._canvas.setHeight(this._model.options.canvasOuterHeight);this._canvas.domNode.width=this._model.options.canvasInnerWidth;this._canvas.domNode.height=this._model.options.canvasInnerHeight;this._decorationsCanvas.setWidth(this._model.options.canvasOuterWidth);this._decorationsCanvas.setHeight(this._model.options.canvasOuterHeight);this._decorationsCanvas.domNode.width=this._model.options.canvasInnerWidth;this._decorationsCanvas.domNode.height=this._model.options.canvasInnerHeight;this._slider.setWidth(this._model.options.minimapWidth)}_getBuffer(){if(!this._buffers){if(this._model.options.canvasInnerWidth>0&&this._model.options.canvasInnerHeight>0){this._buffers=new MinimapBuffers(this._canvas.domNode.getContext("2d"),this._model.options.canvasInnerWidth,this._model.options.canvasInnerHeight,this._model.options.backgroundColor)}}return this._buffers?this._buffers.getBuffer():null}onDidChangeOptions(){this._lastRenderData=null;this._buffers=null;this._applyLayout();this._domNode.setClassName(this._getMinimapDomNodeClassName())}onSelectionChanged(){this._renderDecorations=true;return true}onDecorationsChanged(){this._renderDecorations=true;return true}onFlushed(){this._lastRenderData=null;return true}onLinesChanged(changeFromLineNumber,changeCount){if(this._lastRenderData){return this._lastRenderData.onLinesChanged(changeFromLineNumber,changeCount)}return false}onLinesDeleted(deleteFromLineNumber,deleteToLineNumber){var _a6;(_a6=this._lastRenderData)===null||_a6===void 0?void 0:_a6.onLinesDeleted(deleteFromLineNumber,deleteToLineNumber);return true}onLinesInserted(insertFromLineNumber,insertToLineNumber){var _a6;(_a6=this._lastRenderData)===null||_a6===void 0?void 0:_a6.onLinesInserted(insertFromLineNumber,insertToLineNumber);return true}onScrollChanged(){this._renderDecorations=true;return true}onThemeChanged(){this._selectionColor=this._theme.getColor(minimapSelection);this._renderDecorations=true;return true}onTokensChanged(ranges){if(this._lastRenderData){return this._lastRenderData.onTokensChanged(ranges)}return false}onTokensColorsChanged(){this._lastRenderData=null;this._buffers=null;return true}onZonesChanged(){this._lastRenderData=null;return true}render(renderingCtx){const renderMinimap=this._model.options.renderMinimap;if(renderMinimap===0){this._shadow.setClassName("minimap-shadow-hidden");this._sliderHorizontal.setWidth(0);this._sliderHorizontal.setHeight(0);return}if(renderingCtx.scrollLeft+renderingCtx.viewportWidth>=renderingCtx.scrollWidth){this._shadow.setClassName("minimap-shadow-hidden")}else{this._shadow.setClassName("minimap-shadow-visible")}const layout2=MinimapLayout.create(this._model.options,renderingCtx.viewportStartLineNumber,renderingCtx.viewportEndLineNumber,renderingCtx.viewportStartLineNumberVerticalOffset,renderingCtx.viewportHeight,renderingCtx.viewportContainsWhitespaceGaps,this._model.getLineCount(),this._model.getRealLineCount(),renderingCtx.scrollTop,renderingCtx.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setDisplay(layout2.sliderNeeded?"block":"none");this._slider.setTop(layout2.sliderTop);this._slider.setHeight(layout2.sliderHeight);this._sliderHorizontal.setLeft(0);this._sliderHorizontal.setWidth(this._model.options.minimapWidth);this._sliderHorizontal.setTop(0);this._sliderHorizontal.setHeight(layout2.sliderHeight);this.renderDecorations(layout2);this._lastRenderData=this.renderLines(layout2)}renderDecorations(layout2){if(this._renderDecorations){this._renderDecorations=false;const selections=this._model.getSelections();selections.sort(Range.compareRangesUsingStarts);const decorations=this._model.getMinimapDecorationsInViewport(layout2.startLineNumber,layout2.endLineNumber);decorations.sort(((a,b)=>(a.options.zIndex||0)-(b.options.zIndex||0)));const{canvasInnerWidth:canvasInnerWidth,canvasInnerHeight:canvasInnerHeight}=this._model.options;const minimapLineHeight=this._model.options.minimapLineHeight;const minimapCharWidth=this._model.options.minimapCharWidth;const tabSize=this._model.getOptions().tabSize;const canvasContext=this._decorationsCanvas.domNode.getContext("2d");canvasContext.clearRect(0,0,canvasInnerWidth,canvasInnerHeight);const highlightedLines=new ContiguousLineMap(layout2.startLineNumber,layout2.endLineNumber,false);this._renderSelectionLineHighlights(canvasContext,selections,highlightedLines,layout2,minimapLineHeight);this._renderDecorationsLineHighlights(canvasContext,decorations,highlightedLines,layout2,minimapLineHeight);const lineOffsetMap=new ContiguousLineMap(layout2.startLineNumber,layout2.endLineNumber,null);this._renderSelectionsHighlights(canvasContext,selections,lineOffsetMap,layout2,minimapLineHeight,tabSize,minimapCharWidth,canvasInnerWidth);this._renderDecorationsHighlights(canvasContext,decorations,lineOffsetMap,layout2,minimapLineHeight,tabSize,minimapCharWidth,canvasInnerWidth)}}_renderSelectionLineHighlights(canvasContext,selections,highlightedLines,layout2,minimapLineHeight){if(!this._selectionColor||this._selectionColor.isTransparent()){return}canvasContext.fillStyle=this._selectionColor.transparent(.5).toString();let y1=0;let y2=0;for(const selection of selections){const intersection=layout2.intersectWithViewport(selection);if(!intersection){continue}const[startLineNumber,endLineNumber]=intersection;for(let line=startLineNumber;line<=endLineNumber;line++){highlightedLines.set(line,true)}const yy1=layout2.getYForLineNumber(startLineNumber,minimapLineHeight);const yy2=layout2.getYForLineNumber(endLineNumber,minimapLineHeight);if(y2>=yy1){y2=yy2}else{if(y2>y1){canvasContext.fillRect(MINIMAP_GUTTER_WIDTH,y1,canvasContext.canvas.width,y2-y1)}y1=yy1;y2=yy2}}if(y2>y1){canvasContext.fillRect(MINIMAP_GUTTER_WIDTH,y1,canvasContext.canvas.width,y2-y1)}}_renderDecorationsLineHighlights(canvasContext,decorations,highlightedLines,layout2,minimapLineHeight){const highlightColors=new Map;for(let i=decorations.length-1;i>=0;i--){const decoration2=decorations[i];const minimapOptions=decoration2.options.minimap;if(!minimapOptions||minimapOptions.position!==MinimapPosition2.Inline){continue}const intersection=layout2.intersectWithViewport(decoration2.range);if(!intersection){continue}const[startLineNumber,endLineNumber]=intersection;const decorationColor=minimapOptions.getColor(this._theme.value);if(!decorationColor||decorationColor.isTransparent()){continue}let highlightColor=highlightColors.get(decorationColor.toString());if(!highlightColor){highlightColor=decorationColor.transparent(.5).toString();highlightColors.set(decorationColor.toString(),highlightColor)}canvasContext.fillStyle=highlightColor;for(let line=startLineNumber;line<=endLineNumber;line++){if(highlightedLines.has(line)){continue}highlightedLines.set(line,true);const y=layout2.getYForLineNumber(startLineNumber,minimapLineHeight);canvasContext.fillRect(MINIMAP_GUTTER_WIDTH,y,canvasContext.canvas.width,minimapLineHeight)}}}_renderSelectionsHighlights(canvasContext,selections,lineOffsetMap,layout2,lineHeight,tabSize,characterWidth,canvasInnerWidth){if(!this._selectionColor||this._selectionColor.isTransparent()){return}for(const selection of selections){const intersection=layout2.intersectWithViewport(selection);if(!intersection){continue}const[startLineNumber,endLineNumber]=intersection;for(let line=startLineNumber;line<=endLineNumber;line++){this.renderDecorationOnLine(canvasContext,lineOffsetMap,selection,this._selectionColor,layout2,line,lineHeight,lineHeight,tabSize,characterWidth,canvasInnerWidth)}}}_renderDecorationsHighlights(canvasContext,decorations,lineOffsetMap,layout2,minimapLineHeight,tabSize,characterWidth,canvasInnerWidth){for(const decoration2 of decorations){const minimapOptions=decoration2.options.minimap;if(!minimapOptions){continue}const intersection=layout2.intersectWithViewport(decoration2.range);if(!intersection){continue}const[startLineNumber,endLineNumber]=intersection;const decorationColor=minimapOptions.getColor(this._theme.value);if(!decorationColor||decorationColor.isTransparent()){continue}for(let line=startLineNumber;line<=endLineNumber;line++){switch(minimapOptions.position){case MinimapPosition2.Inline:this.renderDecorationOnLine(canvasContext,lineOffsetMap,decoration2.range,decorationColor,layout2,line,minimapLineHeight,minimapLineHeight,tabSize,characterWidth,canvasInnerWidth);continue;case MinimapPosition2.Gutter:{const y=layout2.getYForLineNumber(line,minimapLineHeight);const x=2;this.renderDecoration(canvasContext,decorationColor,x,y,GUTTER_DECORATION_WIDTH,minimapLineHeight);continue}}}}}renderDecorationOnLine(canvasContext,lineOffsetMap,decorationRange,decorationColor,layout2,lineNumber,height,minimapLineHeight,tabSize,charWidth,canvasInnerWidth){const y=layout2.getYForLineNumber(lineNumber,minimapLineHeight);if(y+height<0||y>this._model.options.canvasInnerHeight){return}const{startLineNumber:startLineNumber,endLineNumber:endLineNumber}=decorationRange;const startColumn=startLineNumber===lineNumber?decorationRange.startColumn:1;const endColumn=endLineNumber===lineNumber?decorationRange.endColumn:this._model.getLineMaxColumn(lineNumber);const x1=this.getXOffsetForPosition(lineOffsetMap,lineNumber,startColumn,tabSize,charWidth,canvasInnerWidth);const x2=this.getXOffsetForPosition(lineOffsetMap,lineNumber,endColumn,tabSize,charWidth,canvasInnerWidth);this.renderDecoration(canvasContext,decorationColor,x1,y,x2-x1,height)}getXOffsetForPosition(lineOffsetMap,lineNumber,column,tabSize,charWidth,canvasInnerWidth){if(column===1){return MINIMAP_GUTTER_WIDTH}const minimumXOffset=(column-1)*charWidth;if(minimumXOffset>=canvasInnerWidth){return canvasInnerWidth}let lineIndexToXOffset=lineOffsetMap.get(lineNumber);if(!lineIndexToXOffset){const lineData=this._model.getLineContent(lineNumber);lineIndexToXOffset=[MINIMAP_GUTTER_WIDTH];let prevx=MINIMAP_GUTTER_WIDTH;for(let i=1;i<lineData.length+1;i++){const charCode=lineData.charCodeAt(i-1);const dx=charCode===9?tabSize*charWidth:isFullWidthCharacter(charCode)?2*charWidth:charWidth;const x=prevx+dx;if(x>=canvasInnerWidth){lineIndexToXOffset[i]=canvasInnerWidth;break}lineIndexToXOffset[i]=x;prevx=x}lineOffsetMap.set(lineNumber,lineIndexToXOffset)}if(column-1<lineIndexToXOffset.length){return lineIndexToXOffset[column-1]}return canvasInnerWidth}renderDecoration(canvasContext,decorationColor,x,y,width,height){canvasContext.fillStyle=decorationColor&&decorationColor.toString()||"";canvasContext.fillRect(x,y,width,height)}renderLines(layout2){const startLineNumber=layout2.startLineNumber;const endLineNumber=layout2.endLineNumber;const minimapLineHeight=this._model.options.minimapLineHeight;if(this._lastRenderData&&this._lastRenderData.linesEquals(layout2)){const _lastData=this._lastRenderData._get();return new RenderData(layout2,_lastData.imageData,_lastData.lines)}const imageData=this._getBuffer();if(!imageData){return null}const[_dirtyY1,_dirtyY2,needed]=InnerMinimap._renderUntouchedLines(imageData,layout2.topPaddingLineCount,startLineNumber,endLineNumber,minimapLineHeight,this._lastRenderData);const lineInfo=this._model.getMinimapLinesRenderingData(startLineNumber,endLineNumber,needed);const tabSize=this._model.getOptions().tabSize;const defaultBackground=this._model.options.defaultBackgroundColor;const background=this._model.options.backgroundColor;const foregroundAlpha=this._model.options.foregroundAlpha;const tokensColorTracker=this._model.tokensColorTracker;const useLighterFont=tokensColorTracker.backgroundIsLight();const renderMinimap=this._model.options.renderMinimap;const charRenderer=this._model.options.charRenderer();const fontScale=this._model.options.fontScale;const minimapCharWidth=this._model.options.minimapCharWidth;const baseCharHeight=renderMinimap===1?2:2+1;const renderMinimapLineHeight=baseCharHeight*fontScale;const innerLinePadding=minimapLineHeight>renderMinimapLineHeight?Math.floor((minimapLineHeight-renderMinimapLineHeight)/2):0;const backgroundA=background.a/255;const renderBackground=new RGBA8(Math.round((background.r-defaultBackground.r)*backgroundA+defaultBackground.r),Math.round((background.g-defaultBackground.g)*backgroundA+defaultBackground.g),Math.round((background.b-defaultBackground.b)*backgroundA+defaultBackground.b),255);let dy=layout2.topPaddingLineCount*minimapLineHeight;const renderedLines=[];for(let lineIndex=0,lineCount=endLineNumber-startLineNumber+1;lineIndex<lineCount;lineIndex++){if(needed[lineIndex]){InnerMinimap._renderLine(imageData,renderBackground,background.a,useLighterFont,renderMinimap,minimapCharWidth,tokensColorTracker,foregroundAlpha,charRenderer,dy,innerLinePadding,tabSize,lineInfo[lineIndex],fontScale,minimapLineHeight)}renderedLines[lineIndex]=new MinimapLine(dy);dy+=minimapLineHeight}const dirtyY1=_dirtyY1===-1?0:_dirtyY1;const dirtyY2=_dirtyY2===-1?imageData.height:_dirtyY2;const dirtyHeight=dirtyY2-dirtyY1;const ctx=this._canvas.domNode.getContext("2d");ctx.putImageData(imageData,0,0,0,dirtyY1,imageData.width,dirtyHeight);return new RenderData(layout2,imageData,renderedLines)}static _renderUntouchedLines(target,topPaddingLineCount,startLineNumber,endLineNumber,minimapLineHeight,lastRenderData){const needed=[];if(!lastRenderData){for(let i=0,len=endLineNumber-startLineNumber+1;i<len;i++){needed[i]=true}return[-1,-1,needed]}const _lastData=lastRenderData._get();const lastTargetData=_lastData.imageData.data;const lastStartLineNumber=_lastData.rendLineNumberStart;const lastLines=_lastData.lines;const lastLinesLength=lastLines.length;const WIDTH=target.width;const targetData=target.data;const maxDestPixel=(endLineNumber-startLineNumber+1)*minimapLineHeight*WIDTH*4;let dirtyPixel1=-1;let dirtyPixel2=-1;let copySourceStart=-1;let copySourceEnd=-1;let copyDestStart=-1;let copyDestEnd=-1;let dest_dy=topPaddingLineCount*minimapLineHeight;for(let lineNumber=startLineNumber;lineNumber<=endLineNumber;lineNumber++){const lineIndex=lineNumber-startLineNumber;const lastLineIndex=lineNumber-lastStartLineNumber;const source_dy=lastLineIndex>=0&&lastLineIndex<lastLinesLength?lastLines[lastLineIndex].dy:-1;if(source_dy===-1){needed[lineIndex]=true;dest_dy+=minimapLineHeight;continue}const sourceStart=source_dy*WIDTH*4;const sourceEnd=(source_dy+minimapLineHeight)*WIDTH*4;const destStart=dest_dy*WIDTH*4;const destEnd=(dest_dy+minimapLineHeight)*WIDTH*4;if(copySourceEnd===sourceStart&&copyDestEnd===destStart){copySourceEnd=sourceEnd;copyDestEnd=destEnd}else{if(copySourceStart!==-1){targetData.set(lastTargetData.subarray(copySourceStart,copySourceEnd),copyDestStart);if(dirtyPixel1===-1&&copySourceStart===0&&copySourceStart===copyDestStart){dirtyPixel1=copySourceEnd}if(dirtyPixel2===-1&&copySourceEnd===maxDestPixel&&copySourceStart===copyDestStart){dirtyPixel2=copySourceStart}}copySourceStart=sourceStart;copySourceEnd=sourceEnd;copyDestStart=destStart;copyDestEnd=destEnd}needed[lineIndex]=false;dest_dy+=minimapLineHeight}if(copySourceStart!==-1){targetData.set(lastTargetData.subarray(copySourceStart,copySourceEnd),copyDestStart);if(dirtyPixel1===-1&&copySourceStart===0&&copySourceStart===copyDestStart){dirtyPixel1=copySourceEnd}if(dirtyPixel2===-1&&copySourceEnd===maxDestPixel&&copySourceStart===copyDestStart){dirtyPixel2=copySourceStart}}const dirtyY1=dirtyPixel1===-1?-1:dirtyPixel1/(WIDTH*4);const dirtyY2=dirtyPixel2===-1?-1:dirtyPixel2/(WIDTH*4);return[dirtyY1,dirtyY2,needed]}static _renderLine(target,backgroundColor,backgroundAlpha,useLighterFont,renderMinimap,charWidth,colorTracker,foregroundAlpha,minimapCharRenderer,dy,innerLinePadding,tabSize,lineData,fontScale,minimapLineHeight){const content=lineData.content;const tokens=lineData.tokens;const maxDx=target.width-charWidth;const force1pxHeight=minimapLineHeight===1;let dx=MINIMAP_GUTTER_WIDTH;let charIndex=0;let tabsCharDelta=0;for(let tokenIndex=0,tokensLen=tokens.getCount();tokenIndex<tokensLen;tokenIndex++){const tokenEndIndex=tokens.getEndOffset(tokenIndex);const tokenColorId=tokens.getForeground(tokenIndex);const tokenColor=colorTracker.getColor(tokenColorId);for(;charIndex<tokenEndIndex;charIndex++){if(dx>maxDx){return}const charCode=content.charCodeAt(charIndex);if(charCode===9){const insertSpacesCount=tabSize-(charIndex+tabsCharDelta)%tabSize;tabsCharDelta+=insertSpacesCount-1;dx+=insertSpacesCount*charWidth}else if(charCode===32){dx+=charWidth}else{const count=isFullWidthCharacter(charCode)?2:1;for(let i=0;i<count;i++){if(renderMinimap===2){minimapCharRenderer.blockRenderChar(target,dx,dy+innerLinePadding,tokenColor,foregroundAlpha,backgroundColor,backgroundAlpha,force1pxHeight)}else{minimapCharRenderer.renderChar(target,dx,dy+innerLinePadding,charCode,tokenColor,foregroundAlpha,backgroundColor,backgroundAlpha,fontScale,useLighterFont,force1pxHeight)}dx+=charWidth;if(dx>maxDx){return}}}}}}};ContiguousLineMap=class{constructor(startLineNumber,endLineNumber,defaultValue){this._startLineNumber=startLineNumber;this._endLineNumber=endLineNumber;this._defaultValue=defaultValue;this._values=[];for(let i=0,count=this._endLineNumber-this._startLineNumber+1;i<count;i++){this._values[i]=defaultValue}}has(lineNumber){return this.get(lineNumber)!==this._defaultValue}set(lineNumber,value){if(lineNumber<this._startLineNumber||lineNumber>this._endLineNumber){return}this._values[lineNumber-this._startLineNumber]=value}get(lineNumber){if(lineNumber<this._startLineNumber||lineNumber>this._endLineNumber){return this._defaultValue}return this._values[lineNumber-this._startLineNumber]}}}});var init_17=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.css"(){}});var ViewOverlayWidgets;var init_overlayWidgets=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js"(){init_17();init_fastDomNode();init_viewPart();ViewOverlayWidgets=class extends ViewPart{constructor(context){super(context);const options2=this._context.configuration.options;const layoutInfo=options2.get(142);this._widgets={};this._verticalScrollbarWidth=layoutInfo.verticalScrollbarWidth;this._minimapWidth=layoutInfo.minimap.minimapWidth;this._horizontalScrollbarHeight=layoutInfo.horizontalScrollbarHeight;this._editorHeight=layoutInfo.height;this._editorWidth=layoutInfo.width;this._domNode=createFastDomNode(document.createElement("div"));PartFingerprints.write(this._domNode,4);this._domNode.setClassName("overlayWidgets")}dispose(){super.dispose();this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(e){const options2=this._context.configuration.options;const layoutInfo=options2.get(142);this._verticalScrollbarWidth=layoutInfo.verticalScrollbarWidth;this._minimapWidth=layoutInfo.minimap.minimapWidth;this._horizontalScrollbarHeight=layoutInfo.horizontalScrollbarHeight;this._editorHeight=layoutInfo.height;this._editorWidth=layoutInfo.width;return true}addWidget(widget){const domNode=createFastDomNode(widget.getDomNode());this._widgets[widget.getId()]={widget:widget,preference:null,domNode:domNode};domNode.setPosition("absolute");domNode.setAttribute("widgetId",widget.getId());this._domNode.appendChild(domNode);this.setShouldRender();this._updateMaxMinWidth()}setWidgetPosition(widget,preference){const widgetData=this._widgets[widget.getId()];if(widgetData.preference===preference){this._updateMaxMinWidth();return false}widgetData.preference=preference;this.setShouldRender();this._updateMaxMinWidth();return true}removeWidget(widget){const widgetId=widget.getId();if(this._widgets.hasOwnProperty(widgetId)){const widgetData=this._widgets[widgetId];const domNode=widgetData.domNode.domNode;delete this._widgets[widgetId];domNode.parentNode.removeChild(domNode);this.setShouldRender();this._updateMaxMinWidth()}}_updateMaxMinWidth(){var _a6,_b3;let maxMinWidth=0;const keys=Object.keys(this._widgets);for(let i=0,len=keys.length;i<len;i++){const widgetId=keys[i];const widget=this._widgets[widgetId];const widgetMinWidthInPx=(_b3=(_a6=widget.widget).getMinContentWidthInPx)===null||_b3===void 0?void 0:_b3.call(_a6);if(typeof widgetMinWidthInPx!=="undefined"){maxMinWidth=Math.max(maxMinWidth,widgetMinWidthInPx)}}this._context.viewLayout.setOverlayWidgetsMinWidth(maxMinWidth)}_renderWidget(widgetData){const domNode=widgetData.domNode;if(widgetData.preference===null){domNode.setTop("");return}if(widgetData.preference===0){domNode.setTop(0);domNode.setRight(2*this._verticalScrollbarWidth+this._minimapWidth)}else if(widgetData.preference===1){const widgetHeight=domNode.domNode.clientHeight;domNode.setTop(this._editorHeight-widgetHeight-2*this._horizontalScrollbarHeight);domNode.setRight(2*this._verticalScrollbarWidth+this._minimapWidth)}else if(widgetData.preference===2){domNode.setTop(0);domNode.domNode.style.right="50%"}}prepareRender(ctx){}render(ctx){this._domNode.setWidth(this._editorWidth);const keys=Object.keys(this._widgets);for(let i=0,len=keys.length;i<len;i++){const widgetId=keys[i];this._renderWidget(this._widgets[widgetId])}}}}});var Settings,DecorationsOverviewRuler;var init_decorationsOverviewRuler=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.js"(){init_fastDomNode();init_color();init_viewPart();init_position();init_languages();init_editorColorRegistry();init_viewModel();Settings=class{constructor(config,theme){const options2=config.options;this.lineHeight=options2.get(65);this.pixelRatio=options2.get(140);this.overviewRulerLanes=options2.get(81);this.renderBorder=options2.get(80);const borderColor=theme.getColor(editorOverviewRulerBorder);this.borderColor=borderColor?borderColor.toString():null;this.hideCursor=options2.get(58);const cursorColor=theme.getColor(editorCursorForeground);this.cursorColor=cursorColor?cursorColor.transparent(.7).toString():null;this.themeType=theme.type;const minimapOpts=options2.get(71);const minimapEnabled=minimapOpts.enabled;const minimapSide=minimapOpts.side;const themeColor=theme.getColor(editorOverviewRulerBackground);const defaultBackground=TokenizationRegistry2.getDefaultBackground();if(themeColor){this.backgroundColor=themeColor}else if(minimapEnabled&&minimapSide==="right"){this.backgroundColor=defaultBackground}else{this.backgroundColor=null}const layoutInfo=options2.get(142);const position=layoutInfo.overviewRuler;this.top=position.top;this.right=position.right;this.domWidth=position.width;this.domHeight=position.height;if(this.overviewRulerLanes===0){this.canvasWidth=0;this.canvasHeight=0}else{this.canvasWidth=this.domWidth*this.pixelRatio|0;this.canvasHeight=this.domHeight*this.pixelRatio|0}const[x,w]=this._initLanes(1,this.canvasWidth,this.overviewRulerLanes);this.x=x;this.w=w}_initLanes(canvasLeftOffset,canvasWidth,laneCount){const remainingWidth=canvasWidth-canvasLeftOffset;if(laneCount>=3){const leftWidth=Math.floor(remainingWidth/3);const rightWidth=Math.floor(remainingWidth/3);const centerWidth=remainingWidth-leftWidth-rightWidth;const leftOffset=canvasLeftOffset;const centerOffset=leftOffset+leftWidth;const rightOffset=leftOffset+leftWidth+centerWidth;return[[0,leftOffset,centerOffset,leftOffset,rightOffset,leftOffset,centerOffset,leftOffset],[0,leftWidth,centerWidth,leftWidth+centerWidth,rightWidth,leftWidth+centerWidth+rightWidth,centerWidth+rightWidth,leftWidth+centerWidth+rightWidth]]}else if(laneCount===2){const leftWidth=Math.floor(remainingWidth/2);const rightWidth=remainingWidth-leftWidth;const leftOffset=canvasLeftOffset;const rightOffset=leftOffset+leftWidth;return[[0,leftOffset,leftOffset,leftOffset,rightOffset,leftOffset,leftOffset,leftOffset],[0,leftWidth,leftWidth,leftWidth,rightWidth,leftWidth+rightWidth,leftWidth+rightWidth,leftWidth+rightWidth]]}else{const offset=canvasLeftOffset;const width=remainingWidth;return[[0,offset,offset,offset,offset,offset,offset,offset],[0,width,width,width,width,width,width,width]]}}equals(other){return this.lineHeight===other.lineHeight&&this.pixelRatio===other.pixelRatio&&this.overviewRulerLanes===other.overviewRulerLanes&&this.renderBorder===other.renderBorder&&this.borderColor===other.borderColor&&this.hideCursor===other.hideCursor&&this.cursorColor===other.cursorColor&&this.themeType===other.themeType&&Color.equals(this.backgroundColor,other.backgroundColor)&&this.top===other.top&&this.right===other.right&&this.domWidth===other.domWidth&&this.domHeight===other.domHeight&&this.canvasWidth===other.canvasWidth&&this.canvasHeight===other.canvasHeight}};DecorationsOverviewRuler=class extends ViewPart{constructor(context){super(context);this._domNode=createFastDomNode(document.createElement("canvas"));this._domNode.setClassName("decorationsOverviewRuler");this._domNode.setPosition("absolute");this._domNode.setLayerHinting(true);this._domNode.setContain("strict");this._domNode.setAttribute("aria-hidden","true");this._updateSettings(false);this._tokensColorTrackerListener=TokenizationRegistry2.onDidChange((e=>{if(e.changedColorMap){this._updateSettings(true)}}));this._cursorPositions=[]}dispose(){super.dispose();this._tokensColorTrackerListener.dispose()}_updateSettings(renderNow){const newSettings=new Settings(this._context.configuration,this._context.theme);if(this._settings&&this._settings.equals(newSettings)){return false}this._settings=newSettings;this._domNode.setTop(this._settings.top);this._domNode.setRight(this._settings.right);this._domNode.setWidth(this._settings.domWidth);this._domNode.setHeight(this._settings.domHeight);this._domNode.domNode.width=this._settings.canvasWidth;this._domNode.domNode.height=this._settings.canvasHeight;if(renderNow){this._render()}return true}onConfigurationChanged(e){return this._updateSettings(false)}onCursorStateChanged(e){this._cursorPositions=[];for(let i=0,len=e.selections.length;i<len;i++){this._cursorPositions[i]=e.selections[i].getPosition()}this._cursorPositions.sort(Position.compare);return true}onDecorationsChanged(e){if(e.affectsOverviewRuler){return true}return false}onFlushed(e){return true}onScrollChanged(e){return e.scrollHeightChanged}onZonesChanged(e){return true}onThemeChanged(e){return this._updateSettings(false)}getDomNode(){return this._domNode.domNode}prepareRender(ctx){}render(editorCtx){this._render()}_render(){const backgroundColor=this._settings.backgroundColor;if(this._settings.overviewRulerLanes===0){this._domNode.setBackgroundColor(backgroundColor?Color.Format.CSS.formatHexA(backgroundColor):"");this._domNode.setDisplay("none");return}this._domNode.setDisplay("block");const canvasWidth=this._settings.canvasWidth;const canvasHeight=this._settings.canvasHeight;const lineHeight=this._settings.lineHeight;const viewLayout=this._context.viewLayout;const outerHeight=this._context.viewLayout.getScrollHeight();const heightRatio=canvasHeight/outerHeight;const decorations=this._context.viewModel.getAllOverviewRulerDecorations(this._context.theme);const minDecorationHeight=6*this._settings.pixelRatio|0;const halfMinDecorationHeight=minDecorationHeight/2|0;const canvasCtx=this._domNode.domNode.getContext("2d");if(backgroundColor){if(backgroundColor.isOpaque()){canvasCtx.fillStyle=Color.Format.CSS.formatHexA(backgroundColor);canvasCtx.fillRect(0,0,canvasWidth,canvasHeight)}else{canvasCtx.clearRect(0,0,canvasWidth,canvasHeight);canvasCtx.fillStyle=Color.Format.CSS.formatHexA(backgroundColor);canvasCtx.fillRect(0,0,canvasWidth,canvasHeight)}}else{canvasCtx.clearRect(0,0,canvasWidth,canvasHeight)}const x=this._settings.x;const w=this._settings.w;decorations.sort(OverviewRulerDecorationsGroup.cmp);for(const decorationGroup of decorations){const color=decorationGroup.color;const decorationGroupData=decorationGroup.data;canvasCtx.fillStyle=color;let prevLane=0;let prevY1=0;let prevY2=0;for(let i=0,len=decorationGroupData.length/3;i<len;i++){const lane=decorationGroupData[3*i];const startLineNumber=decorationGroupData[3*i+1];const endLineNumber=decorationGroupData[3*i+2];let y1=viewLayout.getVerticalOffsetForLineNumber(startLineNumber)*heightRatio|0;let y2=(viewLayout.getVerticalOffsetForLineNumber(endLineNumber)+lineHeight)*heightRatio|0;const height=y2-y1;if(height<minDecorationHeight){let yCenter=(y1+y2)/2|0;if(yCenter<halfMinDecorationHeight){yCenter=halfMinDecorationHeight}else if(yCenter+halfMinDecorationHeight>canvasHeight){yCenter=canvasHeight-halfMinDecorationHeight}y1=yCenter-halfMinDecorationHeight;y2=yCenter+halfMinDecorationHeight}if(y1>prevY2+1||lane!==prevLane){if(i!==0){canvasCtx.fillRect(x[prevLane],prevY1,w[prevLane],prevY2-prevY1)}prevLane=lane;prevY1=y1;prevY2=y2}else{if(y2>prevY2){prevY2=y2}}}canvasCtx.fillRect(x[prevLane],prevY1,w[prevLane],prevY2-prevY1)}if(!this._settings.hideCursor&&this._settings.cursorColor){const cursorHeight=2*this._settings.pixelRatio|0;const halfCursorHeight=cursorHeight/2|0;const cursorX=this._settings.x[7];const cursorW=this._settings.w[7];canvasCtx.fillStyle=this._settings.cursorColor;let prevY1=-100;let prevY2=-100;for(let i=0,len=this._cursorPositions.length;i<len;i++){const cursor=this._cursorPositions[i];let yCenter=viewLayout.getVerticalOffsetForLineNumber(cursor.lineNumber)*heightRatio|0;if(yCenter<halfCursorHeight){yCenter=halfCursorHeight}else if(yCenter+halfCursorHeight>canvasHeight){yCenter=canvasHeight-halfCursorHeight}const y1=yCenter-halfCursorHeight;const y2=y1+cursorHeight;if(y1>prevY2+1){if(i!==0){canvasCtx.fillRect(cursorX,prevY1,cursorW,prevY2-prevY1)}prevY1=y1;prevY2=y2}else{if(y2>prevY2){prevY2=y2}}}canvasCtx.fillRect(cursorX,prevY1,cursorW,prevY2-prevY1)}if(this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0){canvasCtx.beginPath();canvasCtx.lineWidth=1;canvasCtx.strokeStyle=this._settings.borderColor;canvasCtx.moveTo(0,0);canvasCtx.lineTo(0,canvasHeight);canvasCtx.stroke();canvasCtx.moveTo(0,0);canvasCtx.lineTo(canvasWidth,0);canvasCtx.stroke()}}}}});var ColorZone,OverviewRulerZone,OverviewZoneManager;var init_overviewZoneManager=__esm({"node_modules/monaco-editor/esm/vs/editor/common/viewModel/overviewZoneManager.js"(){ColorZone=class{constructor(from,to,colorId){this._colorZoneBrand=void 0;this.from=from|0;this.to=to|0;this.colorId=colorId|0}static compare(a,b){if(a.colorId===b.colorId){if(a.from===b.from){return a.to-b.to}return a.from-b.from}return a.colorId-b.colorId}};OverviewRulerZone=class{constructor(startLineNumber,endLineNumber,heightInLines,color){this._overviewRulerZoneBrand=void 0;this.startLineNumber=startLineNumber;this.endLineNumber=endLineNumber;this.heightInLines=heightInLines;this.color=color;this._colorZone=null}static compare(a,b){if(a.color===b.color){if(a.startLineNumber===b.startLineNumber){if(a.heightInLines===b.heightInLines){return a.endLineNumber-b.endLineNumber}return a.heightInLines-b.heightInLines}return a.startLineNumber-b.startLineNumber}return a.color<b.color?-1:1}setColorZone(colorZone){this._colorZone=colorZone}getColorZones(){return this._colorZone}};OverviewZoneManager=class{constructor(getVerticalOffsetForLine){this._getVerticalOffsetForLine=getVerticalOffsetForLine;this._zones=[];this._colorZonesInvalid=false;this._lineHeight=0;this._domWidth=0;this._domHeight=0;this._outerHeight=0;this._pixelRatio=1;this._lastAssignedId=0;this._color2Id=Object.create(null);this._id2Color=[]}getId2Color(){return this._id2Color}setZones(newZones){this._zones=newZones;this._zones.sort(OverviewRulerZone.compare)}setLineHeight(lineHeight){if(this._lineHeight===lineHeight){return false}this._lineHeight=lineHeight;this._colorZonesInvalid=true;return true}setPixelRatio(pixelRatio){this._pixelRatio=pixelRatio;this._colorZonesInvalid=true}getDOMWidth(){return this._domWidth}getCanvasWidth(){return this._domWidth*this._pixelRatio}setDOMWidth(width){if(this._domWidth===width){return false}this._domWidth=width;this._colorZonesInvalid=true;return true}getDOMHeight(){return this._domHeight}getCanvasHeight(){return this._domHeight*this._pixelRatio}setDOMHeight(height){if(this._domHeight===height){return false}this._domHeight=height;this._colorZonesInvalid=true;return true}getOuterHeight(){return this._outerHeight}setOuterHeight(outerHeight){if(this._outerHeight===outerHeight){return false}this._outerHeight=outerHeight;this._colorZonesInvalid=true;return true}resolveColorZones(){const colorZonesInvalid=this._colorZonesInvalid;const lineHeight=Math.floor(this._lineHeight);const totalHeight=Math.floor(this.getCanvasHeight());const outerHeight=Math.floor(this._outerHeight);const heightRatio=totalHeight/outerHeight;const halfMinimumHeight=Math.floor(4*this._pixelRatio/2);const allColorZones=[];for(let i=0,len=this._zones.length;i<len;i++){const zone=this._zones[i];if(!colorZonesInvalid){const colorZone2=zone.getColorZones();if(colorZone2){allColorZones.push(colorZone2);continue}}const offset1=this._getVerticalOffsetForLine(zone.startLineNumber);const offset2=zone.heightInLines===0?this._getVerticalOffsetForLine(zone.endLineNumber)+lineHeight:offset1+zone.heightInLines*lineHeight;const y1=Math.floor(heightRatio*offset1);const y2=Math.floor(heightRatio*offset2);let ycenter=Math.floor((y1+y2)/2);let halfHeight=y2-ycenter;if(halfHeight<halfMinimumHeight){halfHeight=halfMinimumHeight}if(ycenter-halfHeight<0){ycenter=halfHeight}if(ycenter+halfHeight>totalHeight){ycenter=totalHeight-halfHeight}const color=zone.color;let colorId=this._color2Id[color];if(!colorId){colorId=++this._lastAssignedId;this._color2Id[color]=colorId;this._id2Color[colorId]=color}const colorZone=new ColorZone(ycenter-halfHeight,ycenter+halfHeight,colorId);zone.setColorZone(colorZone);allColorZones.push(colorZone)}this._colorZonesInvalid=false;allColorZones.sort(ColorZone.compare);return allColorZones}}}});var OverviewRuler;var init_overviewRuler=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js"(){init_fastDomNode();init_overviewZoneManager();init_viewEventHandler();OverviewRuler=class extends ViewEventHandler{constructor(context,cssClassName){super();this._context=context;const options2=this._context.configuration.options;this._domNode=createFastDomNode(document.createElement("canvas"));this._domNode.setClassName(cssClassName);this._domNode.setPosition("absolute");this._domNode.setLayerHinting(true);this._domNode.setContain("strict");this._zoneManager=new OverviewZoneManager((lineNumber=>this._context.viewLayout.getVerticalOffsetForLineNumber(lineNumber)));this._zoneManager.setDOMWidth(0);this._zoneManager.setDOMHeight(0);this._zoneManager.setOuterHeight(this._context.viewLayout.getScrollHeight());this._zoneManager.setLineHeight(options2.get(65));this._zoneManager.setPixelRatio(options2.get(140));this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this);super.dispose()}onConfigurationChanged(e){const options2=this._context.configuration.options;if(e.hasChanged(65)){this._zoneManager.setLineHeight(options2.get(65));this._render()}if(e.hasChanged(140)){this._zoneManager.setPixelRatio(options2.get(140));this._domNode.setWidth(this._zoneManager.getDOMWidth());this._domNode.setHeight(this._zoneManager.getDOMHeight());this._domNode.domNode.width=this._zoneManager.getCanvasWidth();this._domNode.domNode.height=this._zoneManager.getCanvasHeight();this._render()}return true}onFlushed(e){this._render();return true}onScrollChanged(e){if(e.scrollHeightChanged){this._zoneManager.setOuterHeight(e.scrollHeight);this._render()}return true}onZonesChanged(e){this._render();return true}getDomNode(){return this._domNode.domNode}setLayout(position){this._domNode.setTop(position.top);this._domNode.setRight(position.right);let hasChanged=false;hasChanged=this._zoneManager.setDOMWidth(position.width)||hasChanged;hasChanged=this._zoneManager.setDOMHeight(position.height)||hasChanged;if(hasChanged){this._domNode.setWidth(this._zoneManager.getDOMWidth());this._domNode.setHeight(this._zoneManager.getDOMHeight());this._domNode.domNode.width=this._zoneManager.getCanvasWidth();this._domNode.domNode.height=this._zoneManager.getCanvasHeight();this._render()}}setZones(zones){this._zoneManager.setZones(zones);this._render()}_render(){if(this._zoneManager.getOuterHeight()===0){return false}const width=this._zoneManager.getCanvasWidth();const height=this._zoneManager.getCanvasHeight();const colorZones=this._zoneManager.resolveColorZones();const id2Color=this._zoneManager.getId2Color();const ctx=this._domNode.domNode.getContext("2d");ctx.clearRect(0,0,width,height);if(colorZones.length>0){this._renderOneLane(ctx,colorZones,id2Color,width)}return true}_renderOneLane(ctx,colorZones,id2Color,width){let currentColorId=0;let currentFrom=0;let currentTo=0;for(const zone of colorZones){const zoneColorId=zone.colorId;const zoneFrom=zone.from;const zoneTo=zone.to;if(zoneColorId!==currentColorId){ctx.fillRect(0,currentFrom,width,currentTo-currentFrom);currentColorId=zoneColorId;ctx.fillStyle=id2Color[currentColorId];currentFrom=zoneFrom;currentTo=zoneTo}else{if(currentTo>=zoneFrom){currentTo=Math.max(currentTo,zoneTo)}else{ctx.fillRect(0,currentFrom,width,currentTo-currentFrom);currentFrom=zoneFrom;currentTo=zoneTo}}}ctx.fillRect(0,currentFrom,width,currentTo-currentFrom)}}}});var init_18=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/rulers/rulers.css"(){}});var Rulers;var init_rulers=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/rulers/rulers.js"(){init_18();init_fastDomNode();init_viewPart();Rulers=class extends ViewPart{constructor(context){super(context);this.domNode=createFastDomNode(document.createElement("div"));this.domNode.setAttribute("role","presentation");this.domNode.setAttribute("aria-hidden","true");this.domNode.setClassName("view-rulers");this._renderedRulers=[];const options2=this._context.configuration.options;this._rulers=options2.get(100);this._typicalHalfwidthCharacterWidth=options2.get(49).typicalHalfwidthCharacterWidth}dispose(){super.dispose()}onConfigurationChanged(e){const options2=this._context.configuration.options;this._rulers=options2.get(100);this._typicalHalfwidthCharacterWidth=options2.get(49).typicalHalfwidthCharacterWidth;return true}onScrollChanged(e){return e.scrollHeightChanged}prepareRender(ctx){}_ensureRulersCount(){const currentCount=this._renderedRulers.length;const desiredCount=this._rulers.length;if(currentCount===desiredCount){return}if(currentCount<desiredCount){const{tabSize:tabSize}=this._context.viewModel.model.getOptions();const rulerWidth=tabSize;let addCount=desiredCount-currentCount;while(addCount>0){const node=createFastDomNode(document.createElement("div"));node.setClassName("view-ruler");node.setWidth(rulerWidth);this.domNode.appendChild(node);this._renderedRulers.push(node);addCount--}return}let removeCount=currentCount-desiredCount;while(removeCount>0){const node=this._renderedRulers.pop();this.domNode.removeChild(node);removeCount--}}render(ctx){this._ensureRulersCount();for(let i=0,len=this._rulers.length;i<len;i++){const node=this._renderedRulers[i];const ruler=this._rulers[i];node.setBoxShadow(ruler.color?`1px 0 0 0 ${ruler.color} inset`:``);node.setHeight(Math.min(ctx.scrollHeight,1e6));node.setLeft(ruler.column*this._typicalHalfwidthCharacterWidth)}}}}});var init_19=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.css"(){}});var ScrollDecorationViewPart;var init_scrollDecoration=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js"(){init_19();init_fastDomNode();init_viewPart();ScrollDecorationViewPart=class extends ViewPart{constructor(context){super(context);this._scrollTop=0;this._width=0;this._updateWidth();this._shouldShow=false;const options2=this._context.configuration.options;const scrollbar=options2.get(101);this._useShadows=scrollbar.useShadows;this._domNode=createFastDomNode(document.createElement("div"));this._domNode.setAttribute("role","presentation");this._domNode.setAttribute("aria-hidden","true")}dispose(){super.dispose()}_updateShouldShow(){const newShouldShow=this._useShadows&&this._scrollTop>0;if(this._shouldShow!==newShouldShow){this._shouldShow=newShouldShow;return true}return false}getDomNode(){return this._domNode}_updateWidth(){const options2=this._context.configuration.options;const layoutInfo=options2.get(142);if(layoutInfo.minimap.renderMinimap===0||layoutInfo.minimap.minimapWidth>0&&layoutInfo.minimap.minimapLeft===0){this._width=layoutInfo.width}else{this._width=layoutInfo.width-layoutInfo.verticalScrollbarWidth}}onConfigurationChanged(e){const options2=this._context.configuration.options;const scrollbar=options2.get(101);this._useShadows=scrollbar.useShadows;this._updateWidth();this._updateShouldShow();return true}onScrollChanged(e){this._scrollTop=e.scrollTop;return this._updateShouldShow()}prepareRender(ctx){}render(ctx){this._domNode.setWidth(this._width);this._domNode.setClassName(this._shouldShow?"scroll-decoration":"")}}}});var init_20=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/selections/selections.css"(){}});function toStyledRange(item){return new HorizontalRangeWithStyle(item)}function toStyled(item){return new LineVisibleRangesWithStyle(item.lineNumber,item.ranges.map(toStyledRange))}function abs(n){return n<0?-n:n}var HorizontalRangeWithStyle,LineVisibleRangesWithStyle,SelectionsOverlay;var init_selections=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/selections/selections.js"(){init_20();init_dynamicViewOverlay();init_colorRegistry();init_themeService();HorizontalRangeWithStyle=class{constructor(other){this.left=other.left;this.width=other.width;this.startStyle=null;this.endStyle=null}};LineVisibleRangesWithStyle=class{constructor(lineNumber,ranges){this.lineNumber=lineNumber;this.ranges=ranges}};SelectionsOverlay=class extends DynamicViewOverlay{constructor(context){super();this._previousFrameVisibleRangesWithStyle=[];this._context=context;const options2=this._context.configuration.options;this._lineHeight=options2.get(65);this._roundedSelection=options2.get(99);this._typicalHalfwidthCharacterWidth=options2.get(49).typicalHalfwidthCharacterWidth;this._selections=[];this._renderResult=null;this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this);this._renderResult=null;super.dispose()}onConfigurationChanged(e){const options2=this._context.configuration.options;this._lineHeight=options2.get(65);this._roundedSelection=options2.get(99);this._typicalHalfwidthCharacterWidth=options2.get(49).typicalHalfwidthCharacterWidth;return true}onCursorStateChanged(e){this._selections=e.selections.slice(0);return true}onDecorationsChanged(e){return true}onFlushed(e){return true}onLinesChanged(e){return true}onLinesDeleted(e){return true}onLinesInserted(e){return true}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return true}_visibleRangesHaveGaps(linesVisibleRanges){for(let i=0,len=linesVisibleRanges.length;i<len;i++){const lineVisibleRanges=linesVisibleRanges[i];if(lineVisibleRanges.ranges.length>1){return true}}return false}_enrichVisibleRangesWithStyle(viewport,linesVisibleRanges,previousFrame){const epsilon=this._typicalHalfwidthCharacterWidth/4;let previousFrameTop=null;let previousFrameBottom=null;if(previousFrame&&previousFrame.length>0&&linesVisibleRanges.length>0){const topLineNumber=linesVisibleRanges[0].lineNumber;if(topLineNumber===viewport.startLineNumber){for(let i=0;!previousFrameTop&&i<previousFrame.length;i++){if(previousFrame[i].lineNumber===topLineNumber){previousFrameTop=previousFrame[i].ranges[0]}}}const bottomLineNumber=linesVisibleRanges[linesVisibleRanges.length-1].lineNumber;if(bottomLineNumber===viewport.endLineNumber){for(let i=previousFrame.length-1;!previousFrameBottom&&i>=0;i--){if(previousFrame[i].lineNumber===bottomLineNumber){previousFrameBottom=previousFrame[i].ranges[0]}}}if(previousFrameTop&&!previousFrameTop.startStyle){previousFrameTop=null}if(previousFrameBottom&&!previousFrameBottom.startStyle){previousFrameBottom=null}}for(let i=0,len=linesVisibleRanges.length;i<len;i++){const curLineRange=linesVisibleRanges[i].ranges[0];const curLeft=curLineRange.left;const curRight=curLineRange.left+curLineRange.width;const startStyle={top:0,bottom:0};const endStyle={top:0,bottom:0};if(i>0){const prevLeft=linesVisibleRanges[i-1].ranges[0].left;const prevRight=linesVisibleRanges[i-1].ranges[0].left+linesVisibleRanges[i-1].ranges[0].width;if(abs(curLeft-prevLeft)<epsilon){startStyle.top=2}else if(curLeft>prevLeft){startStyle.top=1}if(abs(curRight-prevRight)<epsilon){endStyle.top=2}else if(prevLeft<curRight&&curRight<prevRight){endStyle.top=1}}else if(previousFrameTop){startStyle.top=previousFrameTop.startStyle.top;endStyle.top=previousFrameTop.endStyle.top}if(i+1<len){const nextLeft=linesVisibleRanges[i+1].ranges[0].left;const nextRight=linesVisibleRanges[i+1].ranges[0].left+linesVisibleRanges[i+1].ranges[0].width;if(abs(curLeft-nextLeft)<epsilon){startStyle.bottom=2}else if(nextLeft<curLeft&&curLeft<nextRight){startStyle.bottom=1}if(abs(curRight-nextRight)<epsilon){endStyle.bottom=2}else if(curRight<nextRight){endStyle.bottom=1}}else if(previousFrameBottom){startStyle.bottom=previousFrameBottom.startStyle.bottom;endStyle.bottom=previousFrameBottom.endStyle.bottom}curLineRange.startStyle=startStyle;curLineRange.endStyle=endStyle}}_getVisibleRangesWithStyle(selection,ctx,previousFrame){const _linesVisibleRanges=ctx.linesVisibleRangesForRange(selection,true)||[];const linesVisibleRanges=_linesVisibleRanges.map(toStyled);const visibleRangesHaveGaps=this._visibleRangesHaveGaps(linesVisibleRanges);if(!visibleRangesHaveGaps&&this._roundedSelection){this._enrichVisibleRangesWithStyle(ctx.visibleRange,linesVisibleRanges,previousFrame)}return linesVisibleRanges}_createSelectionPiece(top,height,className,left,width){return'<div class="cslr '+className+'" style="top:'+top.toString()+"px;left:"+left.toString()+"px;width:"+width.toString()+"px;height:"+height+'px;"></div>'}_actualRenderOneSelection(output2,visibleStartLineNumber,hasMultipleSelections,visibleRanges){if(visibleRanges.length===0){return}const visibleRangesHaveStyle=!!visibleRanges[0].ranges[0].startStyle;const fullLineHeight=this._lineHeight.toString();const reducedLineHeight=(this._lineHeight-1).toString();const firstLineNumber=visibleRanges[0].lineNumber;const lastLineNumber=visibleRanges[visibleRanges.length-1].lineNumber;for(let i=0,len=visibleRanges.length;i<len;i++){const lineVisibleRanges=visibleRanges[i];const lineNumber=lineVisibleRanges.lineNumber;const lineIndex=lineNumber-visibleStartLineNumber;const lineHeight=hasMultipleSelections?lineNumber===lastLineNumber||lineNumber===firstLineNumber?reducedLineHeight:fullLineHeight:fullLineHeight;const top=hasMultipleSelections?lineNumber===firstLineNumber?1:0:0;let innerCornerOutput="";let restOfSelectionOutput="";for(let j=0,lenJ=lineVisibleRanges.ranges.length;j<lenJ;j++){const visibleRange=lineVisibleRanges.ranges[j];if(visibleRangesHaveStyle){const startStyle=visibleRange.startStyle;const endStyle=visibleRange.endStyle;if(startStyle.top===1||startStyle.bottom===1){innerCornerOutput+=this._createSelectionPiece(top,lineHeight,SelectionsOverlay.SELECTION_CLASS_NAME,visibleRange.left-SelectionsOverlay.ROUNDED_PIECE_WIDTH,SelectionsOverlay.ROUNDED_PIECE_WIDTH);let className2=SelectionsOverlay.EDITOR_BACKGROUND_CLASS_NAME;if(startStyle.top===1){className2+=" "+SelectionsOverlay.SELECTION_TOP_RIGHT}if(startStyle.bottom===1){className2+=" "+SelectionsOverlay.SELECTION_BOTTOM_RIGHT}innerCornerOutput+=this._createSelectionPiece(top,lineHeight,className2,visibleRange.left-SelectionsOverlay.ROUNDED_PIECE_WIDTH,SelectionsOverlay.ROUNDED_PIECE_WIDTH)}if(endStyle.top===1||endStyle.bottom===1){innerCornerOutput+=this._createSelectionPiece(top,lineHeight,SelectionsOverlay.SELECTION_CLASS_NAME,visibleRange.left+visibleRange.width,SelectionsOverlay.ROUNDED_PIECE_WIDTH);let className2=SelectionsOverlay.EDITOR_BACKGROUND_CLASS_NAME;if(endStyle.top===1){className2+=" "+SelectionsOverlay.SELECTION_TOP_LEFT}if(endStyle.bottom===1){className2+=" "+SelectionsOverlay.SELECTION_BOTTOM_LEFT}innerCornerOutput+=this._createSelectionPiece(top,lineHeight,className2,visibleRange.left+visibleRange.width,SelectionsOverlay.ROUNDED_PIECE_WIDTH)}}let className=SelectionsOverlay.SELECTION_CLASS_NAME;if(visibleRangesHaveStyle){const startStyle=visibleRange.startStyle;const endStyle=visibleRange.endStyle;if(startStyle.top===0){className+=" "+SelectionsOverlay.SELECTION_TOP_LEFT}if(startStyle.bottom===0){className+=" "+SelectionsOverlay.SELECTION_BOTTOM_LEFT}if(endStyle.top===0){className+=" "+SelectionsOverlay.SELECTION_TOP_RIGHT}if(endStyle.bottom===0){className+=" "+SelectionsOverlay.SELECTION_BOTTOM_RIGHT}}restOfSelectionOutput+=this._createSelectionPiece(top,lineHeight,className,visibleRange.left,visibleRange.width)}output2[lineIndex][0]+=innerCornerOutput;output2[lineIndex][1]+=restOfSelectionOutput}}prepareRender(ctx){const output=[];const visibleStartLineNumber=ctx.visibleRange.startLineNumber;const visibleEndLineNumber=ctx.visibleRange.endLineNumber;for(let lineNumber=visibleStartLineNumber;lineNumber<=visibleEndLineNumber;lineNumber++){const lineIndex=lineNumber-visibleStartLineNumber;output[lineIndex]=["",""]}const thisFrameVisibleRangesWithStyle=[];for(let i=0,len=this._selections.length;i<len;i++){const selection=this._selections[i];if(selection.isEmpty()){thisFrameVisibleRangesWithStyle[i]=null;continue}const visibleRangesWithStyle=this._getVisibleRangesWithStyle(selection,ctx,this._previousFrameVisibleRangesWithStyle[i]);thisFrameVisibleRangesWithStyle[i]=visibleRangesWithStyle;this._actualRenderOneSelection(output,visibleStartLineNumber,this._selections.length>1,visibleRangesWithStyle)}this._previousFrameVisibleRangesWithStyle=thisFrameVisibleRangesWithStyle;this._renderResult=output.map((([internalCorners,restOfSelection])=>internalCorners+restOfSelection))}render(startLineNumber,lineNumber){if(!this._renderResult){return""}const lineIndex=lineNumber-startLineNumber;if(lineIndex<0||lineIndex>=this._renderResult.length){return""}return this._renderResult[lineIndex]}};SelectionsOverlay.SELECTION_CLASS_NAME="selected-text";SelectionsOverlay.SELECTION_TOP_LEFT="top-left-radius";SelectionsOverlay.SELECTION_BOTTOM_LEFT="bottom-left-radius";SelectionsOverlay.SELECTION_TOP_RIGHT="top-right-radius";SelectionsOverlay.SELECTION_BOTTOM_RIGHT="bottom-right-radius";SelectionsOverlay.EDITOR_BACKGROUND_CLASS_NAME="monaco-editor-background";SelectionsOverlay.ROUNDED_PIECE_WIDTH=10;registerThemingParticipant(((theme,collector)=>{const editorSelectionForegroundColor=theme.getColor(editorSelectionForeground);if(editorSelectionForegroundColor&&!editorSelectionForegroundColor.isTransparent()){collector.addRule(`.monaco-editor .view-line span.inline-selected-text { color: ${editorSelectionForegroundColor}; }`)}}))}});var init_21=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/viewCursors/viewCursors.css"(){}});var ViewCursorRenderData,ViewCursor;var init_viewCursor=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/viewCursors/viewCursor.js"(){init_dom();init_fastDomNode();init_strings();init_domFontInfo();init_editorOptions();init_position();init_range();init_mouseCursor();ViewCursorRenderData=class{constructor(top,left,paddingLeft,width,height,textContent,textContentClassName){this.top=top;this.left=left;this.paddingLeft=paddingLeft;this.width=width;this.height=height;this.textContent=textContent;this.textContentClassName=textContentClassName}};ViewCursor=class{constructor(context){this._context=context;const options2=this._context.configuration.options;const fontInfo=options2.get(49);this._cursorStyle=options2.get(27);this._lineHeight=options2.get(65);this._typicalHalfwidthCharacterWidth=fontInfo.typicalHalfwidthCharacterWidth;this._lineCursorWidth=Math.min(options2.get(30),this._typicalHalfwidthCharacterWidth);this._isVisible=true;this._domNode=createFastDomNode(document.createElement("div"));this._domNode.setClassName(`cursor ${MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`);this._domNode.setHeight(this._lineHeight);this._domNode.setTop(0);this._domNode.setLeft(0);applyFontInfo(this._domNode,fontInfo);this._domNode.setDisplay("none");this._position=new Position(1,1);this._lastRenderedContent="";this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}show(){if(!this._isVisible){this._domNode.setVisibility("inherit");this._isVisible=true}}hide(){if(this._isVisible){this._domNode.setVisibility("hidden");this._isVisible=false}}onConfigurationChanged(e){const options2=this._context.configuration.options;const fontInfo=options2.get(49);this._cursorStyle=options2.get(27);this._lineHeight=options2.get(65);this._typicalHalfwidthCharacterWidth=fontInfo.typicalHalfwidthCharacterWidth;this._lineCursorWidth=Math.min(options2.get(30),this._typicalHalfwidthCharacterWidth);applyFontInfo(this._domNode,fontInfo);return true}onCursorPositionChanged(position,pauseAnimation){if(pauseAnimation){this._domNode.domNode.style.transitionProperty="none"}else{this._domNode.domNode.style.transitionProperty=""}this._position=position;return true}_getGraphemeAwarePosition(){const{lineNumber:lineNumber,column:column}=this._position;const lineContent=this._context.viewModel.getLineContent(lineNumber);const[startOffset,endOffset]=getCharContainingOffset(lineContent,column-1);return[new Position(lineNumber,startOffset+1),lineContent.substring(startOffset,endOffset)]}_prepareRender(ctx){let textContent="";let textContentClassName="";const[position,nextGrapheme]=this._getGraphemeAwarePosition();if(this._cursorStyle===TextEditorCursorStyle.Line||this._cursorStyle===TextEditorCursorStyle.LineThin){const visibleRange=ctx.visibleRangeForPosition(position);if(!visibleRange||visibleRange.outsideRenderedLine){return null}let width2;if(this._cursorStyle===TextEditorCursorStyle.Line){width2=computeScreenAwareSize(this._lineCursorWidth>0?this._lineCursorWidth:2);if(width2>2){textContent=nextGrapheme;textContentClassName=this._getTokenClassName(position)}}else{width2=computeScreenAwareSize(1)}let left=visibleRange.left;let paddingLeft=0;if(width2>=2&&left>=1){paddingLeft=1;left-=paddingLeft}const top2=ctx.getVerticalOffsetForLineNumber(position.lineNumber)-ctx.bigNumbersDelta;return new ViewCursorRenderData(top2,left,paddingLeft,width2,this._lineHeight,textContent,textContentClassName)}const visibleRangeForCharacter=ctx.linesVisibleRangesForRange(new Range(position.lineNumber,position.column,position.lineNumber,position.column+nextGrapheme.length),false);if(!visibleRangeForCharacter||visibleRangeForCharacter.length===0){return null}const firstVisibleRangeForCharacter=visibleRangeForCharacter[0];if(firstVisibleRangeForCharacter.outsideRenderedLine||firstVisibleRangeForCharacter.ranges.length===0){return null}const range2=firstVisibleRangeForCharacter.ranges[0];const width=nextGrapheme==="\t"?this._typicalHalfwidthCharacterWidth:range2.width<1?this._typicalHalfwidthCharacterWidth:range2.width;if(this._cursorStyle===TextEditorCursorStyle.Block){textContent=nextGrapheme;textContentClassName=this._getTokenClassName(position)}let top=ctx.getVerticalOffsetForLineNumber(position.lineNumber)-ctx.bigNumbersDelta;let height=this._lineHeight;if(this._cursorStyle===TextEditorCursorStyle.Underline||this._cursorStyle===TextEditorCursorStyle.UnderlineThin){top+=this._lineHeight-2;height=2}return new ViewCursorRenderData(top,range2.left,0,width,height,textContent,textContentClassName)}_getTokenClassName(position){const lineData=this._context.viewModel.getViewLineData(position.lineNumber);const tokenIndex=lineData.tokens.findTokenIndexAtOffset(position.column-1);return lineData.tokens.getClassName(tokenIndex)}prepareRender(ctx){this._renderData=this._prepareRender(ctx)}render(ctx){if(!this._renderData){this._domNode.setDisplay("none");return null}if(this._lastRenderedContent!==this._renderData.textContent){this._lastRenderedContent=this._renderData.textContent;this._domNode.domNode.textContent=this._lastRenderedContent}this._domNode.setClassName(`cursor ${MOUSE_CURSOR_TEXT_CSS_CLASS_NAME} ${this._renderData.textContentClassName}`);this._domNode.setDisplay("block");this._domNode.setTop(this._renderData.top);this._domNode.setLeft(this._renderData.left);this._domNode.setPaddingLeft(this._renderData.paddingLeft);this._domNode.setWidth(this._renderData.width);this._domNode.setLineHeight(this._renderData.height);this._domNode.setHeight(this._renderData.height);return{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._renderData.height,width:2}}}}});var ViewCursors;var init_viewCursors=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/viewCursors/viewCursors.js"(){init_21();init_fastDomNode();init_async();init_viewPart();init_viewCursor();init_editorOptions();init_editorColorRegistry();init_themeService();init_theme();ViewCursors=class extends ViewPart{constructor(context){super(context);const options2=this._context.configuration.options;this._readOnly=options2.get(89);this._cursorBlinking=options2.get(25);this._cursorStyle=options2.get(27);this._cursorSmoothCaretAnimation=options2.get(26);this._selectionIsEmpty=true;this._isComposingInput=false;this._isVisible=false;this._primaryCursor=new ViewCursor(this._context);this._secondaryCursors=[];this._renderData=[];this._domNode=createFastDomNode(document.createElement("div"));this._domNode.setAttribute("role","presentation");this._domNode.setAttribute("aria-hidden","true");this._updateDomClassName();this._domNode.appendChild(this._primaryCursor.getDomNode());this._startCursorBlinkAnimation=new TimeoutTimer;this._cursorFlatBlinkInterval=new IntervalTimer;this._blinkingEnabled=false;this._editorHasFocus=false;this._updateBlinking()}dispose(){super.dispose();this._startCursorBlinkAnimation.dispose();this._cursorFlatBlinkInterval.dispose()}getDomNode(){return this._domNode}onCompositionStart(e){this._isComposingInput=true;this._updateBlinking();return true}onCompositionEnd(e){this._isComposingInput=false;this._updateBlinking();return true}onConfigurationChanged(e){const options2=this._context.configuration.options;this._readOnly=options2.get(89);this._cursorBlinking=options2.get(25);this._cursorStyle=options2.get(27);this._cursorSmoothCaretAnimation=options2.get(26);this._updateBlinking();this._updateDomClassName();this._primaryCursor.onConfigurationChanged(e);for(let i=0,len=this._secondaryCursors.length;i<len;i++){this._secondaryCursors[i].onConfigurationChanged(e)}return true}_onCursorPositionChanged(position,secondaryPositions,reason){const pauseAnimation=this._secondaryCursors.length!==secondaryPositions.length||this._cursorSmoothCaretAnimation==="explicit"&&reason!==3;this._primaryCursor.onCursorPositionChanged(position,pauseAnimation);this._updateBlinking();if(this._secondaryCursors.length<secondaryPositions.length){const addCnt=secondaryPositions.length-this._secondaryCursors.length;for(let i=0;i<addCnt;i++){const newCursor=new ViewCursor(this._context);this._domNode.domNode.insertBefore(newCursor.getDomNode().domNode,this._primaryCursor.getDomNode().domNode.nextSibling);this._secondaryCursors.push(newCursor)}}else if(this._secondaryCursors.length>secondaryPositions.length){const removeCnt=this._secondaryCursors.length-secondaryPositions.length;for(let i=0;i<removeCnt;i++){this._domNode.removeChild(this._secondaryCursors[0].getDomNode());this._secondaryCursors.splice(0,1)}}for(let i=0;i<secondaryPositions.length;i++){this._secondaryCursors[i].onCursorPositionChanged(secondaryPositions[i],pauseAnimation)}}onCursorStateChanged(e){const positions=[];for(let i=0,len=e.selections.length;i<len;i++){positions[i]=e.selections[i].getPosition()}this._onCursorPositionChanged(positions[0],positions.slice(1),e.reason);const selectionIsEmpty=e.selections[0].isEmpty();if(this._selectionIsEmpty!==selectionIsEmpty){this._selectionIsEmpty=selectionIsEmpty;this._updateDomClassName()}return true}onDecorationsChanged(e){return true}onFlushed(e){return true}onFocusChanged(e){this._editorHasFocus=e.isFocused;this._updateBlinking();return false}onLinesChanged(e){return true}onLinesDeleted(e){return true}onLinesInserted(e){return true}onScrollChanged(e){return true}onTokensChanged(e){const shouldRender=position=>{for(let i=0,len=e.ranges.length;i<len;i++){if(e.ranges[i].fromLineNumber<=position.lineNumber&&position.lineNumber<=e.ranges[i].toLineNumber){return true}}return false};if(shouldRender(this._primaryCursor.getPosition())){return true}for(const secondaryCursor of this._secondaryCursors){if(shouldRender(secondaryCursor.getPosition())){return true}}return false}onZonesChanged(e){return true}_getCursorBlinking(){if(this._isComposingInput){return 0}if(!this._editorHasFocus){return 0}if(this._readOnly){return 5}return this._cursorBlinking}_updateBlinking(){this._startCursorBlinkAnimation.cancel();this._cursorFlatBlinkInterval.cancel();const blinkingStyle=this._getCursorBlinking();const isHidden=blinkingStyle===0;const isSolid=blinkingStyle===5;if(isHidden){this._hide()}else{this._show()}this._blinkingEnabled=false;this._updateDomClassName();if(!isHidden&&!isSolid){if(blinkingStyle===1){this._cursorFlatBlinkInterval.cancelAndSet((()=>{if(this._isVisible){this._hide()}else{this._show()}}),ViewCursors.BLINK_INTERVAL)}else{this._startCursorBlinkAnimation.setIfNotSet((()=>{this._blinkingEnabled=true;this._updateDomClassName()}),ViewCursors.BLINK_INTERVAL)}}}_updateDomClassName(){this._domNode.setClassName(this._getClassName())}_getClassName(){let result="cursors-layer";if(!this._selectionIsEmpty){result+=" has-selection"}switch(this._cursorStyle){case TextEditorCursorStyle.Line:result+=" cursor-line-style";break;case TextEditorCursorStyle.Block:result+=" cursor-block-style";break;case TextEditorCursorStyle.Underline:result+=" cursor-underline-style";break;case TextEditorCursorStyle.LineThin:result+=" cursor-line-thin-style";break;case TextEditorCursorStyle.BlockOutline:result+=" cursor-block-outline-style";break;case TextEditorCursorStyle.UnderlineThin:result+=" cursor-underline-thin-style";break;default:result+=" cursor-line-style"}if(this._blinkingEnabled){switch(this._getCursorBlinking()){case 1:result+=" cursor-blink";break;case 2:result+=" cursor-smooth";break;case 3:result+=" cursor-phase";break;case 4:result+=" cursor-expand";break;case 5:result+=" cursor-solid";break;default:result+=" cursor-solid"}}else{result+=" cursor-solid"}if(this._cursorSmoothCaretAnimation==="on"||this._cursorSmoothCaretAnimation==="explicit"){result+=" cursor-smooth-caret-animation"}return result}_show(){this._primaryCursor.show();for(let i=0,len=this._secondaryCursors.length;i<len;i++){this._secondaryCursors[i].show()}this._isVisible=true}_hide(){this._primaryCursor.hide();for(let i=0,len=this._secondaryCursors.length;i<len;i++){this._secondaryCursors[i].hide()}this._isVisible=false}prepareRender(ctx){this._primaryCursor.prepareRender(ctx);for(let i=0,len=this._secondaryCursors.length;i<len;i++){this._secondaryCursors[i].prepareRender(ctx)}}render(ctx){const renderData=[];let renderDataLen=0;const primaryRenderData=this._primaryCursor.render(ctx);if(primaryRenderData){renderData[renderDataLen++]=primaryRenderData}for(let i=0,len=this._secondaryCursors.length;i<len;i++){const secondaryRenderData=this._secondaryCursors[i].render(ctx);if(secondaryRenderData){renderData[renderDataLen++]=secondaryRenderData}}this._renderData=renderData}getLastRenderData(){return this._renderData}};ViewCursors.BLINK_INTERVAL=500;registerThemingParticipant(((theme,collector)=>{const caret=theme.getColor(editorCursorForeground);if(caret){let caretBackground=theme.getColor(editorCursorBackground);if(!caretBackground){caretBackground=caret.opposite()}collector.addRule(`.monaco-editor .cursors-layer .cursor { background-color: ${caret}; border-color: ${caret}; color: ${caretBackground}; }`);if(isHighContrast(theme.type)){collector.addRule(`.monaco-editor .cursors-layer.has-selection .cursor { border-left: 1px solid ${caretBackground}; border-right: 1px solid ${caretBackground}; }`)}}}))}});function safeInvoke1Arg(func,arg1){try{return func(arg1)}catch(e){onUnexpectedError(e)}}var invalidFunc,ViewZones;var init_viewZones=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/viewZones/viewZones.js"(){init_fastDomNode();init_errors();init_viewPart();init_position();invalidFunc=()=>{throw new Error(`Invalid change accessor`)};ViewZones=class extends ViewPart{constructor(context){super(context);const options2=this._context.configuration.options;const layoutInfo=options2.get(142);this._lineHeight=options2.get(65);this._contentWidth=layoutInfo.contentWidth;this._contentLeft=layoutInfo.contentLeft;this.domNode=createFastDomNode(document.createElement("div"));this.domNode.setClassName("view-zones");this.domNode.setPosition("absolute");this.domNode.setAttribute("role","presentation");this.domNode.setAttribute("aria-hidden","true");this.marginDomNode=createFastDomNode(document.createElement("div"));this.marginDomNode.setClassName("margin-view-zones");this.marginDomNode.setPosition("absolute");this.marginDomNode.setAttribute("role","presentation");this.marginDomNode.setAttribute("aria-hidden","true");this._zones={}}dispose(){super.dispose();this._zones={}}_recomputeWhitespacesProps(){const whitespaces=this._context.viewLayout.getWhitespaces();const oldWhitespaces=new Map;for(const whitespace of whitespaces){oldWhitespaces.set(whitespace.id,whitespace)}let hadAChange=false;this._context.viewModel.changeWhitespace((whitespaceAccessor=>{const keys=Object.keys(this._zones);for(let i=0,len=keys.length;i<len;i++){const id=keys[i];const zone=this._zones[id];const props=this._computeWhitespaceProps(zone.delegate);zone.isInHiddenArea=props.isInHiddenArea;const oldWhitespace=oldWhitespaces.get(id);if(oldWhitespace&&(oldWhitespace.afterLineNumber!==props.afterViewLineNumber||oldWhitespace.height!==props.heightInPx)){whitespaceAccessor.changeOneWhitespace(id,props.afterViewLineNumber,props.heightInPx);this._safeCallOnComputedHeight(zone.delegate,props.heightInPx);hadAChange=true}}}));return hadAChange}onConfigurationChanged(e){const options2=this._context.configuration.options;const layoutInfo=options2.get(142);this._lineHeight=options2.get(65);this._contentWidth=layoutInfo.contentWidth;this._contentLeft=layoutInfo.contentLeft;if(e.hasChanged(65)){this._recomputeWhitespacesProps()}return true}onLineMappingChanged(e){return this._recomputeWhitespacesProps()}onLinesDeleted(e){return true}onScrollChanged(e){return e.scrollTopChanged||e.scrollWidthChanged}onZonesChanged(e){return true}onLinesInserted(e){return true}_getZoneOrdinal(zone){var _a6,_b3;return(_b3=(_a6=zone.ordinal)!==null&&_a6!==void 0?_a6:zone.afterColumn)!==null&&_b3!==void 0?_b3:1e4}_computeWhitespaceProps(zone){if(zone.afterLineNumber===0){return{isInHiddenArea:false,afterViewLineNumber:0,heightInPx:this._heightInPixels(zone),minWidthInPx:this._minWidthInPixels(zone)}}let zoneAfterModelPosition;if(typeof zone.afterColumn!=="undefined"){zoneAfterModelPosition=this._context.viewModel.model.validatePosition({lineNumber:zone.afterLineNumber,column:zone.afterColumn})}else{const validAfterLineNumber=this._context.viewModel.model.validatePosition({lineNumber:zone.afterLineNumber,column:1}).lineNumber;zoneAfterModelPosition=new Position(validAfterLineNumber,this._context.viewModel.model.getLineMaxColumn(validAfterLineNumber))}let zoneBeforeModelPosition;if(zoneAfterModelPosition.column===this._context.viewModel.model.getLineMaxColumn(zoneAfterModelPosition.lineNumber)){zoneBeforeModelPosition=this._context.viewModel.model.validatePosition({lineNumber:zoneAfterModelPosition.lineNumber+1,column:1})}else{zoneBeforeModelPosition=this._context.viewModel.model.validatePosition({lineNumber:zoneAfterModelPosition.lineNumber,column:zoneAfterModelPosition.column+1})}const viewPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(zoneAfterModelPosition,zone.afterColumnAffinity,true);const isVisible=zone.showInHiddenAreas||this._context.viewModel.coordinatesConverter.modelPositionIsVisible(zoneBeforeModelPosition);return{isInHiddenArea:!isVisible,afterViewLineNumber:viewPosition.lineNumber,heightInPx:isVisible?this._heightInPixels(zone):0,minWidthInPx:this._minWidthInPixels(zone)}}changeViewZones(callback){let zonesHaveChanged=false;this._context.viewModel.changeWhitespace((whitespaceAccessor=>{const changeAccessor={addZone:zone=>{zonesHaveChanged=true;return this._addZone(whitespaceAccessor,zone)},removeZone:id=>{if(!id){return}zonesHaveChanged=this._removeZone(whitespaceAccessor,id)||zonesHaveChanged},layoutZone:id=>{if(!id){return}zonesHaveChanged=this._layoutZone(whitespaceAccessor,id)||zonesHaveChanged}};safeInvoke1Arg(callback,changeAccessor);changeAccessor.addZone=invalidFunc;changeAccessor.removeZone=invalidFunc;changeAccessor.layoutZone=invalidFunc}));return zonesHaveChanged}_addZone(whitespaceAccessor,zone){const props=this._computeWhitespaceProps(zone);const whitespaceId=whitespaceAccessor.insertWhitespace(props.afterViewLineNumber,this._getZoneOrdinal(zone),props.heightInPx,props.minWidthInPx);const myZone={whitespaceId:whitespaceId,delegate:zone,isInHiddenArea:props.isInHiddenArea,isVisible:false,domNode:createFastDomNode(zone.domNode),marginDomNode:zone.marginDomNode?createFastDomNode(zone.marginDomNode):null};this._safeCallOnComputedHeight(myZone.delegate,props.heightInPx);myZone.domNode.setPosition("absolute");myZone.domNode.domNode.style.width="100%";myZone.domNode.setDisplay("none");myZone.domNode.setAttribute("monaco-view-zone",myZone.whitespaceId);this.domNode.appendChild(myZone.domNode);if(myZone.marginDomNode){myZone.marginDomNode.setPosition("absolute");myZone.marginDomNode.domNode.style.width="100%";myZone.marginDomNode.setDisplay("none");myZone.marginDomNode.setAttribute("monaco-view-zone",myZone.whitespaceId);this.marginDomNode.appendChild(myZone.marginDomNode)}this._zones[myZone.whitespaceId]=myZone;this.setShouldRender();return myZone.whitespaceId}_removeZone(whitespaceAccessor,id){if(this._zones.hasOwnProperty(id)){const zone=this._zones[id];delete this._zones[id];whitespaceAccessor.removeWhitespace(zone.whitespaceId);zone.domNode.removeAttribute("monaco-visible-view-zone");zone.domNode.removeAttribute("monaco-view-zone");zone.domNode.domNode.parentNode.removeChild(zone.domNode.domNode);if(zone.marginDomNode){zone.marginDomNode.removeAttribute("monaco-visible-view-zone");zone.marginDomNode.removeAttribute("monaco-view-zone");zone.marginDomNode.domNode.parentNode.removeChild(zone.marginDomNode.domNode)}this.setShouldRender();return true}return false}_layoutZone(whitespaceAccessor,id){if(this._zones.hasOwnProperty(id)){const zone=this._zones[id];const props=this._computeWhitespaceProps(zone.delegate);zone.isInHiddenArea=props.isInHiddenArea;whitespaceAccessor.changeOneWhitespace(zone.whitespaceId,props.afterViewLineNumber,props.heightInPx);this._safeCallOnComputedHeight(zone.delegate,props.heightInPx);this.setShouldRender();return true}return false}shouldSuppressMouseDownOnViewZone(id){if(this._zones.hasOwnProperty(id)){const zone=this._zones[id];return Boolean(zone.delegate.suppressMouseDown)}return false}_heightInPixels(zone){if(typeof zone.heightInPx==="number"){return zone.heightInPx}if(typeof zone.heightInLines==="number"){return this._lineHeight*zone.heightInLines}return this._lineHeight}_minWidthInPixels(zone){if(typeof zone.minWidthInPx==="number"){return zone.minWidthInPx}return 0}_safeCallOnComputedHeight(zone,height){if(typeof zone.onComputedHeight==="function"){try{zone.onComputedHeight(height)}catch(e){onUnexpectedError(e)}}}_safeCallOnDomNodeTop(zone,top){if(typeof zone.onDomNodeTop==="function"){try{zone.onDomNodeTop(top)}catch(e){onUnexpectedError(e)}}}prepareRender(ctx){}render(ctx){const visibleWhitespaces=ctx.viewportData.whitespaceViewportData;const visibleZones={};let hasVisibleZone=false;for(const visibleWhitespace of visibleWhitespaces){if(this._zones[visibleWhitespace.id].isInHiddenArea){continue}visibleZones[visibleWhitespace.id]=visibleWhitespace;hasVisibleZone=true}const keys=Object.keys(this._zones);for(let i=0,len=keys.length;i<len;i++){const id=keys[i];const zone=this._zones[id];let newTop=0;let newHeight=0;let newDisplay="none";if(visibleZones.hasOwnProperty(id)){newTop=visibleZones[id].verticalOffset-ctx.bigNumbersDelta;newHeight=visibleZones[id].height;newDisplay="block";if(!zone.isVisible){zone.domNode.setAttribute("monaco-visible-view-zone","true");zone.isVisible=true}this._safeCallOnDomNodeTop(zone.delegate,ctx.getScrolledTopFromAbsoluteTop(visibleZones[id].verticalOffset))}else{if(zone.isVisible){zone.domNode.removeAttribute("monaco-visible-view-zone");zone.isVisible=false}this._safeCallOnDomNodeTop(zone.delegate,ctx.getScrolledTopFromAbsoluteTop(-1e6))}zone.domNode.setTop(newTop);zone.domNode.setHeight(newHeight);zone.domNode.setDisplay(newDisplay);if(zone.marginDomNode){zone.marginDomNode.setTop(newTop);zone.marginDomNode.setHeight(newHeight);zone.marginDomNode.setDisplay(newDisplay)}}if(hasVisibleZone){this.domNode.setWidth(Math.max(ctx.scrollWidth,this._contentWidth));this.marginDomNode.setWidth(this._contentLeft)}}}}});var EditorTheme;var init_editorTheme=__esm({"node_modules/monaco-editor/esm/vs/editor/common/editorTheme.js"(){EditorTheme=class{get type(){return this._theme.type}get value(){return this._theme}constructor(theme){this._theme=theme}update(theme){this._theme=theme}getColor(color){return this._theme.getColor(color)}}}});var ViewContext;var init_viewContext=__esm({"node_modules/monaco-editor/esm/vs/editor/common/viewModel/viewContext.js"(){init_editorTheme();ViewContext=class{constructor(configuration,theme,model){this.configuration=configuration;this.theme=new EditorTheme(theme);this.viewModel=model;this.viewLayout=model.viewLayout}addEventHandler(eventHandler){this.viewModel.addViewEventHandler(eventHandler)}removeEventHandler(eventHandler){this.viewModel.removeViewEventHandler(eventHandler)}}}});var ViewportData;var init_viewLinesViewportData=__esm({"node_modules/monaco-editor/esm/vs/editor/common/viewLayout/viewLinesViewportData.js"(){init_range();ViewportData=class{constructor(selections,partialData,whitespaceViewportData,model){this.selections=selections;this.startLineNumber=partialData.startLineNumber|0;this.endLineNumber=partialData.endLineNumber|0;this.relativeVerticalOffset=partialData.relativeVerticalOffset;this.bigNumbersDelta=partialData.bigNumbersDelta|0;this.whitespaceViewportData=whitespaceViewportData;this._model=model;this.visibleRange=new Range(partialData.startLineNumber,this._model.getLineMinColumn(partialData.startLineNumber),partialData.endLineNumber,this._model.getLineMaxColumn(partialData.endLineNumber))}getViewLineRenderingData(lineNumber){return this._model.getViewportViewLineRenderingData(this.visibleRange,lineNumber)}getDecorationsInViewport(){return this._model.getDecorationsInViewport(this.visibleRange)}}}});var init_22=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/blockDecorations/blockDecorations.css"(){}});var BlockDecorations;var init_blockDecorations=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/blockDecorations/blockDecorations.js"(){init_fastDomNode();init_22();init_viewPart();BlockDecorations=class extends ViewPart{constructor(context){super(context);this.blocks=[];this.contentWidth=-1;this.contentLeft=0;this.domNode=createFastDomNode(document.createElement("div"));this.domNode.setAttribute("role","presentation");this.domNode.setAttribute("aria-hidden","true");this.domNode.setClassName("blockDecorations-container");this.update()}update(){let didChange=false;const options2=this._context.configuration.options;const layoutInfo=options2.get(142);const newContentWidth=layoutInfo.contentWidth-layoutInfo.verticalScrollbarWidth;if(this.contentWidth!==newContentWidth){this.contentWidth=newContentWidth;didChange=true}const newContentLeft=layoutInfo.contentLeft;if(this.contentLeft!==newContentLeft){this.contentLeft=newContentLeft;didChange=true}return didChange}dispose(){super.dispose()}onConfigurationChanged(e){return this.update()}onScrollChanged(e){return e.scrollTopChanged||e.scrollLeftChanged}onDecorationsChanged(e){return true}onZonesChanged(e){return true}prepareRender(ctx){}render(ctx){var _a6;let count=0;const decorations=ctx.getDecorationsInViewport();for(const decoration2 of decorations){if(!decoration2.options.blockClassName){continue}let block=this.blocks[count];if(!block){block=this.blocks[count]=createFastDomNode(document.createElement("div"));this.domNode.appendChild(block)}let top;let bottom;if(decoration2.options.blockIsAfterEnd){top=ctx.getVerticalOffsetAfterLineNumber(decoration2.range.endLineNumber,false);bottom=ctx.getVerticalOffsetAfterLineNumber(decoration2.range.endLineNumber,true)}else{top=ctx.getVerticalOffsetForLineNumber(decoration2.range.startLineNumber,true);bottom=decoration2.range.isEmpty()&&!decoration2.options.blockDoesNotCollapse?ctx.getVerticalOffsetForLineNumber(decoration2.range.startLineNumber,false):ctx.getVerticalOffsetAfterLineNumber(decoration2.range.endLineNumber,true)}const[paddingTop,paddingRight,paddingBottom,paddingLeft]=(_a6=decoration2.options.blockPadding)!==null&&_a6!==void 0?_a6:[0,0,0,0];block.setClassName("blockDecorations-block "+decoration2.options.blockClassName);block.setLeft(this.contentLeft-paddingLeft);block.setWidth(this.contentWidth+paddingLeft+paddingRight);block.setTop(top-ctx.scrollTop-paddingTop);block.setHeight(bottom-top+paddingTop+paddingBottom);count++}for(let i=count;i<this.blocks.length;i++){this.blocks[i].domNode.remove()}this.blocks.length=count}}}});var init_23=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/whitespace/whitespace.css"(){}});var WhitespaceOverlay,WhitespaceOptions;var init_whitespace=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/viewParts/whitespace/whitespace.js"(){init_23();init_dynamicViewOverlay();init_strings();init_viewLineRenderer();init_position();init_editorColorRegistry();WhitespaceOverlay=class extends DynamicViewOverlay{constructor(context){super();this._context=context;this._options=new WhitespaceOptions(this._context.configuration);this._selection=[];this._renderResult=null;this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this);this._renderResult=null;super.dispose()}onConfigurationChanged(e){const newOptions=new WhitespaceOptions(this._context.configuration);if(this._options.equals(newOptions)){return e.hasChanged(142)}this._options=newOptions;return true}onCursorStateChanged(e){this._selection=e.selections;if(this._options.renderWhitespace==="selection"){return true}return false}onDecorationsChanged(e){return true}onFlushed(e){return true}onLinesChanged(e){return true}onLinesDeleted(e){return true}onLinesInserted(e){return true}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return true}prepareRender(ctx){if(this._options.renderWhitespace==="none"){this._renderResult=null;return}const startLineNumber=ctx.visibleRange.startLineNumber;const endLineNumber=ctx.visibleRange.endLineNumber;const lineCount=endLineNumber-startLineNumber+1;const needed=new Array(lineCount);for(let i=0;i<lineCount;i++){needed[i]=true}const viewportData=this._context.viewModel.getMinimapLinesRenderingData(ctx.viewportData.startLineNumber,ctx.viewportData.endLineNumber,needed);this._renderResult=[];for(let lineNumber=ctx.viewportData.startLineNumber;lineNumber<=ctx.viewportData.endLineNumber;lineNumber++){const lineIndex=lineNumber-ctx.viewportData.startLineNumber;const lineData=viewportData.data[lineIndex];let selectionsOnLine=null;if(this._options.renderWhitespace==="selection"){const selections=this._selection;for(const selection of selections){if(selection.endLineNumber<lineNumber||selection.startLineNumber>lineNumber){continue}const startColumn=selection.startLineNumber===lineNumber?selection.startColumn:lineData.minColumn;const endColumn=selection.endLineNumber===lineNumber?selection.endColumn:lineData.maxColumn;if(startColumn<endColumn){if(!selectionsOnLine){selectionsOnLine=[]}selectionsOnLine.push(new LineRange2(startColumn-1,endColumn-1))}}}this._renderResult[lineIndex]=this._applyRenderWhitespace(ctx,lineNumber,selectionsOnLine,lineData)}}_applyRenderWhitespace(ctx,lineNumber,selections,lineData){if(this._options.renderWhitespace==="selection"&&!selections){return""}if(this._options.renderWhitespace==="trailing"&&lineData.continuesWithWrappedLine){return""}const color=this._context.theme.getColor(editorWhitespaces);const USE_SVG=this._options.renderWithSVG;const lineContent=lineData.content;const len=this._options.stopRenderingLineAfter===-1?lineContent.length:Math.min(this._options.stopRenderingLineAfter,lineContent.length);const continuesWithWrappedLine=lineData.continuesWithWrappedLine;const fauxIndentLength=lineData.minColumn-1;const onlyBoundary=this._options.renderWhitespace==="boundary";const onlyTrailing=this._options.renderWhitespace==="trailing";const lineHeight=this._options.lineHeight;const middotWidth=this._options.middotWidth;const wsmiddotWidth=this._options.wsmiddotWidth;const spaceWidth=this._options.spaceWidth;const wsmiddotDiff=Math.abs(wsmiddotWidth-spaceWidth);const middotDiff=Math.abs(middotWidth-spaceWidth);const renderSpaceCharCode=wsmiddotDiff<middotDiff?11825:183;const canUseHalfwidthRightwardsArrow=this._options.canUseHalfwidthRightwardsArrow;let result="";let lineIsEmptyOrWhitespace=false;let firstNonWhitespaceIndex2=firstNonWhitespaceIndex(lineContent);let lastNonWhitespaceIndex2;if(firstNonWhitespaceIndex2===-1){lineIsEmptyOrWhitespace=true;firstNonWhitespaceIndex2=len;lastNonWhitespaceIndex2=len}else{lastNonWhitespaceIndex2=lastNonWhitespaceIndex(lineContent)}let currentSelectionIndex=0;let currentSelection=selections&&selections[currentSelectionIndex];let maxLeft=0;for(let charIndex=fauxIndentLength;charIndex<len;charIndex++){const chCode=lineContent.charCodeAt(charIndex);if(currentSelection&&charIndex>=currentSelection.endOffset){currentSelectionIndex++;currentSelection=selections&&selections[currentSelectionIndex]}if(chCode!==9&&chCode!==32){continue}if(onlyTrailing&&!lineIsEmptyOrWhitespace&&charIndex<=lastNonWhitespaceIndex2){continue}if(onlyBoundary&&charIndex>=firstNonWhitespaceIndex2&&charIndex<=lastNonWhitespaceIndex2&&chCode===32){const prevChCode=charIndex-1>=0?lineContent.charCodeAt(charIndex-1):0;const nextChCode=charIndex+1<len?lineContent.charCodeAt(charIndex+1):0;if(prevChCode!==32&&nextChCode!==32){continue}}if(onlyBoundary&&continuesWithWrappedLine&&charIndex===len-1){const prevCharCode=charIndex-1>=0?lineContent.charCodeAt(charIndex-1):0;const isSingleTrailingSpace=chCode===32&&(prevCharCode!==32&&prevCharCode!==9);if(isSingleTrailingSpace){continue}}if(selections&&(!currentSelection||currentSelection.startOffset>charIndex||currentSelection.endOffset<=charIndex)){continue}const visibleRange=ctx.visibleRangeForPosition(new Position(lineNumber,charIndex+1));if(!visibleRange){continue}if(USE_SVG){maxLeft=Math.max(maxLeft,visibleRange.left);if(chCode===9){result+=this._renderArrow(lineHeight,spaceWidth,visibleRange.left)}else{result+=`<circle cx="${(visibleRange.left+spaceWidth/2).toFixed(2)}" cy="${(lineHeight/2).toFixed(2)}" r="${(spaceWidth/7).toFixed(2)}" />`}}else{if(chCode===9){result+=`<div class="mwh" style="left:${visibleRange.left}px;height:${lineHeight}px;">${canUseHalfwidthRightwardsArrow?String.fromCharCode(65515):String.fromCharCode(8594)}</div>`}else{result+=`<div class="mwh" style="left:${visibleRange.left}px;height:${lineHeight}px;">${String.fromCharCode(renderSpaceCharCode)}</div>`}}}if(USE_SVG){maxLeft=Math.round(maxLeft+spaceWidth);return`<svg style="position:absolute;width:${maxLeft}px;height:${lineHeight}px" viewBox="0 0 ${maxLeft} ${lineHeight}" xmlns="http://www.w3.org/2000/svg" fill="${color}">`+result+`</svg>`}return result}_renderArrow(lineHeight,spaceWidth,left){const strokeWidth=spaceWidth/7;const width=spaceWidth;const dy=lineHeight/2;const dx=left;const p1={x:0,y:strokeWidth/2};const p2={x:100/125*width,y:p1.y};const p3={x:p2.x-.2*p2.x,y:p2.y+.2*p2.x};const p4={x:p3.x+.1*p2.x,y:p3.y+.1*p2.x};const p5={x:p4.x+.35*p2.x,y:p4.y-.35*p2.x};const p6={x:p5.x,y:-p5.y};const p7={x:p4.x,y:-p4.y};const p8={x:p3.x,y:-p3.y};const p9={x:p2.x,y:-p2.y};const p10={x:p1.x,y:-p1.y};const p=[p1,p2,p3,p4,p5,p6,p7,p8,p9,p10];const parts=p.map((p11=>`${(dx+p11.x).toFixed(2)} ${(dy+p11.y).toFixed(2)}`)).join(" L ");return`<path d="M ${parts}" />`}render(startLineNumber,lineNumber){if(!this._renderResult){return""}const lineIndex=lineNumber-startLineNumber;if(lineIndex<0||lineIndex>=this._renderResult.length){return""}return this._renderResult[lineIndex]}};WhitespaceOptions=class{constructor(config){const options2=config.options;const fontInfo=options2.get(49);const experimentalWhitespaceRendering=options2.get(37);if(experimentalWhitespaceRendering==="off"){this.renderWhitespace="none";this.renderWithSVG=false}else if(experimentalWhitespaceRendering==="svg"){this.renderWhitespace=options2.get(97);this.renderWithSVG=true}else{this.renderWhitespace=options2.get(97);this.renderWithSVG=false}this.spaceWidth=fontInfo.spaceWidth;this.middotWidth=fontInfo.middotWidth;this.wsmiddotWidth=fontInfo.wsmiddotWidth;this.canUseHalfwidthRightwardsArrow=fontInfo.canUseHalfwidthRightwardsArrow;this.lineHeight=options2.get(65);this.stopRenderingLineAfter=options2.get(115)}equals(other){return this.renderWhitespace===other.renderWhitespace&&this.renderWithSVG===other.renderWithSVG&&this.spaceWidth===other.spaceWidth&&this.middotWidth===other.middotWidth&&this.wsmiddotWidth===other.wsmiddotWidth&&this.canUseHalfwidthRightwardsArrow===other.canUseHalfwidthRightwardsArrow&&this.lineHeight===other.lineHeight&&this.stopRenderingLineAfter===other.stopRenderingLineAfter}}}});function safeInvokeNoArg(func){try{return func()}catch(e){onUnexpectedError(e)}}var __decorate11,__param10,View;var init_view=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/view.js"(){init_dom();init_selection();init_range();init_fastDomNode();init_errors();init_pointerHandler();init_textAreaHandler();init_viewController();init_viewUserInputEvents();init_viewOverlays();init_viewPart();init_contentWidgets();init_currentLineHighlight();init_decorations();init_editorScrollbar();init_indentGuides();init_lineNumbers();init_viewLines();init_linesDecorations();init_margin();init_marginDecorations();init_minimap();init_overlayWidgets();init_decorationsOverviewRuler();init_overviewRuler();init_rulers();init_scrollDecoration();init_selections();init_viewCursors();init_viewZones();init_position();init_renderingContext();init_viewContext();init_viewLinesViewportData();init_viewEventHandler();init_themeService();init_mouseTarget();init_blockDecorations();init_performance();init_whitespace();init_glyphMargin();init_model();init_instantiation();__decorate11=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param10=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};View=class View2 extends ViewEventHandler{constructor(commandDelegate,configuration,colorTheme,model,userInputEvents,overflowWidgetsDomNode,_instantiationService){super();this._instantiationService=_instantiationService;this._shouldRecomputeGlyphMarginLanes=false;this._selections=[new Selection(1,1,1,1)];this._renderAnimationFrame=null;const viewController=new ViewController(configuration,model,userInputEvents,commandDelegate);this._context=new ViewContext(configuration,colorTheme,model);this._context.addEventHandler(this);this._viewParts=[];this._textAreaHandler=this._instantiationService.createInstance(TextAreaHandler,this._context,viewController,this._createTextAreaHandlerHelper());this._viewParts.push(this._textAreaHandler);this._linesContent=createFastDomNode(document.createElement("div"));this._linesContent.setClassName("lines-content monaco-editor-background");this._linesContent.setPosition("absolute");this.domNode=createFastDomNode(document.createElement("div"));this.domNode.setClassName(this._getEditorClassName());this.domNode.setAttribute("role","code");this._overflowGuardContainer=createFastDomNode(document.createElement("div"));PartFingerprints.write(this._overflowGuardContainer,3);this._overflowGuardContainer.setClassName("overflow-guard");this._scrollbar=new EditorScrollbar2(this._context,this._linesContent,this.domNode,this._overflowGuardContainer);this._viewParts.push(this._scrollbar);this._viewLines=new ViewLines(this._context,this._linesContent);this._viewZones=new ViewZones(this._context);this._viewParts.push(this._viewZones);const decorationsOverviewRuler=new DecorationsOverviewRuler(this._context);this._viewParts.push(decorationsOverviewRuler);const scrollDecoration=new ScrollDecorationViewPart(this._context);this._viewParts.push(scrollDecoration);const contentViewOverlays=new ContentViewOverlays(this._context);this._viewParts.push(contentViewOverlays);contentViewOverlays.addDynamicOverlay(new CurrentLineHighlightOverlay(this._context));contentViewOverlays.addDynamicOverlay(new SelectionsOverlay(this._context));contentViewOverlays.addDynamicOverlay(new IndentGuidesOverlay(this._context));contentViewOverlays.addDynamicOverlay(new DecorationsOverlay(this._context));contentViewOverlays.addDynamicOverlay(new WhitespaceOverlay(this._context));const marginViewOverlays=new MarginViewOverlays(this._context);this._viewParts.push(marginViewOverlays);marginViewOverlays.addDynamicOverlay(new CurrentLineMarginHighlightOverlay(this._context));marginViewOverlays.addDynamicOverlay(new MarginViewLineDecorationsOverlay(this._context));marginViewOverlays.addDynamicOverlay(new LinesDecorationsOverlay(this._context));marginViewOverlays.addDynamicOverlay(new LineNumbersOverlay(this._context));this._glyphMarginWidgets=new GlyphMarginWidgets(this._context);this._viewParts.push(this._glyphMarginWidgets);const margin=new Margin(this._context);margin.getDomNode().appendChild(this._viewZones.marginDomNode);margin.getDomNode().appendChild(marginViewOverlays.getDomNode());margin.getDomNode().appendChild(this._glyphMarginWidgets.domNode);this._viewParts.push(margin);this._contentWidgets=new ViewContentWidgets(this._context,this.domNode);this._viewParts.push(this._contentWidgets);this._viewCursors=new ViewCursors(this._context);this._viewParts.push(this._viewCursors);this._overlayWidgets=new ViewOverlayWidgets(this._context);this._viewParts.push(this._overlayWidgets);const rulers=new Rulers(this._context);this._viewParts.push(rulers);const blockOutline=new BlockDecorations(this._context);this._viewParts.push(blockOutline);const minimap=new Minimap(this._context);this._viewParts.push(minimap);if(decorationsOverviewRuler){const overviewRulerData=this._scrollbar.getOverviewRulerLayoutInfo();overviewRulerData.parent.insertBefore(decorationsOverviewRuler.getDomNode(),overviewRulerData.insertBefore)}this._linesContent.appendChild(contentViewOverlays.getDomNode());this._linesContent.appendChild(rulers.domNode);this._linesContent.appendChild(this._viewZones.domNode);this._linesContent.appendChild(this._viewLines.getDomNode());this._linesContent.appendChild(this._contentWidgets.domNode);this._linesContent.appendChild(this._viewCursors.getDomNode());this._overflowGuardContainer.appendChild(margin.getDomNode());this._overflowGuardContainer.appendChild(this._scrollbar.getDomNode());this._overflowGuardContainer.appendChild(scrollDecoration.getDomNode());this._overflowGuardContainer.appendChild(this._textAreaHandler.textArea);this._overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover);this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode());this._overflowGuardContainer.appendChild(minimap.getDomNode());this._overflowGuardContainer.appendChild(blockOutline.domNode);this.domNode.appendChild(this._overflowGuardContainer);if(overflowWidgetsDomNode){overflowWidgetsDomNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode.domNode)}else{this.domNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode)}this._applyLayout();this._pointerHandler=this._register(new PointerHandler(this._context,viewController,this._createPointerHandlerHelper()))}_flushAccumulatedAndRenderNow(){if(this._shouldRecomputeGlyphMarginLanes){this._shouldRecomputeGlyphMarginLanes=false;this._context.configuration.setGlyphMarginDecorationLaneCount(this._computeGlyphMarginLaneCount())}inputLatency.onRenderStart();this._renderNow()}_computeGlyphMarginLaneCount(){const model=this._context.viewModel.model;let glyphs=[];glyphs=glyphs.concat(model.getAllMarginDecorations().map((decoration2=>{var _a6,_b3;const lane=(_b3=(_a6=decoration2.options.glyphMargin)===null||_a6===void 0?void 0:_a6.position)!==null&&_b3!==void 0?_b3:GlyphMarginLane2.Left;return{range:decoration2.range,lane:lane}})));glyphs=glyphs.concat(this._glyphMarginWidgets.getWidgets().map((widget=>{const range2=model.validateRange(widget.preference.range);return{range:range2,lane:widget.preference.lane}})));glyphs.sort(((a,b)=>Range.compareRangesUsingStarts(a.range,b.range)));let leftDecRange=null;let rightDecRange=null;for(const decoration2 of glyphs){if(decoration2.lane===GlyphMarginLane2.Left&&(!leftDecRange||Range.compareRangesUsingEnds(leftDecRange,decoration2.range)<0)){leftDecRange=decoration2.range}if(decoration2.lane===GlyphMarginLane2.Right&&(!rightDecRange||Range.compareRangesUsingEnds(rightDecRange,decoration2.range)<0)){rightDecRange=decoration2.range}if(leftDecRange&&rightDecRange){if(leftDecRange.endLineNumber<rightDecRange.startLineNumber){leftDecRange=null;continue}if(rightDecRange.endLineNumber<leftDecRange.startLineNumber){rightDecRange=null;continue}return 2}}return 1}_createPointerHandlerHelper(){return{viewDomNode:this.domNode.domNode,linesContentDomNode:this._linesContent.domNode,viewLinesDomNode:this._viewLines.getDomNode().domNode,focusTextArea:()=>{this.focus()},dispatchTextAreaEvent:event=>{this._textAreaHandler.textArea.domNode.dispatchEvent(event)},getLastRenderData:()=>{const lastViewCursorsRenderData=this._viewCursors.getLastRenderData()||[];const lastTextareaPosition=this._textAreaHandler.getLastRenderData();return new PointerHandlerLastRenderData(lastViewCursorsRenderData,lastTextareaPosition)},renderNow:()=>{this.render(true,false)},shouldSuppressMouseDownOnViewZone:viewZoneId=>this._viewZones.shouldSuppressMouseDownOnViewZone(viewZoneId),shouldSuppressMouseDownOnWidget:widgetId=>this._contentWidgets.shouldSuppressMouseDownOnWidget(widgetId),getPositionFromDOMInfo:(spanNode,offset)=>{this._flushAccumulatedAndRenderNow();return this._viewLines.getPositionFromDOMInfo(spanNode,offset)},visibleRangeForPosition:(lineNumber,column)=>{this._flushAccumulatedAndRenderNow();return this._viewLines.visibleRangeForPosition(new Position(lineNumber,column))},getLineWidth:lineNumber=>{this._flushAccumulatedAndRenderNow();return this._viewLines.getLineWidth(lineNumber)}}}_createTextAreaHandlerHelper(){return{visibleRangeForPosition:position=>{this._flushAccumulatedAndRenderNow();return this._viewLines.visibleRangeForPosition(position)}}}_applyLayout(){const options2=this._context.configuration.options;const layoutInfo=options2.get(142);this.domNode.setWidth(layoutInfo.width);this.domNode.setHeight(layoutInfo.height);this._overflowGuardContainer.setWidth(layoutInfo.width);this._overflowGuardContainer.setHeight(layoutInfo.height);this._linesContent.setWidth(1e6);this._linesContent.setHeight(1e6)}_getEditorClassName(){const focused=this._textAreaHandler.isFocused()?" focused":"";return this._context.configuration.options.get(139)+" "+getThemeTypeSelector(this._context.theme.type)+focused}handleEvents(events){super.handleEvents(events);this._scheduleRender()}onConfigurationChanged(e){this.domNode.setClassName(this._getEditorClassName());this._applyLayout();return false}onCursorStateChanged(e){this._selections=e.selections;return false}onDecorationsChanged(e){if(e.affectsGlyphMargin){this._shouldRecomputeGlyphMarginLanes=true}return false}onFocusChanged(e){this.domNode.setClassName(this._getEditorClassName());return false}onThemeChanged(e){this._context.theme.update(e.theme);this.domNode.setClassName(this._getEditorClassName());return false}dispose(){if(this._renderAnimationFrame!==null){this._renderAnimationFrame.dispose();this._renderAnimationFrame=null}this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove();this._context.removeEventHandler(this);this._viewLines.dispose();for(const viewPart of this._viewParts){viewPart.dispose()}super.dispose()}_scheduleRender(){if(this._renderAnimationFrame===null){this._renderAnimationFrame=runAtThisOrScheduleAtNextAnimationFrame(this._onRenderScheduled.bind(this),100)}}_onRenderScheduled(){this._renderAnimationFrame=null;this._flushAccumulatedAndRenderNow()}_renderNow(){safeInvokeNoArg((()=>this._actualRender()))}_getViewPartsToRender(){const result=[];let resultLen=0;for(const viewPart of this._viewParts){if(viewPart.shouldRender()){result[resultLen++]=viewPart}}return result}_actualRender(){if(!isInDOM(this.domNode.domNode)){return}let viewPartsToRender=this._getViewPartsToRender();if(!this._viewLines.shouldRender()&&viewPartsToRender.length===0){return}const partialViewportData=this._context.viewLayout.getLinesViewportData();this._context.viewModel.setViewport(partialViewportData.startLineNumber,partialViewportData.endLineNumber,partialViewportData.centeredLineNumber);const viewportData=new ViewportData(this._selections,partialViewportData,this._context.viewLayout.getWhitespaceViewportData(),this._context.viewModel);if(this._contentWidgets.shouldRender()){this._contentWidgets.onBeforeRender(viewportData)}if(this._viewLines.shouldRender()){this._viewLines.renderText(viewportData);this._viewLines.onDidRender();viewPartsToRender=this._getViewPartsToRender()}const renderingContext=new RenderingContext(this._context.viewLayout,viewportData,this._viewLines);for(const viewPart of viewPartsToRender){viewPart.prepareRender(renderingContext)}for(const viewPart of viewPartsToRender){viewPart.render(renderingContext);viewPart.onDidRender()}}delegateVerticalScrollbarPointerDown(browserEvent){this._scrollbar.delegateVerticalScrollbarPointerDown(browserEvent)}delegateScrollFromMouseWheelEvent(browserEvent){this._scrollbar.delegateScrollFromMouseWheelEvent(browserEvent)}restoreState(scrollPosition){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:scrollPosition.scrollTop,scrollLeft:scrollPosition.scrollLeft},1);this._context.viewModel.visibleLinesStabilized()}getOffsetForColumn(modelLineNumber,modelColumn){const modelPosition=this._context.viewModel.model.validatePosition({lineNumber:modelLineNumber,column:modelColumn});const viewPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(modelPosition);this._flushAccumulatedAndRenderNow();const visibleRange=this._viewLines.visibleRangeForPosition(new Position(viewPosition.lineNumber,viewPosition.column));if(!visibleRange){return-1}return visibleRange.left}getTargetAtClientPoint(clientX,clientY){const mouseTarget=this._pointerHandler.getTargetAtClientPoint(clientX,clientY);if(!mouseTarget){return null}return ViewUserInputEvents.convertViewToModelMouseTarget(mouseTarget,this._context.viewModel.coordinatesConverter)}createOverviewRuler(cssClassName){return new OverviewRuler(this._context,cssClassName)}change(callback){this._viewZones.changeViewZones(callback);this._scheduleRender()}render(now,everything){if(everything){this._viewLines.forceShouldRender();for(const viewPart of this._viewParts){viewPart.forceShouldRender()}}if(now){this._flushAccumulatedAndRenderNow()}else{this._scheduleRender()}}writeScreenReaderContent(reason){this._textAreaHandler.writeScreenReaderContent(reason)}focus(){this._textAreaHandler.focusTextArea()}isFocused(){return this._textAreaHandler.isFocused()}setAriaOptions(options2){this._textAreaHandler.setAriaOptions(options2)}addContentWidget(widgetData){this._contentWidgets.addWidget(widgetData.widget);this.layoutContentWidget(widgetData);this._scheduleRender()}layoutContentWidget(widgetData){var _a6,_b3,_c2,_d2,_e2,_f2,_g2,_h2;this._contentWidgets.setWidgetPosition(widgetData.widget,(_b3=(_a6=widgetData.position)===null||_a6===void 0?void 0:_a6.position)!==null&&_b3!==void 0?_b3:null,(_d2=(_c2=widgetData.position)===null||_c2===void 0?void 0:_c2.secondaryPosition)!==null&&_d2!==void 0?_d2:null,(_f2=(_e2=widgetData.position)===null||_e2===void 0?void 0:_e2.preference)!==null&&_f2!==void 0?_f2:null,(_h2=(_g2=widgetData.position)===null||_g2===void 0?void 0:_g2.positionAffinity)!==null&&_h2!==void 0?_h2:null);this._scheduleRender()}removeContentWidget(widgetData){this._contentWidgets.removeWidget(widgetData.widget);this._scheduleRender()}addOverlayWidget(widgetData){this._overlayWidgets.addWidget(widgetData.widget);this.layoutOverlayWidget(widgetData);this._scheduleRender()}layoutOverlayWidget(widgetData){const newPreference=widgetData.position?widgetData.position.preference:null;const shouldRender=this._overlayWidgets.setWidgetPosition(widgetData.widget,newPreference);if(shouldRender){this._scheduleRender()}}removeOverlayWidget(widgetData){this._overlayWidgets.removeWidget(widgetData.widget);this._scheduleRender()}addGlyphMarginWidget(widgetData){this._glyphMarginWidgets.addWidget(widgetData.widget);this._shouldRecomputeGlyphMarginLanes=true;this._scheduleRender()}layoutGlyphMarginWidget(widgetData){const newPreference=widgetData.position;const shouldRender=this._glyphMarginWidgets.setWidgetPosition(widgetData.widget,newPreference);if(shouldRender){this._shouldRecomputeGlyphMarginLanes=true;this._scheduleRender()}}removeGlyphMarginWidget(widgetData){this._glyphMarginWidgets.removeWidget(widgetData.widget);this._shouldRecomputeGlyphMarginLanes=true;this._scheduleRender()}};View=__decorate11([__param10(6,IInstantiationService)],View)}});var InternalEditorAction;var init_editorAction=__esm({"node_modules/monaco-editor/esm/vs/editor/common/editorAction.js"(){InternalEditorAction=class{constructor(id,label,alias,precondition,run,contextKeyService){this.id=id;this.label=label;this.alias=alias;this._precondition=precondition;this._run=run;this._contextKeyService=contextKeyService}isSupported(){return this._contextKeyService.contextMatchesRules(this._precondition)}run(args){if(!this.isSupported()){return Promise.resolve(void 0)}return this._run(args)}}}});function countEOL(text2){let eolCount=0;let firstLineLength=0;let lastLineStart=0;let eol=0;for(let i=0,len=text2.length;i<len;i++){const chr=text2.charCodeAt(i);if(chr===13){if(eolCount===0){firstLineLength=i}eolCount++;if(i+1<len&&text2.charCodeAt(i+1)===10){eol|=2;i++}else{eol|=3}lastLineStart=i+1}else if(chr===10){eol|=1;if(eolCount===0){firstLineLength=i}eolCount++;lastLineStart=i+1}}if(eolCount===0){firstLineLength=text2.length}return[eolCount,firstLineLength,text2.length-lastLineStart,eol]}var init_eolCounter=__esm({"node_modules/monaco-editor/esm/vs/editor/common/core/eolCounter.js"(){}});var BracketInfo,BracketPairInfo,BracketPairWithMinIndentationInfo;var init_textModelBracketPairs=__esm({"node_modules/monaco-editor/esm/vs/editor/common/textModelBracketPairs.js"(){BracketInfo=class{constructor(range2,nestingLevel,nestingLevelOfEqualBracketType,isInvalid){this.range=range2;this.nestingLevel=nestingLevel;this.nestingLevelOfEqualBracketType=nestingLevelOfEqualBracketType;this.isInvalid=isInvalid}};BracketPairInfo=class{constructor(range2,openingBracketRange,closingBracketRange,nestingLevel,nestingLevelOfEqualBracketType,bracketPairNode){this.range=range2;this.openingBracketRange=openingBracketRange;this.closingBracketRange=closingBracketRange;this.nestingLevel=nestingLevel;this.nestingLevelOfEqualBracketType=nestingLevelOfEqualBracketType;this.bracketPairNode=bracketPairNode}get openingBracketInfo(){return this.bracketPairNode.openingBracket.bracketInfo}};BracketPairWithMinIndentationInfo=class extends BracketPairInfo{constructor(range2,openingBracketRange,closingBracketRange,nestingLevel,nestingLevelOfEqualBracketType,bracketPairNode,minVisibleColumnIndentation){super(range2,openingBracketRange,closingBracketRange,nestingLevel,nestingLevelOfEqualBracketType,bracketPairNode);this.minVisibleColumnIndentation=minVisibleColumnIndentation}}}});function lengthDiff(startLineCount,startColumnCount,endLineCount,endColumnCount){return startLineCount!==endLineCount?toLength(endLineCount-startLineCount,endColumnCount):toLength(0,endColumnCount-startColumnCount)}function lengthIsZero(length2){return length2===0}function toLength(lineCount,columnCount){return lineCount*factor+columnCount}function lengthToObj(length2){const l=length2;const lineCount=Math.floor(l/factor);const columnCount=l-lineCount*factor;return new LengthObj(lineCount,columnCount)}function lengthGetLineCount(length2){return Math.floor(length2/factor)}function lengthGetColumnCountIfZeroLineCount(length2){return length2}function lengthAdd(l1,l2){let r=l1+l2;if(l2>=factor){r=r-l1%factor}return r}function sumLengths(items,lengthFn){return items.reduce(((a,b)=>lengthAdd(a,lengthFn(b))),lengthZero)}function lengthEquals(length1,length2){return length1===length2}function lengthDiffNonNegative(length1,length2){const l1=length1;const l2=length2;const diff=l2-l1;if(diff<=0){return lengthZero}const lineCount1=Math.floor(l1/factor);const lineCount2=Math.floor(l2/factor);const colCount2=l2-lineCount2*factor;if(lineCount1===lineCount2){const colCount1=l1-lineCount1*factor;return toLength(0,colCount2-colCount1)}else{return toLength(lineCount2-lineCount1,colCount2)}}function lengthLessThan(length1,length2){return length1<length2}function lengthLessThanEqual(length1,length2){return length1<=length2}function lengthGreaterThanEqual(length1,length2){return length1>=length2}function positionToLength(position){return toLength(position.lineNumber-1,position.column-1)}function lengthsToRange(lengthStart,lengthEnd){const l=lengthStart;const lineCount=Math.floor(l/factor);const colCount=l-lineCount*factor;const l2=lengthEnd;const lineCount2=Math.floor(l2/factor);const colCount2=l2-lineCount2*factor;return new Range(lineCount+1,colCount+1,lineCount2+1,colCount2+1)}function lengthOfString(str){const lines=splitLines(str);return toLength(lines.length-1,lines[lines.length-1].length)}var LengthObj,lengthZero,factor;var init_length=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/length.js"(){init_strings();init_range();LengthObj=class{constructor(lineCount,columnCount){this.lineCount=lineCount;this.columnCount=columnCount}toString(){return`${this.lineCount},${this.columnCount}`}};LengthObj.zero=new LengthObj(0,0);lengthZero=0;factor=Math.pow(2,26)}});var TextEditInfo,BeforeEditPositionMapper,TextEditInfoCache;var init_beforeEditPositionMapper=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/beforeEditPositionMapper.js"(){init_range();init_length();TextEditInfo=class{static fromModelContentChanges(changes){const edits=changes.map((c=>{const range2=Range.lift(c.range);return new TextEditInfo(positionToLength(range2.getStartPosition()),positionToLength(range2.getEndPosition()),lengthOfString(c.text))})).reverse();return edits}constructor(startOffset,endOffset,newLength){this.startOffset=startOffset;this.endOffset=endOffset;this.newLength=newLength}toString(){return`[${lengthToObj(this.startOffset)}...${lengthToObj(this.endOffset)}) -> ${lengthToObj(this.newLength)}`}};BeforeEditPositionMapper=class{constructor(edits){this.nextEditIdx=0;this.deltaOldToNewLineCount=0;this.deltaOldToNewColumnCount=0;this.deltaLineIdxInOld=-1;this.edits=edits.map((edit=>TextEditInfoCache.from(edit)))}getOffsetBeforeChange(offset){this.adjustNextEdit(offset);return this.translateCurToOld(offset)}getDistanceToNextChange(offset){this.adjustNextEdit(offset);const nextEdit=this.edits[this.nextEditIdx];const nextChangeOffset=nextEdit?this.translateOldToCur(nextEdit.offsetObj):null;if(nextChangeOffset===null){return null}return lengthDiffNonNegative(offset,nextChangeOffset)}translateOldToCur(oldOffsetObj){if(oldOffsetObj.lineCount===this.deltaLineIdxInOld){return toLength(oldOffsetObj.lineCount+this.deltaOldToNewLineCount,oldOffsetObj.columnCount+this.deltaOldToNewColumnCount)}else{return toLength(oldOffsetObj.lineCount+this.deltaOldToNewLineCount,oldOffsetObj.columnCount)}}translateCurToOld(newOffset){const offsetObj=lengthToObj(newOffset);if(offsetObj.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld){return toLength(offsetObj.lineCount-this.deltaOldToNewLineCount,offsetObj.columnCount-this.deltaOldToNewColumnCount)}else{return toLength(offsetObj.lineCount-this.deltaOldToNewLineCount,offsetObj.columnCount)}}adjustNextEdit(offset){while(this.nextEditIdx<this.edits.length){const nextEdit=this.edits[this.nextEditIdx];const nextEditEndOffsetInCur=this.translateOldToCur(nextEdit.endOffsetAfterObj);if(lengthLessThanEqual(nextEditEndOffsetInCur,offset)){this.nextEditIdx++;const nextEditEndOffsetInCurObj=lengthToObj(nextEditEndOffsetInCur);const nextEditEndOffsetBeforeInCurObj=lengthToObj(this.translateOldToCur(nextEdit.endOffsetBeforeObj));const lineDelta=nextEditEndOffsetInCurObj.lineCount-nextEditEndOffsetBeforeInCurObj.lineCount;this.deltaOldToNewLineCount+=lineDelta;const previousColumnDelta=this.deltaLineIdxInOld===nextEdit.endOffsetBeforeObj.lineCount?this.deltaOldToNewColumnCount:0;const columnDelta=nextEditEndOffsetInCurObj.columnCount-nextEditEndOffsetBeforeInCurObj.columnCount;this.deltaOldToNewColumnCount=previousColumnDelta+columnDelta;this.deltaLineIdxInOld=nextEdit.endOffsetBeforeObj.lineCount}else{break}}}};TextEditInfoCache=class{static from(edit){return new TextEditInfoCache(edit.startOffset,edit.endOffset,edit.newLength)}constructor(startOffset,endOffset,textLength){this.endOffsetBeforeObj=lengthToObj(endOffset);this.endOffsetAfterObj=lengthToObj(lengthAdd(startOffset,textLength));this.offsetObj=lengthToObj(startOffset)}}}});var emptyArr,SmallImmutableSet,identityKeyProvider,DenseKeyProvider;var init_smallImmutableSet=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/smallImmutableSet.js"(){emptyArr=[];SmallImmutableSet=class{static create(items,additionalItems){if(items<=128&&additionalItems.length===0){let cached=SmallImmutableSet.cache[items];if(!cached){cached=new SmallImmutableSet(items,additionalItems);SmallImmutableSet.cache[items]=cached}return cached}return new SmallImmutableSet(items,additionalItems)}static getEmpty(){return this.empty}constructor(items,additionalItems){this.items=items;this.additionalItems=additionalItems}add(value,keyProvider){const key=keyProvider.getKey(value);let idx=key>>5;if(idx===0){const newItem=1<<key|this.items;if(newItem===this.items){return this}return SmallImmutableSet.create(newItem,this.additionalItems)}idx--;const newItems=this.additionalItems.slice(0);while(newItems.length<idx){newItems.push(0)}newItems[idx]|=1<<(key&31);return SmallImmutableSet.create(this.items,newItems)}merge(other){const merged=this.items|other.items;if(this.additionalItems===emptyArr&&other.additionalItems===emptyArr){if(merged===this.items){return this}if(merged===other.items){return other}return SmallImmutableSet.create(merged,emptyArr)}const newItems=[];for(let i=0;i<Math.max(this.additionalItems.length,other.additionalItems.length);i++){const item1=this.additionalItems[i]||0;const item2=other.additionalItems[i]||0;newItems.push(item1|item2)}return SmallImmutableSet.create(merged,newItems)}intersects(other){if((this.items&other.items)!==0){return true}for(let i=0;i<Math.min(this.additionalItems.length,other.additionalItems.length);i++){if((this.additionalItems[i]&other.additionalItems[i])!==0){return true}}return false}};SmallImmutableSet.cache=new Array(129);SmallImmutableSet.empty=SmallImmutableSet.create(0,emptyArr);identityKeyProvider={getKey(value){return value}};DenseKeyProvider=class{constructor(){this.items=new Map}getKey(value){let existing=this.items.get(value);if(existing===void 0){existing=this.items.size;this.items.set(value,existing)}return existing}}}});var BaseAstNode,PairAstNode,ListAstNode,TwoThreeListAstNode,Immutable23ListAstNode,ArrayListAstNode,ImmutableArrayListAstNode,emptyArray,ImmutableLeafAstNode,TextAstNode,BracketAstNode,InvalidBracketAstNode;var init_ast=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/ast.js"(){init_errors();init_cursorColumns();init_length();init_smallImmutableSet();BaseAstNode=class{get length(){return this._length}constructor(length2){this._length=length2}};PairAstNode=class extends BaseAstNode{static create(openingBracket,child,closingBracket){let length2=openingBracket.length;if(child){length2=lengthAdd(length2,child.length)}if(closingBracket){length2=lengthAdd(length2,closingBracket.length)}return new PairAstNode(length2,openingBracket,child,closingBracket,child?child.missingOpeningBracketIds:SmallImmutableSet.getEmpty())}get kind(){return 2}get listHeight(){return 0}get childrenLength(){return 3}getChild(idx){switch(idx){case 0:return this.openingBracket;case 1:return this.child;case 2:return this.closingBracket}throw new Error("Invalid child index")}get children(){const result=[];result.push(this.openingBracket);if(this.child){result.push(this.child)}if(this.closingBracket){result.push(this.closingBracket)}return result}constructor(length2,openingBracket,child,closingBracket,missingOpeningBracketIds){super(length2);this.openingBracket=openingBracket;this.child=child;this.closingBracket=closingBracket;this.missingOpeningBracketIds=missingOpeningBracketIds}canBeReused(openBracketIds){if(this.closingBracket===null){return false}if(openBracketIds.intersects(this.missingOpeningBracketIds)){return false}return true}deepClone(){return new PairAstNode(this.length,this.openingBracket.deepClone(),this.child&&this.child.deepClone(),this.closingBracket&&this.closingBracket.deepClone(),this.missingOpeningBracketIds)}computeMinIndentation(offset,textModel){return this.child?this.child.computeMinIndentation(lengthAdd(offset,this.openingBracket.length),textModel):Number.MAX_SAFE_INTEGER}};ListAstNode=class extends BaseAstNode{static create23(item1,item2,item3,immutable=false){let length2=item1.length;let missingBracketIds=item1.missingOpeningBracketIds;if(item1.listHeight!==item2.listHeight){throw new Error("Invalid list heights")}length2=lengthAdd(length2,item2.length);missingBracketIds=missingBracketIds.merge(item2.missingOpeningBracketIds);if(item3){if(item1.listHeight!==item3.listHeight){throw new Error("Invalid list heights")}length2=lengthAdd(length2,item3.length);missingBracketIds=missingBracketIds.merge(item3.missingOpeningBracketIds)}return immutable?new Immutable23ListAstNode(length2,item1.listHeight+1,item1,item2,item3,missingBracketIds):new TwoThreeListAstNode(length2,item1.listHeight+1,item1,item2,item3,missingBracketIds)}static getEmpty(){return new ImmutableArrayListAstNode(lengthZero,0,[],SmallImmutableSet.getEmpty())}get kind(){return 4}get missingOpeningBracketIds(){return this._missingOpeningBracketIds}constructor(length2,listHeight,_missingOpeningBracketIds){super(length2);this.listHeight=listHeight;this._missingOpeningBracketIds=_missingOpeningBracketIds;this.cachedMinIndentation=-1}throwIfImmutable(){}makeLastElementMutable(){this.throwIfImmutable();const childCount=this.childrenLength;if(childCount===0){return void 0}const lastChild=this.getChild(childCount-1);const mutable=lastChild.kind===4?lastChild.toMutable():lastChild;if(lastChild!==mutable){this.setChild(childCount-1,mutable)}return mutable}makeFirstElementMutable(){this.throwIfImmutable();const childCount=this.childrenLength;if(childCount===0){return void 0}const firstChild=this.getChild(0);const mutable=firstChild.kind===4?firstChild.toMutable():firstChild;if(firstChild!==mutable){this.setChild(0,mutable)}return mutable}canBeReused(openBracketIds){if(openBracketIds.intersects(this.missingOpeningBracketIds)){return false}if(this.childrenLength===0){return false}let lastChild=this;while(lastChild.kind===4){const lastLength=lastChild.childrenLength;if(lastLength===0){throw new BugIndicatingError}lastChild=lastChild.getChild(lastLength-1)}return lastChild.canBeReused(openBracketIds)}handleChildrenChanged(){this.throwIfImmutable();const count=this.childrenLength;let length2=this.getChild(0).length;let unopenedBrackets=this.getChild(0).missingOpeningBracketIds;for(let i=1;i<count;i++){const child=this.getChild(i);length2=lengthAdd(length2,child.length);unopenedBrackets=unopenedBrackets.merge(child.missingOpeningBracketIds)}this._length=length2;this._missingOpeningBracketIds=unopenedBrackets;this.cachedMinIndentation=-1}computeMinIndentation(offset,textModel){if(this.cachedMinIndentation!==-1){return this.cachedMinIndentation}let minIndentation=Number.MAX_SAFE_INTEGER;let childOffset=offset;for(let i=0;i<this.childrenLength;i++){const child=this.getChild(i);if(child){minIndentation=Math.min(minIndentation,child.computeMinIndentation(childOffset,textModel));childOffset=lengthAdd(childOffset,child.length)}}this.cachedMinIndentation=minIndentation;return minIndentation}};TwoThreeListAstNode=class extends ListAstNode{get childrenLength(){return this._item3!==null?3:2}getChild(idx){switch(idx){case 0:return this._item1;case 1:return this._item2;case 2:return this._item3}throw new Error("Invalid child index")}setChild(idx,node){switch(idx){case 0:this._item1=node;return;case 1:this._item2=node;return;case 2:this._item3=node;return}throw new Error("Invalid child index")}get children(){return this._item3?[this._item1,this._item2,this._item3]:[this._item1,this._item2]}get item1(){return this._item1}get item2(){return this._item2}get item3(){return this._item3}constructor(length2,listHeight,_item1,_item2,_item3,missingOpeningBracketIds){super(length2,listHeight,missingOpeningBracketIds);this._item1=_item1;this._item2=_item2;this._item3=_item3}deepClone(){return new TwoThreeListAstNode(this.length,this.listHeight,this._item1.deepClone(),this._item2.deepClone(),this._item3?this._item3.deepClone():null,this.missingOpeningBracketIds)}appendChildOfSameHeight(node){if(this._item3){throw new Error("Cannot append to a full (2,3) tree node")}this.throwIfImmutable();this._item3=node;this.handleChildrenChanged()}unappendChild(){if(!this._item3){throw new Error("Cannot remove from a non-full (2,3) tree node")}this.throwIfImmutable();const result=this._item3;this._item3=null;this.handleChildrenChanged();return result}prependChildOfSameHeight(node){if(this._item3){throw new Error("Cannot prepend to a full (2,3) tree node")}this.throwIfImmutable();this._item3=this._item2;this._item2=this._item1;this._item1=node;this.handleChildrenChanged()}unprependChild(){if(!this._item3){throw new Error("Cannot remove from a non-full (2,3) tree node")}this.throwIfImmutable();const result=this._item1;this._item1=this._item2;this._item2=this._item3;this._item3=null;this.handleChildrenChanged();return result}toMutable(){return this}};Immutable23ListAstNode=class extends TwoThreeListAstNode{toMutable(){return new TwoThreeListAstNode(this.length,this.listHeight,this.item1,this.item2,this.item3,this.missingOpeningBracketIds)}throwIfImmutable(){throw new Error("this instance is immutable")}};ArrayListAstNode=class extends ListAstNode{get childrenLength(){return this._children.length}getChild(idx){return this._children[idx]}setChild(idx,child){this._children[idx]=child}get children(){return this._children}constructor(length2,listHeight,_children,missingOpeningBracketIds){super(length2,listHeight,missingOpeningBracketIds);this._children=_children}deepClone(){const children=new Array(this._children.length);for(let i=0;i<this._children.length;i++){children[i]=this._children[i].deepClone()}return new ArrayListAstNode(this.length,this.listHeight,children,this.missingOpeningBracketIds)}appendChildOfSameHeight(node){this.throwIfImmutable();this._children.push(node);this.handleChildrenChanged()}unappendChild(){this.throwIfImmutable();const item=this._children.pop();this.handleChildrenChanged();return item}prependChildOfSameHeight(node){this.throwIfImmutable();this._children.unshift(node);this.handleChildrenChanged()}unprependChild(){this.throwIfImmutable();const item=this._children.shift();this.handleChildrenChanged();return item}toMutable(){return this}};ImmutableArrayListAstNode=class extends ArrayListAstNode{toMutable(){return new ArrayListAstNode(this.length,this.listHeight,[...this.children],this.missingOpeningBracketIds)}throwIfImmutable(){throw new Error("this instance is immutable")}};emptyArray=[];ImmutableLeafAstNode=class extends BaseAstNode{get listHeight(){return 0}get childrenLength(){return 0}getChild(idx){return null}get children(){return emptyArray}deepClone(){return this}};TextAstNode=class extends ImmutableLeafAstNode{get kind(){return 0}get missingOpeningBracketIds(){return SmallImmutableSet.getEmpty()}canBeReused(_openedBracketIds){return true}computeMinIndentation(offset,textModel){const start=lengthToObj(offset);const startLineNumber=(start.columnCount===0?start.lineCount:start.lineCount+1)+1;const endLineNumber=lengthGetLineCount(lengthAdd(offset,this.length))+1;let result=Number.MAX_SAFE_INTEGER;for(let lineNumber=startLineNumber;lineNumber<=endLineNumber;lineNumber++){const firstNonWsColumn=textModel.getLineFirstNonWhitespaceColumn(lineNumber);const lineContent=textModel.getLineContent(lineNumber);if(firstNonWsColumn===0){continue}const visibleColumn=CursorColumns.visibleColumnFromColumn(lineContent,firstNonWsColumn,textModel.getOptions().tabSize);result=Math.min(result,visibleColumn)}return result}};BracketAstNode=class extends ImmutableLeafAstNode{static create(length2,bracketInfo,bracketIds){const node=new BracketAstNode(length2,bracketInfo,bracketIds);return node}get kind(){return 1}get missingOpeningBracketIds(){return SmallImmutableSet.getEmpty()}constructor(length2,bracketInfo,bracketIds){super(length2);this.bracketInfo=bracketInfo;this.bracketIds=bracketIds}get text(){return this.bracketInfo.bracketText}get languageId(){return this.bracketInfo.languageId}canBeReused(_openedBracketIds){return false}computeMinIndentation(offset,textModel){return Number.MAX_SAFE_INTEGER}};InvalidBracketAstNode=class extends ImmutableLeafAstNode{get kind(){return 3}constructor(closingBrackets,length2){super(length2);this.missingOpeningBracketIds=closingBrackets}canBeReused(openedBracketIds){return!openedBracketIds.intersects(this.missingOpeningBracketIds)}computeMinIndentation(offset,textModel){return Number.MAX_SAFE_INTEGER}}}});var Token2,TextBufferTokenizer,NonPeekableTextBufferTokenizer,FastTokenizer;var init_tokenizer=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/tokenizer.js"(){init_errors();init_encodedTokenAttributes();init_ast();init_length();init_smallImmutableSet();Token2=class{constructor(length2,kind,bracketId,bracketIds,astNode){this.length=length2;this.kind=kind;this.bracketId=bracketId;this.bracketIds=bracketIds;this.astNode=astNode}};TextBufferTokenizer=class{constructor(textModel,bracketTokens){this.textModel=textModel;this.bracketTokens=bracketTokens;this.reader=new NonPeekableTextBufferTokenizer(this.textModel,this.bracketTokens);this._offset=lengthZero;this.didPeek=false;this.peeked=null;this.textBufferLineCount=textModel.getLineCount();this.textBufferLastLineLength=textModel.getLineLength(this.textBufferLineCount)}get offset(){return this._offset}get length(){return toLength(this.textBufferLineCount-1,this.textBufferLastLineLength)}skip(length2){this.didPeek=false;this._offset=lengthAdd(this._offset,length2);const obj=lengthToObj(this._offset);this.reader.setPosition(obj.lineCount,obj.columnCount)}read(){let token;if(this.peeked){this.didPeek=false;token=this.peeked}else{token=this.reader.read()}if(token){this._offset=lengthAdd(this._offset,token.length)}return token}peek(){if(!this.didPeek){this.peeked=this.reader.read();this.didPeek=true}return this.peeked}};NonPeekableTextBufferTokenizer=class{constructor(textModel,bracketTokens){this.textModel=textModel;this.bracketTokens=bracketTokens;this.lineIdx=0;this.line=null;this.lineCharOffset=0;this.lineTokens=null;this.lineTokenOffset=0;this.peekedToken=null;this.textBufferLineCount=textModel.getLineCount();this.textBufferLastLineLength=textModel.getLineLength(this.textBufferLineCount)}setPosition(lineIdx,column){if(lineIdx===this.lineIdx){this.lineCharOffset=column;if(this.line!==null){this.lineTokenOffset=this.lineCharOffset===0?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset)}}else{this.lineIdx=lineIdx;this.lineCharOffset=column;this.line=null}this.peekedToken=null}read(){if(this.peekedToken){const token=this.peekedToken;this.peekedToken=null;this.lineCharOffset+=lengthGetColumnCountIfZeroLineCount(token.length);return token}if(this.lineIdx>this.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength){return null}if(this.line===null){this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1);this.line=this.lineTokens.getLineContent();this.lineTokenOffset=this.lineCharOffset===0?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset)}const startLineIdx=this.lineIdx;const startLineCharOffset=this.lineCharOffset;let lengthHeuristic=0;while(true){const lineTokens=this.lineTokens;const tokenCount=lineTokens.getCount();let peekedBracketToken=null;if(this.lineTokenOffset<tokenCount){const tokenMetadata=lineTokens.getMetadata(this.lineTokenOffset);while(this.lineTokenOffset+1<tokenCount&&tokenMetadata===lineTokens.getMetadata(this.lineTokenOffset+1)){this.lineTokenOffset++}const isOther=TokenMetadata.getTokenType(tokenMetadata)===0;const containsBracketType=TokenMetadata.containsBalancedBrackets(tokenMetadata);const endOffset=lineTokens.getEndOffset(this.lineTokenOffset);if(containsBracketType&&isOther&&this.lineCharOffset<endOffset){const languageId=lineTokens.getLanguageId(this.lineTokenOffset);const text2=this.line.substring(this.lineCharOffset,endOffset);const brackets=this.bracketTokens.getSingleLanguageBracketTokens(languageId);const regexp=brackets.regExpGlobal;if(regexp){regexp.lastIndex=0;const match2=regexp.exec(text2);if(match2){peekedBracketToken=brackets.getToken(match2[0]);if(peekedBracketToken){this.lineCharOffset+=match2.index}}}}lengthHeuristic+=endOffset-this.lineCharOffset;if(peekedBracketToken){if(startLineIdx!==this.lineIdx||startLineCharOffset!==this.lineCharOffset){this.peekedToken=peekedBracketToken;break}else{this.lineCharOffset+=lengthGetColumnCountIfZeroLineCount(peekedBracketToken.length);return peekedBracketToken}}else{this.lineTokenOffset++;this.lineCharOffset=endOffset}}else{if(this.lineIdx===this.textBufferLineCount-1){break}this.lineIdx++;this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1);this.lineTokenOffset=0;this.line=this.lineTokens.getLineContent();this.lineCharOffset=0;lengthHeuristic+=33;if(lengthHeuristic>1e3){break}}if(lengthHeuristic>1500){break}}const length2=lengthDiff(startLineIdx,startLineCharOffset,this.lineIdx,this.lineCharOffset);return new Token2(length2,0,-1,SmallImmutableSet.getEmpty(),new TextAstNode(length2))}};FastTokenizer=class{constructor(text2,brackets){this.text=text2;this._offset=lengthZero;this.idx=0;const regExpStr=brackets.getRegExpStr();const regexp=regExpStr?new RegExp(regExpStr+"|\n","gi"):null;const tokens=[];let match2;let curLineCount=0;let lastLineBreakOffset=0;let lastTokenEndOffset=0;let lastTokenEndLine=0;const smallTextTokens0Line=[];for(let i=0;i<60;i++){smallTextTokens0Line.push(new Token2(toLength(0,i),0,-1,SmallImmutableSet.getEmpty(),new TextAstNode(toLength(0,i))))}const smallTextTokens1Line=[];for(let i=0;i<60;i++){smallTextTokens1Line.push(new Token2(toLength(1,i),0,-1,SmallImmutableSet.getEmpty(),new TextAstNode(toLength(1,i))))}if(regexp){regexp.lastIndex=0;while((match2=regexp.exec(text2))!==null){const curOffset=match2.index;const value=match2[0];if(value==="\n"){curLineCount++;lastLineBreakOffset=curOffset+1}else{if(lastTokenEndOffset!==curOffset){let token;if(lastTokenEndLine===curLineCount){const colCount=curOffset-lastTokenEndOffset;if(colCount<smallTextTokens0Line.length){token=smallTextTokens0Line[colCount]}else{const length2=toLength(0,colCount);token=new Token2(length2,0,-1,SmallImmutableSet.getEmpty(),new TextAstNode(length2))}}else{const lineCount=curLineCount-lastTokenEndLine;const colCount=curOffset-lastLineBreakOffset;if(lineCount===1&&colCount<smallTextTokens1Line.length){token=smallTextTokens1Line[colCount]}else{const length2=toLength(lineCount,colCount);token=new Token2(length2,0,-1,SmallImmutableSet.getEmpty(),new TextAstNode(length2))}}tokens.push(token)}tokens.push(brackets.getToken(value));lastTokenEndOffset=curOffset+value.length;lastTokenEndLine=curLineCount}}}const offset=text2.length;if(lastTokenEndOffset!==offset){const length2=lastTokenEndLine===curLineCount?toLength(0,offset-lastTokenEndOffset):toLength(curLineCount-lastTokenEndLine,offset-lastLineBreakOffset);tokens.push(new Token2(length2,0,-1,SmallImmutableSet.getEmpty(),new TextAstNode(length2)))}this.length=toLength(curLineCount,offset-lastLineBreakOffset);this.tokens=tokens}get offset(){return this._offset}read(){return this.tokens[this.idx++]||null}peek(){return this.tokens[this.idx]||null}skip(length2){throw new NotSupportedError}}}});function prepareBracketForRegExp2(str){let escaped=escapeRegExpCharacters(str);if(/^[\w ]+/.test(str)){escaped=`\\b${escaped}`}if(/[\w ]+$/.test(str)){escaped=`${escaped}\\b`}return escaped}var BracketTokens,LanguageAgnosticBracketTokens;var init_brackets=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/brackets.js"(){init_strings();init_ast();init_length();init_smallImmutableSet();init_tokenizer();BracketTokens=class{static createFromLanguage(configuration,denseKeyProvider){function getId(bracketInfo){return denseKeyProvider.getKey(`${bracketInfo.languageId}:::${bracketInfo.bracketText}`)}const map=new Map;for(const openingBracket of configuration.bracketsNew.openingBrackets){const length2=toLength(0,openingBracket.bracketText.length);const openingTextId=getId(openingBracket);const bracketIds=SmallImmutableSet.getEmpty().add(openingTextId,identityKeyProvider);map.set(openingBracket.bracketText,new Token2(length2,1,openingTextId,bracketIds,BracketAstNode.create(length2,openingBracket,bracketIds)))}for(const closingBracket of configuration.bracketsNew.closingBrackets){const length2=toLength(0,closingBracket.bracketText.length);let bracketIds=SmallImmutableSet.getEmpty();const closingBrackets=closingBracket.getOpeningBrackets();for(const bracket of closingBrackets){bracketIds=bracketIds.add(getId(bracket),identityKeyProvider)}map.set(closingBracket.bracketText,new Token2(length2,2,getId(closingBrackets[0]),bracketIds,BracketAstNode.create(length2,closingBracket,bracketIds)))}return new BracketTokens(map)}constructor(map){this.map=map;this.hasRegExp=false;this._regExpGlobal=null}getRegExpStr(){if(this.isEmpty){return null}else{const keys=[...this.map.keys()];keys.sort();keys.reverse();return keys.map((k=>prepareBracketForRegExp2(k))).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const regExpStr=this.getRegExpStr();this._regExpGlobal=regExpStr?new RegExp(regExpStr,"gi"):null;this.hasRegExp=true}return this._regExpGlobal}getToken(value){return this.map.get(value.toLowerCase())}findClosingTokenText(openingBracketIds){for(const[closingText,info]of this.map){if(info.kind===2&&info.bracketIds.intersects(openingBracketIds)){return closingText}}return void 0}get isEmpty(){return this.map.size===0}};LanguageAgnosticBracketTokens=class{constructor(denseKeyProvider,getLanguageConfiguration){this.denseKeyProvider=denseKeyProvider;this.getLanguageConfiguration=getLanguageConfiguration;this.languageIdToBracketTokens=new Map}didLanguageChange(languageId){return this.languageIdToBracketTokens.has(languageId)}getSingleLanguageBracketTokens(languageId){let singleLanguageBracketTokens=this.languageIdToBracketTokens.get(languageId);if(!singleLanguageBracketTokens){singleLanguageBracketTokens=BracketTokens.createFromLanguage(this.getLanguageConfiguration(languageId),this.denseKeyProvider);this.languageIdToBracketTokens.set(languageId,singleLanguageBracketTokens)}return singleLanguageBracketTokens}}}});function concat23Trees(items){if(items.length===0){return null}if(items.length===1){return items[0]}let i=0;function readNode(){if(i>=items.length){return null}const start=i;const height=items[start].listHeight;i++;while(i<items.length&&items[i].listHeight===height){i++}if(i-start>=2){return concat23TreesOfSameHeight(start===0&&i===items.length?items:items.slice(start,i),false)}else{return items[start]}}let first2=readNode();let second=readNode();if(!second){return first2}for(let item=readNode();item;item=readNode()){if(heightDiff(first2,second)<=heightDiff(second,item)){first2=concat(first2,second);second=item}else{second=concat(second,item)}}const result=concat(first2,second);return result}function concat23TreesOfSameHeight(items,createImmutableLists=false){if(items.length===0){return null}if(items.length===1){return items[0]}let length2=items.length;while(length2>3){const newLength=length2>>1;for(let i=0;i<newLength;i++){const j=i<<1;items[i]=ListAstNode.create23(items[j],items[j+1],j+3===length2?items[j+2]:null,createImmutableLists)}length2=newLength}return ListAstNode.create23(items[0],items[1],length2>=3?items[2]:null,createImmutableLists)}function heightDiff(node1,node2){return Math.abs(node1.listHeight-node2.listHeight)}function concat(node1,node2){if(node1.listHeight===node2.listHeight){return ListAstNode.create23(node1,node2,null,false)}else if(node1.listHeight>node2.listHeight){return append2(node1,node2)}else{return prepend2(node2,node1)}}function append2(list,nodeToAppend){list=list.toMutable();let curNode=list;const parents=[];let nodeToAppendOfCorrectHeight;while(true){if(nodeToAppend.listHeight===curNode.listHeight){nodeToAppendOfCorrectHeight=nodeToAppend;break}if(curNode.kind!==4){throw new Error("unexpected")}parents.push(curNode);curNode=curNode.makeLastElementMutable()}for(let i=parents.length-1;i>=0;i--){const parent=parents[i];if(nodeToAppendOfCorrectHeight){if(parent.childrenLength>=3){nodeToAppendOfCorrectHeight=ListAstNode.create23(parent.unappendChild(),nodeToAppendOfCorrectHeight,null,false)}else{parent.appendChildOfSameHeight(nodeToAppendOfCorrectHeight);nodeToAppendOfCorrectHeight=void 0}}else{parent.handleChildrenChanged()}}if(nodeToAppendOfCorrectHeight){return ListAstNode.create23(list,nodeToAppendOfCorrectHeight,null,false)}else{return list}}function prepend2(list,nodeToAppend){list=list.toMutable();let curNode=list;const parents=[];while(nodeToAppend.listHeight!==curNode.listHeight){if(curNode.kind!==4){throw new Error("unexpected")}parents.push(curNode);curNode=curNode.makeFirstElementMutable()}let nodeToPrependOfCorrectHeight=nodeToAppend;for(let i=parents.length-1;i>=0;i--){const parent=parents[i];if(nodeToPrependOfCorrectHeight){if(parent.childrenLength>=3){nodeToPrependOfCorrectHeight=ListAstNode.create23(nodeToPrependOfCorrectHeight,parent.unprependChild(),null,false)}else{parent.prependChildOfSameHeight(nodeToPrependOfCorrectHeight);nodeToPrependOfCorrectHeight=void 0}}else{parent.handleChildrenChanged()}}if(nodeToPrependOfCorrectHeight){return ListAstNode.create23(nodeToPrependOfCorrectHeight,list,null,false)}else{return list}}var init_concat23Trees=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/concat23Trees.js"(){init_ast()}});function getNextChildIdx(node,curIdx=-1){while(true){curIdx++;if(curIdx>=node.childrenLength){return-1}if(node.getChild(curIdx)){return curIdx}}}function lastOrUndefined(arr){return arr.length>0?arr[arr.length-1]:void 0}var NodeReader;var init_nodeReader=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/nodeReader.js"(){init_length();NodeReader=class{constructor(node){this.lastOffset=lengthZero;this.nextNodes=[node];this.offsets=[lengthZero];this.idxs=[]}readLongestNodeAt(offset,predicate){if(lengthLessThan(offset,this.lastOffset)){throw new Error("Invalid offset")}this.lastOffset=offset;while(true){const curNode=lastOrUndefined(this.nextNodes);if(!curNode){return void 0}const curNodeOffset=lastOrUndefined(this.offsets);if(lengthLessThan(offset,curNodeOffset)){return void 0}if(lengthLessThan(curNodeOffset,offset)){if(lengthAdd(curNodeOffset,curNode.length)<=offset){this.nextNodeAfterCurrent()}else{const nextChildIdx=getNextChildIdx(curNode);if(nextChildIdx!==-1){this.nextNodes.push(curNode.getChild(nextChildIdx));this.offsets.push(curNodeOffset);this.idxs.push(nextChildIdx)}else{this.nextNodeAfterCurrent()}}}else{if(predicate(curNode)){this.nextNodeAfterCurrent();return curNode}else{const nextChildIdx=getNextChildIdx(curNode);if(nextChildIdx===-1){this.nextNodeAfterCurrent();return void 0}else{this.nextNodes.push(curNode.getChild(nextChildIdx));this.offsets.push(curNodeOffset);this.idxs.push(nextChildIdx)}}}}}nextNodeAfterCurrent(){while(true){const currentOffset=lastOrUndefined(this.offsets);const currentNode=lastOrUndefined(this.nextNodes);this.nextNodes.pop();this.offsets.pop();if(this.idxs.length===0){break}const parent=lastOrUndefined(this.nextNodes);const nextChildIdx=getNextChildIdx(parent,this.idxs[this.idxs.length-1]);if(nextChildIdx!==-1){this.nextNodes.push(parent.getChild(nextChildIdx));this.offsets.push(lengthAdd(currentOffset,currentNode.length));this.idxs[this.idxs.length-1]=nextChildIdx;break}else{this.idxs.pop()}}}}}});function parseDocument(tokenizer,edits,oldNode,createImmutableLists){const parser2=new Parser2(tokenizer,edits,oldNode,createImmutableLists);return parser2.parseDocument()}var Parser2;var init_parser=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/parser.js"(){init_ast();init_beforeEditPositionMapper();init_smallImmutableSet();init_length();init_concat23Trees();init_nodeReader();Parser2=class{constructor(tokenizer,edits,oldNode,createImmutableLists){this.tokenizer=tokenizer;this.createImmutableLists=createImmutableLists;this._itemsConstructed=0;this._itemsFromCache=0;if(oldNode&&createImmutableLists){throw new Error("Not supported")}this.oldNodeReader=oldNode?new NodeReader(oldNode):void 0;this.positionMapper=new BeforeEditPositionMapper(edits)}parseDocument(){this._itemsConstructed=0;this._itemsFromCache=0;let result=this.parseList(SmallImmutableSet.getEmpty(),0);if(!result){result=ListAstNode.getEmpty()}return result}parseList(openedBracketIds,level){const items=[];while(true){let child=this.tryReadChildFromCache(openedBracketIds);if(!child){const token=this.tokenizer.peek();if(!token||token.kind===2&&token.bracketIds.intersects(openedBracketIds)){break}child=this.parseChild(openedBracketIds,level+1)}if(child.kind===4&&child.childrenLength===0){continue}items.push(child)}const result=this.oldNodeReader?concat23Trees(items):concat23TreesOfSameHeight(items,this.createImmutableLists);return result}tryReadChildFromCache(openedBracketIds){if(this.oldNodeReader){const maxCacheableLength=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(maxCacheableLength===null||!lengthIsZero(maxCacheableLength)){const cachedNode=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),(curNode=>{if(maxCacheableLength!==null&&!lengthLessThan(curNode.length,maxCacheableLength)){return false}const canBeReused=curNode.canBeReused(openedBracketIds);return canBeReused}));if(cachedNode){this._itemsFromCache++;this.tokenizer.skip(cachedNode.length);return cachedNode}}}return void 0}parseChild(openedBracketIds,level){this._itemsConstructed++;const token=this.tokenizer.read();switch(token.kind){case 2:return new InvalidBracketAstNode(token.bracketIds,token.length);case 0:return token.astNode;case 1:{if(level>300){return new TextAstNode(token.length)}const set=openedBracketIds.merge(token.bracketIds);const child=this.parseList(set,level+1);const nextToken=this.tokenizer.peek();if(nextToken&&nextToken.kind===2&&(nextToken.bracketId===token.bracketId||nextToken.bracketIds.intersects(token.bracketIds))){this.tokenizer.read();return PairAstNode.create(token.astNode,child,nextToken.astNode)}else{return PairAstNode.create(token.astNode,child,null)}}default:throw new Error("unexpected")}}}}});function combineTextEditInfos(textEditInfoFirst,textEditInfoSecond){if(textEditInfoFirst.length===0){return textEditInfoSecond}if(textEditInfoSecond.length===0){return textEditInfoFirst}const s0ToS1Map=new ArrayQueue(toLengthMapping(textEditInfoFirst));const s1ToS2Map=toLengthMapping(textEditInfoSecond);s1ToS2Map.push({modified:false,lengthBefore:void 0,lengthAfter:void 0});let curItem=s0ToS1Map.dequeue();function nextS0ToS1MapWithS1LengthOf(s1Length){if(s1Length===void 0){const arr=s0ToS1Map.takeWhile((v=>true))||[];if(curItem){arr.unshift(curItem)}return arr}const result2=[];while(curItem&&!lengthIsZero(s1Length)){const[item,remainingItem]=curItem.splitAt(s1Length);result2.push(item);s1Length=lengthDiffNonNegative(item.lengthAfter,s1Length);curItem=remainingItem!==null&&remainingItem!==void 0?remainingItem:s0ToS1Map.dequeue()}if(!lengthIsZero(s1Length)){result2.push(new LengthMapping(false,s1Length,s1Length))}return result2}const result=[];function pushEdit(startOffset,endOffset,newLength){if(result.length>0&&lengthEquals(result[result.length-1].endOffset,startOffset)){const lastResult=result[result.length-1];result[result.length-1]=new TextEditInfo(lastResult.startOffset,endOffset,lengthAdd(lastResult.newLength,newLength))}else{result.push({startOffset:startOffset,endOffset:endOffset,newLength:newLength})}}let s0offset=lengthZero;for(const s1ToS2 of s1ToS2Map){const s0ToS1Map2=nextS0ToS1MapWithS1LengthOf(s1ToS2.lengthBefore);if(s1ToS2.modified){const s0Length=sumLengths(s0ToS1Map2,(s=>s.lengthBefore));const s0EndOffset=lengthAdd(s0offset,s0Length);pushEdit(s0offset,s0EndOffset,s1ToS2.lengthAfter);s0offset=s0EndOffset}else{for(const s1 of s0ToS1Map2){const s0startOffset=s0offset;s0offset=lengthAdd(s0offset,s1.lengthBefore);if(s1.modified){pushEdit(s0startOffset,s0offset,s1.lengthAfter)}}}}return result}function toLengthMapping(textEditInfos){const result=[];let lastOffset=lengthZero;for(const textEditInfo of textEditInfos){const spaceLength=lengthDiffNonNegative(lastOffset,textEditInfo.startOffset);if(!lengthIsZero(spaceLength)){result.push(new LengthMapping(false,spaceLength,spaceLength))}const lengthBefore=lengthDiffNonNegative(textEditInfo.startOffset,textEditInfo.endOffset);result.push(new LengthMapping(true,lengthBefore,textEditInfo.newLength));lastOffset=textEditInfo.endOffset}return result}var LengthMapping;var init_combineTextEditInfos=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/combineTextEditInfos.js"(){init_arrays();init_beforeEditPositionMapper();init_length();LengthMapping=class{constructor(modified,lengthBefore,lengthAfter){this.modified=modified;this.lengthBefore=lengthBefore;this.lengthAfter=lengthAfter}splitAt(lengthAfter){const remainingLengthAfter=lengthDiffNonNegative(lengthAfter,this.lengthAfter);if(lengthEquals(remainingLengthAfter,lengthZero)){return[this,void 0]}else if(this.modified){return[new LengthMapping(this.modified,this.lengthBefore,lengthAfter),new LengthMapping(this.modified,lengthZero,remainingLengthAfter)]}else{return[new LengthMapping(this.modified,lengthAfter,lengthAfter),new LengthMapping(this.modified,remainingLengthAfter,remainingLengthAfter)]}}toString(){return`${this.modified?"M":"U"}:${lengthToObj(this.lengthBefore)} -> ${lengthToObj(this.lengthAfter)}`}}}});function getFirstBracketBefore(node,nodeOffsetStart,nodeOffsetEnd,position){if(node.kind===4||node.kind===2){const lengths=[];for(const child of node.children){nodeOffsetEnd=lengthAdd(nodeOffsetStart,child.length);lengths.push({nodeOffsetStart:nodeOffsetStart,nodeOffsetEnd:nodeOffsetEnd});nodeOffsetStart=nodeOffsetEnd}for(let i=lengths.length-1;i>=0;i--){const{nodeOffsetStart:nodeOffsetStart2,nodeOffsetEnd:nodeOffsetEnd2}=lengths[i];if(lengthLessThan(nodeOffsetStart2,position)){const result=getFirstBracketBefore(node.children[i],nodeOffsetStart2,nodeOffsetEnd2,position);if(result){return result}}}return null}else if(node.kind===3){return null}else if(node.kind===1){const range2=lengthsToRange(nodeOffsetStart,nodeOffsetEnd);return{bracketInfo:node.bracketInfo,range:range2}}return null}function getFirstBracketAfter(node,nodeOffsetStart,nodeOffsetEnd,position){if(node.kind===4||node.kind===2){for(const child of node.children){nodeOffsetEnd=lengthAdd(nodeOffsetStart,child.length);if(lengthLessThan(position,nodeOffsetEnd)){const result=getFirstBracketAfter(child,nodeOffsetStart,nodeOffsetEnd,position);if(result){return result}}nodeOffsetStart=nodeOffsetEnd}return null}else if(node.kind===3){return null}else if(node.kind===1){const range2=lengthsToRange(nodeOffsetStart,nodeOffsetEnd);return{bracketInfo:node.bracketInfo,range:range2}}return null}function collectBrackets(node,nodeOffsetStart,nodeOffsetEnd,startOffset,endOffset,push,level,nestingLevelOfEqualBracketType,levelPerBracketType,onlyColorizedBrackets,parentPairIsIncomplete=false){if(level>200){return true}whileLoop:while(true){switch(node.kind){case 4:{const childCount=node.childrenLength;for(let i=0;i<childCount;i++){const child=node.getChild(i);if(!child){continue}nodeOffsetEnd=lengthAdd(nodeOffsetStart,child.length);if(lengthLessThanEqual(nodeOffsetStart,endOffset)&&lengthGreaterThanEqual(nodeOffsetEnd,startOffset)){const childEndsAfterEnd=lengthGreaterThanEqual(nodeOffsetEnd,endOffset);if(childEndsAfterEnd){node=child;continue whileLoop}const shouldContinue=collectBrackets(child,nodeOffsetStart,nodeOffsetEnd,startOffset,endOffset,push,level,0,levelPerBracketType,onlyColorizedBrackets);if(!shouldContinue){return false}}nodeOffsetStart=nodeOffsetEnd}return true}case 2:{const colorize2=!onlyColorizedBrackets||!node.closingBracket||node.closingBracket.bracketInfo.closesColorized(node.openingBracket.bracketInfo);let levelPerBracket=0;if(levelPerBracketType){let existing=levelPerBracketType.get(node.openingBracket.text);if(existing===void 0){existing=0}levelPerBracket=existing;if(colorize2){existing++;levelPerBracketType.set(node.openingBracket.text,existing)}}const childCount=node.childrenLength;for(let i=0;i<childCount;i++){const child=node.getChild(i);if(!child){continue}nodeOffsetEnd=lengthAdd(nodeOffsetStart,child.length);if(lengthLessThanEqual(nodeOffsetStart,endOffset)&&lengthGreaterThanEqual(nodeOffsetEnd,startOffset)){const childEndsAfterEnd=lengthGreaterThanEqual(nodeOffsetEnd,endOffset);if(childEndsAfterEnd&&child.kind!==1){node=child;if(colorize2){level++;nestingLevelOfEqualBracketType=levelPerBracket+1}else{nestingLevelOfEqualBracketType=levelPerBracket}continue whileLoop}if(colorize2||child.kind!==1||!node.closingBracket){const shouldContinue=collectBrackets(child,nodeOffsetStart,nodeOffsetEnd,startOffset,endOffset,push,colorize2?level+1:level,colorize2?levelPerBracket+1:levelPerBracket,levelPerBracketType,onlyColorizedBrackets,!node.closingBracket);if(!shouldContinue){return false}}}nodeOffsetStart=nodeOffsetEnd}levelPerBracketType===null||levelPerBracketType===void 0?void 0:levelPerBracketType.set(node.openingBracket.text,levelPerBracket);return true}case 3:{const range2=lengthsToRange(nodeOffsetStart,nodeOffsetEnd);return push(new BracketInfo(range2,level-1,0,true))}case 1:{const range2=lengthsToRange(nodeOffsetStart,nodeOffsetEnd);return push(new BracketInfo(range2,level-1,nestingLevelOfEqualBracketType-1,parentPairIsIncomplete))}case 0:return true}}}function collectBracketPairs(node,nodeOffsetStart,nodeOffsetEnd,startOffset,endOffset,context,level,levelPerBracketType){var _a6;if(level>200){return true}let shouldContinue=true;if(node.kind===2){let levelPerBracket=0;if(levelPerBracketType){let existing=levelPerBracketType.get(node.openingBracket.text);if(existing===void 0){existing=0}levelPerBracket=existing;existing++;levelPerBracketType.set(node.openingBracket.text,existing)}const openingBracketEnd=lengthAdd(nodeOffsetStart,node.openingBracket.length);let minIndentation=-1;if(context.includeMinIndentation){minIndentation=node.computeMinIndentation(nodeOffsetStart,context.textModel)}shouldContinue=context.push(new BracketPairWithMinIndentationInfo(lengthsToRange(nodeOffsetStart,nodeOffsetEnd),lengthsToRange(nodeOffsetStart,openingBracketEnd),node.closingBracket?lengthsToRange(lengthAdd(openingBracketEnd,((_a6=node.child)===null||_a6===void 0?void 0:_a6.length)||lengthZero),nodeOffsetEnd):void 0,level,levelPerBracket,node,minIndentation));nodeOffsetStart=openingBracketEnd;if(shouldContinue&&node.child){const child=node.child;nodeOffsetEnd=lengthAdd(nodeOffsetStart,child.length);if(lengthLessThanEqual(nodeOffsetStart,endOffset)&&lengthGreaterThanEqual(nodeOffsetEnd,startOffset)){shouldContinue=collectBracketPairs(child,nodeOffsetStart,nodeOffsetEnd,startOffset,endOffset,context,level+1,levelPerBracketType);if(!shouldContinue){return false}}}levelPerBracketType===null||levelPerBracketType===void 0?void 0:levelPerBracketType.set(node.openingBracket.text,levelPerBracket)}else{let curOffset=nodeOffsetStart;for(const child of node.children){const childOffset=curOffset;curOffset=lengthAdd(curOffset,child.length);if(lengthLessThanEqual(childOffset,endOffset)&&lengthLessThanEqual(startOffset,curOffset)){shouldContinue=collectBracketPairs(child,childOffset,curOffset,startOffset,endOffset,context,level,levelPerBracketType);if(!shouldContinue){return false}}}}return shouldContinue}var BracketPairsTree,CollectBracketPairsContext;var init_bracketPairsTree=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/bracketPairsTree.js"(){init_event();init_lifecycle();init_textModelBracketPairs();init_beforeEditPositionMapper();init_brackets();init_length();init_parser();init_smallImmutableSet();init_tokenizer();init_arrays();init_combineTextEditInfos();BracketPairsTree=class extends Disposable{didLanguageChange(languageId){return this.brackets.didLanguageChange(languageId)}constructor(textModel,getLanguageConfiguration){super();this.textModel=textModel;this.getLanguageConfiguration=getLanguageConfiguration;this.didChangeEmitter=new Emitter;this.denseKeyProvider=new DenseKeyProvider;this.brackets=new LanguageAgnosticBracketTokens(this.denseKeyProvider,this.getLanguageConfiguration);this.onDidChange=this.didChangeEmitter.event;this.queuedTextEditsForInitialAstWithoutTokens=[];this.queuedTextEdits=[];if(!textModel.tokenization.hasTokens){const brackets=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId());const tokenizer=new FastTokenizer(this.textModel.getValue(),brackets);this.initialAstWithoutTokens=parseDocument(tokenizer,[],void 0,true);this.astWithTokens=this.initialAstWithoutTokens}else if(textModel.tokenization.backgroundTokenizationState===2){this.initialAstWithoutTokens=void 0;this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,false)}else{this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,true);this.astWithTokens=this.initialAstWithoutTokens}}handleDidChangeBackgroundTokenizationState(){if(this.textModel.tokenization.backgroundTokenizationState===2){const wasUndefined=this.initialAstWithoutTokens===void 0;this.initialAstWithoutTokens=void 0;if(!wasUndefined){this.didChangeEmitter.fire()}}}handleDidChangeTokens({ranges:ranges}){const edits=ranges.map((r=>new TextEditInfo(toLength(r.fromLineNumber-1,0),toLength(r.toLineNumber,0),toLength(r.toLineNumber-r.fromLineNumber+1,0))));this.handleEdits(edits,true);if(!this.initialAstWithoutTokens){this.didChangeEmitter.fire()}}handleContentChanged(change){const edits=TextEditInfo.fromModelContentChanges(change.changes);this.handleEdits(edits,false)}handleEdits(edits,tokenChange){const result=combineTextEditInfos(this.queuedTextEdits,edits);this.queuedTextEdits=result;if(this.initialAstWithoutTokens&&!tokenChange){this.queuedTextEditsForInitialAstWithoutTokens=combineTextEditInfos(this.queuedTextEditsForInitialAstWithoutTokens,edits)}}flushQueue(){if(this.queuedTextEdits.length>0){this.astWithTokens=this.parseDocumentFromTextBuffer(this.queuedTextEdits,this.astWithTokens,false);this.queuedTextEdits=[]}if(this.queuedTextEditsForInitialAstWithoutTokens.length>0){if(this.initialAstWithoutTokens){this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(this.queuedTextEditsForInitialAstWithoutTokens,this.initialAstWithoutTokens,false)}this.queuedTextEditsForInitialAstWithoutTokens=[]}}parseDocumentFromTextBuffer(edits,previousAst,immutable){const isPure=false;const previousAstClone=isPure?previousAst===null||previousAst===void 0?void 0:previousAst.deepClone():previousAst;const tokenizer=new TextBufferTokenizer(this.textModel,this.brackets);const result=parseDocument(tokenizer,edits,previousAstClone,immutable);return result}getBracketsInRange(range2,onlyColorizedBrackets){this.flushQueue();const startOffset=toLength(range2.startLineNumber-1,range2.startColumn-1);const endOffset=toLength(range2.endLineNumber-1,range2.endColumn-1);return new CallbackIterable((cb=>{const node=this.initialAstWithoutTokens||this.astWithTokens;collectBrackets(node,lengthZero,node.length,startOffset,endOffset,cb,0,0,new Map,onlyColorizedBrackets)}))}getBracketPairsInRange(range2,includeMinIndentation){this.flushQueue();const startLength=positionToLength(range2.getStartPosition());const endLength=positionToLength(range2.getEndPosition());return new CallbackIterable((cb=>{const node=this.initialAstWithoutTokens||this.astWithTokens;const context=new CollectBracketPairsContext(cb,includeMinIndentation,this.textModel);collectBracketPairs(node,lengthZero,node.length,startLength,endLength,context,0,new Map)}))}getFirstBracketAfter(position){this.flushQueue();const node=this.initialAstWithoutTokens||this.astWithTokens;return getFirstBracketAfter(node,lengthZero,node.length,positionToLength(position))}getFirstBracketBefore(position){this.flushQueue();const node=this.initialAstWithoutTokens||this.astWithTokens;return getFirstBracketBefore(node,lengthZero,node.length,positionToLength(position))}};CollectBracketPairsContext=class{constructor(push,includeMinIndentation,textModel){this.push=push;this.includeMinIndentation=includeMinIndentation;this.textModel=textModel}}}});function createDisposableRef(object,disposable){return{object:object,dispose:()=>disposable===null||disposable===void 0?void 0:disposable.dispose()}}function createTimeBasedContinueBracketSearchPredicate(maxDuration){if(typeof maxDuration==="undefined"){return()=>true}else{const startTime=Date.now();return()=>Date.now()-startTime<=maxDuration}}function stripBracketSearchCanceled(result){if(result instanceof BracketSearchCanceled){return null}return result}var BracketPairsTextModelPart,BracketSearchCanceled;var init_bracketPairsImpl=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsImpl.js"(){init_arrays();init_event();init_lifecycle();init_range();init_supports();init_richEditBrackets();init_bracketPairsTree();BracketPairsTextModelPart=class extends Disposable{get canBuildAST(){const maxSupportedDocumentLength=5e4*100;return this.textModel.getValueLength()<=maxSupportedDocumentLength}constructor(textModel,languageConfigurationService){super();this.textModel=textModel;this.languageConfigurationService=languageConfigurationService;this.bracketPairsTree=this._register(new MutableDisposable);this.onDidChangeEmitter=new Emitter;this.onDidChange=this.onDidChangeEmitter.event;this.bracketsRequested=false;this._register(this.languageConfigurationService.onDidChange((e=>{var _a6;if(!e.languageId||((_a6=this.bracketPairsTree.value)===null||_a6===void 0?void 0:_a6.object.didLanguageChange(e.languageId))){this.bracketPairsTree.clear();this.updateBracketPairsTree()}})))}handleDidChangeOptions(e){this.bracketPairsTree.clear();this.updateBracketPairsTree()}handleDidChangeLanguage(e){this.bracketPairsTree.clear();this.updateBracketPairsTree()}handleDidChangeContent(change){var _a6;(_a6=this.bracketPairsTree.value)===null||_a6===void 0?void 0:_a6.object.handleContentChanged(change)}handleDidChangeBackgroundTokenizationState(){var _a6;(_a6=this.bracketPairsTree.value)===null||_a6===void 0?void 0:_a6.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(e){var _a6;(_a6=this.bracketPairsTree.value)===null||_a6===void 0?void 0:_a6.object.handleDidChangeTokens(e)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){const store=new DisposableStore;this.bracketPairsTree.value=createDisposableRef(store.add(new BracketPairsTree(this.textModel,(languageId=>this.languageConfigurationService.getLanguageConfiguration(languageId)))),store);store.add(this.bracketPairsTree.value.object.onDidChange((e=>this.onDidChangeEmitter.fire(e))));this.onDidChangeEmitter.fire()}}else{if(this.bracketPairsTree.value){this.bracketPairsTree.clear();this.onDidChangeEmitter.fire()}}}getBracketPairsInRange(range2){var _a6;this.bracketsRequested=true;this.updateBracketPairsTree();return((_a6=this.bracketPairsTree.value)===null||_a6===void 0?void 0:_a6.object.getBracketPairsInRange(range2,false))||CallbackIterable.empty}getBracketPairsInRangeWithMinIndentation(range2){var _a6;this.bracketsRequested=true;this.updateBracketPairsTree();return((_a6=this.bracketPairsTree.value)===null||_a6===void 0?void 0:_a6.object.getBracketPairsInRange(range2,true))||CallbackIterable.empty}getBracketsInRange(range2,onlyColorizedBrackets=false){var _a6;this.bracketsRequested=true;this.updateBracketPairsTree();return((_a6=this.bracketPairsTree.value)===null||_a6===void 0?void 0:_a6.object.getBracketsInRange(range2,onlyColorizedBrackets))||CallbackIterable.empty}findMatchingBracketUp(_bracket,_position,maxDuration){const position=this.textModel.validatePosition(_position);const languageId=this.textModel.getLanguageIdAtPosition(position.lineNumber,position.column);if(this.canBuildAST){const closingBracketInfo=this.languageConfigurationService.getLanguageConfiguration(languageId).bracketsNew.getClosingBracketInfo(_bracket);if(!closingBracketInfo){return null}const bracketPair=this.getBracketPairsInRange(Range.fromPositions(_position,_position)).findLast((b=>closingBracketInfo.closes(b.openingBracketInfo)));if(bracketPair){return bracketPair.openingBracketRange}return null}else{const bracket=_bracket.toLowerCase();const bracketsSupport=this.languageConfigurationService.getLanguageConfiguration(languageId).brackets;if(!bracketsSupport){return null}const data=bracketsSupport.textIsBracket[bracket];if(!data){return null}return stripBracketSearchCanceled(this._findMatchingBracketUp(data,position,createTimeBasedContinueBracketSearchPredicate(maxDuration)))}}matchBracket(position,maxDuration){if(this.canBuildAST){const bracketPair=this.getBracketPairsInRange(Range.fromPositions(position,position)).filter((item=>item.closingBracketRange!==void 0&&(item.openingBracketRange.containsPosition(position)||item.closingBracketRange.containsPosition(position)))).findLastMaxBy(compareBy((item=>item.openingBracketRange.containsPosition(position)?item.openingBracketRange:item.closingBracketRange),Range.compareRangesUsingStarts));if(bracketPair){return[bracketPair.openingBracketRange,bracketPair.closingBracketRange]}return null}else{const continueSearchPredicate=createTimeBasedContinueBracketSearchPredicate(maxDuration);return this._matchBracket(this.textModel.validatePosition(position),continueSearchPredicate)}}_establishBracketSearchOffsets(position,lineTokens,modeBrackets,tokenIndex){const tokenCount=lineTokens.getCount();const currentLanguageId=lineTokens.getLanguageId(tokenIndex);let searchStartOffset=Math.max(0,position.column-1-modeBrackets.maxBracketLength);for(let i=tokenIndex-1;i>=0;i--){const tokenEndOffset=lineTokens.getEndOffset(i);if(tokenEndOffset<=searchStartOffset){break}if(ignoreBracketsInToken(lineTokens.getStandardTokenType(i))||lineTokens.getLanguageId(i)!==currentLanguageId){searchStartOffset=tokenEndOffset;break}}let searchEndOffset=Math.min(lineTokens.getLineContent().length,position.column-1+modeBrackets.maxBracketLength);for(let i=tokenIndex+1;i<tokenCount;i++){const tokenStartOffset=lineTokens.getStartOffset(i);if(tokenStartOffset>=searchEndOffset){break}if(ignoreBracketsInToken(lineTokens.getStandardTokenType(i))||lineTokens.getLanguageId(i)!==currentLanguageId){searchEndOffset=tokenStartOffset;break}}return{searchStartOffset:searchStartOffset,searchEndOffset:searchEndOffset}}_matchBracket(position,continueSearchPredicate){const lineNumber=position.lineNumber;const lineTokens=this.textModel.tokenization.getLineTokens(lineNumber);const lineText=this.textModel.getLineContent(lineNumber);const tokenIndex=lineTokens.findTokenIndexAtOffset(position.column-1);if(tokenIndex<0){return null}const currentModeBrackets=this.languageConfigurationService.getLanguageConfiguration(lineTokens.getLanguageId(tokenIndex)).brackets;if(currentModeBrackets&&!ignoreBracketsInToken(lineTokens.getStandardTokenType(tokenIndex))){let{searchStartOffset:searchStartOffset,searchEndOffset:searchEndOffset}=this._establishBracketSearchOffsets(position,lineTokens,currentModeBrackets,tokenIndex);let bestResult=null;while(true){const foundBracket=BracketsUtils.findNextBracketInRange(currentModeBrackets.forwardRegex,lineNumber,lineText,searchStartOffset,searchEndOffset);if(!foundBracket){break}if(foundBracket.startColumn<=position.column&&position.column<=foundBracket.endColumn){const foundBracketText=lineText.substring(foundBracket.startColumn-1,foundBracket.endColumn-1).toLowerCase();const r=this._matchFoundBracket(foundBracket,currentModeBrackets.textIsBracket[foundBracketText],currentModeBrackets.textIsOpenBracket[foundBracketText],continueSearchPredicate);if(r){if(r instanceof BracketSearchCanceled){return null}bestResult=r}}searchStartOffset=foundBracket.endColumn-1}if(bestResult){return bestResult}}if(tokenIndex>0&&lineTokens.getStartOffset(tokenIndex)===position.column-1){const prevTokenIndex=tokenIndex-1;const prevModeBrackets=this.languageConfigurationService.getLanguageConfiguration(lineTokens.getLanguageId(prevTokenIndex)).brackets;if(prevModeBrackets&&!ignoreBracketsInToken(lineTokens.getStandardTokenType(prevTokenIndex))){const{searchStartOffset:searchStartOffset,searchEndOffset:searchEndOffset}=this._establishBracketSearchOffsets(position,lineTokens,prevModeBrackets,prevTokenIndex);const foundBracket=BracketsUtils.findPrevBracketInRange(prevModeBrackets.reversedRegex,lineNumber,lineText,searchStartOffset,searchEndOffset);if(foundBracket&&foundBracket.startColumn<=position.column&&position.column<=foundBracket.endColumn){const foundBracketText=lineText.substring(foundBracket.startColumn-1,foundBracket.endColumn-1).toLowerCase();const r=this._matchFoundBracket(foundBracket,prevModeBrackets.textIsBracket[foundBracketText],prevModeBrackets.textIsOpenBracket[foundBracketText],continueSearchPredicate);if(r){if(r instanceof BracketSearchCanceled){return null}return r}}}}return null}_matchFoundBracket(foundBracket,data,isOpen,continueSearchPredicate){if(!data){return null}const matched=isOpen?this._findMatchingBracketDown(data,foundBracket.getEndPosition(),continueSearchPredicate):this._findMatchingBracketUp(data,foundBracket.getStartPosition(),continueSearchPredicate);if(!matched){return null}if(matched instanceof BracketSearchCanceled){return matched}return[foundBracket,matched]}_findMatchingBracketUp(bracket,position,continueSearchPredicate){const languageId=bracket.languageId;const reversedBracketRegex=bracket.reversedRegex;let count=-1;let totalCallCount=0;const searchPrevMatchingBracketInRange=(lineNumber,lineText,searchStartOffset,searchEndOffset)=>{while(true){if(continueSearchPredicate&&++totalCallCount%100===0&&!continueSearchPredicate()){return BracketSearchCanceled.INSTANCE}const r=BracketsUtils.findPrevBracketInRange(reversedBracketRegex,lineNumber,lineText,searchStartOffset,searchEndOffset);if(!r){break}const hitText=lineText.substring(r.startColumn-1,r.endColumn-1).toLowerCase();if(bracket.isOpen(hitText)){count++}else if(bracket.isClose(hitText)){count--}if(count===0){return r}searchEndOffset=r.startColumn-1}return null};for(let lineNumber=position.lineNumber;lineNumber>=1;lineNumber--){const lineTokens=this.textModel.tokenization.getLineTokens(lineNumber);const tokenCount=lineTokens.getCount();const lineText=this.textModel.getLineContent(lineNumber);let tokenIndex=tokenCount-1;let searchStartOffset=lineText.length;let searchEndOffset=lineText.length;if(lineNumber===position.lineNumber){tokenIndex=lineTokens.findTokenIndexAtOffset(position.column-1);searchStartOffset=position.column-1;searchEndOffset=position.column-1}let prevSearchInToken=true;for(;tokenIndex>=0;tokenIndex--){const searchInToken=lineTokens.getLanguageId(tokenIndex)===languageId&&!ignoreBracketsInToken(lineTokens.getStandardTokenType(tokenIndex));if(searchInToken){if(prevSearchInToken){searchStartOffset=lineTokens.getStartOffset(tokenIndex)}else{searchStartOffset=lineTokens.getStartOffset(tokenIndex);searchEndOffset=lineTokens.getEndOffset(tokenIndex)}}else{if(prevSearchInToken&&searchStartOffset!==searchEndOffset){const r=searchPrevMatchingBracketInRange(lineNumber,lineText,searchStartOffset,searchEndOffset);if(r){return r}}}prevSearchInToken=searchInToken}if(prevSearchInToken&&searchStartOffset!==searchEndOffset){const r=searchPrevMatchingBracketInRange(lineNumber,lineText,searchStartOffset,searchEndOffset);if(r){return r}}}return null}_findMatchingBracketDown(bracket,position,continueSearchPredicate){const languageId=bracket.languageId;const bracketRegex=bracket.forwardRegex;let count=1;let totalCallCount=0;const searchNextMatchingBracketInRange=(lineNumber,lineText,searchStartOffset,searchEndOffset)=>{while(true){if(continueSearchPredicate&&++totalCallCount%100===0&&!continueSearchPredicate()){return BracketSearchCanceled.INSTANCE}const r=BracketsUtils.findNextBracketInRange(bracketRegex,lineNumber,lineText,searchStartOffset,searchEndOffset);if(!r){break}const hitText=lineText.substring(r.startColumn-1,r.endColumn-1).toLowerCase();if(bracket.isOpen(hitText)){count++}else if(bracket.isClose(hitText)){count--}if(count===0){return r}searchStartOffset=r.endColumn-1}return null};const lineCount=this.textModel.getLineCount();for(let lineNumber=position.lineNumber;lineNumber<=lineCount;lineNumber++){const lineTokens=this.textModel.tokenization.getLineTokens(lineNumber);const tokenCount=lineTokens.getCount();const lineText=this.textModel.getLineContent(lineNumber);let tokenIndex=0;let searchStartOffset=0;let searchEndOffset=0;if(lineNumber===position.lineNumber){tokenIndex=lineTokens.findTokenIndexAtOffset(position.column-1);searchStartOffset=position.column-1;searchEndOffset=position.column-1}let prevSearchInToken=true;for(;tokenIndex<tokenCount;tokenIndex++){const searchInToken=lineTokens.getLanguageId(tokenIndex)===languageId&&!ignoreBracketsInToken(lineTokens.getStandardTokenType(tokenIndex));if(searchInToken){if(prevSearchInToken){searchEndOffset=lineTokens.getEndOffset(tokenIndex)}else{searchStartOffset=lineTokens.getStartOffset(tokenIndex);searchEndOffset=lineTokens.getEndOffset(tokenIndex)}}else{if(prevSearchInToken&&searchStartOffset!==searchEndOffset){const r=searchNextMatchingBracketInRange(lineNumber,lineText,searchStartOffset,searchEndOffset);if(r){return r}}}prevSearchInToken=searchInToken}if(prevSearchInToken&&searchStartOffset!==searchEndOffset){const r=searchNextMatchingBracketInRange(lineNumber,lineText,searchStartOffset,searchEndOffset);if(r){return r}}}return null}findPrevBracket(_position){var _a6;const position=this.textModel.validatePosition(_position);if(this.canBuildAST){this.bracketsRequested=true;this.updateBracketPairsTree();return((_a6=this.bracketPairsTree.value)===null||_a6===void 0?void 0:_a6.object.getFirstBracketBefore(position))||null}let languageId=null;let modeBrackets=null;let bracketConfig=null;for(let lineNumber=position.lineNumber;lineNumber>=1;lineNumber--){const lineTokens=this.textModel.tokenization.getLineTokens(lineNumber);const tokenCount=lineTokens.getCount();const lineText=this.textModel.getLineContent(lineNumber);let tokenIndex=tokenCount-1;let searchStartOffset=lineText.length;let searchEndOffset=lineText.length;if(lineNumber===position.lineNumber){tokenIndex=lineTokens.findTokenIndexAtOffset(position.column-1);searchStartOffset=position.column-1;searchEndOffset=position.column-1;const tokenLanguageId=lineTokens.getLanguageId(tokenIndex);if(languageId!==tokenLanguageId){languageId=tokenLanguageId;modeBrackets=this.languageConfigurationService.getLanguageConfiguration(languageId).brackets;bracketConfig=this.languageConfigurationService.getLanguageConfiguration(languageId).bracketsNew}}let prevSearchInToken=true;for(;tokenIndex>=0;tokenIndex--){const tokenLanguageId=lineTokens.getLanguageId(tokenIndex);if(languageId!==tokenLanguageId){if(modeBrackets&&bracketConfig&&prevSearchInToken&&searchStartOffset!==searchEndOffset){const r=BracketsUtils.findPrevBracketInRange(modeBrackets.reversedRegex,lineNumber,lineText,searchStartOffset,searchEndOffset);if(r){return this._toFoundBracket(bracketConfig,r)}prevSearchInToken=false}languageId=tokenLanguageId;modeBrackets=this.languageConfigurationService.getLanguageConfiguration(languageId).brackets;bracketConfig=this.languageConfigurationService.getLanguageConfiguration(languageId).bracketsNew}const searchInToken=!!modeBrackets&&!ignoreBracketsInToken(lineTokens.getStandardTokenType(tokenIndex));if(searchInToken){if(prevSearchInToken){searchStartOffset=lineTokens.getStartOffset(tokenIndex)}else{searchStartOffset=lineTokens.getStartOffset(tokenIndex);searchEndOffset=lineTokens.getEndOffset(tokenIndex)}}else{if(bracketConfig&&modeBrackets&&prevSearchInToken&&searchStartOffset!==searchEndOffset){const r=BracketsUtils.findPrevBracketInRange(modeBrackets.reversedRegex,lineNumber,lineText,searchStartOffset,searchEndOffset);if(r){return this._toFoundBracket(bracketConfig,r)}}}prevSearchInToken=searchInToken}if(bracketConfig&&modeBrackets&&prevSearchInToken&&searchStartOffset!==searchEndOffset){const r=BracketsUtils.findPrevBracketInRange(modeBrackets.reversedRegex,lineNumber,lineText,searchStartOffset,searchEndOffset);if(r){return this._toFoundBracket(bracketConfig,r)}}}return null}findNextBracket(_position){var _a6;const position=this.textModel.validatePosition(_position);if(this.canBuildAST){this.bracketsRequested=true;this.updateBracketPairsTree();return((_a6=this.bracketPairsTree.value)===null||_a6===void 0?void 0:_a6.object.getFirstBracketAfter(position))||null}const lineCount=this.textModel.getLineCount();let languageId=null;let modeBrackets=null;let bracketConfig=null;for(let lineNumber=position.lineNumber;lineNumber<=lineCount;lineNumber++){const lineTokens=this.textModel.tokenization.getLineTokens(lineNumber);const tokenCount=lineTokens.getCount();const lineText=this.textModel.getLineContent(lineNumber);let tokenIndex=0;let searchStartOffset=0;let searchEndOffset=0;if(lineNumber===position.lineNumber){tokenIndex=lineTokens.findTokenIndexAtOffset(position.column-1);searchStartOffset=position.column-1;searchEndOffset=position.column-1;const tokenLanguageId=lineTokens.getLanguageId(tokenIndex);if(languageId!==tokenLanguageId){languageId=tokenLanguageId;modeBrackets=this.languageConfigurationService.getLanguageConfiguration(languageId).brackets;bracketConfig=this.languageConfigurationService.getLanguageConfiguration(languageId).bracketsNew}}let prevSearchInToken=true;for(;tokenIndex<tokenCount;tokenIndex++){const tokenLanguageId=lineTokens.getLanguageId(tokenIndex);if(languageId!==tokenLanguageId){if(bracketConfig&&modeBrackets&&prevSearchInToken&&searchStartOffset!==searchEndOffset){const r=BracketsUtils.findNextBracketInRange(modeBrackets.forwardRegex,lineNumber,lineText,searchStartOffset,searchEndOffset);if(r){return this._toFoundBracket(bracketConfig,r)}prevSearchInToken=false}languageId=tokenLanguageId;modeBrackets=this.languageConfigurationService.getLanguageConfiguration(languageId).brackets;bracketConfig=this.languageConfigurationService.getLanguageConfiguration(languageId).bracketsNew}const searchInToken=!!modeBrackets&&!ignoreBracketsInToken(lineTokens.getStandardTokenType(tokenIndex));if(searchInToken){if(prevSearchInToken){searchEndOffset=lineTokens.getEndOffset(tokenIndex)}else{searchStartOffset=lineTokens.getStartOffset(tokenIndex);searchEndOffset=lineTokens.getEndOffset(tokenIndex)}}else{if(bracketConfig&&modeBrackets&&prevSearchInToken&&searchStartOffset!==searchEndOffset){const r=BracketsUtils.findNextBracketInRange(modeBrackets.forwardRegex,lineNumber,lineText,searchStartOffset,searchEndOffset);if(r){return this._toFoundBracket(bracketConfig,r)}}}prevSearchInToken=searchInToken}if(bracketConfig&&modeBrackets&&prevSearchInToken&&searchStartOffset!==searchEndOffset){const r=BracketsUtils.findNextBracketInRange(modeBrackets.forwardRegex,lineNumber,lineText,searchStartOffset,searchEndOffset);if(r){return this._toFoundBracket(bracketConfig,r)}}}return null}findEnclosingBrackets(_position,maxDuration){const position=this.textModel.validatePosition(_position);if(this.canBuildAST){const range2=Range.fromPositions(position);const bracketPair=this.getBracketPairsInRange(Range.fromPositions(position,position)).findLast((item=>item.closingBracketRange!==void 0&&item.range.strictContainsRange(range2)));if(bracketPair){return[bracketPair.openingBracketRange,bracketPair.closingBracketRange]}return null}const continueSearchPredicate=createTimeBasedContinueBracketSearchPredicate(maxDuration);const lineCount=this.textModel.getLineCount();const savedCounts=new Map;let counts=[];const resetCounts=(languageId2,modeBrackets2)=>{if(!savedCounts.has(languageId2)){const tmp=[];for(let i=0,len=modeBrackets2?modeBrackets2.brackets.length:0;i<len;i++){tmp[i]=0}savedCounts.set(languageId2,tmp)}counts=savedCounts.get(languageId2)};let totalCallCount=0;const searchInRange=(modeBrackets2,lineNumber,lineText,searchStartOffset,searchEndOffset)=>{while(true){if(continueSearchPredicate&&++totalCallCount%100===0&&!continueSearchPredicate()){return BracketSearchCanceled.INSTANCE}const r=BracketsUtils.findNextBracketInRange(modeBrackets2.forwardRegex,lineNumber,lineText,searchStartOffset,searchEndOffset);if(!r){break}const hitText=lineText.substring(r.startColumn-1,r.endColumn-1).toLowerCase();const bracket=modeBrackets2.textIsBracket[hitText];if(bracket){if(bracket.isOpen(hitText)){counts[bracket.index]++}else if(bracket.isClose(hitText)){counts[bracket.index]--}if(counts[bracket.index]===-1){return this._matchFoundBracket(r,bracket,false,continueSearchPredicate)}}searchStartOffset=r.endColumn-1}return null};let languageId=null;let modeBrackets=null;for(let lineNumber=position.lineNumber;lineNumber<=lineCount;lineNumber++){const lineTokens=this.textModel.tokenization.getLineTokens(lineNumber);const tokenCount=lineTokens.getCount();const lineText=this.textModel.getLineContent(lineNumber);let tokenIndex=0;let searchStartOffset=0;let searchEndOffset=0;if(lineNumber===position.lineNumber){tokenIndex=lineTokens.findTokenIndexAtOffset(position.column-1);searchStartOffset=position.column-1;searchEndOffset=position.column-1;const tokenLanguageId=lineTokens.getLanguageId(tokenIndex);if(languageId!==tokenLanguageId){languageId=tokenLanguageId;modeBrackets=this.languageConfigurationService.getLanguageConfiguration(languageId).brackets;resetCounts(languageId,modeBrackets)}}let prevSearchInToken=true;for(;tokenIndex<tokenCount;tokenIndex++){const tokenLanguageId=lineTokens.getLanguageId(tokenIndex);if(languageId!==tokenLanguageId){if(modeBrackets&&prevSearchInToken&&searchStartOffset!==searchEndOffset){const r=searchInRange(modeBrackets,lineNumber,lineText,searchStartOffset,searchEndOffset);if(r){return stripBracketSearchCanceled(r)}prevSearchInToken=false}languageId=tokenLanguageId;modeBrackets=this.languageConfigurationService.getLanguageConfiguration(languageId).brackets;resetCounts(languageId,modeBrackets)}const searchInToken=!!modeBrackets&&!ignoreBracketsInToken(lineTokens.getStandardTokenType(tokenIndex));if(searchInToken){if(prevSearchInToken){searchEndOffset=lineTokens.getEndOffset(tokenIndex)}else{searchStartOffset=lineTokens.getStartOffset(tokenIndex);searchEndOffset=lineTokens.getEndOffset(tokenIndex)}}else{if(modeBrackets&&prevSearchInToken&&searchStartOffset!==searchEndOffset){const r=searchInRange(modeBrackets,lineNumber,lineText,searchStartOffset,searchEndOffset);if(r){return stripBracketSearchCanceled(r)}}}prevSearchInToken=searchInToken}if(modeBrackets&&prevSearchInToken&&searchStartOffset!==searchEndOffset){const r=searchInRange(modeBrackets,lineNumber,lineText,searchStartOffset,searchEndOffset);if(r){return stripBracketSearchCanceled(r)}}}return null}_toFoundBracket(bracketConfig,r){if(!r){return null}let text2=this.textModel.getValueInRange(r);text2=text2.toLowerCase();const bracketInfo=bracketConfig.getBracketInfo(text2);if(!bracketInfo){return null}return{range:r,bracketInfo:bracketInfo}}};BracketSearchCanceled=class{constructor(){this._searchCanceledBrand=void 0}};BracketSearchCanceled.INSTANCE=new BracketSearchCanceled}});var ColorizedBracketPairsDecorationProvider,ColorProvider;var init_colorizedBracketPairsDecorationProvider=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/bracketPairsTextModelPart/colorizedBracketPairsDecorationProvider.js"(){init_event();init_lifecycle();init_range();init_editorColorRegistry();init_themeService();ColorizedBracketPairsDecorationProvider=class extends Disposable{constructor(textModel){super();this.textModel=textModel;this.colorProvider=new ColorProvider;this.onDidChangeEmitter=new Emitter;this.onDidChange=this.onDidChangeEmitter.event;this.colorizationOptions=textModel.getOptions().bracketPairColorizationOptions;this._register(textModel.bracketPairs.onDidChange((e=>{this.onDidChangeEmitter.fire()})))}handleDidChangeOptions(e){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(range2,ownerId,filterOutValidation,onlyMinimapDecorations){if(onlyMinimapDecorations){return[]}if(ownerId===void 0){return[]}if(!this.colorizationOptions.enabled){return[]}const result=this.textModel.bracketPairs.getBracketsInRange(range2,true).map((bracket=>({id:`bracket${bracket.range.toString()}-${bracket.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(bracket,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:bracket.range}))).toArray();return result}getAllDecorations(ownerId,filterOutValidation){if(ownerId===void 0){return[]}if(!this.colorizationOptions.enabled){return[]}return this.getDecorationsInRange(new Range(1,1,this.textModel.getLineCount(),1),ownerId,filterOutValidation)}};ColorProvider=class{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(bracket,independentColorPoolPerBracketType){if(bracket.isInvalid){return this.unexpectedClosingBracketClassName}return this.getInlineClassNameOfLevel(independentColorPoolPerBracketType?bracket.nestingLevelOfEqualBracketType:bracket.nestingLevel)}getInlineClassNameOfLevel(level){return`bracket-highlighting-${level%30}`}};registerThemingParticipant(((theme,collector)=>{const colors=[editorBracketHighlightingForeground1,editorBracketHighlightingForeground2,editorBracketHighlightingForeground3,editorBracketHighlightingForeground4,editorBracketHighlightingForeground5,editorBracketHighlightingForeground6];const colorProvider=new ColorProvider;collector.addRule(`.monaco-editor .${colorProvider.unexpectedClosingBracketClassName} { color: ${theme.getColor(editorBracketHighlightingUnexpectedBracketForeground)}; }`);const colorValues=colors.map((c=>theme.getColor(c))).filter((c=>!!c)).filter((c=>!c.isTransparent()));for(let level=0;level<30;level++){const color=colorValues[level%colorValues.length];collector.addRule(`.monaco-editor .${colorProvider.getInlineClassNameOfLevel(level)} { color: ${color}; }`)}}))}});function escapeNewLine(str){return str.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}function compressConsecutiveTextChanges(prevEdits,currEdits){if(prevEdits===null||prevEdits.length===0){return currEdits}const compressor=new TextChangeCompressor(prevEdits,currEdits);return compressor.compress()}var TextChange,TextChangeCompressor;var init_textChange=__esm({"node_modules/monaco-editor/esm/vs/editor/common/core/textChange.js"(){init_buffer();init_stringBuilder();TextChange=class{get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(oldPosition,oldText,newPosition,newText){this.oldPosition=oldPosition;this.oldText=oldText;this.newPosition=newPosition;this.newText=newText}toString(){if(this.oldText.length===0){return`(insert@${this.oldPosition} "${escapeNewLine(this.newText)}")`}if(this.newText.length===0){return`(delete@${this.oldPosition} "${escapeNewLine(this.oldText)}")`}return`(replace@${this.oldPosition} "${escapeNewLine(this.oldText)}" with "${escapeNewLine(this.newText)}")`}static _writeStringSize(str){return 4+2*str.length}static _writeString(b,str,offset){const len=str.length;writeUInt32BE(b,len,offset);offset+=4;for(let i=0;i<len;i++){writeUInt16LE(b,str.charCodeAt(i),offset);offset+=2}return offset}static _readString(b,offset){const len=readUInt32BE(b,offset);offset+=4;return decodeUTF16LE(b,offset,len)}writeSize(){return 4+4+TextChange._writeStringSize(this.oldText)+TextChange._writeStringSize(this.newText)}write(b,offset){writeUInt32BE(b,this.oldPosition,offset);offset+=4;writeUInt32BE(b,this.newPosition,offset);offset+=4;offset=TextChange._writeString(b,this.oldText,offset);offset=TextChange._writeString(b,this.newText,offset);return offset}static read(b,offset,dest){const oldPosition=readUInt32BE(b,offset);offset+=4;const newPosition=readUInt32BE(b,offset);offset+=4;const oldText=TextChange._readString(b,offset);offset+=TextChange._writeStringSize(oldText);const newText=TextChange._readString(b,offset);offset+=TextChange._writeStringSize(newText);dest.push(new TextChange(oldPosition,oldText,newPosition,newText));return offset}};TextChangeCompressor=class{constructor(prevEdits,currEdits){this._prevEdits=prevEdits;this._currEdits=currEdits;this._result=[];this._resultLen=0;this._prevLen=this._prevEdits.length;this._prevDeltaOffset=0;this._currLen=this._currEdits.length;this._currDeltaOffset=0}compress(){let prevIndex=0;let currIndex=0;let prevEdit=this._getPrev(prevIndex);let currEdit=this._getCurr(currIndex);while(prevIndex<this._prevLen||currIndex<this._currLen){if(prevEdit===null){this._acceptCurr(currEdit);currEdit=this._getCurr(++currIndex);continue}if(currEdit===null){this._acceptPrev(prevEdit);prevEdit=this._getPrev(++prevIndex);continue}if(currEdit.oldEnd<=prevEdit.newPosition){this._acceptCurr(currEdit);currEdit=this._getCurr(++currIndex);continue}if(prevEdit.newEnd<=currEdit.oldPosition){this._acceptPrev(prevEdit);prevEdit=this._getPrev(++prevIndex);continue}if(currEdit.oldPosition<prevEdit.newPosition){const[e1,e2]=TextChangeCompressor._splitCurr(currEdit,prevEdit.newPosition-currEdit.oldPosition);this._acceptCurr(e1);currEdit=e2;continue}if(prevEdit.newPosition<currEdit.oldPosition){const[e1,e2]=TextChangeCompressor._splitPrev(prevEdit,currEdit.oldPosition-prevEdit.newPosition);this._acceptPrev(e1);prevEdit=e2;continue}let mergePrev;let mergeCurr;if(currEdit.oldEnd===prevEdit.newEnd){mergePrev=prevEdit;mergeCurr=currEdit;prevEdit=this._getPrev(++prevIndex);currEdit=this._getCurr(++currIndex)}else if(currEdit.oldEnd<prevEdit.newEnd){const[e1,e2]=TextChangeCompressor._splitPrev(prevEdit,currEdit.oldLength);mergePrev=e1;mergeCurr=currEdit;prevEdit=e2;currEdit=this._getCurr(++currIndex)}else{const[e1,e2]=TextChangeCompressor._splitCurr(currEdit,prevEdit.newLength);mergePrev=prevEdit;mergeCurr=e1;prevEdit=this._getPrev(++prevIndex);currEdit=e2}this._result[this._resultLen++]=new TextChange(mergePrev.oldPosition,mergePrev.oldText,mergeCurr.newPosition,mergeCurr.newText);this._prevDeltaOffset+=mergePrev.newLength-mergePrev.oldLength;this._currDeltaOffset+=mergeCurr.newLength-mergeCurr.oldLength}const merged=TextChangeCompressor._merge(this._result);const cleaned=TextChangeCompressor._removeNoOps(merged);return cleaned}_acceptCurr(currEdit){this._result[this._resultLen++]=TextChangeCompressor._rebaseCurr(this._prevDeltaOffset,currEdit);this._currDeltaOffset+=currEdit.newLength-currEdit.oldLength}_getCurr(currIndex){return currIndex<this._currLen?this._currEdits[currIndex]:null}_acceptPrev(prevEdit){this._result[this._resultLen++]=TextChangeCompressor._rebasePrev(this._currDeltaOffset,prevEdit);this._prevDeltaOffset+=prevEdit.newLength-prevEdit.oldLength}_getPrev(prevIndex){return prevIndex<this._prevLen?this._prevEdits[prevIndex]:null}static _rebaseCurr(prevDeltaOffset,currEdit){return new TextChange(currEdit.oldPosition-prevDeltaOffset,currEdit.oldText,currEdit.newPosition,currEdit.newText)}static _rebasePrev(currDeltaOffset,prevEdit){return new TextChange(prevEdit.oldPosition,prevEdit.oldText,prevEdit.newPosition+currDeltaOffset,prevEdit.newText)}static _splitPrev(edit,offset){const preText=edit.newText.substr(0,offset);const postText=edit.newText.substr(offset);return[new TextChange(edit.oldPosition,edit.oldText,edit.newPosition,preText),new TextChange(edit.oldEnd,"",edit.newPosition+offset,postText)]}static _splitCurr(edit,offset){const preText=edit.oldText.substr(0,offset);const postText=edit.oldText.substr(offset);return[new TextChange(edit.oldPosition,preText,edit.newPosition,edit.newText),new TextChange(edit.oldPosition+offset,postText,edit.newEnd,"")]}static _merge(edits){if(edits.length===0){return edits}const result=[];let resultLen=0;let prev=edits[0];for(let i=1;i<edits.length;i++){const curr=edits[i];if(prev.oldEnd===curr.oldPosition){prev=new TextChange(prev.oldPosition,prev.oldText+curr.oldText,prev.newPosition,prev.newText+curr.newText)}else{result[resultLen++]=prev;prev=curr}}result[resultLen++]=prev;return result}static _removeNoOps(edits){if(edits.length===0){return edits}const result=[];let resultLen=0;for(let i=0;i<edits.length;i++){const edit=edits[i];if(edit.oldText===edit.newText){continue}result[resultLen++]=edit}return result}}}});function isPathSeparator2(code){return code===47||code===92}function toSlashes(osPath){return osPath.replace(/[\\/]/g,posix.sep)}function toPosixPath(osPath){if(osPath.indexOf("/")===-1){osPath=toSlashes(osPath)}if(/^[a-zA-Z]:(\/|$)/.test(osPath)){osPath="/"+osPath}return osPath}function getRoot(path,sep2=posix.sep){if(!path){return""}const len=path.length;const firstLetter=path.charCodeAt(0);if(isPathSeparator2(firstLetter)){if(isPathSeparator2(path.charCodeAt(1))){if(!isPathSeparator2(path.charCodeAt(2))){let pos2=3;const start=pos2;for(;pos2<len;pos2++){if(isPathSeparator2(path.charCodeAt(pos2))){break}}if(start!==pos2&&!isPathSeparator2(path.charCodeAt(pos2+1))){pos2+=1;for(;pos2<len;pos2++){if(isPathSeparator2(path.charCodeAt(pos2))){return path.slice(0,pos2+1).replace(/[\\/]/g,sep2)}}}}}return sep2}else if(isWindowsDriveLetter(firstLetter)){if(path.charCodeAt(1)===58){if(isPathSeparator2(path.charCodeAt(2))){return path.slice(0,2)+sep2}else{return path.slice(0,2)}}}let pos=path.indexOf("://");if(pos!==-1){pos+=3;for(;pos<len;pos++){if(isPathSeparator2(path.charCodeAt(pos))){return path.slice(0,pos+1)}}}return""}function isEqualOrParent(base,parentCandidate,ignoreCase,separator=sep){if(base===parentCandidate){return true}if(!base||!parentCandidate){return false}if(parentCandidate.length>base.length){return false}if(ignoreCase){const beginsWith=startsWithIgnoreCase(base,parentCandidate);if(!beginsWith){return false}if(parentCandidate.length===base.length){return true}let sepOffset=parentCandidate.length;if(parentCandidate.charAt(parentCandidate.length-1)===separator){sepOffset--}return base.charAt(sepOffset)===separator}if(parentCandidate.charAt(parentCandidate.length-1)!==separator){parentCandidate+=separator}return base.indexOf(parentCandidate)===0}function isWindowsDriveLetter(char0){return char0>=65&&char0<=90||char0>=97&&char0<=122}function hasDriveLetter(path,isWindowsOS=isWindows){if(isWindowsOS){return isWindowsDriveLetter(path.charCodeAt(0))&&path.charCodeAt(1)===58}return false}var init_extpath=__esm({"node_modules/monaco-editor/esm/vs/base/common/extpath.js"(){init_path();init_platform();init_strings()}});function originalFSPath(uri){return uriToFsPath(uri,true)}var ExtUri,extUri,extUriBiasedIgnorePathCase,extUriIgnorePathCase,isEqual,isEqualOrParent2,getComparisonKey,basenameOrAuthority,basename2,extname2,dirname2,joinPath,normalizePath,relativePath,resolvePath,isAbsolutePath,isEqualAuthority,hasTrailingPathSeparator,removeTrailingPathSeparator,addTrailingPathSeparator,DataUri;var init_resources=__esm({"node_modules/monaco-editor/esm/vs/base/common/resources.js"(){init_extpath();init_network();init_path();init_platform();init_strings();init_uri();ExtUri=class{constructor(_ignorePathCasing){this._ignorePathCasing=_ignorePathCasing}compare(uri1,uri2,ignoreFragment=false){if(uri1===uri2){return 0}return compare(this.getComparisonKey(uri1,ignoreFragment),this.getComparisonKey(uri2,ignoreFragment))}isEqual(uri1,uri2,ignoreFragment=false){if(uri1===uri2){return true}if(!uri1||!uri2){return false}return this.getComparisonKey(uri1,ignoreFragment)===this.getComparisonKey(uri2,ignoreFragment)}getComparisonKey(uri,ignoreFragment=false){return uri.with({path:this._ignorePathCasing(uri)?uri.path.toLowerCase():void 0,fragment:ignoreFragment?null:void 0}).toString()}isEqualOrParent(base,parentCandidate,ignoreFragment=false){if(base.scheme===parentCandidate.scheme){if(base.scheme===Schemas.file){return isEqualOrParent(originalFSPath(base),originalFSPath(parentCandidate),this._ignorePathCasing(base))&&base.query===parentCandidate.query&&(ignoreFragment||base.fragment===parentCandidate.fragment)}if(isEqualAuthority(base.authority,parentCandidate.authority)){return isEqualOrParent(base.path,parentCandidate.path,this._ignorePathCasing(base),"/")&&base.query===parentCandidate.query&&(ignoreFragment||base.fragment===parentCandidate.fragment)}}return false}joinPath(resource,...pathFragment){return URI.joinPath(resource,...pathFragment)}basenameOrAuthority(resource){return basename2(resource)||resource.authority}basename(resource){return posix.basename(resource.path)}extname(resource){return posix.extname(resource.path)}dirname(resource){if(resource.path.length===0){return resource}let dirname3;if(resource.scheme===Schemas.file){dirname3=URI.file(dirname(originalFSPath(resource))).path}else{dirname3=posix.dirname(resource.path);if(resource.authority&&dirname3.length&&dirname3.charCodeAt(0)!==47){console.error(`dirname("${resource.toString})) resulted in a relative path`);dirname3="/"}}return resource.with({path:dirname3})}normalizePath(resource){if(!resource.path.length){return resource}let normalizedPath;if(resource.scheme===Schemas.file){normalizedPath=URI.file(normalize(originalFSPath(resource))).path}else{normalizedPath=posix.normalize(resource.path)}return resource.with({path:normalizedPath})}relativePath(from,to){if(from.scheme!==to.scheme||!isEqualAuthority(from.authority,to.authority)){return void 0}if(from.scheme===Schemas.file){const relativePath2=relative(originalFSPath(from),originalFSPath(to));return isWindows?toSlashes(relativePath2):relativePath2}let fromPath=from.path||"/";const toPath=to.path||"/";if(this._ignorePathCasing(from)){let i=0;for(const len=Math.min(fromPath.length,toPath.length);i<len;i++){if(fromPath.charCodeAt(i)!==toPath.charCodeAt(i)){if(fromPath.charAt(i).toLowerCase()!==toPath.charAt(i).toLowerCase()){break}}}fromPath=toPath.substr(0,i)+fromPath.substr(i)}return posix.relative(fromPath,toPath)}resolvePath(base,path){if(base.scheme===Schemas.file){const newURI=URI.file(resolve(originalFSPath(base),path));return base.with({authority:newURI.authority,path:newURI.path})}path=toPosixPath(path);return base.with({path:posix.resolve(base.path,path)})}isAbsolutePath(resource){return!!resource.path&&resource.path[0]==="/"}isEqualAuthority(a1,a2){return a1===a2||a1!==void 0&&a2!==void 0&&equalsIgnoreCase(a1,a2)}hasTrailingPathSeparator(resource,sep2=sep){if(resource.scheme===Schemas.file){const fsp=originalFSPath(resource);return fsp.length>getRoot(fsp).length&&fsp[fsp.length-1]===sep2}else{const p=resource.path;return p.length>1&&p.charCodeAt(p.length-1)===47&&!/^[a-zA-Z]:(\/$|\\$)/.test(resource.fsPath)}}removeTrailingPathSeparator(resource,sep2=sep){if(hasTrailingPathSeparator(resource,sep2)){return resource.with({path:resource.path.substr(0,resource.path.length-1)})}return resource}addTrailingPathSeparator(resource,sep2=sep){let isRootSep=false;if(resource.scheme===Schemas.file){const fsp=originalFSPath(resource);isRootSep=fsp!==void 0&&fsp.length===getRoot(fsp).length&&fsp[fsp.length-1]===sep2}else{sep2="/";const p=resource.path;isRootSep=p.length===1&&p.charCodeAt(p.length-1)===47}if(!isRootSep&&!hasTrailingPathSeparator(resource,sep2)){return resource.with({path:resource.path+"/"})}return resource}};extUri=new ExtUri((()=>false));extUriBiasedIgnorePathCase=new ExtUri((uri=>uri.scheme===Schemas.file?!isLinux:true));extUriIgnorePathCase=new ExtUri((_=>true));isEqual=extUri.isEqual.bind(extUri);isEqualOrParent2=extUri.isEqualOrParent.bind(extUri);getComparisonKey=extUri.getComparisonKey.bind(extUri);basenameOrAuthority=extUri.basenameOrAuthority.bind(extUri);basename2=extUri.basename.bind(extUri);extname2=extUri.extname.bind(extUri);dirname2=extUri.dirname.bind(extUri);joinPath=extUri.joinPath.bind(extUri);normalizePath=extUri.normalizePath.bind(extUri);relativePath=extUri.relativePath.bind(extUri);resolvePath=extUri.resolvePath.bind(extUri);isAbsolutePath=extUri.isAbsolutePath.bind(extUri);isEqualAuthority=extUri.isEqualAuthority.bind(extUri);hasTrailingPathSeparator=extUri.hasTrailingPathSeparator.bind(extUri);removeTrailingPathSeparator=extUri.removeTrailingPathSeparator.bind(extUri);addTrailingPathSeparator=extUri.addTrailingPathSeparator.bind(extUri);(function(DataUri2){DataUri2.META_DATA_LABEL="label";DataUri2.META_DATA_DESCRIPTION="description";DataUri2.META_DATA_SIZE="size";DataUri2.META_DATA_MIME="mime";function parseMetaData(dataUri){const metadata=new Map;const meta=dataUri.path.substring(dataUri.path.indexOf(";")+1,dataUri.path.lastIndexOf(";"));meta.split(";").forEach((property=>{const[key,value]=property.split(":");if(key&&value){metadata.set(key,value)}}));const mime=dataUri.path.substring(0,dataUri.path.indexOf(";"));if(mime){metadata.set(DataUri2.META_DATA_MIME,mime)}return metadata}DataUri2.parseMetaData=parseMetaData})(DataUri||(DataUri={}))}});function uriGetComparisonKey(resource){return resource.toString()}function getModelEOL(model){const eol=model.getEOL();if(eol==="\n"){return 0}else{return 1}}function isEditStackElement(element){if(!element){return false}return element instanceof SingleModelEditStackElement||element instanceof MultiModelEditStackElement}var SingleModelEditStackData,SingleModelEditStackElement,MultiModelEditStackElement,EditStack;var init_editStack=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/editStack.js"(){init_nls();init_errors();init_selection();init_uri();init_textChange();init_buffer();init_resources();SingleModelEditStackData=class{static create(model,beforeCursorState){const alternativeVersionId=model.getAlternativeVersionId();const eol=getModelEOL(model);return new SingleModelEditStackData(alternativeVersionId,alternativeVersionId,eol,eol,beforeCursorState,beforeCursorState,[])}constructor(beforeVersionId,afterVersionId,beforeEOL,afterEOL,beforeCursorState,afterCursorState,changes){this.beforeVersionId=beforeVersionId;this.afterVersionId=afterVersionId;this.beforeEOL=beforeEOL;this.afterEOL=afterEOL;this.beforeCursorState=beforeCursorState;this.afterCursorState=afterCursorState;this.changes=changes}append(model,textChanges,afterEOL,afterVersionId,afterCursorState){if(textChanges.length>0){this.changes=compressConsecutiveTextChanges(this.changes,textChanges)}this.afterEOL=afterEOL;this.afterVersionId=afterVersionId;this.afterCursorState=afterCursorState}static _writeSelectionsSize(selections){return 4+4*4*(selections?selections.length:0)}static _writeSelections(b,selections,offset){writeUInt32BE(b,selections?selections.length:0,offset);offset+=4;if(selections){for(const selection of selections){writeUInt32BE(b,selection.selectionStartLineNumber,offset);offset+=4;writeUInt32BE(b,selection.selectionStartColumn,offset);offset+=4;writeUInt32BE(b,selection.positionLineNumber,offset);offset+=4;writeUInt32BE(b,selection.positionColumn,offset);offset+=4}}return offset}static _readSelections(b,offset,dest){const count=readUInt32BE(b,offset);offset+=4;for(let i=0;i<count;i++){const selectionStartLineNumber=readUInt32BE(b,offset);offset+=4;const selectionStartColumn=readUInt32BE(b,offset);offset+=4;const positionLineNumber=readUInt32BE(b,offset);offset+=4;const positionColumn=readUInt32BE(b,offset);offset+=4;dest.push(new Selection(selectionStartLineNumber,selectionStartColumn,positionLineNumber,positionColumn))}return offset}serialize(){let necessarySize=4+4+1+1+SingleModelEditStackData._writeSelectionsSize(this.beforeCursorState)+SingleModelEditStackData._writeSelectionsSize(this.afterCursorState)+4;for(const change of this.changes){necessarySize+=change.writeSize()}const b=new Uint8Array(necessarySize);let offset=0;writeUInt32BE(b,this.beforeVersionId,offset);offset+=4;writeUInt32BE(b,this.afterVersionId,offset);offset+=4;writeUInt8(b,this.beforeEOL,offset);offset+=1;writeUInt8(b,this.afterEOL,offset);offset+=1;offset=SingleModelEditStackData._writeSelections(b,this.beforeCursorState,offset);offset=SingleModelEditStackData._writeSelections(b,this.afterCursorState,offset);writeUInt32BE(b,this.changes.length,offset);offset+=4;for(const change of this.changes){offset=change.write(b,offset)}return b.buffer}static deserialize(source){const b=new Uint8Array(source);let offset=0;const beforeVersionId=readUInt32BE(b,offset);offset+=4;const afterVersionId=readUInt32BE(b,offset);offset+=4;const beforeEOL=readUInt8(b,offset);offset+=1;const afterEOL=readUInt8(b,offset);offset+=1;const beforeCursorState=[];offset=SingleModelEditStackData._readSelections(b,offset,beforeCursorState);const afterCursorState=[];offset=SingleModelEditStackData._readSelections(b,offset,afterCursorState);const changeCount=readUInt32BE(b,offset);offset+=4;const changes=[];for(let i=0;i<changeCount;i++){offset=TextChange.read(b,offset,changes)}return new SingleModelEditStackData(beforeVersionId,afterVersionId,beforeEOL,afterEOL,beforeCursorState,afterCursorState,changes)}};SingleModelEditStackElement=class{get type(){return 0}get resource(){if(URI.isUri(this.model)){return this.model}return this.model.uri}constructor(label,code,model,beforeCursorState){this.label=label;this.code=code;this.model=model;this._data=SingleModelEditStackData.create(model,beforeCursorState)}toString(){const data=this._data instanceof SingleModelEditStackData?this._data:SingleModelEditStackData.deserialize(this._data);return data.changes.map((change=>change.toString())).join(", ")}matchesResource(resource){const uri=URI.isUri(this.model)?this.model:this.model.uri;return uri.toString()===resource.toString()}setModel(model){this.model=model}canAppend(model){return this.model===model&&this._data instanceof SingleModelEditStackData}append(model,textChanges,afterEOL,afterVersionId,afterCursorState){if(this._data instanceof SingleModelEditStackData){this._data.append(model,textChanges,afterEOL,afterVersionId,afterCursorState)}}close(){if(this._data instanceof SingleModelEditStackData){this._data=this._data.serialize()}}open(){if(!(this._data instanceof SingleModelEditStackData)){this._data=SingleModelEditStackData.deserialize(this._data)}}undo(){if(URI.isUri(this.model)){throw new Error(`Invalid SingleModelEditStackElement`)}if(this._data instanceof SingleModelEditStackData){this._data=this._data.serialize()}const data=SingleModelEditStackData.deserialize(this._data);this.model._applyUndo(data.changes,data.beforeEOL,data.beforeVersionId,data.beforeCursorState)}redo(){if(URI.isUri(this.model)){throw new Error(`Invalid SingleModelEditStackElement`)}if(this._data instanceof SingleModelEditStackData){this._data=this._data.serialize()}const data=SingleModelEditStackData.deserialize(this._data);this.model._applyRedo(data.changes,data.afterEOL,data.afterVersionId,data.afterCursorState)}heapSize(){if(this._data instanceof SingleModelEditStackData){this._data=this._data.serialize()}return this._data.byteLength+168}};MultiModelEditStackElement=class{get resources(){return this._editStackElementsArr.map((editStackElement=>editStackElement.resource))}constructor(label,code,editStackElements){this.label=label;this.code=code;this.type=1;this._isOpen=true;this._editStackElementsArr=editStackElements.slice(0);this._editStackElementsMap=new Map;for(const editStackElement of this._editStackElementsArr){const key=uriGetComparisonKey(editStackElement.resource);this._editStackElementsMap.set(key,editStackElement)}this._delegate=null}prepareUndoRedo(){if(this._delegate){return this._delegate.prepareUndoRedo(this)}}matchesResource(resource){const key=uriGetComparisonKey(resource);return this._editStackElementsMap.has(key)}setModel(model){const key=uriGetComparisonKey(URI.isUri(model)?model:model.uri);if(this._editStackElementsMap.has(key)){this._editStackElementsMap.get(key).setModel(model)}}canAppend(model){if(!this._isOpen){return false}const key=uriGetComparisonKey(model.uri);if(this._editStackElementsMap.has(key)){const editStackElement=this._editStackElementsMap.get(key);return editStackElement.canAppend(model)}return false}append(model,textChanges,afterEOL,afterVersionId,afterCursorState){const key=uriGetComparisonKey(model.uri);const editStackElement=this._editStackElementsMap.get(key);editStackElement.append(model,textChanges,afterEOL,afterVersionId,afterCursorState)}close(){this._isOpen=false}open(){}undo(){this._isOpen=false;for(const editStackElement of this._editStackElementsArr){editStackElement.undo()}}redo(){for(const editStackElement of this._editStackElementsArr){editStackElement.redo()}}heapSize(resource){const key=uriGetComparisonKey(resource);if(this._editStackElementsMap.has(key)){const editStackElement=this._editStackElementsMap.get(key);return editStackElement.heapSize()}return 0}split(){return this._editStackElementsArr}toString(){const result=[];for(const editStackElement of this._editStackElementsArr){result.push(`${basename2(editStackElement.resource)}: ${editStackElement}`)}return`{${result.join(", ")}}`}};EditStack=class{constructor(model,undoRedoService){this._model=model;this._undoRedoService=undoRedoService}pushStackElement(){const lastElement=this._undoRedoService.getLastElement(this._model.uri);if(isEditStackElement(lastElement)){lastElement.close()}}popStackElement(){const lastElement=this._undoRedoService.getLastElement(this._model.uri);if(isEditStackElement(lastElement)){lastElement.open()}}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(beforeCursorState,group3){const lastElement=this._undoRedoService.getLastElement(this._model.uri);if(isEditStackElement(lastElement)&&lastElement.canAppend(this._model)){return lastElement}const newElement=new SingleModelEditStackElement(localize("edit","Typing"),"undoredo.textBufferEdit",this._model,beforeCursorState);this._undoRedoService.pushElement(newElement,group3);return newElement}pushEOL(eol){const editStackElement=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(eol);editStackElement.append(this._model,[],getModelEOL(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(beforeCursorState,editOperations,cursorStateComputer,group3){const editStackElement=this._getOrCreateEditStackElement(beforeCursorState,group3);const inverseEditOperations=this._model.applyEdits(editOperations,true);const afterCursorState=EditStack._computeCursorState(cursorStateComputer,inverseEditOperations);const textChanges=inverseEditOperations.map(((op,index)=>({index:index,textChange:op.textChange})));textChanges.sort(((a,b)=>{if(a.textChange.oldPosition===b.textChange.oldPosition){return a.index-b.index}return a.textChange.oldPosition-b.textChange.oldPosition}));editStackElement.append(this._model,textChanges.map((op=>op.textChange)),getModelEOL(this._model),this._model.getAlternativeVersionId(),afterCursorState);return afterCursorState}static _computeCursorState(cursorStateComputer,inverseEditOperations){try{return cursorStateComputer?cursorStateComputer(inverseEditOperations):null}catch(e){onUnexpectedError(e);return null}}}}});function spacesDiff(a,aLength,b,bLength,result){result.spacesDiff=0;result.looksLikeAlignment=false;let i;for(i=0;i<aLength&&i<bLength;i++){const aCharCode=a.charCodeAt(i);const bCharCode=b.charCodeAt(i);if(aCharCode!==bCharCode){break}}let aSpacesCnt=0,aTabsCount=0;for(let j=i;j<aLength;j++){const aCharCode=a.charCodeAt(j);if(aCharCode===32){aSpacesCnt++}else{aTabsCount++}}let bSpacesCnt=0,bTabsCount=0;for(let j=i;j<bLength;j++){const bCharCode=b.charCodeAt(j);if(bCharCode===32){bSpacesCnt++}else{bTabsCount++}}if(aSpacesCnt>0&&aTabsCount>0){return}if(bSpacesCnt>0&&bTabsCount>0){return}const tabsDiff=Math.abs(aTabsCount-bTabsCount);const spacesDiff2=Math.abs(aSpacesCnt-bSpacesCnt);if(tabsDiff===0){result.spacesDiff=spacesDiff2;if(spacesDiff2>0&&0<=bSpacesCnt-1&&bSpacesCnt-1<a.length&&bSpacesCnt<b.length){if(b.charCodeAt(bSpacesCnt)!==32&&a.charCodeAt(bSpacesCnt-1)===32){if(a.charCodeAt(a.length-1)===44){result.looksLikeAlignment=true}}}return}if(spacesDiff2%tabsDiff===0){result.spacesDiff=spacesDiff2/tabsDiff;return}}function guessIndentation(source,defaultTabSize,defaultInsertSpaces){const linesCount=Math.min(source.getLineCount(),1e4);let linesIndentedWithTabsCount=0;let linesIndentedWithSpacesCount=0;let previousLineText="";let previousLineIndentation=0;const ALLOWED_TAB_SIZE_GUESSES=[2,4,6,8,3,5,7];const MAX_ALLOWED_TAB_SIZE_GUESS=8;const spacesDiffCount=[0,0,0,0,0,0,0,0,0];const tmp=new SpacesDiffResult;for(let lineNumber=1;lineNumber<=linesCount;lineNumber++){const currentLineLength=source.getLineLength(lineNumber);const currentLineText=source.getLineContent(lineNumber);const useCurrentLineText=currentLineLength<=65536;let currentLineHasContent=false;let currentLineIndentation=0;let currentLineSpacesCount=0;let currentLineTabsCount=0;for(let j=0,lenJ=currentLineLength;j<lenJ;j++){const charCode=useCurrentLineText?currentLineText.charCodeAt(j):source.getLineCharCode(lineNumber,j);if(charCode===9){currentLineTabsCount++}else if(charCode===32){currentLineSpacesCount++}else{currentLineHasContent=true;currentLineIndentation=j;break}}if(!currentLineHasContent){continue}if(currentLineTabsCount>0){linesIndentedWithTabsCount++}else if(currentLineSpacesCount>1){linesIndentedWithSpacesCount++}spacesDiff(previousLineText,previousLineIndentation,currentLineText,currentLineIndentation,tmp);if(tmp.looksLikeAlignment){if(!(defaultInsertSpaces&&defaultTabSize===tmp.spacesDiff)){continue}}const currentSpacesDiff=tmp.spacesDiff;if(currentSpacesDiff<=MAX_ALLOWED_TAB_SIZE_GUESS){spacesDiffCount[currentSpacesDiff]++}previousLineText=currentLineText;previousLineIndentation=currentLineIndentation}let insertSpaces=defaultInsertSpaces;if(linesIndentedWithTabsCount!==linesIndentedWithSpacesCount){insertSpaces=linesIndentedWithTabsCount<linesIndentedWithSpacesCount}let tabSize=defaultTabSize;if(insertSpaces){let tabSizeScore=insertSpaces?0:.1*linesCount;ALLOWED_TAB_SIZE_GUESSES.forEach((possibleTabSize=>{const possibleTabSizeScore=spacesDiffCount[possibleTabSize];if(possibleTabSizeScore>tabSizeScore){tabSizeScore=possibleTabSizeScore;tabSize=possibleTabSize}}));if(tabSize===4&&spacesDiffCount[4]>0&&spacesDiffCount[2]>0&&spacesDiffCount[2]>=spacesDiffCount[4]/2){tabSize=2}}return{insertSpaces:insertSpaces,tabSize:tabSize}}var SpacesDiffResult;var init_indentationGuesser=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/indentationGuesser.js"(){SpacesDiffResult=class{constructor(){this.spacesDiff=0;this.looksLikeAlignment=false}}}});function getNodeColor(node){return(node.metadata&1)>>>0}function setNodeColor(node,color){node.metadata=node.metadata&254|color<<0}function getNodeIsVisited(node){return(node.metadata&2)>>>1===1}function setNodeIsVisited(node,value){node.metadata=node.metadata&253|(value?1:0)<<1}function getNodeIsForValidation(node){return(node.metadata&4)>>>2===1}function setNodeIsForValidation(node,value){node.metadata=node.metadata&251|(value?1:0)<<2}function getNodeIsInGlyphMargin(node){return(node.metadata&64)>>>6===1}function setNodeIsInGlyphMargin(node,value){node.metadata=node.metadata&191|(value?1:0)<<6}function getNodeStickiness(node){return(node.metadata&24)>>>3}function _setNodeStickiness(node,stickiness){node.metadata=node.metadata&231|stickiness<<3}function getCollapseOnReplaceEdit(node){return(node.metadata&32)>>>5===1}function setCollapseOnReplaceEdit(node,value){node.metadata=node.metadata&223|(value?1:0)<<5}function normalizeDelta(T){let node=T.root;let delta=0;while(node!==SENTINEL){if(node.left!==SENTINEL&&!getNodeIsVisited(node.left)){node=node.left;continue}if(node.right!==SENTINEL&&!getNodeIsVisited(node.right)){delta+=node.delta;node=node.right;continue}node.start=delta+node.start;node.end=delta+node.end;node.delta=0;recomputeMaxEnd(node);setNodeIsVisited(node,true);setNodeIsVisited(node.left,false);setNodeIsVisited(node.right,false);if(node===node.parent.right){delta-=node.parent.delta}node=node.parent}setNodeIsVisited(T.root,false)}function adjustMarkerBeforeColumn(markerOffset,markerStickToPreviousCharacter,checkOffset,moveSemantics){if(markerOffset<checkOffset){return true}if(markerOffset>checkOffset){return false}if(moveSemantics===1){return false}if(moveSemantics===2){return true}return markerStickToPreviousCharacter}function nodeAcceptEdit(node,start,end,textLength,forceMoveMarkers){const nodeStickiness=getNodeStickiness(node);const startStickToPreviousCharacter=nodeStickiness===0||nodeStickiness===2;const endStickToPreviousCharacter=nodeStickiness===1||nodeStickiness===2;const deletingCnt=end-start;const insertingCnt=textLength;const commonLength=Math.min(deletingCnt,insertingCnt);const nodeStart=node.start;let startDone=false;const nodeEnd=node.end;let endDone=false;if(start<=nodeStart&&nodeEnd<=end&&getCollapseOnReplaceEdit(node)){node.start=start;startDone=true;node.end=start;endDone=true}{const moveSemantics=forceMoveMarkers?1:deletingCnt>0?2:0;if(!startDone&&adjustMarkerBeforeColumn(nodeStart,startStickToPreviousCharacter,start,moveSemantics)){startDone=true}if(!endDone&&adjustMarkerBeforeColumn(nodeEnd,endStickToPreviousCharacter,start,moveSemantics)){endDone=true}}if(commonLength>0&&!forceMoveMarkers){const moveSemantics=deletingCnt>insertingCnt?2:0;if(!startDone&&adjustMarkerBeforeColumn(nodeStart,startStickToPreviousCharacter,start+commonLength,moveSemantics)){startDone=true}if(!endDone&&adjustMarkerBeforeColumn(nodeEnd,endStickToPreviousCharacter,start+commonLength,moveSemantics)){endDone=true}}{const moveSemantics=forceMoveMarkers?1:0;if(!startDone&&adjustMarkerBeforeColumn(nodeStart,startStickToPreviousCharacter,end,moveSemantics)){node.start=start+insertingCnt;startDone=true}if(!endDone&&adjustMarkerBeforeColumn(nodeEnd,endStickToPreviousCharacter,end,moveSemantics)){node.end=start+insertingCnt;endDone=true}}const deltaColumn=insertingCnt-deletingCnt;if(!startDone){node.start=Math.max(0,nodeStart+deltaColumn)}if(!endDone){node.end=Math.max(0,nodeEnd+deltaColumn)}if(node.start>node.end){node.end=node.start}}function searchForEditing(T,start,end){let node=T.root;let delta=0;let nodeMaxEnd=0;let nodeStart=0;let nodeEnd=0;const result=[];let resultLen=0;while(node!==SENTINEL){if(getNodeIsVisited(node)){setNodeIsVisited(node.left,false);setNodeIsVisited(node.right,false);if(node===node.parent.right){delta-=node.parent.delta}node=node.parent;continue}if(!getNodeIsVisited(node.left)){nodeMaxEnd=delta+node.maxEnd;if(nodeMaxEnd<start){setNodeIsVisited(node,true);continue}if(node.left!==SENTINEL){node=node.left;continue}}nodeStart=delta+node.start;if(nodeStart>end){setNodeIsVisited(node,true);continue}nodeEnd=delta+node.end;if(nodeEnd>=start){node.setCachedOffsets(nodeStart,nodeEnd,0);result[resultLen++]=node}setNodeIsVisited(node,true);if(node.right!==SENTINEL&&!getNodeIsVisited(node.right)){delta+=node.delta;node=node.right;continue}}setNodeIsVisited(T.root,false);return result}function noOverlapReplace(T,start,end,textLength){let node=T.root;let delta=0;let nodeMaxEnd=0;let nodeStart=0;const editDelta=textLength-(end-start);while(node!==SENTINEL){if(getNodeIsVisited(node)){setNodeIsVisited(node.left,false);setNodeIsVisited(node.right,false);if(node===node.parent.right){delta-=node.parent.delta}recomputeMaxEnd(node);node=node.parent;continue}if(!getNodeIsVisited(node.left)){nodeMaxEnd=delta+node.maxEnd;if(nodeMaxEnd<start){setNodeIsVisited(node,true);continue}if(node.left!==SENTINEL){node=node.left;continue}}nodeStart=delta+node.start;if(nodeStart>end){node.start+=editDelta;node.end+=editDelta;node.delta+=editDelta;if(node.delta<-1073741824||node.delta>1073741824){T.requestNormalizeDelta=true}setNodeIsVisited(node,true);continue}setNodeIsVisited(node,true);if(node.right!==SENTINEL&&!getNodeIsVisited(node.right)){delta+=node.delta;node=node.right;continue}}setNodeIsVisited(T.root,false)}function collectNodesFromOwner(T,ownerId){let node=T.root;const result=[];let resultLen=0;while(node!==SENTINEL){if(getNodeIsVisited(node)){setNodeIsVisited(node.left,false);setNodeIsVisited(node.right,false);node=node.parent;continue}if(node.left!==SENTINEL&&!getNodeIsVisited(node.left)){node=node.left;continue}if(node.ownerId===ownerId){result[resultLen++]=node}setNodeIsVisited(node,true);if(node.right!==SENTINEL&&!getNodeIsVisited(node.right)){node=node.right;continue}}setNodeIsVisited(T.root,false);return result}function collectNodesPostOrder(T){let node=T.root;const result=[];let resultLen=0;while(node!==SENTINEL){if(getNodeIsVisited(node)){setNodeIsVisited(node.left,false);setNodeIsVisited(node.right,false);node=node.parent;continue}if(node.left!==SENTINEL&&!getNodeIsVisited(node.left)){node=node.left;continue}if(node.right!==SENTINEL&&!getNodeIsVisited(node.right)){node=node.right;continue}result[resultLen++]=node;setNodeIsVisited(node,true)}setNodeIsVisited(T.root,false);return result}function search(T,filterOwnerId,filterOutValidation,cachedVersionId,onlyMarginDecorations){let node=T.root;let delta=0;let nodeStart=0;let nodeEnd=0;const result=[];let resultLen=0;while(node!==SENTINEL){if(getNodeIsVisited(node)){setNodeIsVisited(node.left,false);setNodeIsVisited(node.right,false);if(node===node.parent.right){delta-=node.parent.delta}node=node.parent;continue}if(node.left!==SENTINEL&&!getNodeIsVisited(node.left)){node=node.left;continue}nodeStart=delta+node.start;nodeEnd=delta+node.end;node.setCachedOffsets(nodeStart,nodeEnd,cachedVersionId);let include=true;if(filterOwnerId&&node.ownerId&&node.ownerId!==filterOwnerId){include=false}if(filterOutValidation&&getNodeIsForValidation(node)){include=false}if(onlyMarginDecorations&&!getNodeIsInGlyphMargin(node)){include=false}if(include){result[resultLen++]=node}setNodeIsVisited(node,true);if(node.right!==SENTINEL&&!getNodeIsVisited(node.right)){delta+=node.delta;node=node.right;continue}}setNodeIsVisited(T.root,false);return result}function intervalSearch(T,intervalStart,intervalEnd,filterOwnerId,filterOutValidation,cachedVersionId,onlyMarginDecorations){let node=T.root;let delta=0;let nodeMaxEnd=0;let nodeStart=0;let nodeEnd=0;const result=[];let resultLen=0;while(node!==SENTINEL){if(getNodeIsVisited(node)){setNodeIsVisited(node.left,false);setNodeIsVisited(node.right,false);if(node===node.parent.right){delta-=node.parent.delta}node=node.parent;continue}if(!getNodeIsVisited(node.left)){nodeMaxEnd=delta+node.maxEnd;if(nodeMaxEnd<intervalStart){setNodeIsVisited(node,true);continue}if(node.left!==SENTINEL){node=node.left;continue}}nodeStart=delta+node.start;if(nodeStart>intervalEnd){setNodeIsVisited(node,true);continue}nodeEnd=delta+node.end;if(nodeEnd>=intervalStart){node.setCachedOffsets(nodeStart,nodeEnd,cachedVersionId);let include=true;if(filterOwnerId&&node.ownerId&&node.ownerId!==filterOwnerId){include=false}if(filterOutValidation&&getNodeIsForValidation(node)){include=false}if(onlyMarginDecorations&&!getNodeIsInGlyphMargin(node)){include=false}if(include){result[resultLen++]=node}}setNodeIsVisited(node,true);if(node.right!==SENTINEL&&!getNodeIsVisited(node.right)){delta+=node.delta;node=node.right;continue}}setNodeIsVisited(T.root,false);return result}function rbTreeInsert(T,newNode){if(T.root===SENTINEL){newNode.parent=SENTINEL;newNode.left=SENTINEL;newNode.right=SENTINEL;setNodeColor(newNode,0);T.root=newNode;return T.root}treeInsert(T,newNode);recomputeMaxEndWalkToRoot(newNode.parent);let x=newNode;while(x!==T.root&&getNodeColor(x.parent)===1){if(x.parent===x.parent.parent.left){const y=x.parent.parent.right;if(getNodeColor(y)===1){setNodeColor(x.parent,0);setNodeColor(y,0);setNodeColor(x.parent.parent,1);x=x.parent.parent}else{if(x===x.parent.right){x=x.parent;leftRotate2(T,x)}setNodeColor(x.parent,0);setNodeColor(x.parent.parent,1);rightRotate(T,x.parent.parent)}}else{const y=x.parent.parent.left;if(getNodeColor(y)===1){setNodeColor(x.parent,0);setNodeColor(y,0);setNodeColor(x.parent.parent,1);x=x.parent.parent}else{if(x===x.parent.left){x=x.parent;rightRotate(T,x)}setNodeColor(x.parent,0);setNodeColor(x.parent.parent,1);leftRotate2(T,x.parent.parent)}}}setNodeColor(T.root,0);return newNode}function treeInsert(T,z){let delta=0;let x=T.root;const zAbsoluteStart=z.start;const zAbsoluteEnd=z.end;while(true){const cmp3=intervalCompare(zAbsoluteStart,zAbsoluteEnd,x.start+delta,x.end+delta);if(cmp3<0){if(x.left===SENTINEL){z.start-=delta;z.end-=delta;z.maxEnd-=delta;x.left=z;break}else{x=x.left}}else{if(x.right===SENTINEL){z.start-=delta+x.delta;z.end-=delta+x.delta;z.maxEnd-=delta+x.delta;x.right=z;break}else{delta+=x.delta;x=x.right}}}z.parent=x;z.left=SENTINEL;z.right=SENTINEL;setNodeColor(z,1)}function rbTreeDelete(T,z){let x;let y;if(z.left===SENTINEL){x=z.right;y=z;x.delta+=z.delta;if(x.delta<-1073741824||x.delta>1073741824){T.requestNormalizeDelta=true}x.start+=z.delta;x.end+=z.delta}else if(z.right===SENTINEL){x=z.left;y=z}else{y=leftest(z.right);x=y.right;x.start+=y.delta;x.end+=y.delta;x.delta+=y.delta;if(x.delta<-1073741824||x.delta>1073741824){T.requestNormalizeDelta=true}y.start+=z.delta;y.end+=z.delta;y.delta=z.delta;if(y.delta<-1073741824||y.delta>1073741824){T.requestNormalizeDelta=true}}if(y===T.root){T.root=x;setNodeColor(x,0);z.detach();resetSentinel();recomputeMaxEnd(x);T.root.parent=SENTINEL;return}const yWasRed=getNodeColor(y)===1;if(y===y.parent.left){y.parent.left=x}else{y.parent.right=x}if(y===z){x.parent=y.parent}else{if(y.parent===z){x.parent=y}else{x.parent=y.parent}y.left=z.left;y.right=z.right;y.parent=z.parent;setNodeColor(y,getNodeColor(z));if(z===T.root){T.root=y}else{if(z===z.parent.left){z.parent.left=y}else{z.parent.right=y}}if(y.left!==SENTINEL){y.left.parent=y}if(y.right!==SENTINEL){y.right.parent=y}}z.detach();if(yWasRed){recomputeMaxEndWalkToRoot(x.parent);if(y!==z){recomputeMaxEndWalkToRoot(y);recomputeMaxEndWalkToRoot(y.parent)}resetSentinel();return}recomputeMaxEndWalkToRoot(x);recomputeMaxEndWalkToRoot(x.parent);if(y!==z){recomputeMaxEndWalkToRoot(y);recomputeMaxEndWalkToRoot(y.parent)}let w;while(x!==T.root&&getNodeColor(x)===0){if(x===x.parent.left){w=x.parent.right;if(getNodeColor(w)===1){setNodeColor(w,0);setNodeColor(x.parent,1);leftRotate2(T,x.parent);w=x.parent.right}if(getNodeColor(w.left)===0&&getNodeColor(w.right)===0){setNodeColor(w,1);x=x.parent}else{if(getNodeColor(w.right)===0){setNodeColor(w.left,0);setNodeColor(w,1);rightRotate(T,w);w=x.parent.right}setNodeColor(w,getNodeColor(x.parent));setNodeColor(x.parent,0);setNodeColor(w.right,0);leftRotate2(T,x.parent);x=T.root}}else{w=x.parent.left;if(getNodeColor(w)===1){setNodeColor(w,0);setNodeColor(x.parent,1);rightRotate(T,x.parent);w=x.parent.left}if(getNodeColor(w.left)===0&&getNodeColor(w.right)===0){setNodeColor(w,1);x=x.parent}else{if(getNodeColor(w.left)===0){setNodeColor(w.right,0);setNodeColor(w,1);leftRotate2(T,w);w=x.parent.left}setNodeColor(w,getNodeColor(x.parent));setNodeColor(x.parent,0);setNodeColor(w.left,0);rightRotate(T,x.parent);x=T.root}}}setNodeColor(x,0);resetSentinel()}function leftest(node){while(node.left!==SENTINEL){node=node.left}return node}function resetSentinel(){SENTINEL.parent=SENTINEL;SENTINEL.delta=0;SENTINEL.start=0;SENTINEL.end=0}function leftRotate2(T,x){const y=x.right;y.delta+=x.delta;if(y.delta<-1073741824||y.delta>1073741824){T.requestNormalizeDelta=true}y.start+=x.delta;y.end+=x.delta;x.right=y.left;if(y.left!==SENTINEL){y.left.parent=x}y.parent=x.parent;if(x.parent===SENTINEL){T.root=y}else if(x===x.parent.left){x.parent.left=y}else{x.parent.right=y}y.left=x;x.parent=y;recomputeMaxEnd(x);recomputeMaxEnd(y)}function rightRotate(T,y){const x=y.left;y.delta-=x.delta;if(y.delta<-1073741824||y.delta>1073741824){T.requestNormalizeDelta=true}y.start-=x.delta;y.end-=x.delta;y.left=x.right;if(x.right!==SENTINEL){x.right.parent=y}x.parent=y.parent;if(y.parent===SENTINEL){T.root=x}else if(y===y.parent.right){y.parent.right=x}else{y.parent.left=x}x.right=y;y.parent=x;recomputeMaxEnd(y);recomputeMaxEnd(x)}function computeMaxEnd(node){let maxEnd=node.end;if(node.left!==SENTINEL){const leftMaxEnd=node.left.maxEnd;if(leftMaxEnd>maxEnd){maxEnd=leftMaxEnd}}if(node.right!==SENTINEL){const rightMaxEnd=node.right.maxEnd+node.delta;if(rightMaxEnd>maxEnd){maxEnd=rightMaxEnd}}return maxEnd}function recomputeMaxEnd(node){node.maxEnd=computeMaxEnd(node)}function recomputeMaxEndWalkToRoot(node){while(node!==SENTINEL){const maxEnd=computeMaxEnd(node);if(node.maxEnd===maxEnd){return}node.maxEnd=maxEnd;node=node.parent}}function intervalCompare(aStart,aEnd,bStart,bEnd){if(aStart===bStart){return aEnd-bEnd}return aStart-bStart}var IntervalNode,SENTINEL,IntervalTree;var init_intervalTree=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/intervalTree.js"(){IntervalNode=class{constructor(id,start,end){this.metadata=0;this.parent=this;this.left=this;this.right=this;setNodeColor(this,1);this.start=start;this.end=end;this.delta=0;this.maxEnd=end;this.id=id;this.ownerId=0;this.options=null;setNodeIsForValidation(this,false);setNodeIsInGlyphMargin(this,false);_setNodeStickiness(this,1);setCollapseOnReplaceEdit(this,false);this.cachedVersionId=0;this.cachedAbsoluteStart=start;this.cachedAbsoluteEnd=end;this.range=null;setNodeIsVisited(this,false)}reset(versionId,start,end,range2){this.start=start;this.end=end;this.maxEnd=end;this.cachedVersionId=versionId;this.cachedAbsoluteStart=start;this.cachedAbsoluteEnd=end;this.range=range2}setOptions(options2){this.options=options2;const className=this.options.className;setNodeIsForValidation(this,className==="squiggly-error"||className==="squiggly-warning"||className==="squiggly-info");setNodeIsInGlyphMargin(this,this.options.glyphMarginClassName!==null);_setNodeStickiness(this,this.options.stickiness);setCollapseOnReplaceEdit(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(absoluteStart,absoluteEnd,cachedVersionId){if(this.cachedVersionId!==cachedVersionId){this.range=null}this.cachedVersionId=cachedVersionId;this.cachedAbsoluteStart=absoluteStart;this.cachedAbsoluteEnd=absoluteEnd}detach(){this.parent=null;this.left=null;this.right=null}};SENTINEL=new IntervalNode(null,0,0);SENTINEL.parent=SENTINEL;SENTINEL.left=SENTINEL;SENTINEL.right=SENTINEL;setNodeColor(SENTINEL,0);IntervalTree=class{constructor(){this.root=SENTINEL;this.requestNormalizeDelta=false}intervalSearch(start,end,filterOwnerId,filterOutValidation,cachedVersionId,onlyMarginDecorations){if(this.root===SENTINEL){return[]}return intervalSearch(this,start,end,filterOwnerId,filterOutValidation,cachedVersionId,onlyMarginDecorations)}search(filterOwnerId,filterOutValidation,cachedVersionId,onlyMarginDecorations){if(this.root===SENTINEL){return[]}return search(this,filterOwnerId,filterOutValidation,cachedVersionId,onlyMarginDecorations)}collectNodesFromOwner(ownerId){return collectNodesFromOwner(this,ownerId)}collectNodesPostOrder(){return collectNodesPostOrder(this)}insert(node){rbTreeInsert(this,node);this._normalizeDeltaIfNecessary()}delete(node){rbTreeDelete(this,node);this._normalizeDeltaIfNecessary()}resolveNode(node,cachedVersionId){const initialNode=node;let delta=0;while(node!==this.root){if(node===node.parent.right){delta+=node.parent.delta}node=node.parent}const nodeStart=initialNode.start+delta;const nodeEnd=initialNode.end+delta;initialNode.setCachedOffsets(nodeStart,nodeEnd,cachedVersionId)}acceptReplace(offset,length2,textLength,forceMoveMarkers){const nodesOfInterest=searchForEditing(this,offset,offset+length2);for(let i=0,len=nodesOfInterest.length;i<len;i++){const node=nodesOfInterest[i];rbTreeDelete(this,node)}this._normalizeDeltaIfNecessary();noOverlapReplace(this,offset,offset+length2,textLength);this._normalizeDeltaIfNecessary();for(let i=0,len=nodesOfInterest.length;i<len;i++){const node=nodesOfInterest[i];node.start=node.cachedAbsoluteStart;node.end=node.cachedAbsoluteEnd;nodeAcceptEdit(node,offset,offset+length2,textLength,forceMoveMarkers);node.maxEnd=node.end;rbTreeInsert(this,node)}this._normalizeDeltaIfNecessary()}_normalizeDeltaIfNecessary(){if(!this.requestNormalizeDelta){return}this.requestNormalizeDelta=false;normalizeDelta(this)}}}});function leftest2(node){while(node.left!==SENTINEL2){node=node.left}return node}function righttest(node){while(node.right!==SENTINEL2){node=node.right}return node}function calculateSize(node){if(node===SENTINEL2){return 0}return node.size_left+node.piece.length+calculateSize(node.right)}function calculateLF(node){if(node===SENTINEL2){return 0}return node.lf_left+node.piece.lineFeedCnt+calculateLF(node.right)}function resetSentinel2(){SENTINEL2.parent=SENTINEL2}function leftRotate3(tree,x){const y=x.right;y.size_left+=x.size_left+(x.piece?x.piece.length:0);y.lf_left+=x.lf_left+(x.piece?x.piece.lineFeedCnt:0);x.right=y.left;if(y.left!==SENTINEL2){y.left.parent=x}y.parent=x.parent;if(x.parent===SENTINEL2){tree.root=y}else if(x.parent.left===x){x.parent.left=y}else{x.parent.right=y}y.left=x;x.parent=y}function rightRotate2(tree,y){const x=y.left;y.left=x.right;if(x.right!==SENTINEL2){x.right.parent=y}x.parent=y.parent;y.size_left-=x.size_left+(x.piece?x.piece.length:0);y.lf_left-=x.lf_left+(x.piece?x.piece.lineFeedCnt:0);if(y.parent===SENTINEL2){tree.root=x}else if(y===y.parent.right){y.parent.right=x}else{y.parent.left=x}x.right=y;y.parent=x}function rbDelete(tree,z){let x;let y;if(z.left===SENTINEL2){y=z;x=y.right}else if(z.right===SENTINEL2){y=z;x=y.left}else{y=leftest2(z.right);x=y.right}if(y===tree.root){tree.root=x;x.color=0;z.detach();resetSentinel2();tree.root.parent=SENTINEL2;return}const yWasRed=y.color===1;if(y===y.parent.left){y.parent.left=x}else{y.parent.right=x}if(y===z){x.parent=y.parent;recomputeTreeMetadata(tree,x)}else{if(y.parent===z){x.parent=y}else{x.parent=y.parent}recomputeTreeMetadata(tree,x);y.left=z.left;y.right=z.right;y.parent=z.parent;y.color=z.color;if(z===tree.root){tree.root=y}else{if(z===z.parent.left){z.parent.left=y}else{z.parent.right=y}}if(y.left!==SENTINEL2){y.left.parent=y}if(y.right!==SENTINEL2){y.right.parent=y}y.size_left=z.size_left;y.lf_left=z.lf_left;recomputeTreeMetadata(tree,y)}z.detach();if(x.parent.left===x){const newSizeLeft=calculateSize(x);const newLFLeft=calculateLF(x);if(newSizeLeft!==x.parent.size_left||newLFLeft!==x.parent.lf_left){const delta=newSizeLeft-x.parent.size_left;const lf_delta=newLFLeft-x.parent.lf_left;x.parent.size_left=newSizeLeft;x.parent.lf_left=newLFLeft;updateTreeMetadata(tree,x.parent,delta,lf_delta)}}recomputeTreeMetadata(tree,x.parent);if(yWasRed){resetSentinel2();return}let w;while(x!==tree.root&&x.color===0){if(x===x.parent.left){w=x.parent.right;if(w.color===1){w.color=0;x.parent.color=1;leftRotate3(tree,x.parent);w=x.parent.right}if(w.left.color===0&&w.right.color===0){w.color=1;x=x.parent}else{if(w.right.color===0){w.left.color=0;w.color=1;rightRotate2(tree,w);w=x.parent.right}w.color=x.parent.color;x.parent.color=0;w.right.color=0;leftRotate3(tree,x.parent);x=tree.root}}else{w=x.parent.left;if(w.color===1){w.color=0;x.parent.color=1;rightRotate2(tree,x.parent);w=x.parent.left}if(w.left.color===0&&w.right.color===0){w.color=1;x=x.parent}else{if(w.left.color===0){w.right.color=0;w.color=1;leftRotate3(tree,w);w=x.parent.left}w.color=x.parent.color;x.parent.color=0;w.left.color=0;rightRotate2(tree,x.parent);x=tree.root}}}x.color=0;resetSentinel2()}function fixInsert(tree,x){recomputeTreeMetadata(tree,x);while(x!==tree.root&&x.parent.color===1){if(x.parent===x.parent.parent.left){const y=x.parent.parent.right;if(y.color===1){x.parent.color=0;y.color=0;x.parent.parent.color=1;x=x.parent.parent}else{if(x===x.parent.right){x=x.parent;leftRotate3(tree,x)}x.parent.color=0;x.parent.parent.color=1;rightRotate2(tree,x.parent.parent)}}else{const y=x.parent.parent.left;if(y.color===1){x.parent.color=0;y.color=0;x.parent.parent.color=1;x=x.parent.parent}else{if(x===x.parent.left){x=x.parent;rightRotate2(tree,x)}x.parent.color=0;x.parent.parent.color=1;leftRotate3(tree,x.parent.parent)}}}tree.root.color=0}function updateTreeMetadata(tree,x,delta,lineFeedCntDelta){while(x!==tree.root&&x!==SENTINEL2){if(x.parent.left===x){x.parent.size_left+=delta;x.parent.lf_left+=lineFeedCntDelta}x=x.parent}}function recomputeTreeMetadata(tree,x){let delta=0;let lf_delta=0;if(x===tree.root){return}while(x!==tree.root&&x===x.parent.right){x=x.parent}if(x===tree.root){return}x=x.parent;delta=calculateSize(x.left)-x.size_left;lf_delta=calculateLF(x.left)-x.lf_left;x.size_left+=delta;x.lf_left+=lf_delta;while(x!==tree.root&&(delta!==0||lf_delta!==0)){if(x.parent.left===x){x.parent.size_left+=delta;x.parent.lf_left+=lf_delta}x=x.parent}}var TreeNode,SENTINEL2;var init_rbTreeBase=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/pieceTreeTextBuffer/rbTreeBase.js"(){TreeNode=class{constructor(piece,color){this.piece=piece;this.color=color;this.size_left=0;this.lf_left=0;this.parent=this;this.left=this;this.right=this}next(){if(this.right!==SENTINEL2){return leftest2(this.right)}let node=this;while(node.parent!==SENTINEL2){if(node.parent.left===node){break}node=node.parent}if(node.parent===SENTINEL2){return SENTINEL2}else{return node.parent}}prev(){if(this.left!==SENTINEL2){return righttest(this.left)}let node=this;while(node.parent!==SENTINEL2){if(node.parent.right===node){break}node=node.parent}if(node.parent===SENTINEL2){return SENTINEL2}else{return node.parent}}detach(){this.parent=null;this.left=null;this.right=null}};SENTINEL2=new TreeNode(null,0);SENTINEL2.parent=SENTINEL2;SENTINEL2.left=SENTINEL2;SENTINEL2.right=SENTINEL2;SENTINEL2.color=0}});function createUintArray(arr){let r;if(arr[arr.length-1]<65536){r=new Uint16Array(arr.length)}else{r=new Uint32Array(arr.length)}r.set(arr,0);return r}function createLineStartsFast(str,readonly=true){const r=[0];let rLength=1;for(let i=0,len=str.length;i<len;i++){const chr=str.charCodeAt(i);if(chr===13){if(i+1<len&&str.charCodeAt(i+1)===10){r[rLength++]=i+2;i++}else{r[rLength++]=i+1}}else if(chr===10){r[rLength++]=i+1}}if(readonly){return createUintArray(r)}else{return r}}function createLineStarts(r,str){r.length=0;r[0]=0;let rLength=1;let cr=0,lf=0,crlf=0;let isBasicASCII2=true;for(let i=0,len=str.length;i<len;i++){const chr=str.charCodeAt(i);if(chr===13){if(i+1<len&&str.charCodeAt(i+1)===10){crlf++;r[rLength++]=i+2;i++}else{cr++;r[rLength++]=i+1}}else if(chr===10){lf++;r[rLength++]=i+1}else{if(isBasicASCII2){if(chr!==9&&(chr<32||chr>126)){isBasicASCII2=false}}}}const result=new LineStarts(createUintArray(r),cr,lf,crlf,isBasicASCII2);r.length=0;return result}var AverageBufferSize,LineStarts,Piece,StringBuffer,PieceTreeSnapshot,PieceTreeSearchCache,PieceTreeBase;var init_pieceTreeBase=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase.js"(){init_position();init_range();init_model();init_rbTreeBase();init_textModelSearch();AverageBufferSize=65535;LineStarts=class{constructor(lineStarts,cr,lf,crlf,isBasicASCII2){this.lineStarts=lineStarts;this.cr=cr;this.lf=lf;this.crlf=crlf;this.isBasicASCII=isBasicASCII2}};Piece=class{constructor(bufferIndex,start,end,lineFeedCnt,length2){this.bufferIndex=bufferIndex;this.start=start;this.end=end;this.lineFeedCnt=lineFeedCnt;this.length=length2}};StringBuffer=class{constructor(buffer,lineStarts){this.buffer=buffer;this.lineStarts=lineStarts}};PieceTreeSnapshot=class{constructor(tree,BOM){this._pieces=[];this._tree=tree;this._BOM=BOM;this._index=0;if(tree.root!==SENTINEL2){tree.iterate(tree.root,(node=>{if(node!==SENTINEL2){this._pieces.push(node.piece)}return true}))}}read(){if(this._pieces.length===0){if(this._index===0){this._index++;return this._BOM}else{return null}}if(this._index>this._pieces.length-1){return null}if(this._index===0){return this._BOM+this._tree.getPieceContent(this._pieces[this._index++])}return this._tree.getPieceContent(this._pieces[this._index++])}};PieceTreeSearchCache=class{constructor(limit){this._limit=limit;this._cache=[]}get(offset){for(let i=this._cache.length-1;i>=0;i--){const nodePos=this._cache[i];if(nodePos.nodeStartOffset<=offset&&nodePos.nodeStartOffset+nodePos.node.piece.length>=offset){return nodePos}}return null}get2(lineNumber){for(let i=this._cache.length-1;i>=0;i--){const nodePos=this._cache[i];if(nodePos.nodeStartLineNumber&&nodePos.nodeStartLineNumber<lineNumber&&nodePos.nodeStartLineNumber+nodePos.node.piece.lineFeedCnt>=lineNumber){return nodePos}}return null}set(nodePosition){if(this._cache.length>=this._limit){this._cache.shift()}this._cache.push(nodePosition)}validate(offset){let hasInvalidVal=false;const tmp=this._cache;for(let i=0;i<tmp.length;i++){const nodePos=tmp[i];if(nodePos.node.parent===null||nodePos.nodeStartOffset>=offset){tmp[i]=null;hasInvalidVal=true;continue}}if(hasInvalidVal){const newArr=[];for(const entry of tmp){if(entry!==null){newArr.push(entry)}}this._cache=newArr}}};PieceTreeBase=class{constructor(chunks,eol,eolNormalized){this.create(chunks,eol,eolNormalized)}create(chunks,eol,eolNormalized){this._buffers=[new StringBuffer("",[0])];this._lastChangeBufferPos={line:0,column:0};this.root=SENTINEL2;this._lineCnt=1;this._length=0;this._EOL=eol;this._EOLLength=eol.length;this._EOLNormalized=eolNormalized;let lastNode=null;for(let i=0,len=chunks.length;i<len;i++){if(chunks[i].buffer.length>0){if(!chunks[i].lineStarts){chunks[i].lineStarts=createLineStartsFast(chunks[i].buffer)}const piece=new Piece(i+1,{line:0,column:0},{line:chunks[i].lineStarts.length-1,column:chunks[i].buffer.length-chunks[i].lineStarts[chunks[i].lineStarts.length-1]},chunks[i].lineStarts.length-1,chunks[i].buffer.length);this._buffers.push(chunks[i]);lastNode=this.rbInsertRight(lastNode,piece)}}this._searchCache=new PieceTreeSearchCache(1);this._lastVisitedLine={lineNumber:0,value:""};this.computeBufferMetadata()}normalizeEOL(eol){const averageBufferSize=AverageBufferSize;const min=averageBufferSize-Math.floor(averageBufferSize/3);const max=min*2;let tempChunk="";let tempChunkLen=0;const chunks=[];this.iterate(this.root,(node=>{const str=this.getNodeContent(node);const len=str.length;if(tempChunkLen<=min||tempChunkLen+len<max){tempChunk+=str;tempChunkLen+=len;return true}const text2=tempChunk.replace(/\r\n|\r|\n/g,eol);chunks.push(new StringBuffer(text2,createLineStartsFast(text2)));tempChunk=str;tempChunkLen=len;return true}));if(tempChunkLen>0){const text2=tempChunk.replace(/\r\n|\r|\n/g,eol);chunks.push(new StringBuffer(text2,createLineStartsFast(text2)))}this.create(chunks,eol,true)}getEOL(){return this._EOL}setEOL(newEOL){this._EOL=newEOL;this._EOLLength=this._EOL.length;this.normalizeEOL(newEOL)}createSnapshot(BOM){return new PieceTreeSnapshot(this,BOM)}getOffsetAt(lineNumber,column){let leftLen=0;let x=this.root;while(x!==SENTINEL2){if(x.left!==SENTINEL2&&x.lf_left+1>=lineNumber){x=x.left}else if(x.lf_left+x.piece.lineFeedCnt+1>=lineNumber){leftLen+=x.size_left;const accumualtedValInCurrentIndex=this.getAccumulatedValue(x,lineNumber-x.lf_left-2);return leftLen+=accumualtedValInCurrentIndex+column-1}else{lineNumber-=x.lf_left+x.piece.lineFeedCnt;leftLen+=x.size_left+x.piece.length;x=x.right}}return leftLen}getPositionAt(offset){offset=Math.floor(offset);offset=Math.max(0,offset);let x=this.root;let lfCnt=0;const originalOffset=offset;while(x!==SENTINEL2){if(x.size_left!==0&&x.size_left>=offset){x=x.left}else if(x.size_left+x.piece.length>=offset){const out=this.getIndexOf(x,offset-x.size_left);lfCnt+=x.lf_left+out.index;if(out.index===0){const lineStartOffset=this.getOffsetAt(lfCnt+1,1);const column=originalOffset-lineStartOffset;return new Position(lfCnt+1,column+1)}return new Position(lfCnt+1,out.remainder+1)}else{offset-=x.size_left+x.piece.length;lfCnt+=x.lf_left+x.piece.lineFeedCnt;if(x.right===SENTINEL2){const lineStartOffset=this.getOffsetAt(lfCnt+1,1);const column=originalOffset-offset-lineStartOffset;return new Position(lfCnt+1,column+1)}else{x=x.right}}}return new Position(1,1)}getValueInRange(range2,eol){if(range2.startLineNumber===range2.endLineNumber&&range2.startColumn===range2.endColumn){return""}const startPosition=this.nodeAt2(range2.startLineNumber,range2.startColumn);const endPosition=this.nodeAt2(range2.endLineNumber,range2.endColumn);const value=this.getValueInRange2(startPosition,endPosition);if(eol){if(eol!==this._EOL||!this._EOLNormalized){return value.replace(/\r\n|\r|\n/g,eol)}if(eol===this.getEOL()&&this._EOLNormalized){if(eol==="\r\n"){}return value}return value.replace(/\r\n|\r|\n/g,eol)}return value}getValueInRange2(startPosition,endPosition){if(startPosition.node===endPosition.node){const node=startPosition.node;const buffer2=this._buffers[node.piece.bufferIndex].buffer;const startOffset2=this.offsetInBuffer(node.piece.bufferIndex,node.piece.start);return buffer2.substring(startOffset2+startPosition.remainder,startOffset2+endPosition.remainder)}let x=startPosition.node;const buffer=this._buffers[x.piece.bufferIndex].buffer;const startOffset=this.offsetInBuffer(x.piece.bufferIndex,x.piece.start);let ret=buffer.substring(startOffset+startPosition.remainder,startOffset+x.piece.length);x=x.next();while(x!==SENTINEL2){const buffer2=this._buffers[x.piece.bufferIndex].buffer;const startOffset2=this.offsetInBuffer(x.piece.bufferIndex,x.piece.start);if(x===endPosition.node){ret+=buffer2.substring(startOffset2,startOffset2+endPosition.remainder);break}else{ret+=buffer2.substr(startOffset2,x.piece.length)}x=x.next()}return ret}getLinesContent(){const lines=[];let linesLength=0;let currentLine="";let danglingCR=false;this.iterate(this.root,(node=>{if(node===SENTINEL2){return true}const piece=node.piece;let pieceLength=piece.length;if(pieceLength===0){return true}const buffer=this._buffers[piece.bufferIndex].buffer;const lineStarts=this._buffers[piece.bufferIndex].lineStarts;const pieceStartLine=piece.start.line;const pieceEndLine=piece.end.line;let pieceStartOffset=lineStarts[pieceStartLine]+piece.start.column;if(danglingCR){if(buffer.charCodeAt(pieceStartOffset)===10){pieceStartOffset++;pieceLength--}lines[linesLength++]=currentLine;currentLine="";danglingCR=false;if(pieceLength===0){return true}}if(pieceStartLine===pieceEndLine){if(!this._EOLNormalized&&buffer.charCodeAt(pieceStartOffset+pieceLength-1)===13){danglingCR=true;currentLine+=buffer.substr(pieceStartOffset,pieceLength-1)}else{currentLine+=buffer.substr(pieceStartOffset,pieceLength)}return true}currentLine+=this._EOLNormalized?buffer.substring(pieceStartOffset,Math.max(pieceStartOffset,lineStarts[pieceStartLine+1]-this._EOLLength)):buffer.substring(pieceStartOffset,lineStarts[pieceStartLine+1]).replace(/(\r\n|\r|\n)$/,"");lines[linesLength++]=currentLine;for(let line=pieceStartLine+1;line<pieceEndLine;line++){currentLine=this._EOLNormalized?buffer.substring(lineStarts[line],lineStarts[line+1]-this._EOLLength):buffer.substring(lineStarts[line],lineStarts[line+1]).replace(/(\r\n|\r|\n)$/,"");lines[linesLength++]=currentLine}if(!this._EOLNormalized&&buffer.charCodeAt(lineStarts[pieceEndLine]+piece.end.column-1)===13){danglingCR=true;if(piece.end.column===0){linesLength--}else{currentLine=buffer.substr(lineStarts[pieceEndLine],piece.end.column-1)}}else{currentLine=buffer.substr(lineStarts[pieceEndLine],piece.end.column)}return true}));if(danglingCR){lines[linesLength++]=currentLine;currentLine=""}lines[linesLength++]=currentLine;return lines}getLength(){return this._length}getLineCount(){return this._lineCnt}getLineContent(lineNumber){if(this._lastVisitedLine.lineNumber===lineNumber){return this._lastVisitedLine.value}this._lastVisitedLine.lineNumber=lineNumber;if(lineNumber===this._lineCnt){this._lastVisitedLine.value=this.getLineRawContent(lineNumber)}else if(this._EOLNormalized){this._lastVisitedLine.value=this.getLineRawContent(lineNumber,this._EOLLength)}else{this._lastVisitedLine.value=this.getLineRawContent(lineNumber).replace(/(\r\n|\r|\n)$/,"")}return this._lastVisitedLine.value}_getCharCode(nodePos){if(nodePos.remainder===nodePos.node.piece.length){const matchingNode=nodePos.node.next();if(!matchingNode){return 0}const buffer=this._buffers[matchingNode.piece.bufferIndex];const startOffset=this.offsetInBuffer(matchingNode.piece.bufferIndex,matchingNode.piece.start);return buffer.buffer.charCodeAt(startOffset)}else{const buffer=this._buffers[nodePos.node.piece.bufferIndex];const startOffset=this.offsetInBuffer(nodePos.node.piece.bufferIndex,nodePos.node.piece.start);const targetOffset=startOffset+nodePos.remainder;return buffer.buffer.charCodeAt(targetOffset)}}getLineCharCode(lineNumber,index){const nodePos=this.nodeAt2(lineNumber,index+1);return this._getCharCode(nodePos)}getLineLength(lineNumber){if(lineNumber===this.getLineCount()){const startOffset=this.getOffsetAt(lineNumber,1);return this.getLength()-startOffset}return this.getOffsetAt(lineNumber+1,1)-this.getOffsetAt(lineNumber,1)-this._EOLLength}findMatchesInNode(node,searcher,startLineNumber,startColumn,startCursor,endCursor,searchData,captureMatches,limitResultCount,resultLen,result){const buffer=this._buffers[node.piece.bufferIndex];const startOffsetInBuffer=this.offsetInBuffer(node.piece.bufferIndex,node.piece.start);const start=this.offsetInBuffer(node.piece.bufferIndex,startCursor);const end=this.offsetInBuffer(node.piece.bufferIndex,endCursor);let m;const ret={line:0,column:0};let searchText;let offsetInBuffer;if(searcher._wordSeparators){searchText=buffer.buffer.substring(start,end);offsetInBuffer=offset=>offset+start;searcher.reset(0)}else{searchText=buffer.buffer;offsetInBuffer=offset=>offset;searcher.reset(start)}do{m=searcher.next(searchText);if(m){if(offsetInBuffer(m.index)>=end){return resultLen}this.positionInBuffer(node,offsetInBuffer(m.index)-startOffsetInBuffer,ret);const lineFeedCnt=this.getLineFeedCnt(node.piece.bufferIndex,startCursor,ret);const retStartColumn=ret.line===startCursor.line?ret.column-startCursor.column+startColumn:ret.column+1;const retEndColumn=retStartColumn+m[0].length;result[resultLen++]=createFindMatch(new Range(startLineNumber+lineFeedCnt,retStartColumn,startLineNumber+lineFeedCnt,retEndColumn),m,captureMatches);if(offsetInBuffer(m.index)+m[0].length>=end){return resultLen}if(resultLen>=limitResultCount){return resultLen}}}while(m);return resultLen}findMatchesLineByLine(searchRange,searchData,captureMatches,limitResultCount){const result=[];let resultLen=0;const searcher=new Searcher(searchData.wordSeparators,searchData.regex);let startPosition=this.nodeAt2(searchRange.startLineNumber,searchRange.startColumn);if(startPosition===null){return[]}const endPosition=this.nodeAt2(searchRange.endLineNumber,searchRange.endColumn);if(endPosition===null){return[]}let start=this.positionInBuffer(startPosition.node,startPosition.remainder);const end=this.positionInBuffer(endPosition.node,endPosition.remainder);if(startPosition.node===endPosition.node){this.findMatchesInNode(startPosition.node,searcher,searchRange.startLineNumber,searchRange.startColumn,start,end,searchData,captureMatches,limitResultCount,resultLen,result);return result}let startLineNumber=searchRange.startLineNumber;let currentNode=startPosition.node;while(currentNode!==endPosition.node){const lineBreakCnt=this.getLineFeedCnt(currentNode.piece.bufferIndex,start,currentNode.piece.end);if(lineBreakCnt>=1){const lineStarts=this._buffers[currentNode.piece.bufferIndex].lineStarts;const startOffsetInBuffer=this.offsetInBuffer(currentNode.piece.bufferIndex,currentNode.piece.start);const nextLineStartOffset=lineStarts[start.line+lineBreakCnt];const startColumn3=startLineNumber===searchRange.startLineNumber?searchRange.startColumn:1;resultLen=this.findMatchesInNode(currentNode,searcher,startLineNumber,startColumn3,start,this.positionInBuffer(currentNode,nextLineStartOffset-startOffsetInBuffer),searchData,captureMatches,limitResultCount,resultLen,result);if(resultLen>=limitResultCount){return result}startLineNumber+=lineBreakCnt}const startColumn2=startLineNumber===searchRange.startLineNumber?searchRange.startColumn-1:0;if(startLineNumber===searchRange.endLineNumber){const text2=this.getLineContent(startLineNumber).substring(startColumn2,searchRange.endColumn-1);resultLen=this._findMatchesInLine(searchData,searcher,text2,searchRange.endLineNumber,startColumn2,resultLen,result,captureMatches,limitResultCount);return result}resultLen=this._findMatchesInLine(searchData,searcher,this.getLineContent(startLineNumber).substr(startColumn2),startLineNumber,startColumn2,resultLen,result,captureMatches,limitResultCount);if(resultLen>=limitResultCount){return result}startLineNumber++;startPosition=this.nodeAt2(startLineNumber,1);currentNode=startPosition.node;start=this.positionInBuffer(startPosition.node,startPosition.remainder)}if(startLineNumber===searchRange.endLineNumber){const startColumn2=startLineNumber===searchRange.startLineNumber?searchRange.startColumn-1:0;const text2=this.getLineContent(startLineNumber).substring(startColumn2,searchRange.endColumn-1);resultLen=this._findMatchesInLine(searchData,searcher,text2,searchRange.endLineNumber,startColumn2,resultLen,result,captureMatches,limitResultCount);return result}const startColumn=startLineNumber===searchRange.startLineNumber?searchRange.startColumn:1;resultLen=this.findMatchesInNode(endPosition.node,searcher,startLineNumber,startColumn,start,end,searchData,captureMatches,limitResultCount,resultLen,result);return result}_findMatchesInLine(searchData,searcher,text2,lineNumber,deltaOffset,resultLen,result,captureMatches,limitResultCount){const wordSeparators2=searchData.wordSeparators;if(!captureMatches&&searchData.simpleSearch){const searchString=searchData.simpleSearch;const searchStringLen=searchString.length;const textLength=text2.length;let lastMatchIndex=-searchStringLen;while((lastMatchIndex=text2.indexOf(searchString,lastMatchIndex+searchStringLen))!==-1){if(!wordSeparators2||isValidMatch(wordSeparators2,text2,textLength,lastMatchIndex,searchStringLen)){result[resultLen++]=new FindMatch(new Range(lineNumber,lastMatchIndex+1+deltaOffset,lineNumber,lastMatchIndex+1+searchStringLen+deltaOffset),null);if(resultLen>=limitResultCount){return resultLen}}}return resultLen}let m;searcher.reset(0);do{m=searcher.next(text2);if(m){result[resultLen++]=createFindMatch(new Range(lineNumber,m.index+1+deltaOffset,lineNumber,m.index+1+m[0].length+deltaOffset),m,captureMatches);if(resultLen>=limitResultCount){return resultLen}}}while(m);return resultLen}insert(offset,value,eolNormalized=false){this._EOLNormalized=this._EOLNormalized&&eolNormalized;this._lastVisitedLine.lineNumber=0;this._lastVisitedLine.value="";if(this.root!==SENTINEL2){const{node:node,remainder:remainder,nodeStartOffset:nodeStartOffset}=this.nodeAt(offset);const piece=node.piece;const bufferIndex=piece.bufferIndex;const insertPosInBuffer=this.positionInBuffer(node,remainder);if(node.piece.bufferIndex===0&&piece.end.line===this._lastChangeBufferPos.line&&piece.end.column===this._lastChangeBufferPos.column&&nodeStartOffset+piece.length===offset&&value.length<AverageBufferSize){this.appendToNode(node,value);this.computeBufferMetadata();return}if(nodeStartOffset===offset){this.insertContentToNodeLeft(value,node);this._searchCache.validate(offset)}else if(nodeStartOffset+node.piece.length>offset){const nodesToDel=[];let newRightPiece=new Piece(piece.bufferIndex,insertPosInBuffer,piece.end,this.getLineFeedCnt(piece.bufferIndex,insertPosInBuffer,piece.end),this.offsetInBuffer(bufferIndex,piece.end)-this.offsetInBuffer(bufferIndex,insertPosInBuffer));if(this.shouldCheckCRLF()&&this.endWithCR(value)){const headOfRight=this.nodeCharCodeAt(node,remainder);if(headOfRight===10){const newStart={line:newRightPiece.start.line+1,column:0};newRightPiece=new Piece(newRightPiece.bufferIndex,newStart,newRightPiece.end,this.getLineFeedCnt(newRightPiece.bufferIndex,newStart,newRightPiece.end),newRightPiece.length-1);value+="\n"}}if(this.shouldCheckCRLF()&&this.startWithLF(value)){const tailOfLeft=this.nodeCharCodeAt(node,remainder-1);if(tailOfLeft===13){const previousPos=this.positionInBuffer(node,remainder-1);this.deleteNodeTail(node,previousPos);value="\r"+value;if(node.piece.length===0){nodesToDel.push(node)}}else{this.deleteNodeTail(node,insertPosInBuffer)}}else{this.deleteNodeTail(node,insertPosInBuffer)}const newPieces=this.createNewPieces(value);if(newRightPiece.length>0){this.rbInsertRight(node,newRightPiece)}let tmpNode=node;for(let k=0;k<newPieces.length;k++){tmpNode=this.rbInsertRight(tmpNode,newPieces[k])}this.deleteNodes(nodesToDel)}else{this.insertContentToNodeRight(value,node)}}else{const pieces=this.createNewPieces(value);let node=this.rbInsertLeft(null,pieces[0]);for(let k=1;k<pieces.length;k++){node=this.rbInsertRight(node,pieces[k])}}this.computeBufferMetadata()}delete(offset,cnt){this._lastVisitedLine.lineNumber=0;this._lastVisitedLine.value="";if(cnt<=0||this.root===SENTINEL2){return}const startPosition=this.nodeAt(offset);const endPosition=this.nodeAt(offset+cnt);const startNode=startPosition.node;const endNode=endPosition.node;if(startNode===endNode){const startSplitPosInBuffer2=this.positionInBuffer(startNode,startPosition.remainder);const endSplitPosInBuffer2=this.positionInBuffer(startNode,endPosition.remainder);if(startPosition.nodeStartOffset===offset){if(cnt===startNode.piece.length){const next=startNode.next();rbDelete(this,startNode);this.validateCRLFWithPrevNode(next);this.computeBufferMetadata();return}this.deleteNodeHead(startNode,endSplitPosInBuffer2);this._searchCache.validate(offset);this.validateCRLFWithPrevNode(startNode);this.computeBufferMetadata();return}if(startPosition.nodeStartOffset+startNode.piece.length===offset+cnt){this.deleteNodeTail(startNode,startSplitPosInBuffer2);this.validateCRLFWithNextNode(startNode);this.computeBufferMetadata();return}this.shrinkNode(startNode,startSplitPosInBuffer2,endSplitPosInBuffer2);this.computeBufferMetadata();return}const nodesToDel=[];const startSplitPosInBuffer=this.positionInBuffer(startNode,startPosition.remainder);this.deleteNodeTail(startNode,startSplitPosInBuffer);this._searchCache.validate(offset);if(startNode.piece.length===0){nodesToDel.push(startNode)}const endSplitPosInBuffer=this.positionInBuffer(endNode,endPosition.remainder);this.deleteNodeHead(endNode,endSplitPosInBuffer);if(endNode.piece.length===0){nodesToDel.push(endNode)}const secondNode=startNode.next();for(let node=secondNode;node!==SENTINEL2&&node!==endNode;node=node.next()){nodesToDel.push(node)}const prev=startNode.piece.length===0?startNode.prev():startNode;this.deleteNodes(nodesToDel);this.validateCRLFWithNextNode(prev);this.computeBufferMetadata()}insertContentToNodeLeft(value,node){const nodesToDel=[];if(this.shouldCheckCRLF()&&this.endWithCR(value)&&this.startWithLF(node)){const piece=node.piece;const newStart={line:piece.start.line+1,column:0};const nPiece=new Piece(piece.bufferIndex,newStart,piece.end,this.getLineFeedCnt(piece.bufferIndex,newStart,piece.end),piece.length-1);node.piece=nPiece;value+="\n";updateTreeMetadata(this,node,-1,-1);if(node.piece.length===0){nodesToDel.push(node)}}const newPieces=this.createNewPieces(value);let newNode=this.rbInsertLeft(node,newPieces[newPieces.length-1]);for(let k=newPieces.length-2;k>=0;k--){newNode=this.rbInsertLeft(newNode,newPieces[k])}this.validateCRLFWithPrevNode(newNode);this.deleteNodes(nodesToDel)}insertContentToNodeRight(value,node){if(this.adjustCarriageReturnFromNext(value,node)){value+="\n"}const newPieces=this.createNewPieces(value);const newNode=this.rbInsertRight(node,newPieces[0]);let tmpNode=newNode;for(let k=1;k<newPieces.length;k++){tmpNode=this.rbInsertRight(tmpNode,newPieces[k])}this.validateCRLFWithPrevNode(newNode)}positionInBuffer(node,remainder,ret){const piece=node.piece;const bufferIndex=node.piece.bufferIndex;const lineStarts=this._buffers[bufferIndex].lineStarts;const startOffset=lineStarts[piece.start.line]+piece.start.column;const offset=startOffset+remainder;let low=piece.start.line;let high=piece.end.line;let mid=0;let midStop=0;let midStart=0;while(low<=high){mid=low+(high-low)/2|0;midStart=lineStarts[mid];if(mid===high){break}midStop=lineStarts[mid+1];if(offset<midStart){high=mid-1}else if(offset>=midStop){low=mid+1}else{break}}if(ret){ret.line=mid;ret.column=offset-midStart;return null}return{line:mid,column:offset-midStart}}getLineFeedCnt(bufferIndex,start,end){if(end.column===0){return end.line-start.line}const lineStarts=this._buffers[bufferIndex].lineStarts;if(end.line===lineStarts.length-1){return end.line-start.line}const nextLineStartOffset=lineStarts[end.line+1];const endOffset=lineStarts[end.line]+end.column;if(nextLineStartOffset>endOffset+1){return end.line-start.line}const previousCharOffset=endOffset-1;const buffer=this._buffers[bufferIndex].buffer;if(buffer.charCodeAt(previousCharOffset)===13){return end.line-start.line+1}else{return end.line-start.line}}offsetInBuffer(bufferIndex,cursor){const lineStarts=this._buffers[bufferIndex].lineStarts;return lineStarts[cursor.line]+cursor.column}deleteNodes(nodes){for(let i=0;i<nodes.length;i++){rbDelete(this,nodes[i])}}createNewPieces(text2){if(text2.length>AverageBufferSize){const newPieces=[];while(text2.length>AverageBufferSize){const lastChar=text2.charCodeAt(AverageBufferSize-1);let splitText;if(lastChar===13||lastChar>=55296&&lastChar<=56319){splitText=text2.substring(0,AverageBufferSize-1);text2=text2.substring(AverageBufferSize-1)}else{splitText=text2.substring(0,AverageBufferSize);text2=text2.substring(AverageBufferSize)}const lineStarts3=createLineStartsFast(splitText);newPieces.push(new Piece(this._buffers.length,{line:0,column:0},{line:lineStarts3.length-1,column:splitText.length-lineStarts3[lineStarts3.length-1]},lineStarts3.length-1,splitText.length));this._buffers.push(new StringBuffer(splitText,lineStarts3))}const lineStarts2=createLineStartsFast(text2);newPieces.push(new Piece(this._buffers.length,{line:0,column:0},{line:lineStarts2.length-1,column:text2.length-lineStarts2[lineStarts2.length-1]},lineStarts2.length-1,text2.length));this._buffers.push(new StringBuffer(text2,lineStarts2));return newPieces}let startOffset=this._buffers[0].buffer.length;const lineStarts=createLineStartsFast(text2,false);let start=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===startOffset&&startOffset!==0&&this.startWithLF(text2)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1};start=this._lastChangeBufferPos;for(let i=0;i<lineStarts.length;i++){lineStarts[i]+=startOffset+1}this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(lineStarts.slice(1));this._buffers[0].buffer+="_"+text2;startOffset+=1}else{if(startOffset!==0){for(let i=0;i<lineStarts.length;i++){lineStarts[i]+=startOffset}}this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(lineStarts.slice(1));this._buffers[0].buffer+=text2}const endOffset=this._buffers[0].buffer.length;const endIndex=this._buffers[0].lineStarts.length-1;const endColumn=endOffset-this._buffers[0].lineStarts[endIndex];const endPos={line:endIndex,column:endColumn};const newPiece=new Piece(0,start,endPos,this.getLineFeedCnt(0,start,endPos),endOffset-startOffset);this._lastChangeBufferPos=endPos;return[newPiece]}getLineRawContent(lineNumber,endOffset=0){let x=this.root;let ret="";const cache=this._searchCache.get2(lineNumber);if(cache){x=cache.node;const prevAccumulatedValue=this.getAccumulatedValue(x,lineNumber-cache.nodeStartLineNumber-1);const buffer=this._buffers[x.piece.bufferIndex].buffer;const startOffset=this.offsetInBuffer(x.piece.bufferIndex,x.piece.start);if(cache.nodeStartLineNumber+x.piece.lineFeedCnt===lineNumber){ret=buffer.substring(startOffset+prevAccumulatedValue,startOffset+x.piece.length)}else{const accumulatedValue=this.getAccumulatedValue(x,lineNumber-cache.nodeStartLineNumber);return buffer.substring(startOffset+prevAccumulatedValue,startOffset+accumulatedValue-endOffset)}}else{let nodeStartOffset=0;const originalLineNumber=lineNumber;while(x!==SENTINEL2){if(x.left!==SENTINEL2&&x.lf_left>=lineNumber-1){x=x.left}else if(x.lf_left+x.piece.lineFeedCnt>lineNumber-1){const prevAccumulatedValue=this.getAccumulatedValue(x,lineNumber-x.lf_left-2);const accumulatedValue=this.getAccumulatedValue(x,lineNumber-x.lf_left-1);const buffer=this._buffers[x.piece.bufferIndex].buffer;const startOffset=this.offsetInBuffer(x.piece.bufferIndex,x.piece.start);nodeStartOffset+=x.size_left;this._searchCache.set({node:x,nodeStartOffset:nodeStartOffset,nodeStartLineNumber:originalLineNumber-(lineNumber-1-x.lf_left)});return buffer.substring(startOffset+prevAccumulatedValue,startOffset+accumulatedValue-endOffset)}else if(x.lf_left+x.piece.lineFeedCnt===lineNumber-1){const prevAccumulatedValue=this.getAccumulatedValue(x,lineNumber-x.lf_left-2);const buffer=this._buffers[x.piece.bufferIndex].buffer;const startOffset=this.offsetInBuffer(x.piece.bufferIndex,x.piece.start);ret=buffer.substring(startOffset+prevAccumulatedValue,startOffset+x.piece.length);break}else{lineNumber-=x.lf_left+x.piece.lineFeedCnt;nodeStartOffset+=x.size_left+x.piece.length;x=x.right}}}x=x.next();while(x!==SENTINEL2){const buffer=this._buffers[x.piece.bufferIndex].buffer;if(x.piece.lineFeedCnt>0){const accumulatedValue=this.getAccumulatedValue(x,0);const startOffset=this.offsetInBuffer(x.piece.bufferIndex,x.piece.start);ret+=buffer.substring(startOffset,startOffset+accumulatedValue-endOffset);return ret}else{const startOffset=this.offsetInBuffer(x.piece.bufferIndex,x.piece.start);ret+=buffer.substr(startOffset,x.piece.length)}x=x.next()}return ret}computeBufferMetadata(){let x=this.root;let lfCnt=1;let len=0;while(x!==SENTINEL2){lfCnt+=x.lf_left+x.piece.lineFeedCnt;len+=x.size_left+x.piece.length;x=x.right}this._lineCnt=lfCnt;this._length=len;this._searchCache.validate(this._length)}getIndexOf(node,accumulatedValue){const piece=node.piece;const pos=this.positionInBuffer(node,accumulatedValue);const lineCnt=pos.line-piece.start.line;if(this.offsetInBuffer(piece.bufferIndex,piece.end)-this.offsetInBuffer(piece.bufferIndex,piece.start)===accumulatedValue){const realLineCnt=this.getLineFeedCnt(node.piece.bufferIndex,piece.start,pos);if(realLineCnt!==lineCnt){return{index:realLineCnt,remainder:0}}}return{index:lineCnt,remainder:pos.column}}getAccumulatedValue(node,index){if(index<0){return 0}const piece=node.piece;const lineStarts=this._buffers[piece.bufferIndex].lineStarts;const expectedLineStartIndex=piece.start.line+index+1;if(expectedLineStartIndex>piece.end.line){return lineStarts[piece.end.line]+piece.end.column-lineStarts[piece.start.line]-piece.start.column}else{return lineStarts[expectedLineStartIndex]-lineStarts[piece.start.line]-piece.start.column}}deleteNodeTail(node,pos){const piece=node.piece;const originalLFCnt=piece.lineFeedCnt;const originalEndOffset=this.offsetInBuffer(piece.bufferIndex,piece.end);const newEnd=pos;const newEndOffset=this.offsetInBuffer(piece.bufferIndex,newEnd);const newLineFeedCnt=this.getLineFeedCnt(piece.bufferIndex,piece.start,newEnd);const lf_delta=newLineFeedCnt-originalLFCnt;const size_delta=newEndOffset-originalEndOffset;const newLength=piece.length+size_delta;node.piece=new Piece(piece.bufferIndex,piece.start,newEnd,newLineFeedCnt,newLength);updateTreeMetadata(this,node,size_delta,lf_delta)}deleteNodeHead(node,pos){const piece=node.piece;const originalLFCnt=piece.lineFeedCnt;const originalStartOffset=this.offsetInBuffer(piece.bufferIndex,piece.start);const newStart=pos;const newLineFeedCnt=this.getLineFeedCnt(piece.bufferIndex,newStart,piece.end);const newStartOffset=this.offsetInBuffer(piece.bufferIndex,newStart);const lf_delta=newLineFeedCnt-originalLFCnt;const size_delta=originalStartOffset-newStartOffset;const newLength=piece.length+size_delta;node.piece=new Piece(piece.bufferIndex,newStart,piece.end,newLineFeedCnt,newLength);updateTreeMetadata(this,node,size_delta,lf_delta)}shrinkNode(node,start,end){const piece=node.piece;const originalStartPos=piece.start;const originalEndPos=piece.end;const oldLength=piece.length;const oldLFCnt=piece.lineFeedCnt;const newEnd=start;const newLineFeedCnt=this.getLineFeedCnt(piece.bufferIndex,piece.start,newEnd);const newLength=this.offsetInBuffer(piece.bufferIndex,start)-this.offsetInBuffer(piece.bufferIndex,originalStartPos);node.piece=new Piece(piece.bufferIndex,piece.start,newEnd,newLineFeedCnt,newLength);updateTreeMetadata(this,node,newLength-oldLength,newLineFeedCnt-oldLFCnt);const newPiece=new Piece(piece.bufferIndex,end,originalEndPos,this.getLineFeedCnt(piece.bufferIndex,end,originalEndPos),this.offsetInBuffer(piece.bufferIndex,originalEndPos)-this.offsetInBuffer(piece.bufferIndex,end));const newNode=this.rbInsertRight(node,newPiece);this.validateCRLFWithPrevNode(newNode)}appendToNode(node,value){if(this.adjustCarriageReturnFromNext(value,node)){value+="\n"}const hitCRLF=this.shouldCheckCRLF()&&this.startWithLF(value)&&this.endWithCR(node);const startOffset=this._buffers[0].buffer.length;this._buffers[0].buffer+=value;const lineStarts=createLineStartsFast(value,false);for(let i=0;i<lineStarts.length;i++){lineStarts[i]+=startOffset}if(hitCRLF){const prevStartOffset=this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-2];this._buffers[0].lineStarts.pop();this._lastChangeBufferPos={line:this._lastChangeBufferPos.line-1,column:startOffset-prevStartOffset}}this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(lineStarts.slice(1));const endIndex=this._buffers[0].lineStarts.length-1;const endColumn=this._buffers[0].buffer.length-this._buffers[0].lineStarts[endIndex];const newEnd={line:endIndex,column:endColumn};const newLength=node.piece.length+value.length;const oldLineFeedCnt=node.piece.lineFeedCnt;const newLineFeedCnt=this.getLineFeedCnt(0,node.piece.start,newEnd);const lf_delta=newLineFeedCnt-oldLineFeedCnt;node.piece=new Piece(node.piece.bufferIndex,node.piece.start,newEnd,newLineFeedCnt,newLength);this._lastChangeBufferPos=newEnd;updateTreeMetadata(this,node,value.length,lf_delta)}nodeAt(offset){let x=this.root;const cache=this._searchCache.get(offset);if(cache){return{node:cache.node,nodeStartOffset:cache.nodeStartOffset,remainder:offset-cache.nodeStartOffset}}let nodeStartOffset=0;while(x!==SENTINEL2){if(x.size_left>offset){x=x.left}else if(x.size_left+x.piece.length>=offset){nodeStartOffset+=x.size_left;const ret={node:x,remainder:offset-x.size_left,nodeStartOffset:nodeStartOffset};this._searchCache.set(ret);return ret}else{offset-=x.size_left+x.piece.length;nodeStartOffset+=x.size_left+x.piece.length;x=x.right}}return null}nodeAt2(lineNumber,column){let x=this.root;let nodeStartOffset=0;while(x!==SENTINEL2){if(x.left!==SENTINEL2&&x.lf_left>=lineNumber-1){x=x.left}else if(x.lf_left+x.piece.lineFeedCnt>lineNumber-1){const prevAccumualtedValue=this.getAccumulatedValue(x,lineNumber-x.lf_left-2);const accumulatedValue=this.getAccumulatedValue(x,lineNumber-x.lf_left-1);nodeStartOffset+=x.size_left;return{node:x,remainder:Math.min(prevAccumualtedValue+column-1,accumulatedValue),nodeStartOffset:nodeStartOffset}}else if(x.lf_left+x.piece.lineFeedCnt===lineNumber-1){const prevAccumualtedValue=this.getAccumulatedValue(x,lineNumber-x.lf_left-2);if(prevAccumualtedValue+column-1<=x.piece.length){return{node:x,remainder:prevAccumualtedValue+column-1,nodeStartOffset:nodeStartOffset}}else{column-=x.piece.length-prevAccumualtedValue;break}}else{lineNumber-=x.lf_left+x.piece.lineFeedCnt;nodeStartOffset+=x.size_left+x.piece.length;x=x.right}}x=x.next();while(x!==SENTINEL2){if(x.piece.lineFeedCnt>0){const accumulatedValue=this.getAccumulatedValue(x,0);const nodeStartOffset2=this.offsetOfNode(x);return{node:x,remainder:Math.min(column-1,accumulatedValue),nodeStartOffset:nodeStartOffset2}}else{if(x.piece.length>=column-1){const nodeStartOffset2=this.offsetOfNode(x);return{node:x,remainder:column-1,nodeStartOffset:nodeStartOffset2}}else{column-=x.piece.length}}x=x.next()}return null}nodeCharCodeAt(node,offset){if(node.piece.lineFeedCnt<1){return-1}const buffer=this._buffers[node.piece.bufferIndex];const newOffset=this.offsetInBuffer(node.piece.bufferIndex,node.piece.start)+offset;return buffer.buffer.charCodeAt(newOffset)}offsetOfNode(node){if(!node){return 0}let pos=node.size_left;while(node!==this.root){if(node.parent.right===node){pos+=node.parent.size_left+node.parent.piece.length}node=node.parent}return pos}shouldCheckCRLF(){return!(this._EOLNormalized&&this._EOL==="\n")}startWithLF(val){if(typeof val==="string"){return val.charCodeAt(0)===10}if(val===SENTINEL2||val.piece.lineFeedCnt===0){return false}const piece=val.piece;const lineStarts=this._buffers[piece.bufferIndex].lineStarts;const line=piece.start.line;const startOffset=lineStarts[line]+piece.start.column;if(line===lineStarts.length-1){return false}const nextLineOffset=lineStarts[line+1];if(nextLineOffset>startOffset+1){return false}return this._buffers[piece.bufferIndex].buffer.charCodeAt(startOffset)===10}endWithCR(val){if(typeof val==="string"){return val.charCodeAt(val.length-1)===13}if(val===SENTINEL2||val.piece.lineFeedCnt===0){return false}return this.nodeCharCodeAt(val,val.piece.length-1)===13}validateCRLFWithPrevNode(nextNode){if(this.shouldCheckCRLF()&&this.startWithLF(nextNode)){const node=nextNode.prev();if(this.endWithCR(node)){this.fixCRLF(node,nextNode)}}}validateCRLFWithNextNode(node){if(this.shouldCheckCRLF()&&this.endWithCR(node)){const nextNode=node.next();if(this.startWithLF(nextNode)){this.fixCRLF(node,nextNode)}}}fixCRLF(prev,next){const nodesToDel=[];const lineStarts=this._buffers[prev.piece.bufferIndex].lineStarts;let newEnd;if(prev.piece.end.column===0){newEnd={line:prev.piece.end.line-1,column:lineStarts[prev.piece.end.line]-lineStarts[prev.piece.end.line-1]-1}}else{newEnd={line:prev.piece.end.line,column:prev.piece.end.column-1}}const prevNewLength=prev.piece.length-1;const prevNewLFCnt=prev.piece.lineFeedCnt-1;prev.piece=new Piece(prev.piece.bufferIndex,prev.piece.start,newEnd,prevNewLFCnt,prevNewLength);updateTreeMetadata(this,prev,-1,-1);if(prev.piece.length===0){nodesToDel.push(prev)}const newStart={line:next.piece.start.line+1,column:0};const newLength=next.piece.length-1;const newLineFeedCnt=this.getLineFeedCnt(next.piece.bufferIndex,newStart,next.piece.end);next.piece=new Piece(next.piece.bufferIndex,newStart,next.piece.end,newLineFeedCnt,newLength);updateTreeMetadata(this,next,-1,-1);if(next.piece.length===0){nodesToDel.push(next)}const pieces=this.createNewPieces("\r\n");this.rbInsertRight(prev,pieces[0]);for(let i=0;i<nodesToDel.length;i++){rbDelete(this,nodesToDel[i])}}adjustCarriageReturnFromNext(value,node){if(this.shouldCheckCRLF()&&this.endWithCR(value)){const nextNode=node.next();if(this.startWithLF(nextNode)){value+="\n";if(nextNode.piece.length===1){rbDelete(this,nextNode)}else{const piece=nextNode.piece;const newStart={line:piece.start.line+1,column:0};const newLength=piece.length-1;const newLineFeedCnt=this.getLineFeedCnt(piece.bufferIndex,newStart,piece.end);nextNode.piece=new Piece(piece.bufferIndex,newStart,piece.end,newLineFeedCnt,newLength);updateTreeMetadata(this,nextNode,-1,-1)}return true}}return false}iterate(node,callback){if(node===SENTINEL2){return callback(SENTINEL2)}const leftRet=this.iterate(node.left,callback);if(!leftRet){return leftRet}return callback(node)&&this.iterate(node.right,callback)}getNodeContent(node){if(node===SENTINEL2){return""}const buffer=this._buffers[node.piece.bufferIndex];const piece=node.piece;const startOffset=this.offsetInBuffer(piece.bufferIndex,piece.start);const endOffset=this.offsetInBuffer(piece.bufferIndex,piece.end);const currentContent=buffer.buffer.substring(startOffset,endOffset);return currentContent}getPieceContent(piece){const buffer=this._buffers[piece.bufferIndex];const startOffset=this.offsetInBuffer(piece.bufferIndex,piece.start);const endOffset=this.offsetInBuffer(piece.bufferIndex,piece.end);const currentContent=buffer.buffer.substring(startOffset,endOffset);return currentContent}rbInsertRight(node,p){const z=new TreeNode(p,1);z.left=SENTINEL2;z.right=SENTINEL2;z.parent=SENTINEL2;z.size_left=0;z.lf_left=0;const x=this.root;if(x===SENTINEL2){this.root=z;z.color=0}else if(node.right===SENTINEL2){node.right=z;z.parent=node}else{const nextNode=leftest2(node.right);nextNode.left=z;z.parent=nextNode}fixInsert(this,z);return z}rbInsertLeft(node,p){const z=new TreeNode(p,1);z.left=SENTINEL2;z.right=SENTINEL2;z.parent=SENTINEL2;z.size_left=0;z.lf_left=0;if(this.root===SENTINEL2){this.root=z;z.color=0}else if(node.left===SENTINEL2){node.left=z;z.parent=node}else{const prevNode=righttest(node.left);prevNode.right=z;z.parent=prevNode}fixInsert(this,z);return z}}}});var PieceTreeTextBuffer;var init_pieceTreeTextBuffer=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBuffer.js"(){init_event();init_strings();init_range();init_model();init_pieceTreeBase();init_eolCounter();init_textChange();init_lifecycle();PieceTreeTextBuffer=class extends Disposable{constructor(chunks,BOM,eol,containsRTL2,containsUnusualLineTerminators2,isBasicASCII2,eolNormalized){super();this._onDidChangeContent=this._register(new Emitter);this._BOM=BOM;this._mightContainNonBasicASCII=!isBasicASCII2;this._mightContainRTL=containsRTL2;this._mightContainUnusualLineTerminators=containsUnusualLineTerminators2;this._pieceTree=new PieceTreeBase(chunks,eol,eolNormalized)}mightContainRTL(){return this._mightContainRTL}mightContainUnusualLineTerminators(){return this._mightContainUnusualLineTerminators}resetMightContainUnusualLineTerminators(){this._mightContainUnusualLineTerminators=false}mightContainNonBasicASCII(){return this._mightContainNonBasicASCII}getBOM(){return this._BOM}getEOL(){return this._pieceTree.getEOL()}createSnapshot(preserveBOM){return this._pieceTree.createSnapshot(preserveBOM?this._BOM:"")}getOffsetAt(lineNumber,column){return this._pieceTree.getOffsetAt(lineNumber,column)}getPositionAt(offset){return this._pieceTree.getPositionAt(offset)}getRangeAt(start,length2){const end=start+length2;const startPosition=this.getPositionAt(start);const endPosition=this.getPositionAt(end);return new Range(startPosition.lineNumber,startPosition.column,endPosition.lineNumber,endPosition.column)}getValueInRange(range2,eol=0){if(range2.isEmpty()){return""}const lineEnding=this._getEndOfLine(eol);return this._pieceTree.getValueInRange(range2,lineEnding)}getValueLengthInRange(range2,eol=0){if(range2.isEmpty()){return 0}if(range2.startLineNumber===range2.endLineNumber){return range2.endColumn-range2.startColumn}const startOffset=this.getOffsetAt(range2.startLineNumber,range2.startColumn);const endOffset=this.getOffsetAt(range2.endLineNumber,range2.endColumn);let eolOffsetCompensation=0;const desiredEOL=this._getEndOfLine(eol);const actualEOL=this.getEOL();if(desiredEOL.length!==actualEOL.length){const delta=desiredEOL.length-actualEOL.length;const eolCount=range2.endLineNumber-range2.startLineNumber;eolOffsetCompensation=delta*eolCount}return endOffset-startOffset+eolOffsetCompensation}getCharacterCountInRange(range2,eol=0){if(this._mightContainNonBasicASCII){let result=0;const fromLineNumber=range2.startLineNumber;const toLineNumber=range2.endLineNumber;for(let lineNumber=fromLineNumber;lineNumber<=toLineNumber;lineNumber++){const lineContent=this.getLineContent(lineNumber);const fromOffset=lineNumber===fromLineNumber?range2.startColumn-1:0;const toOffset=lineNumber===toLineNumber?range2.endColumn-1:lineContent.length;for(let offset=fromOffset;offset<toOffset;offset++){if(isHighSurrogate(lineContent.charCodeAt(offset))){result=result+1;offset=offset+1}else{result=result+1}}}result+=this._getEndOfLine(eol).length*(toLineNumber-fromLineNumber);return result}return this.getValueLengthInRange(range2,eol)}getLength(){return this._pieceTree.getLength()}getLineCount(){return this._pieceTree.getLineCount()}getLinesContent(){return this._pieceTree.getLinesContent()}getLineContent(lineNumber){return this._pieceTree.getLineContent(lineNumber)}getLineCharCode(lineNumber,index){return this._pieceTree.getLineCharCode(lineNumber,index)}getLineLength(lineNumber){return this._pieceTree.getLineLength(lineNumber)}getLineFirstNonWhitespaceColumn(lineNumber){const result=firstNonWhitespaceIndex(this.getLineContent(lineNumber));if(result===-1){return 0}return result+1}getLineLastNonWhitespaceColumn(lineNumber){const result=lastNonWhitespaceIndex(this.getLineContent(lineNumber));if(result===-1){return 0}return result+2}_getEndOfLine(eol){switch(eol){case 1:return"\n";case 2:return"\r\n";case 0:return this.getEOL();default:throw new Error("Unknown EOL preference")}}setEOL(newEOL){this._pieceTree.setEOL(newEOL)}applyEdits(rawOperations,recordTrimAutoWhitespace,computeUndoEdits){let mightContainRTL=this._mightContainRTL;let mightContainUnusualLineTerminators=this._mightContainUnusualLineTerminators;let mightContainNonBasicASCII=this._mightContainNonBasicASCII;let canReduceOperations=true;let operations=[];for(let i=0;i<rawOperations.length;i++){const op=rawOperations[i];if(canReduceOperations&&op._isTracked){canReduceOperations=false}const validatedRange=op.range;if(op.text){let textMightContainNonBasicASCII=true;if(!mightContainNonBasicASCII){textMightContainNonBasicASCII=!isBasicASCII(op.text);mightContainNonBasicASCII=textMightContainNonBasicASCII}if(!mightContainRTL&&textMightContainNonBasicASCII){mightContainRTL=containsRTL(op.text)}if(!mightContainUnusualLineTerminators&&textMightContainNonBasicASCII){mightContainUnusualLineTerminators=containsUnusualLineTerminators(op.text)}}let validText="";let eolCount=0;let firstLineLength=0;let lastLineLength=0;if(op.text){let strEOL;[eolCount,firstLineLength,lastLineLength,strEOL]=countEOL(op.text);const bufferEOL=this.getEOL();const expectedStrEOL=bufferEOL==="\r\n"?2:1;if(strEOL===0||strEOL===expectedStrEOL){validText=op.text}else{validText=op.text.replace(/\r\n|\r|\n/g,bufferEOL)}}operations[i]={sortIndex:i,identifier:op.identifier||null,range:validatedRange,rangeOffset:this.getOffsetAt(validatedRange.startLineNumber,validatedRange.startColumn),rangeLength:this.getValueLengthInRange(validatedRange),text:validText,eolCount:eolCount,firstLineLength:firstLineLength,lastLineLength:lastLineLength,forceMoveMarkers:Boolean(op.forceMoveMarkers),isAutoWhitespaceEdit:op.isAutoWhitespaceEdit||false}}operations.sort(PieceTreeTextBuffer._sortOpsAscending);let hasTouchingRanges=false;for(let i=0,count=operations.length-1;i<count;i++){const rangeEnd=operations[i].range.getEndPosition();const nextRangeStart=operations[i+1].range.getStartPosition();if(nextRangeStart.isBeforeOrEqual(rangeEnd)){if(nextRangeStart.isBefore(rangeEnd)){throw new Error("Overlapping ranges are not allowed!")}hasTouchingRanges=true}}if(canReduceOperations){operations=this._reduceOperations(operations)}const reverseRanges=computeUndoEdits||recordTrimAutoWhitespace?PieceTreeTextBuffer._getInverseEditRanges(operations):[];const newTrimAutoWhitespaceCandidates=[];if(recordTrimAutoWhitespace){for(let i=0;i<operations.length;i++){const op=operations[i];const reverseRange=reverseRanges[i];if(op.isAutoWhitespaceEdit&&op.range.isEmpty()){for(let lineNumber=reverseRange.startLineNumber;lineNumber<=reverseRange.endLineNumber;lineNumber++){let currentLineContent="";if(lineNumber===reverseRange.startLineNumber){currentLineContent=this.getLineContent(op.range.startLineNumber);if(firstNonWhitespaceIndex(currentLineContent)!==-1){continue}}newTrimAutoWhitespaceCandidates.push({lineNumber:lineNumber,oldContent:currentLineContent})}}}}let reverseOperations=null;if(computeUndoEdits){let reverseRangeDeltaOffset=0;reverseOperations=[];for(let i=0;i<operations.length;i++){const op=operations[i];const reverseRange=reverseRanges[i];const bufferText=this.getValueInRange(op.range);const reverseRangeOffset=op.rangeOffset+reverseRangeDeltaOffset;reverseRangeDeltaOffset+=op.text.length-bufferText.length;reverseOperations[i]={sortIndex:op.sortIndex,identifier:op.identifier,range:reverseRange,text:bufferText,textChange:new TextChange(op.rangeOffset,bufferText,reverseRangeOffset,op.text)}}if(!hasTouchingRanges){reverseOperations.sort(((a,b)=>a.sortIndex-b.sortIndex))}}this._mightContainRTL=mightContainRTL;this._mightContainUnusualLineTerminators=mightContainUnusualLineTerminators;this._mightContainNonBasicASCII=mightContainNonBasicASCII;const contentChanges=this._doApplyEdits(operations);let trimAutoWhitespaceLineNumbers=null;if(recordTrimAutoWhitespace&&newTrimAutoWhitespaceCandidates.length>0){newTrimAutoWhitespaceCandidates.sort(((a,b)=>b.lineNumber-a.lineNumber));trimAutoWhitespaceLineNumbers=[];for(let i=0,len=newTrimAutoWhitespaceCandidates.length;i<len;i++){const lineNumber=newTrimAutoWhitespaceCandidates[i].lineNumber;if(i>0&&newTrimAutoWhitespaceCandidates[i-1].lineNumber===lineNumber){continue}const prevContent=newTrimAutoWhitespaceCandidates[i].oldContent;const lineContent=this.getLineContent(lineNumber);if(lineContent.length===0||lineContent===prevContent||firstNonWhitespaceIndex(lineContent)!==-1){continue}trimAutoWhitespaceLineNumbers.push(lineNumber)}}this._onDidChangeContent.fire();return new ApplyEditsResult(reverseOperations,contentChanges,trimAutoWhitespaceLineNumbers)}_reduceOperations(operations){if(operations.length<1e3){return operations}return[this._toSingleEditOperation(operations)]}_toSingleEditOperation(operations){let forceMoveMarkers=false;const firstEditRange=operations[0].range;const lastEditRange=operations[operations.length-1].range;const entireEditRange=new Range(firstEditRange.startLineNumber,firstEditRange.startColumn,lastEditRange.endLineNumber,lastEditRange.endColumn);let lastEndLineNumber=firstEditRange.startLineNumber;let lastEndColumn=firstEditRange.startColumn;const result=[];for(let i=0,len=operations.length;i<len;i++){const operation=operations[i];const range2=operation.range;forceMoveMarkers=forceMoveMarkers||operation.forceMoveMarkers;result.push(this.getValueInRange(new Range(lastEndLineNumber,lastEndColumn,range2.startLineNumber,range2.startColumn)));if(operation.text.length>0){result.push(operation.text)}lastEndLineNumber=range2.endLineNumber;lastEndColumn=range2.endColumn}const text2=result.join("");const[eolCount,firstLineLength,lastLineLength]=countEOL(text2);return{sortIndex:0,identifier:operations[0].identifier,range:entireEditRange,rangeOffset:this.getOffsetAt(entireEditRange.startLineNumber,entireEditRange.startColumn),rangeLength:this.getValueLengthInRange(entireEditRange,0),text:text2,eolCount:eolCount,firstLineLength:firstLineLength,lastLineLength:lastLineLength,forceMoveMarkers:forceMoveMarkers,isAutoWhitespaceEdit:false}}_doApplyEdits(operations){operations.sort(PieceTreeTextBuffer._sortOpsDescending);const contentChanges=[];for(let i=0;i<operations.length;i++){const op=operations[i];const startLineNumber=op.range.startLineNumber;const startColumn=op.range.startColumn;const endLineNumber=op.range.endLineNumber;const endColumn=op.range.endColumn;if(startLineNumber===endLineNumber&&startColumn===endColumn&&op.text.length===0){continue}if(op.text){this._pieceTree.delete(op.rangeOffset,op.rangeLength);this._pieceTree.insert(op.rangeOffset,op.text,true)}else{this._pieceTree.delete(op.rangeOffset,op.rangeLength)}const contentChangeRange=new Range(startLineNumber,startColumn,endLineNumber,endColumn);contentChanges.push({range:contentChangeRange,rangeLength:op.rangeLength,text:op.text,rangeOffset:op.rangeOffset,forceMoveMarkers:op.forceMoveMarkers})}return contentChanges}findMatchesLineByLine(searchRange,searchData,captureMatches,limitResultCount){return this._pieceTree.findMatchesLineByLine(searchRange,searchData,captureMatches,limitResultCount)}static _getInverseEditRanges(operations){const result=[];let prevOpEndLineNumber=0;let prevOpEndColumn=0;let prevOp=null;for(let i=0,len=operations.length;i<len;i++){const op=operations[i];let startLineNumber;let startColumn;if(prevOp){if(prevOp.range.endLineNumber===op.range.startLineNumber){startLineNumber=prevOpEndLineNumber;startColumn=prevOpEndColumn+(op.range.startColumn-prevOp.range.endColumn)}else{startLineNumber=prevOpEndLineNumber+(op.range.startLineNumber-prevOp.range.endLineNumber);startColumn=op.range.startColumn}}else{startLineNumber=op.range.startLineNumber;startColumn=op.range.startColumn}let resultRange;if(op.text.length>0){const lineCount=op.eolCount+1;if(lineCount===1){resultRange=new Range(startLineNumber,startColumn,startLineNumber,startColumn+op.firstLineLength)}else{resultRange=new Range(startLineNumber,startColumn,startLineNumber+lineCount-1,op.lastLineLength+1)}}else{resultRange=new Range(startLineNumber,startColumn,startLineNumber,startColumn)}prevOpEndLineNumber=resultRange.endLineNumber;prevOpEndColumn=resultRange.endColumn;result.push(resultRange);prevOp=op}return result}static _sortOpsAscending(a,b){const r=Range.compareRangesUsingEnds(a.range,b.range);if(r===0){return a.sortIndex-b.sortIndex}return r}static _sortOpsDescending(a,b){const r=Range.compareRangesUsingEnds(a.range,b.range);if(r===0){return b.sortIndex-a.sortIndex}return-r}}}});var PieceTreeTextBufferFactory,PieceTreeTextBufferBuilder;var init_pieceTreeTextBufferBuilder=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBufferBuilder.js"(){init_strings();init_pieceTreeBase();init_pieceTreeTextBuffer();PieceTreeTextBufferFactory=class{constructor(_chunks,_bom,_cr,_lf,_crlf,_containsRTL,_containsUnusualLineTerminators,_isBasicASCII,_normalizeEOL){this._chunks=_chunks;this._bom=_bom;this._cr=_cr;this._lf=_lf;this._crlf=_crlf;this._containsRTL=_containsRTL;this._containsUnusualLineTerminators=_containsUnusualLineTerminators;this._isBasicASCII=_isBasicASCII;this._normalizeEOL=_normalizeEOL}_getEOL(defaultEOL){const totalEOLCount=this._cr+this._lf+this._crlf;const totalCRCount=this._cr+this._crlf;if(totalEOLCount===0){return defaultEOL===1?"\n":"\r\n"}if(totalCRCount>totalEOLCount/2){return"\r\n"}return"\n"}create(defaultEOL){const eol=this._getEOL(defaultEOL);const chunks=this._chunks;if(this._normalizeEOL&&(eol==="\r\n"&&(this._cr>0||this._lf>0)||eol==="\n"&&(this._cr>0||this._crlf>0))){for(let i=0,len=chunks.length;i<len;i++){const str=chunks[i].buffer.replace(/\r\n|\r|\n/g,eol);const newLineStart=createLineStartsFast(str);chunks[i]=new StringBuffer(str,newLineStart)}}const textBuffer=new PieceTreeTextBuffer(chunks,this._bom,eol,this._containsRTL,this._containsUnusualLineTerminators,this._isBasicASCII,this._normalizeEOL);return{textBuffer:textBuffer,disposable:textBuffer}}};PieceTreeTextBufferBuilder=class{constructor(){this.chunks=[];this.BOM="";this._hasPreviousChar=false;this._previousChar=0;this._tmpLineStarts=[];this.cr=0;this.lf=0;this.crlf=0;this.containsRTL=false;this.containsUnusualLineTerminators=false;this.isBasicASCII=true}acceptChunk(chunk){if(chunk.length===0){return}if(this.chunks.length===0){if(startsWithUTF8BOM(chunk)){this.BOM=UTF8_BOM_CHARACTER;chunk=chunk.substr(1)}}const lastChar=chunk.charCodeAt(chunk.length-1);if(lastChar===13||lastChar>=55296&&lastChar<=56319){this._acceptChunk1(chunk.substr(0,chunk.length-1),false);this._hasPreviousChar=true;this._previousChar=lastChar}else{this._acceptChunk1(chunk,false);this._hasPreviousChar=false;this._previousChar=lastChar}}_acceptChunk1(chunk,allowEmptyStrings){if(!allowEmptyStrings&&chunk.length===0){return}if(this._hasPreviousChar){this._acceptChunk2(String.fromCharCode(this._previousChar)+chunk)}else{this._acceptChunk2(chunk)}}_acceptChunk2(chunk){const lineStarts=createLineStarts(this._tmpLineStarts,chunk);this.chunks.push(new StringBuffer(chunk,lineStarts.lineStarts));this.cr+=lineStarts.cr;this.lf+=lineStarts.lf;this.crlf+=lineStarts.crlf;if(!lineStarts.isBasicASCII){this.isBasicASCII=false;if(!this.containsRTL){this.containsRTL=containsRTL(chunk)}if(!this.containsUnusualLineTerminators){this.containsUnusualLineTerminators=containsUnusualLineTerminators(chunk)}}}finish(normalizeEOL=true){this._finish();return new PieceTreeTextBufferFactory(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,normalizeEOL)}_finish(){if(this.chunks.length===0){this._acceptChunk1("",true)}if(this._hasPreviousChar){this._hasPreviousChar=false;const lastChunk=this.chunks[this.chunks.length-1];lastChunk.buffer+=String.fromCharCode(this._previousChar);const newLineStarts=createLineStartsFast(lastChunk.buffer);lastChunk.lineStarts=newLineStarts;if(this._previousChar===13){this.cr++}}}}}});function arrayFill(length2,value){const arr=[];for(let i=0;i<length2;i++){arr[i]=value}return arr}var FixedArray;var init_fixedArray=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/fixedArray.js"(){init_arrays();FixedArray=class{constructor(_default){this._default=_default;this._store=[]}get(index){if(index<this._store.length){return this._store[index]}return this._default}set(index,value){while(index>=this._store.length){this._store[this._store.length]=this._default}this._store[index]=value}replace(index,oldLength,newLength){if(index>=this._store.length){return}if(oldLength===0){this.insert(index,newLength);return}else if(newLength===0){this.delete(index,oldLength);return}const before=this._store.slice(0,index);const after=this._store.slice(index+oldLength);const insertArr=arrayFill(newLength,this._default);this._store=before.concat(insertArr,after)}delete(deleteIndex,deleteCount){if(deleteCount===0||deleteIndex>=this._store.length){return}this._store.splice(deleteIndex,deleteCount)}insert(insertIndex,insertCount){if(insertCount===0||insertIndex>=this._store.length){return}const arr=[];for(let i=0;i<insertCount;i++){arr[i]=this._default}this._store=arrayInsert(this._store,insertIndex,arr)}}}});var ContiguousMultilineTokens;var init_contiguousMultilineTokens=__esm({"node_modules/monaco-editor/esm/vs/editor/common/tokens/contiguousMultilineTokens.js"(){ContiguousMultilineTokens=class{get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._startLineNumber+this._tokens.length-1}constructor(startLineNumber,tokens){this._startLineNumber=startLineNumber;this._tokens=tokens}getLineTokens(lineNumber){return this._tokens[lineNumber-this._startLineNumber]}appendLineTokens(lineTokens){this._tokens.push(lineTokens)}}}});var ContiguousMultilineTokensBuilder;var init_contiguousMultilineTokensBuilder=__esm({"node_modules/monaco-editor/esm/vs/editor/common/tokens/contiguousMultilineTokensBuilder.js"(){init_contiguousMultilineTokens();ContiguousMultilineTokensBuilder=class{constructor(){this._tokens=[]}add(lineNumber,lineTokens){if(this._tokens.length>0){const last=this._tokens[this._tokens.length-1];if(last.endLineNumber+1===lineNumber){last.appendLineTokens(lineTokens);return}}this._tokens.push(new ContiguousMultilineTokens(lineNumber,[lineTokens]))}finalize(){return this._tokens}}}});function safeTokenize(languageIdCodec,languageId,tokenizationSupport,text2,hasEOL,state){let r=null;if(tokenizationSupport){try{r=tokenizationSupport.tokenizeEncoded(text2,hasEOL,state.clone())}catch(e){onUnexpectedError(e)}}if(!r){r=nullTokenizeEncoded(languageIdCodec.encodeLanguageId(languageId),state)}LineTokens.convertToEndOffset(r.tokens,text2.length);return r}var TokenizerWithStateStore,TokenizerWithStateStoreAndTextModel,TrackingTokenizationStateStore,TokenizationStateStore,RangePriorityQueueImpl,DefaultBackgroundTokenizer;var init_textModelTokens=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/textModelTokens.js"(){init_async();init_errors();init_platform();init_stopwatch();init_eolCounter();init_lineRange();init_offsetRange();init_nullTokenize();init_fixedArray();init_contiguousMultilineTokensBuilder();init_lineTokens();TokenizerWithStateStore=class{constructor(lineCount,tokenizationSupport){this.tokenizationSupport=tokenizationSupport;this.initialState=this.tokenizationSupport.getInitialState();this.store=new TrackingTokenizationStateStore(lineCount)}getStartState(lineNumber){return this.store.getStartState(lineNumber,this.initialState)}getFirstInvalidLine(){return this.store.getFirstInvalidLine(this.initialState)}};TokenizerWithStateStoreAndTextModel=class extends TokenizerWithStateStore{constructor(lineCount,tokenizationSupport,_textModel,_languageIdCodec){super(lineCount,tokenizationSupport);this._textModel=_textModel;this._languageIdCodec=_languageIdCodec}updateTokensUntilLine(builder,lineNumber){const languageId=this._textModel.getLanguageId();while(true){const lineToTokenize=this.getFirstInvalidLine();if(!lineToTokenize||lineToTokenize.lineNumber>lineNumber){break}const text2=this._textModel.getLineContent(lineToTokenize.lineNumber);const r=safeTokenize(this._languageIdCodec,languageId,this.tokenizationSupport,text2,true,lineToTokenize.startState);builder.add(lineToTokenize.lineNumber,r.tokens);this.store.setEndState(lineToTokenize.lineNumber,r.endState)}}getTokenTypeIfInsertingCharacter(position,character){const lineStartState=this.getStartState(position.lineNumber);if(!lineStartState){return 0}const languageId=this._textModel.getLanguageId();const lineContent=this._textModel.getLineContent(position.lineNumber);const text2=lineContent.substring(0,position.column-1)+character+lineContent.substring(position.column-1);const r=safeTokenize(this._languageIdCodec,languageId,this.tokenizationSupport,text2,true,lineStartState);const lineTokens=new LineTokens(r.tokens,text2,this._languageIdCodec);if(lineTokens.getCount()===0){return 0}const tokenIndex=lineTokens.findTokenIndexAtOffset(position.column-1);return lineTokens.getStandardTokenType(tokenIndex)}tokenizeLineWithEdit(position,length2,newText){const lineNumber=position.lineNumber;const column=position.column;const lineStartState=this.getStartState(lineNumber);if(!lineStartState){return null}const curLineContent=this._textModel.getLineContent(lineNumber);const newLineContent=curLineContent.substring(0,column-1)+newText+curLineContent.substring(column-1+length2);const languageId=this._textModel.getLanguageIdAtPosition(lineNumber,0);const result=safeTokenize(this._languageIdCodec,languageId,this.tokenizationSupport,newLineContent,true,lineStartState);const lineTokens=new LineTokens(result.tokens,newLineContent,this._languageIdCodec);return lineTokens}isCheapToTokenize(lineNumber){const firstInvalidLineNumber=this.store.getFirstInvalidEndStateLineNumberOrMax();if(lineNumber<firstInvalidLineNumber){return true}if(lineNumber===firstInvalidLineNumber&&this._textModel.getLineLength(lineNumber)<2048){return true}return false}tokenizeHeuristically(builder,startLineNumber,endLineNumber){if(endLineNumber<=this.store.getFirstInvalidEndStateLineNumberOrMax()){return{heuristicTokens:false}}if(startLineNumber<=this.store.getFirstInvalidEndStateLineNumberOrMax()){this.updateTokensUntilLine(builder,endLineNumber);return{heuristicTokens:false}}let state=this.guessStartState(startLineNumber);const languageId=this._textModel.getLanguageId();for(let lineNumber=startLineNumber;lineNumber<=endLineNumber;lineNumber++){const text2=this._textModel.getLineContent(lineNumber);const r=safeTokenize(this._languageIdCodec,languageId,this.tokenizationSupport,text2,true,state);builder.add(lineNumber,r.tokens);state=r.endState}return{heuristicTokens:true}}guessStartState(lineNumber){let nonWhitespaceColumn=this._textModel.getLineFirstNonWhitespaceColumn(lineNumber);const likelyRelevantLines=[];let initialState=null;for(let i=lineNumber-1;nonWhitespaceColumn>1&&i>=1;i--){const newNonWhitespaceIndex=this._textModel.getLineFirstNonWhitespaceColumn(i);if(newNonWhitespaceIndex===0){continue}if(newNonWhitespaceIndex<nonWhitespaceColumn){likelyRelevantLines.push(this._textModel.getLineContent(i));nonWhitespaceColumn=newNonWhitespaceIndex;initialState=this.getStartState(i);if(initialState){break}}}if(!initialState){initialState=this.tokenizationSupport.getInitialState()}likelyRelevantLines.reverse();const languageId=this._textModel.getLanguageId();let state=initialState;for(const line of likelyRelevantLines){const r=safeTokenize(this._languageIdCodec,languageId,this.tokenizationSupport,line,false,state);state=r.endState}return state}};TrackingTokenizationStateStore=class{constructor(lineCount){this.lineCount=lineCount;this._tokenizationStateStore=new TokenizationStateStore;this._invalidEndStatesLineNumbers=new RangePriorityQueueImpl;this._invalidEndStatesLineNumbers.addRange(new OffsetRange(1,lineCount+1))}getEndState(lineNumber){return this._tokenizationStateStore.getEndState(lineNumber)}setEndState(lineNumber,state){if(!state){throw new BugIndicatingError("Cannot set null/undefined state")}this._invalidEndStatesLineNumbers.delete(lineNumber);const r=this._tokenizationStateStore.setEndState(lineNumber,state);if(r&&lineNumber<this.lineCount){this._invalidEndStatesLineNumbers.addRange(new OffsetRange(lineNumber+1,lineNumber+2))}return r}acceptChange(range2,newLineCount){this.lineCount+=newLineCount-range2.length;this._tokenizationStateStore.acceptChange(range2,newLineCount);this._invalidEndStatesLineNumbers.addRangeAndResize(new OffsetRange(range2.startLineNumber,range2.endLineNumberExclusive),newLineCount)}acceptChanges(changes){for(const c of changes){const[eolCount]=countEOL(c.text);this.acceptChange(new LineRange(c.range.startLineNumber,c.range.endLineNumber+1),eolCount+1)}}invalidateEndStateRange(range2){this._invalidEndStatesLineNumbers.addRange(new OffsetRange(range2.startLineNumber,range2.endLineNumberExclusive))}getFirstInvalidEndStateLineNumber(){return this._invalidEndStatesLineNumbers.min}getFirstInvalidEndStateLineNumberOrMax(){return this.getFirstInvalidEndStateLineNumber()||Number.MAX_SAFE_INTEGER}allStatesValid(){return this._invalidEndStatesLineNumbers.min===null}getStartState(lineNumber,initialState){if(lineNumber===1){return initialState}return this.getEndState(lineNumber-1)}getFirstInvalidLine(initialState){const lineNumber=this.getFirstInvalidEndStateLineNumber();if(lineNumber===null){return null}const startState=this.getStartState(lineNumber,initialState);if(!startState){throw new BugIndicatingError("Start state must be defined")}return{lineNumber:lineNumber,startState:startState}}};TokenizationStateStore=class{constructor(){this._lineEndStates=new FixedArray(null)}getEndState(lineNumber){return this._lineEndStates.get(lineNumber)}setEndState(lineNumber,state){const oldState=this._lineEndStates.get(lineNumber);if(oldState&&oldState.equals(state)){return false}this._lineEndStates.set(lineNumber,state);return true}acceptChange(range2,newLineCount){let length2=range2.length;if(newLineCount>0&&length2>0){length2--;newLineCount--}this._lineEndStates.replace(range2.startLineNumber,length2,newLineCount)}};RangePriorityQueueImpl=class{constructor(){this._ranges=[]}get min(){if(this._ranges.length===0){return null}return this._ranges[0].start}delete(value){const idx=this._ranges.findIndex((r=>r.contains(value)));if(idx!==-1){const range2=this._ranges[idx];if(range2.start===value){if(range2.endExclusive===value+1){this._ranges.splice(idx,1)}else{this._ranges[idx]=new OffsetRange(value+1,range2.endExclusive)}}else{if(range2.endExclusive===value+1){this._ranges[idx]=new OffsetRange(range2.start,value)}else{this._ranges.splice(idx,1,new OffsetRange(range2.start,value),new OffsetRange(value+1,range2.endExclusive))}}}}addRange(range2){OffsetRange.addRange(range2,this._ranges)}addRangeAndResize(range2,newLength){let idxFirstMightBeIntersecting=0;while(!(idxFirstMightBeIntersecting>=this._ranges.length||range2.start<=this._ranges[idxFirstMightBeIntersecting].endExclusive)){idxFirstMightBeIntersecting++}let idxFirstIsAfter=idxFirstMightBeIntersecting;while(!(idxFirstIsAfter>=this._ranges.length||range2.endExclusive<this._ranges[idxFirstIsAfter].start)){idxFirstIsAfter++}const delta=newLength-range2.length;for(let i=idxFirstIsAfter;i<this._ranges.length;i++){this._ranges[i]=this._ranges[i].delta(delta)}if(idxFirstMightBeIntersecting===idxFirstIsAfter){const newRange=new OffsetRange(range2.start,range2.start+newLength);if(!newRange.isEmpty){this._ranges.splice(idxFirstMightBeIntersecting,0,newRange)}}else{const start=Math.min(range2.start,this._ranges[idxFirstMightBeIntersecting].start);const endEx=Math.max(range2.endExclusive,this._ranges[idxFirstIsAfter-1].endExclusive);const newRange=new OffsetRange(start,endEx+delta);if(!newRange.isEmpty){this._ranges.splice(idxFirstMightBeIntersecting,idxFirstIsAfter-idxFirstMightBeIntersecting,newRange)}else{this._ranges.splice(idxFirstMightBeIntersecting,idxFirstIsAfter-idxFirstMightBeIntersecting)}}}toString(){return this._ranges.map((r=>r.toString())).join(" + ")}};DefaultBackgroundTokenizer=class{constructor(_tokenizerWithStateStore,_backgroundTokenStore){this._tokenizerWithStateStore=_tokenizerWithStateStore;this._backgroundTokenStore=_backgroundTokenStore;this._isDisposed=false;this._isScheduled=false}dispose(){this._isDisposed=true}handleChanges(){this._beginBackgroundTokenization()}_beginBackgroundTokenization(){if(this._isScheduled||!this._tokenizerWithStateStore._textModel.isAttachedToEditor()||!this._hasLinesToTokenize()){return}this._isScheduled=true;runWhenIdle((deadline=>{this._isScheduled=false;this._backgroundTokenizeWithDeadline(deadline)}))}_backgroundTokenizeWithDeadline(deadline){const endTime=Date.now()+deadline.timeRemaining();const execute=()=>{if(this._isDisposed||!this._tokenizerWithStateStore._textModel.isAttachedToEditor()||!this._hasLinesToTokenize()){return}this._backgroundTokenizeForAtLeast1ms();if(Date.now()<endTime){setTimeout0(execute)}else{this._beginBackgroundTokenization()}};execute()}_backgroundTokenizeForAtLeast1ms(){const lineCount=this._tokenizerWithStateStore._textModel.getLineCount();const builder=new ContiguousMultilineTokensBuilder;const sw=StopWatch.create(false);do{if(sw.elapsed()>1){break}const tokenizedLineNumber=this._tokenizeOneInvalidLine(builder);if(tokenizedLineNumber>=lineCount){break}}while(this._hasLinesToTokenize());this._backgroundTokenStore.setTokens(builder.finalize());this.checkFinished()}_hasLinesToTokenize(){if(!this._tokenizerWithStateStore){return false}return!this._tokenizerWithStateStore.store.allStatesValid()}_tokenizeOneInvalidLine(builder){var _a6;const firstInvalidLine=(_a6=this._tokenizerWithStateStore)===null||_a6===void 0?void 0:_a6.getFirstInvalidLine();if(!firstInvalidLine){return this._tokenizerWithStateStore._textModel.getLineCount()+1}this._tokenizerWithStateStore.updateTokensUntilLine(builder,firstInvalidLine.lineNumber);return firstInvalidLine.lineNumber}checkFinished(){if(this._isDisposed){return}if(this._tokenizerWithStateStore.store.allStatesValid()){this._backgroundTokenStore.backgroundTokenizationFinished()}}requestTokens(startLineNumber,endLineNumberExclusive){this._tokenizerWithStateStore.store.invalidateEndStateRange(new LineRange(startLineNumber,endLineNumberExclusive))}}}});function toUint32Array(arr){if(arr instanceof Uint32Array){return arr}else{return new Uint32Array(arr)}}var EMPTY_LINE_TOKENS,ContiguousTokensEditing;var init_contiguousTokensEditing=__esm({"node_modules/monaco-editor/esm/vs/editor/common/tokens/contiguousTokensEditing.js"(){init_lineTokens();EMPTY_LINE_TOKENS=new Uint32Array(0).buffer;ContiguousTokensEditing=class{static deleteBeginning(lineTokens,toChIndex){if(lineTokens===null||lineTokens===EMPTY_LINE_TOKENS){return lineTokens}return ContiguousTokensEditing.delete(lineTokens,0,toChIndex)}static deleteEnding(lineTokens,fromChIndex){if(lineTokens===null||lineTokens===EMPTY_LINE_TOKENS){return lineTokens}const tokens=toUint32Array(lineTokens);const lineTextLength=tokens[tokens.length-2];return ContiguousTokensEditing.delete(lineTokens,fromChIndex,lineTextLength)}static delete(lineTokens,fromChIndex,toChIndex){if(lineTokens===null||lineTokens===EMPTY_LINE_TOKENS||fromChIndex===toChIndex){return lineTokens}const tokens=toUint32Array(lineTokens);const tokensCount=tokens.length>>>1;if(fromChIndex===0&&tokens[tokens.length-2]===toChIndex){return EMPTY_LINE_TOKENS}const fromTokenIndex=LineTokens.findIndexInTokensArray(tokens,fromChIndex);const fromTokenStartOffset=fromTokenIndex>0?tokens[fromTokenIndex-1<<1]:0;const fromTokenEndOffset=tokens[fromTokenIndex<<1];if(toChIndex<fromTokenEndOffset){const delta2=toChIndex-fromChIndex;for(let i=fromTokenIndex;i<tokensCount;i++){tokens[i<<1]-=delta2}return lineTokens}let dest;let lastEnd;if(fromTokenStartOffset!==fromChIndex){tokens[fromTokenIndex<<1]=fromChIndex;dest=fromTokenIndex+1<<1;lastEnd=fromChIndex}else{dest=fromTokenIndex<<1;lastEnd=fromTokenStartOffset}const delta=toChIndex-fromChIndex;for(let tokenIndex=fromTokenIndex+1;tokenIndex<tokensCount;tokenIndex++){const tokenEndOffset=tokens[tokenIndex<<1]-delta;if(tokenEndOffset>lastEnd){tokens[dest++]=tokenEndOffset;tokens[dest++]=tokens[(tokenIndex<<1)+1];lastEnd=tokenEndOffset}}if(dest===tokens.length){return lineTokens}const tmp=new Uint32Array(dest);tmp.set(tokens.subarray(0,dest),0);return tmp.buffer}static append(lineTokens,_otherTokens){if(_otherTokens===EMPTY_LINE_TOKENS){return lineTokens}if(lineTokens===EMPTY_LINE_TOKENS){return _otherTokens}if(lineTokens===null){return lineTokens}if(_otherTokens===null){return null}const myTokens=toUint32Array(lineTokens);const otherTokens=toUint32Array(_otherTokens);const otherTokensCount=otherTokens.length>>>1;const result=new Uint32Array(myTokens.length+otherTokens.length);result.set(myTokens,0);let dest=myTokens.length;const delta=myTokens[myTokens.length-2];for(let i=0;i<otherTokensCount;i++){result[dest++]=otherTokens[i<<1]+delta;result[dest++]=otherTokens[(i<<1)+1]}return result.buffer}static insert(lineTokens,chIndex,textLength){if(lineTokens===null||lineTokens===EMPTY_LINE_TOKENS){return lineTokens}const tokens=toUint32Array(lineTokens);const tokensCount=tokens.length>>>1;let fromTokenIndex=LineTokens.findIndexInTokensArray(tokens,chIndex);if(fromTokenIndex>0){const fromTokenStartOffset=tokens[fromTokenIndex-1<<1];if(fromTokenStartOffset===chIndex){fromTokenIndex--}}for(let tokenIndex=fromTokenIndex;tokenIndex<tokensCount;tokenIndex++){tokens[tokenIndex<<1]+=textLength}return lineTokens}}}});function getDefaultMetadata(topLevelLanguageId){return(topLevelLanguageId<<0|0<<8|0<<11|1<<15|2<<24|1024)>>>0}var ContiguousTokensStore;var init_contiguousTokensStore=__esm({"node_modules/monaco-editor/esm/vs/editor/common/tokens/contiguousTokensStore.js"(){init_arrays();init_position();init_contiguousTokensEditing();init_lineTokens();init_encodedTokenAttributes();ContiguousTokensStore=class{constructor(languageIdCodec){this._lineTokens=[];this._len=0;this._languageIdCodec=languageIdCodec}flush(){this._lineTokens=[];this._len=0}get hasTokens(){return this._lineTokens.length>0}getTokens(topLevelLanguageId,lineIndex,lineText){let rawLineTokens=null;if(lineIndex<this._len){rawLineTokens=this._lineTokens[lineIndex]}if(rawLineTokens!==null&&rawLineTokens!==EMPTY_LINE_TOKENS){return new LineTokens(toUint32Array(rawLineTokens),lineText,this._languageIdCodec)}const lineTokens=new Uint32Array(2);lineTokens[0]=lineText.length;lineTokens[1]=getDefaultMetadata(this._languageIdCodec.encodeLanguageId(topLevelLanguageId));return new LineTokens(lineTokens,lineText,this._languageIdCodec)}static _massageTokens(topLevelLanguageId,lineTextLength,_tokens){const tokens=_tokens?toUint32Array(_tokens):null;if(lineTextLength===0){let hasDifferentLanguageId=false;if(tokens&&tokens.length>1){hasDifferentLanguageId=TokenMetadata.getLanguageId(tokens[1])!==topLevelLanguageId}if(!hasDifferentLanguageId){return EMPTY_LINE_TOKENS}}if(!tokens||tokens.length===0){const tokens2=new Uint32Array(2);tokens2[0]=lineTextLength;tokens2[1]=getDefaultMetadata(topLevelLanguageId);return tokens2.buffer}tokens[tokens.length-2]=lineTextLength;if(tokens.byteOffset===0&&tokens.byteLength===tokens.buffer.byteLength){return tokens.buffer}return tokens}_ensureLine(lineIndex){while(lineIndex>=this._len){this._lineTokens[this._len]=null;this._len++}}_deleteLines(start,deleteCount){if(deleteCount===0){return}if(start+deleteCount>this._len){deleteCount=this._len-start}this._lineTokens.splice(start,deleteCount);this._len-=deleteCount}_insertLines(insertIndex,insertCount){if(insertCount===0){return}const lineTokens=[];for(let i=0;i<insertCount;i++){lineTokens[i]=null}this._lineTokens=arrayInsert(this._lineTokens,insertIndex,lineTokens);this._len+=insertCount}setTokens(topLevelLanguageId,lineIndex,lineTextLength,_tokens,checkEquality){const tokens=ContiguousTokensStore._massageTokens(this._languageIdCodec.encodeLanguageId(topLevelLanguageId),lineTextLength,_tokens);this._ensureLine(lineIndex);const oldTokens=this._lineTokens[lineIndex];this._lineTokens[lineIndex]=tokens;if(checkEquality){return!ContiguousTokensStore._equals(oldTokens,tokens)}return false}static _equals(_a6,_b3){if(!_a6||!_b3){return!_a6&&!_b3}const a=toUint32Array(_a6);const b=toUint32Array(_b3);if(a.length!==b.length){return false}for(let i=0,len=a.length;i<len;i++){if(a[i]!==b[i]){return false}}return true}acceptEdit(range2,eolCount,firstLineLength){this._acceptDeleteRange(range2);this._acceptInsertText(new Position(range2.startLineNumber,range2.startColumn),eolCount,firstLineLength)}_acceptDeleteRange(range2){const firstLineIndex=range2.startLineNumber-1;if(firstLineIndex>=this._len){return}if(range2.startLineNumber===range2.endLineNumber){if(range2.startColumn===range2.endColumn){return}this._lineTokens[firstLineIndex]=ContiguousTokensEditing.delete(this._lineTokens[firstLineIndex],range2.startColumn-1,range2.endColumn-1);return}this._lineTokens[firstLineIndex]=ContiguousTokensEditing.deleteEnding(this._lineTokens[firstLineIndex],range2.startColumn-1);const lastLineIndex=range2.endLineNumber-1;let lastLineTokens=null;if(lastLineIndex<this._len){lastLineTokens=ContiguousTokensEditing.deleteBeginning(this._lineTokens[lastLineIndex],range2.endColumn-1)}this._lineTokens[firstLineIndex]=ContiguousTokensEditing.append(this._lineTokens[firstLineIndex],lastLineTokens);this._deleteLines(range2.startLineNumber,range2.endLineNumber-range2.startLineNumber)}_acceptInsertText(position,eolCount,firstLineLength){if(eolCount===0&&firstLineLength===0){return}const lineIndex=position.lineNumber-1;if(lineIndex>=this._len){return}if(eolCount===0){this._lineTokens[lineIndex]=ContiguousTokensEditing.insert(this._lineTokens[lineIndex],position.column-1,firstLineLength);return}this._lineTokens[lineIndex]=ContiguousTokensEditing.deleteEnding(this._lineTokens[lineIndex],position.column-1);this._lineTokens[lineIndex]=ContiguousTokensEditing.insert(this._lineTokens[lineIndex],position.column-1,firstLineLength);this._insertLines(position.lineNumber,eolCount)}setMultilineTokens(tokens,textModel){if(tokens.length===0){return{changes:[]}}const ranges=[];for(let i=0,len=tokens.length;i<len;i++){const element=tokens[i];let minChangedLineNumber=0;let maxChangedLineNumber=0;let hasChange=false;for(let lineNumber=element.startLineNumber;lineNumber<=element.endLineNumber;lineNumber++){if(hasChange){this.setTokens(textModel.getLanguageId(),lineNumber-1,textModel.getLineLength(lineNumber),element.getLineTokens(lineNumber),false);maxChangedLineNumber=lineNumber}else{const lineHasChange=this.setTokens(textModel.getLanguageId(),lineNumber-1,textModel.getLineLength(lineNumber),element.getLineTokens(lineNumber),true);if(lineHasChange){hasChange=true;minChangedLineNumber=lineNumber;maxChangedLineNumber=lineNumber}}}if(hasChange){ranges.push({fromLineNumber:minChangedLineNumber,toLineNumber:maxChangedLineNumber})}}return{changes:ranges}}}}});var SparseTokensStore;var init_sparseTokensStore=__esm({"node_modules/monaco-editor/esm/vs/editor/common/tokens/sparseTokensStore.js"(){init_arrays();init_lineTokens();SparseTokensStore=class{constructor(languageIdCodec){this._pieces=[];this._isComplete=false;this._languageIdCodec=languageIdCodec}flush(){this._pieces=[];this._isComplete=false}isEmpty(){return this._pieces.length===0}set(pieces,isComplete){this._pieces=pieces||[];this._isComplete=isComplete}setPartial(_range,pieces){let range2=_range;if(pieces.length>0){const _firstRange=pieces[0].getRange();const _lastRange=pieces[pieces.length-1].getRange();if(!_firstRange||!_lastRange){return _range}range2=_range.plusRange(_firstRange).plusRange(_lastRange)}let insertPosition=null;for(let i=0,len=this._pieces.length;i<len;i++){const piece=this._pieces[i];if(piece.endLineNumber<range2.startLineNumber){continue}if(piece.startLineNumber>range2.endLineNumber){insertPosition=insertPosition||{index:i};break}piece.removeTokens(range2);if(piece.isEmpty()){this._pieces.splice(i,1);i--;len--;continue}if(piece.endLineNumber<range2.startLineNumber){continue}if(piece.startLineNumber>range2.endLineNumber){insertPosition=insertPosition||{index:i};continue}const[a,b]=piece.split(range2);if(a.isEmpty()){insertPosition=insertPosition||{index:i};continue}if(b.isEmpty()){continue}this._pieces.splice(i,1,a,b);i++;len++;insertPosition=insertPosition||{index:i}}insertPosition=insertPosition||{index:this._pieces.length};if(pieces.length>0){this._pieces=arrayInsert(this._pieces,insertPosition.index,pieces)}return range2}isComplete(){return this._isComplete}addSparseTokens(lineNumber,aTokens){if(aTokens.getLineContent().length===0){return aTokens}const pieces=this._pieces;if(pieces.length===0){return aTokens}const pieceIndex=SparseTokensStore._findFirstPieceWithLine(pieces,lineNumber);const bTokens=pieces[pieceIndex].getLineTokens(lineNumber);if(!bTokens){return aTokens}const aLen=aTokens.getCount();const bLen=bTokens.getCount();let aIndex=0;const result=[];let resultLen=0;let lastEndOffset=0;const emitToken=(endOffset,metadata)=>{if(endOffset===lastEndOffset){return}lastEndOffset=endOffset;result[resultLen++]=endOffset;result[resultLen++]=metadata};for(let bIndex=0;bIndex<bLen;bIndex++){const bStartCharacter=bTokens.getStartCharacter(bIndex);const bEndCharacter=bTokens.getEndCharacter(bIndex);const bMetadata=bTokens.getMetadata(bIndex);const bMask=((bMetadata&1?2048:0)|(bMetadata&2?4096:0)|(bMetadata&4?8192:0)|(bMetadata&8?16384:0)|(bMetadata&16?16744448:0)|(bMetadata&32?4278190080:0))>>>0;const aMask=~bMask>>>0;while(aIndex<aLen&&aTokens.getEndOffset(aIndex)<=bStartCharacter){emitToken(aTokens.getEndOffset(aIndex),aTokens.getMetadata(aIndex));aIndex++}if(aIndex<aLen&&aTokens.getStartOffset(aIndex)<bStartCharacter){emitToken(bStartCharacter,aTokens.getMetadata(aIndex))}while(aIndex<aLen&&aTokens.getEndOffset(aIndex)<bEndCharacter){emitToken(aTokens.getEndOffset(aIndex),aTokens.getMetadata(aIndex)&aMask|bMetadata&bMask);aIndex++}if(aIndex<aLen){emitToken(bEndCharacter,aTokens.getMetadata(aIndex)&aMask|bMetadata&bMask);if(aTokens.getEndOffset(aIndex)===bEndCharacter){aIndex++}}else{const aMergeIndex=Math.min(Math.max(0,aIndex-1),aLen-1);emitToken(bEndCharacter,aTokens.getMetadata(aMergeIndex)&aMask|bMetadata&bMask)}}while(aIndex<aLen){emitToken(aTokens.getEndOffset(aIndex),aTokens.getMetadata(aIndex));aIndex++}return new LineTokens(new Uint32Array(result),aTokens.getLineContent(),this._languageIdCodec)}static _findFirstPieceWithLine(pieces,lineNumber){let low=0;let high=pieces.length-1;while(low<high){let mid=low+Math.floor((high-low)/2);if(pieces[mid].endLineNumber<lineNumber){low=mid+1}else if(pieces[mid].startLineNumber>lineNumber){high=mid-1}else{while(mid>low&&pieces[mid-1].startLineNumber<=lineNumber&&lineNumber<=pieces[mid-1].endLineNumber){mid--}return mid}}return low}acceptEdit(range2,eolCount,firstLineLength,lastLineLength,firstCharCode){for(const piece of this._pieces){piece.acceptEdit(range2,eolCount,firstLineLength,lastLineLength,firstCharCode)}}}}});var TokenizationTextModelPart,GrammarTokens,AttachedViewHandler;var init_tokenizationTextModelPart=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/tokenizationTextModelPart.js"(){init_arrays();init_async();init_errors();init_event();init_lifecycle();init_eolCounter();init_lineRange();init_position();init_wordHelper();init_languages();init_textModelPart();init_textModelTokens();init_contiguousMultilineTokensBuilder();init_contiguousTokensStore();init_sparseTokensStore();TokenizationTextModelPart=class extends TextModelPart{constructor(_languageService,_languageConfigurationService,_textModel,_bracketPairsTextModelPart,_languageId,_attachedViews){super();this._languageService=_languageService;this._languageConfigurationService=_languageConfigurationService;this._textModel=_textModel;this._bracketPairsTextModelPart=_bracketPairsTextModelPart;this._languageId=_languageId;this._attachedViews=_attachedViews;this._semanticTokens=new SparseTokensStore(this._languageService.languageIdCodec);this._onDidChangeLanguage=this._register(new Emitter);this.onDidChangeLanguage=this._onDidChangeLanguage.event;this._onDidChangeLanguageConfiguration=this._register(new Emitter);this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event;this._onDidChangeTokens=this._register(new Emitter);this.onDidChangeTokens=this._onDidChangeTokens.event;this.grammarTokens=this._register(new GrammarTokens(this._languageService.languageIdCodec,this._textModel,(()=>this._languageId),this._attachedViews));this._register(this._languageConfigurationService.onDidChange((e=>{if(e.affects(this._languageId)){this._onDidChangeLanguageConfiguration.fire({})}})));this._register(this.grammarTokens.onDidChangeTokens((e=>{this._emitModelTokensChangedEvent(e)})));this._register(this.grammarTokens.onDidChangeBackgroundTokenizationState((e=>{this._bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState()})))}handleDidChangeContent(e){if(e.isFlush){this._semanticTokens.flush()}else if(!e.isEolChange){for(const c of e.changes){const[eolCount,firstLineLength,lastLineLength]=countEOL(c.text);this._semanticTokens.acceptEdit(c.range,eolCount,firstLineLength,lastLineLength,c.text.length>0?c.text.charCodeAt(0):0)}}this.grammarTokens.handleDidChangeContent(e)}handleDidChangeAttached(){this.grammarTokens.handleDidChangeAttached()}getLineTokens(lineNumber){this.validateLineNumber(lineNumber);const syntacticTokens=this.grammarTokens.getLineTokens(lineNumber);return this._semanticTokens.addSparseTokens(lineNumber,syntacticTokens)}_emitModelTokensChangedEvent(e){if(!this._textModel._isDisposing()){this._bracketPairsTextModelPart.handleDidChangeTokens(e);this._onDidChangeTokens.fire(e)}}validateLineNumber(lineNumber){if(lineNumber<1||lineNumber>this._textModel.getLineCount()){throw new BugIndicatingError("Illegal value for lineNumber")}}get hasTokens(){return this.grammarTokens.hasTokens}resetTokenization(){this.grammarTokens.resetTokenization()}get backgroundTokenizationState(){return this.grammarTokens.backgroundTokenizationState}forceTokenization(lineNumber){this.validateLineNumber(lineNumber);this.grammarTokens.forceTokenization(lineNumber)}isCheapToTokenize(lineNumber){this.validateLineNumber(lineNumber);return this.grammarTokens.isCheapToTokenize(lineNumber)}tokenizeIfCheap(lineNumber){this.validateLineNumber(lineNumber);this.grammarTokens.tokenizeIfCheap(lineNumber)}getTokenTypeIfInsertingCharacter(lineNumber,column,character){return this.grammarTokens.getTokenTypeIfInsertingCharacter(lineNumber,column,character)}tokenizeLineWithEdit(position,length2,newText){return this.grammarTokens.tokenizeLineWithEdit(position,length2,newText)}setSemanticTokens(tokens,isComplete){this._semanticTokens.set(tokens,isComplete);this._emitModelTokensChangedEvent({semanticTokensApplied:tokens!==null,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(range2,tokens){if(this.hasCompleteSemanticTokens()){return}const changedRange=this._textModel.validateRange(this._semanticTokens.setPartial(range2,tokens));this._emitModelTokensChangedEvent({semanticTokensApplied:true,ranges:[{fromLineNumber:changedRange.startLineNumber,toLineNumber:changedRange.endLineNumber}]})}getWordAtPosition(_position){this.assertNotDisposed();const position=this._textModel.validatePosition(_position);const lineContent=this._textModel.getLineContent(position.lineNumber);const lineTokens=this.getLineTokens(position.lineNumber);const tokenIndex=lineTokens.findTokenIndexAtOffset(position.column-1);const[rbStartOffset,rbEndOffset]=TokenizationTextModelPart._findLanguageBoundaries(lineTokens,tokenIndex);const rightBiasedWord=getWordAtText(position.column,this.getLanguageConfiguration(lineTokens.getLanguageId(tokenIndex)).getWordDefinition(),lineContent.substring(rbStartOffset,rbEndOffset),rbStartOffset);if(rightBiasedWord&&rightBiasedWord.startColumn<=_position.column&&_position.column<=rightBiasedWord.endColumn){return rightBiasedWord}if(tokenIndex>0&&rbStartOffset===position.column-1){const[lbStartOffset,lbEndOffset]=TokenizationTextModelPart._findLanguageBoundaries(lineTokens,tokenIndex-1);const leftBiasedWord=getWordAtText(position.column,this.getLanguageConfiguration(lineTokens.getLanguageId(tokenIndex-1)).getWordDefinition(),lineContent.substring(lbStartOffset,lbEndOffset),lbStartOffset);if(leftBiasedWord&&leftBiasedWord.startColumn<=_position.column&&_position.column<=leftBiasedWord.endColumn){return leftBiasedWord}}return null}getLanguageConfiguration(languageId){return this._languageConfigurationService.getLanguageConfiguration(languageId)}static _findLanguageBoundaries(lineTokens,tokenIndex){const languageId=lineTokens.getLanguageId(tokenIndex);let startOffset=0;for(let i=tokenIndex;i>=0&&lineTokens.getLanguageId(i)===languageId;i--){startOffset=lineTokens.getStartOffset(i)}let endOffset=lineTokens.getLineContent().length;for(let i=tokenIndex,tokenCount=lineTokens.getCount();i<tokenCount&&lineTokens.getLanguageId(i)===languageId;i++){endOffset=lineTokens.getEndOffset(i)}return[startOffset,endOffset]}getWordUntilPosition(position){const wordAtPosition=this.getWordAtPosition(position);if(!wordAtPosition){return{word:"",startColumn:position.column,endColumn:position.column}}return{word:wordAtPosition.word.substr(0,position.column-wordAtPosition.startColumn),startColumn:wordAtPosition.startColumn,endColumn:position.column}}getLanguageId(){return this._languageId}getLanguageIdAtPosition(lineNumber,column){const position=this._textModel.validatePosition(new Position(lineNumber,column));const lineTokens=this.getLineTokens(position.lineNumber);return lineTokens.getLanguageId(lineTokens.findTokenIndexAtOffset(position.column-1))}setLanguageId(languageId,source="api"){if(this._languageId===languageId){return}const e={oldLanguage:this._languageId,newLanguage:languageId,source:source};this._languageId=languageId;this._bracketPairsTextModelPart.handleDidChangeLanguage(e);this.grammarTokens.resetTokenization();this._onDidChangeLanguage.fire(e);this._onDidChangeLanguageConfiguration.fire({})}};GrammarTokens=class extends Disposable{get backgroundTokenizationState(){return this._backgroundTokenizationState}constructor(_languageIdCodec,_textModel,getLanguageId,attachedViews){super();this._languageIdCodec=_languageIdCodec;this._textModel=_textModel;this.getLanguageId=getLanguageId;this._tokenizer=null;this._defaultBackgroundTokenizer=null;this._backgroundTokenizer=this._register(new MutableDisposable);this._tokens=new ContiguousTokensStore(this._languageIdCodec);this._debugBackgroundTokenizer=this._register(new MutableDisposable);this._backgroundTokenizationState=1;this._onDidChangeBackgroundTokenizationState=this._register(new Emitter);this.onDidChangeBackgroundTokenizationState=this._onDidChangeBackgroundTokenizationState.event;this._onDidChangeTokens=this._register(new Emitter);this.onDidChangeTokens=this._onDidChangeTokens.event;this._attachedViewStates=this._register(new DisposableMap);this._register(TokenizationRegistry2.onDidChange((e=>{const languageId=this.getLanguageId();if(e.changedLanguages.indexOf(languageId)===-1){return}this.resetTokenization()})));this.resetTokenization();this._register(attachedViews.onDidChangeVisibleRanges((({view:view,state:state})=>{if(state){let existing=this._attachedViewStates.get(view);if(!existing){existing=new AttachedViewHandler((()=>this.refreshRanges(existing.lineRanges)));this._attachedViewStates.set(view,existing)}existing.handleStateChange(state)}else{this._attachedViewStates.deleteAndDispose(view)}})))}resetTokenization(fireTokenChangeEvent=true){var _a6;this._tokens.flush();(_a6=this._debugBackgroundTokens)===null||_a6===void 0?void 0:_a6.flush();if(this._debugBackgroundStates){this._debugBackgroundStates=new TrackingTokenizationStateStore(this._textModel.getLineCount())}if(fireTokenChangeEvent){this._onDidChangeTokens.fire({semanticTokensApplied:false,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}const initializeTokenization=()=>{if(this._textModel.isTooLargeForTokenization()){return[null,null]}const tokenizationSupport2=TokenizationRegistry2.get(this.getLanguageId());if(!tokenizationSupport2){return[null,null]}let initialState2;try{initialState2=tokenizationSupport2.getInitialState()}catch(e){onUnexpectedError(e);return[null,null]}return[tokenizationSupport2,initialState2]};const[tokenizationSupport,initialState]=initializeTokenization();if(tokenizationSupport&&initialState){this._tokenizer=new TokenizerWithStateStoreAndTextModel(this._textModel.getLineCount(),tokenizationSupport,this._textModel,this._languageIdCodec)}else{this._tokenizer=null}this._backgroundTokenizer.clear();this._defaultBackgroundTokenizer=null;if(this._tokenizer){const b={setTokens:tokens=>{this.setTokens(tokens)},backgroundTokenizationFinished:()=>{if(this._backgroundTokenizationState===2){return}const newState=2;this._backgroundTokenizationState=newState;this._onDidChangeBackgroundTokenizationState.fire()},setEndState:(lineNumber,state)=>{var _a7;if(!this._tokenizer){return}const firstInvalidEndStateLineNumber=this._tokenizer.store.getFirstInvalidEndStateLineNumber();if(firstInvalidEndStateLineNumber!==null&&lineNumber>=firstInvalidEndStateLineNumber){(_a7=this._tokenizer)===null||_a7===void 0?void 0:_a7.store.setEndState(lineNumber,state)}}};if(tokenizationSupport&&tokenizationSupport.createBackgroundTokenizer&&!tokenizationSupport.backgroundTokenizerShouldOnlyVerifyTokens){this._backgroundTokenizer.value=tokenizationSupport.createBackgroundTokenizer(this._textModel,b)}if(!this._backgroundTokenizer.value){this._backgroundTokenizer.value=this._defaultBackgroundTokenizer=new DefaultBackgroundTokenizer(this._tokenizer,b);this._defaultBackgroundTokenizer.handleChanges()}if((tokenizationSupport===null||tokenizationSupport===void 0?void 0:tokenizationSupport.backgroundTokenizerShouldOnlyVerifyTokens)&&tokenizationSupport.createBackgroundTokenizer){this._debugBackgroundTokens=new ContiguousTokensStore(this._languageIdCodec);this._debugBackgroundStates=new TrackingTokenizationStateStore(this._textModel.getLineCount());this._debugBackgroundTokenizer.clear();this._debugBackgroundTokenizer.value=tokenizationSupport.createBackgroundTokenizer(this._textModel,{setTokens:tokens=>{var _a7;(_a7=this._debugBackgroundTokens)===null||_a7===void 0?void 0:_a7.setMultilineTokens(tokens,this._textModel)},backgroundTokenizationFinished(){},setEndState:(lineNumber,state)=>{var _a7;(_a7=this._debugBackgroundStates)===null||_a7===void 0?void 0:_a7.setEndState(lineNumber,state)}})}else{this._debugBackgroundTokens=void 0;this._debugBackgroundStates=void 0;this._debugBackgroundTokenizer.value=void 0}}this.refreshAllVisibleLineTokens()}handleDidChangeAttached(){var _a6;(_a6=this._defaultBackgroundTokenizer)===null||_a6===void 0?void 0:_a6.handleChanges()}handleDidChangeContent(e){var _a6,_b3,_c2;if(e.isFlush){this.resetTokenization(false)}else if(!e.isEolChange){for(const c of e.changes){const[eolCount,firstLineLength]=countEOL(c.text);this._tokens.acceptEdit(c.range,eolCount,firstLineLength);(_a6=this._debugBackgroundTokens)===null||_a6===void 0?void 0:_a6.acceptEdit(c.range,eolCount,firstLineLength)}(_b3=this._debugBackgroundStates)===null||_b3===void 0?void 0:_b3.acceptChanges(e.changes);if(this._tokenizer){this._tokenizer.store.acceptChanges(e.changes)}(_c2=this._defaultBackgroundTokenizer)===null||_c2===void 0?void 0:_c2.handleChanges()}}setTokens(tokens){const{changes:changes}=this._tokens.setMultilineTokens(tokens,this._textModel);if(changes.length>0){this._onDidChangeTokens.fire({semanticTokensApplied:false,ranges:changes})}return{changes:changes}}refreshAllVisibleLineTokens(){const ranges=LineRange.joinMany([...this._attachedViewStates].map((([_,s])=>s.lineRanges)));this.refreshRanges(ranges)}refreshRanges(ranges){for(const range2 of ranges){this.refreshRange(range2.startLineNumber,range2.endLineNumberExclusive-1)}}refreshRange(startLineNumber,endLineNumber){var _a6,_b3;if(!this._tokenizer){return}startLineNumber=Math.max(1,Math.min(this._textModel.getLineCount(),startLineNumber));endLineNumber=Math.min(this._textModel.getLineCount(),endLineNumber);const builder=new ContiguousMultilineTokensBuilder;const{heuristicTokens:heuristicTokens}=this._tokenizer.tokenizeHeuristically(builder,startLineNumber,endLineNumber);const changedTokens=this.setTokens(builder.finalize());if(heuristicTokens){for(const c of changedTokens.changes){(_a6=this._backgroundTokenizer.value)===null||_a6===void 0?void 0:_a6.requestTokens(c.fromLineNumber,c.toLineNumber+1)}}(_b3=this._defaultBackgroundTokenizer)===null||_b3===void 0?void 0:_b3.checkFinished()}forceTokenization(lineNumber){var _a6,_b3;const builder=new ContiguousMultilineTokensBuilder;(_a6=this._tokenizer)===null||_a6===void 0?void 0:_a6.updateTokensUntilLine(builder,lineNumber);this.setTokens(builder.finalize());(_b3=this._defaultBackgroundTokenizer)===null||_b3===void 0?void 0:_b3.checkFinished()}isCheapToTokenize(lineNumber){if(!this._tokenizer){return true}return this._tokenizer.isCheapToTokenize(lineNumber)}tokenizeIfCheap(lineNumber){if(this.isCheapToTokenize(lineNumber)){this.forceTokenization(lineNumber)}}getLineTokens(lineNumber){var _a6;const lineText=this._textModel.getLineContent(lineNumber);const result=this._tokens.getTokens(this._textModel.getLanguageId(),lineNumber-1,lineText);if(this._debugBackgroundTokens&&this._debugBackgroundStates&&this._tokenizer){if(this._debugBackgroundStates.getFirstInvalidEndStateLineNumberOrMax()>lineNumber&&this._tokenizer.store.getFirstInvalidEndStateLineNumberOrMax()>lineNumber){const backgroundResult=this._debugBackgroundTokens.getTokens(this._textModel.getLanguageId(),lineNumber-1,lineText);if(!result.equals(backgroundResult)&&((_a6=this._debugBackgroundTokenizer.value)===null||_a6===void 0?void 0:_a6.reportMismatchingTokens)){this._debugBackgroundTokenizer.value.reportMismatchingTokens(lineNumber)}}}return result}getTokenTypeIfInsertingCharacter(lineNumber,column,character){if(!this._tokenizer){return 0}const position=this._textModel.validatePosition(new Position(lineNumber,column));this.forceTokenization(position.lineNumber);return this._tokenizer.getTokenTypeIfInsertingCharacter(position,character)}tokenizeLineWithEdit(position,length2,newText){if(!this._tokenizer){return null}const validatedPosition=this._textModel.validatePosition(position);this.forceTokenization(validatedPosition.lineNumber);return this._tokenizer.tokenizeLineWithEdit(validatedPosition,length2,newText)}get hasTokens(){return this._tokens.hasTokens}};AttachedViewHandler=class extends Disposable{get lineRanges(){return this._lineRanges}constructor(_refreshTokens){super();this._refreshTokens=_refreshTokens;this.runner=this._register(new RunOnceScheduler((()=>this.update()),50));this._computedLineRanges=[];this._lineRanges=[]}update(){if(equals(this._computedLineRanges,this._lineRanges,((a,b)=>a.equals(b)))){return}this._computedLineRanges=this._lineRanges;this._refreshTokens()}handleStateChange(state){this._lineRanges=state.visibleLineRanges;if(state.stabilized){this.runner.cancel();this.update()}else{this.runner.schedule()}}}}});var ModelRawFlush,LineInjectedText,ModelRawLineChanged,ModelRawLinesDeleted,ModelRawLinesInserted,ModelRawEOLChanged,ModelRawContentChangedEvent,ModelInjectedTextChangedEvent,InternalModelContentChangeEvent;var init_textModelEvents=__esm({"node_modules/monaco-editor/esm/vs/editor/common/textModelEvents.js"(){ModelRawFlush=class{constructor(){this.changeType=1}};LineInjectedText=class{static applyInjectedText(lineText,injectedTexts){if(!injectedTexts||injectedTexts.length===0){return lineText}let result="";let lastOriginalOffset=0;for(const injectedText of injectedTexts){result+=lineText.substring(lastOriginalOffset,injectedText.column-1);lastOriginalOffset=injectedText.column-1;result+=injectedText.options.content}result+=lineText.substring(lastOriginalOffset);return result}static fromDecorations(decorations){const result=[];for(const decoration2 of decorations){if(decoration2.options.before&&decoration2.options.before.content.length>0){result.push(new LineInjectedText(decoration2.ownerId,decoration2.range.startLineNumber,decoration2.range.startColumn,decoration2.options.before,0))}if(decoration2.options.after&&decoration2.options.after.content.length>0){result.push(new LineInjectedText(decoration2.ownerId,decoration2.range.endLineNumber,decoration2.range.endColumn,decoration2.options.after,1))}}result.sort(((a,b)=>{if(a.lineNumber===b.lineNumber){if(a.column===b.column){return a.order-b.order}return a.column-b.column}return a.lineNumber-b.lineNumber}));return result}constructor(ownerId,lineNumber,column,options2,order){this.ownerId=ownerId;this.lineNumber=lineNumber;this.column=column;this.options=options2;this.order=order}};ModelRawLineChanged=class{constructor(lineNumber,detail,injectedText){this.changeType=2;this.lineNumber=lineNumber;this.detail=detail;this.injectedText=injectedText}};ModelRawLinesDeleted=class{constructor(fromLineNumber,toLineNumber){this.changeType=3;this.fromLineNumber=fromLineNumber;this.toLineNumber=toLineNumber}};ModelRawLinesInserted=class{constructor(fromLineNumber,toLineNumber,detail,injectedTexts){this.changeType=4;this.injectedTexts=injectedTexts;this.fromLineNumber=fromLineNumber;this.toLineNumber=toLineNumber;this.detail=detail}};ModelRawEOLChanged=class{constructor(){this.changeType=5}};ModelRawContentChangedEvent=class{constructor(changes,versionId,isUndoing,isRedoing){this.changes=changes;this.versionId=versionId;this.isUndoing=isUndoing;this.isRedoing=isRedoing;this.resultingSelection=null}containsEvent(type){for(let i=0,len=this.changes.length;i<len;i++){const change=this.changes[i];if(change.changeType===type){return true}}return false}static merge(a,b){const changes=[].concat(a.changes).concat(b.changes);const versionId=b.versionId;const isUndoing=a.isUndoing||b.isUndoing;const isRedoing=a.isRedoing||b.isRedoing;return new ModelRawContentChangedEvent(changes,versionId,isUndoing,isRedoing)}};ModelInjectedTextChangedEvent=class{constructor(changes){this.changes=changes}};InternalModelContentChangeEvent=class{constructor(rawContentChangedEvent,contentChangedEvent){this.rawContentChangedEvent=rawContentChangedEvent;this.contentChangedEvent=contentChangedEvent}merge(other){const rawContentChangedEvent=ModelRawContentChangedEvent.merge(this.rawContentChangedEvent,other.rawContentChangedEvent);const contentChangedEvent=InternalModelContentChangeEvent._mergeChangeEvents(this.contentChangedEvent,other.contentChangedEvent);return new InternalModelContentChangeEvent(rawContentChangedEvent,contentChangedEvent)}static _mergeChangeEvents(a,b){const changes=[].concat(a.changes).concat(b.changes);const eol=b.eol;const versionId=b.versionId;const isUndoing=a.isUndoing||b.isUndoing;const isRedoing=a.isRedoing||b.isRedoing;const isFlush=a.isFlush||b.isFlush;const isEolChange=a.isEolChange&&b.isEolChange;return{changes:changes,eol:eol,isEolChange:isEolChange,versionId:versionId,isUndoing:isUndoing,isRedoing:isRedoing,isFlush:isFlush}}}}});var IUndoRedoService,ResourceEditStackSnapshot,UndoRedoGroup,UndoRedoSource;var init_undoRedo=__esm({"node_modules/monaco-editor/esm/vs/platform/undoRedo/common/undoRedo.js"(){init_instantiation();IUndoRedoService=createDecorator("undoRedoService");ResourceEditStackSnapshot=class{constructor(resource,elements){this.resource=resource;this.elements=elements}};UndoRedoGroup=class{constructor(){this.id=UndoRedoGroup._ID++;this.order=1}nextOrder(){if(this.id===0){return 0}return this.order++}};UndoRedoGroup._ID=0;UndoRedoGroup.None=new UndoRedoGroup;UndoRedoSource=class{constructor(){this.id=UndoRedoSource._ID++;this.order=1}nextOrder(){if(this.id===0){return 0}return this.order++}};UndoRedoSource._ID=0;UndoRedoSource.None=new UndoRedoSource}});function createTextBufferFactory(text2){const builder=new PieceTreeTextBufferBuilder;builder.acceptChunk(text2);return builder.finish()}function createTextBufferFactoryFromSnapshot(snapshot){const builder=new PieceTreeTextBufferBuilder;let chunk;while(typeof(chunk=snapshot.read())==="string"){builder.acceptChunk(chunk)}return builder.finish()}function createTextBuffer(value,defaultEOL){let factory;if(typeof value==="string"){factory=createTextBufferFactory(value)}else if(isITextSnapshot(value)){factory=createTextBufferFactoryFromSnapshot(value)}else{factory=value}return factory.create(defaultEOL)}function indentOfLine(line){let indent=0;for(const c of line){if(c===" "||c==="\t"){indent++}else{break}}return indent}function isNodeInOverviewRuler(node){return node.options.overviewRuler&&node.options.overviewRuler.color?true:false}function isNodeInjectedText(node){return!!node.options.after||!!node.options.before}function cleanClassName(className){return className.replace(/[^a-z0-9\-_]/gi," ")}function _normalizeOptions(options2){if(options2 instanceof ModelDecorationOptions){return options2}return ModelDecorationOptions.createDynamic(options2)}var __decorate12,__param11,TextModel_1,MODEL_ID,LIMIT_FIND_COUNT2,LONG_LINE_BOUNDARY,TextModelSnapshot,invalidFunc2,TextModel,DecorationsTrees,DecorationOptions,ModelDecorationOverviewRulerOptions,ModelDecorationGlyphMarginOptions,ModelDecorationMinimapOptions,ModelDecorationInjectedTextOptions,ModelDecorationOptions,TRACKED_RANGE_OPTIONS,DidChangeDecorationsEmitter,DidChangeContentEmitter,AttachedViews,AttachedViewImpl;var init_textModel=__esm({"node_modules/monaco-editor/esm/vs/editor/common/model/textModel.js"(){init_arrays();init_color();init_errors();init_event();init_lifecycle();init_strings();init_uri();init_eolCounter();init_indentation();init_lineRange();init_position();init_range();init_selection();init_textModelDefaults();init_language();init_languageConfigurationRegistry();init_model();init_bracketPairsImpl();init_colorizedBracketPairsDecorationProvider();init_editStack();init_guidesTextModelPart();init_indentationGuesser();init_intervalTree();init_pieceTreeTextBuffer();init_pieceTreeTextBufferBuilder();init_textModelSearch();init_tokenizationTextModelPart();init_textModelEvents();init_undoRedo();__decorate12=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param11=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};MODEL_ID=0;LIMIT_FIND_COUNT2=999;LONG_LINE_BOUNDARY=1e4;TextModelSnapshot=class{constructor(source){this._source=source;this._eos=false}read(){if(this._eos){return null}const result=[];let resultCnt=0;let resultLength=0;do{const tmp=this._source.read();if(tmp===null){this._eos=true;if(resultCnt===0){return null}else{return result.join("")}}if(tmp.length>0){result[resultCnt++]=tmp;resultLength+=tmp.length}if(resultLength>=64*1024){return result.join("")}}while(true)}};invalidFunc2=()=>{throw new Error(`Invalid change accessor`)};TextModel=TextModel_1=class TextModel2 extends Disposable{static resolveOptions(textBuffer,options2){if(options2.detectIndentation){const guessedIndentation=guessIndentation(textBuffer,options2.tabSize,options2.insertSpaces);return new TextModelResolvedOptions({tabSize:guessedIndentation.tabSize,indentSize:"tabSize",insertSpaces:guessedIndentation.insertSpaces,trimAutoWhitespace:options2.trimAutoWhitespace,defaultEOL:options2.defaultEOL,bracketPairColorizationOptions:options2.bracketPairColorizationOptions})}return new TextModelResolvedOptions(options2)}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}onDidChangeContent(listener){return this._eventEmitter.slowEvent((e=>listener(e.contentChangedEvent)))}onDidChangeContentOrInjectedText(listener){return combinedDisposable(this._eventEmitter.fastEvent((e=>listener(e))),this._onDidChangeInjectedText.event((e=>listener(e))))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}constructor(source,languageIdOrSelection,creationOptions,associatedResource=null,_undoRedoService,_languageService,_languageConfigurationService){super();this._undoRedoService=_undoRedoService;this._languageService=_languageService;this._languageConfigurationService=_languageConfigurationService;this._onWillDispose=this._register(new Emitter);this.onWillDispose=this._onWillDispose.event;this._onDidChangeDecorations=this._register(new DidChangeDecorationsEmitter((affectedInjectedTextLines=>this.handleBeforeFireDecorationsChangedEvent(affectedInjectedTextLines))));this.onDidChangeDecorations=this._onDidChangeDecorations.event;this._onDidChangeOptions=this._register(new Emitter);this.onDidChangeOptions=this._onDidChangeOptions.event;this._onDidChangeAttached=this._register(new Emitter);this.onDidChangeAttached=this._onDidChangeAttached.event;this._onDidChangeInjectedText=this._register(new Emitter);this._eventEmitter=this._register(new DidChangeContentEmitter);this._languageSelectionListener=this._register(new MutableDisposable);this._deltaDecorationCallCnt=0;this._attachedViews=new AttachedViews;MODEL_ID++;this.id="$model"+MODEL_ID;this.isForSimpleWidget=creationOptions.isForSimpleWidget;if(typeof associatedResource==="undefined"||associatedResource===null){this._associatedResource=URI.parse("inmemory://model/"+MODEL_ID)}else{this._associatedResource=associatedResource}this._attachedEditorCount=0;const{textBuffer:textBuffer,disposable:disposable}=createTextBuffer(source,creationOptions.defaultEOL);this._buffer=textBuffer;this._bufferDisposable=disposable;this._options=TextModel_1.resolveOptions(this._buffer,creationOptions);const languageId=typeof languageIdOrSelection==="string"?languageIdOrSelection:languageIdOrSelection.languageId;if(typeof languageIdOrSelection!=="string"){this._languageSelectionListener.value=languageIdOrSelection.onDidChange((()=>this._setLanguage(languageIdOrSelection.languageId)))}this._bracketPairs=this._register(new BracketPairsTextModelPart(this,this._languageConfigurationService));this._guidesTextModelPart=this._register(new GuidesTextModelPart(this,this._languageConfigurationService));this._decorationProvider=this._register(new ColorizedBracketPairsDecorationProvider(this));this._tokenizationTextModelPart=new TokenizationTextModelPart(this._languageService,this._languageConfigurationService,this,this._bracketPairs,languageId,this._attachedViews);const bufferLineCount=this._buffer.getLineCount();const bufferTextLength=this._buffer.getValueLengthInRange(new Range(1,1,bufferLineCount,this._buffer.getLineLength(bufferLineCount)+1),0);if(creationOptions.largeFileOptimizations){this._isTooLargeForTokenization=bufferTextLength>TextModel_1.LARGE_FILE_SIZE_THRESHOLD||bufferLineCount>TextModel_1.LARGE_FILE_LINE_COUNT_THRESHOLD}else{this._isTooLargeForTokenization=false}this._isTooLargeForSyncing=bufferTextLength>TextModel_1._MODEL_SYNC_LIMIT;this._versionId=1;this._alternativeVersionId=1;this._initialUndoRedoSnapshot=null;this._isDisposed=false;this.__isDisposing=false;this._instanceId=singleLetterHash(MODEL_ID);this._lastDecorationId=0;this._decorations=Object.create(null);this._decorationsTree=new DecorationsTrees;this._commandManager=new EditStack(this,this._undoRedoService);this._isUndoing=false;this._isRedoing=false;this._trimAutoWhitespaceLines=null;this._register(this._decorationProvider.onDidChange((()=>{this._onDidChangeDecorations.beginDeferredEmit();this._onDidChangeDecorations.fire();this._onDidChangeDecorations.endDeferredEmit()})));this._languageService.requestRichLanguageFeatures(languageId)}dispose(){this.__isDisposing=true;this._onWillDispose.fire();this._tokenizationTextModelPart.dispose();this._isDisposed=true;super.dispose();this._bufferDisposable.dispose();this.__isDisposing=false;const emptyDisposedTextBuffer=new PieceTreeTextBuffer([],"","\n",false,false,true,true);emptyDisposedTextBuffer.dispose();this._buffer=emptyDisposedTextBuffer;this._bufferDisposable=Disposable.None}_assertNotDisposed(){if(this._isDisposed){throw new Error("Model is disposed!")}}_emitContentChangedEvent(rawChange,change){if(this.__isDisposing){return}this._tokenizationTextModelPart.handleDidChangeContent(change);this._bracketPairs.handleDidChangeContent(change);this._eventEmitter.fire(new InternalModelContentChangeEvent(rawChange,change))}setValue(value){this._assertNotDisposed();if(value===null||value===void 0){throw illegalArgument()}const{textBuffer:textBuffer,disposable:disposable}=createTextBuffer(value,this._options.defaultEOL);this._setValueFromTextBuffer(textBuffer,disposable)}_createContentChanged2(range2,rangeOffset,rangeLength,text2,isUndoing,isRedoing,isFlush,isEolChange){return{changes:[{range:range2,rangeOffset:rangeOffset,rangeLength:rangeLength,text:text2}],eol:this._buffer.getEOL(),isEolChange:isEolChange,versionId:this.getVersionId(),isUndoing:isUndoing,isRedoing:isRedoing,isFlush:isFlush}}_setValueFromTextBuffer(textBuffer,textBufferDisposable){this._assertNotDisposed();const oldFullModelRange=this.getFullModelRange();const oldModelValueLength=this.getValueLengthInRange(oldFullModelRange);const endLineNumber=this.getLineCount();const endColumn=this.getLineMaxColumn(endLineNumber);this._buffer=textBuffer;this._bufferDisposable.dispose();this._bufferDisposable=textBufferDisposable;this._increaseVersionId();this._decorations=Object.create(null);this._decorationsTree=new DecorationsTrees;this._commandManager.clear();this._trimAutoWhitespaceLines=null;this._emitContentChangedEvent(new ModelRawContentChangedEvent([new ModelRawFlush],this._versionId,false,false),this._createContentChanged2(new Range(1,1,endLineNumber,endColumn),0,oldModelValueLength,this.getValue(),false,false,true,false))}setEOL(eol){this._assertNotDisposed();const newEOL=eol===1?"\r\n":"\n";if(this._buffer.getEOL()===newEOL){return}const oldFullModelRange=this.getFullModelRange();const oldModelValueLength=this.getValueLengthInRange(oldFullModelRange);const endLineNumber=this.getLineCount();const endColumn=this.getLineMaxColumn(endLineNumber);this._onBeforeEOLChange();this._buffer.setEOL(newEOL);this._increaseVersionId();this._onAfterEOLChange();this._emitContentChangedEvent(new ModelRawContentChangedEvent([new ModelRawEOLChanged],this._versionId,false,false),this._createContentChanged2(new Range(1,1,endLineNumber,endColumn),0,oldModelValueLength,this.getValue(),false,false,false,true))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const versionId=this.getVersionId();const allDecorations=this._decorationsTree.collectNodesPostOrder();for(let i=0,len=allDecorations.length;i<len;i++){const node=allDecorations[i];const range2=node.range;const delta=node.cachedAbsoluteStart-node.start;const startOffset=this._buffer.getOffsetAt(range2.startLineNumber,range2.startColumn);const endOffset=this._buffer.getOffsetAt(range2.endLineNumber,range2.endColumn);node.cachedAbsoluteStart=startOffset;node.cachedAbsoluteEnd=endOffset;node.cachedVersionId=versionId;node.start=startOffset-delta;node.end=endOffset-delta;recomputeMaxEnd(node)}}onBeforeAttached(){this._attachedEditorCount++;if(this._attachedEditorCount===1){this._tokenizationTextModelPart.handleDidChangeAttached();this._onDidChangeAttached.fire(void 0)}return this._attachedViews.attachView()}onBeforeDetached(view){this._attachedEditorCount--;if(this._attachedEditorCount===0){this._tokenizationTextModelPart.handleDidChangeAttached();this._onDidChangeAttached.fire(void 0)}this._attachedViews.detachView(view)}isAttachedToEditor(){return this._attachedEditorCount>0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isDisposed(){return this._isDisposed}isDominatedByLongLines(){this._assertNotDisposed();if(this.isTooLargeForTokenization()){return false}let smallLineCharCount=0;let longLineCharCount=0;const lineCount=this._buffer.getLineCount();for(let lineNumber=1;lineNumber<=lineCount;lineNumber++){const lineLength=this._buffer.getLineLength(lineNumber);if(lineLength>=LONG_LINE_BOUNDARY){longLineCharCount+=lineLength}else{smallLineCharCount+=lineLength}}return longLineCharCount>smallLineCharCount}get uri(){return this._associatedResource}getOptions(){this._assertNotDisposed();return this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(_newOpts){this._assertNotDisposed();const tabSize=typeof _newOpts.tabSize!=="undefined"?_newOpts.tabSize:this._options.tabSize;const indentSize=typeof _newOpts.indentSize!=="undefined"?_newOpts.indentSize:this._options.originalIndentSize;const insertSpaces=typeof _newOpts.insertSpaces!=="undefined"?_newOpts.insertSpaces:this._options.insertSpaces;const trimAutoWhitespace=typeof _newOpts.trimAutoWhitespace!=="undefined"?_newOpts.trimAutoWhitespace:this._options.trimAutoWhitespace;const bracketPairColorizationOptions=typeof _newOpts.bracketColorizationOptions!=="undefined"?_newOpts.bracketColorizationOptions:this._options.bracketPairColorizationOptions;const newOpts=new TextModelResolvedOptions({tabSize:tabSize,indentSize:indentSize,insertSpaces:insertSpaces,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:trimAutoWhitespace,bracketPairColorizationOptions:bracketPairColorizationOptions});if(this._options.equals(newOpts)){return}const e=this._options.createChangeEvent(newOpts);this._options=newOpts;this._bracketPairs.handleDidChangeOptions(e);this._decorationProvider.handleDidChangeOptions(e);this._onDidChangeOptions.fire(e)}detectIndentation(defaultInsertSpaces,defaultTabSize){this._assertNotDisposed();const guessedIndentation=guessIndentation(this._buffer,defaultTabSize,defaultInsertSpaces);this.updateOptions({insertSpaces:guessedIndentation.insertSpaces,tabSize:guessedIndentation.tabSize,indentSize:guessedIndentation.tabSize})}normalizeIndentation(str){this._assertNotDisposed();return normalizeIndentation(str,this._options.indentSize,this._options.insertSpaces)}getVersionId(){this._assertNotDisposed();return this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(selections=null){const matches=this.findMatches(UNUSUAL_LINE_TERMINATORS.source,false,true,false,null,false,1073741824);this._buffer.resetMightContainUnusualLineTerminators();this.pushEditOperations(selections,matches.map((m=>({range:m.range,text:null}))),(()=>null))}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){this._assertNotDisposed();return this._alternativeVersionId}getInitialUndoRedoSnapshot(){this._assertNotDisposed();return this._initialUndoRedoSnapshot}getOffsetAt(rawPosition){this._assertNotDisposed();const position=this._validatePosition(rawPosition.lineNumber,rawPosition.column,0);return this._buffer.getOffsetAt(position.lineNumber,position.column)}getPositionAt(rawOffset){this._assertNotDisposed();const offset=Math.min(this._buffer.getLength(),Math.max(0,rawOffset));return this._buffer.getPositionAt(offset)}_increaseVersionId(){this._versionId=this._versionId+1;this._alternativeVersionId=this._versionId}_overwriteVersionId(versionId){this._versionId=versionId}_overwriteAlternativeVersionId(newAlternativeVersionId){this._alternativeVersionId=newAlternativeVersionId}_overwriteInitialUndoRedoSnapshot(newInitialUndoRedoSnapshot){this._initialUndoRedoSnapshot=newInitialUndoRedoSnapshot}getValue(eol,preserveBOM=false){this._assertNotDisposed();const fullModelRange=this.getFullModelRange();const fullModelValue=this.getValueInRange(fullModelRange,eol);if(preserveBOM){return this._buffer.getBOM()+fullModelValue}return fullModelValue}createSnapshot(preserveBOM=false){return new TextModelSnapshot(this._buffer.createSnapshot(preserveBOM))}getValueLength(eol,preserveBOM=false){this._assertNotDisposed();const fullModelRange=this.getFullModelRange();const fullModelValue=this.getValueLengthInRange(fullModelRange,eol);if(preserveBOM){return this._buffer.getBOM().length+fullModelValue}return fullModelValue}getValueInRange(rawRange,eol=0){this._assertNotDisposed();return this._buffer.getValueInRange(this.validateRange(rawRange),eol)}getValueLengthInRange(rawRange,eol=0){this._assertNotDisposed();return this._buffer.getValueLengthInRange(this.validateRange(rawRange),eol)}getCharacterCountInRange(rawRange,eol=0){this._assertNotDisposed();return this._buffer.getCharacterCountInRange(this.validateRange(rawRange),eol)}getLineCount(){this._assertNotDisposed();return this._buffer.getLineCount()}getLineContent(lineNumber){this._assertNotDisposed();if(lineNumber<1||lineNumber>this.getLineCount()){throw new BugIndicatingError("Illegal value for lineNumber")}return this._buffer.getLineContent(lineNumber)}getLineLength(lineNumber){this._assertNotDisposed();if(lineNumber<1||lineNumber>this.getLineCount()){throw new BugIndicatingError("Illegal value for lineNumber")}return this._buffer.getLineLength(lineNumber)}getLinesContent(){this._assertNotDisposed();return this._buffer.getLinesContent()}getEOL(){this._assertNotDisposed();return this._buffer.getEOL()}getEndOfLineSequence(){this._assertNotDisposed();return this._buffer.getEOL()==="\n"?0:1}getLineMinColumn(lineNumber){this._assertNotDisposed();return 1}getLineMaxColumn(lineNumber){this._assertNotDisposed();if(lineNumber<1||lineNumber>this.getLineCount()){throw new BugIndicatingError("Illegal value for lineNumber")}return this._buffer.getLineLength(lineNumber)+1}getLineFirstNonWhitespaceColumn(lineNumber){this._assertNotDisposed();if(lineNumber<1||lineNumber>this.getLineCount()){throw new BugIndicatingError("Illegal value for lineNumber")}return this._buffer.getLineFirstNonWhitespaceColumn(lineNumber)}getLineLastNonWhitespaceColumn(lineNumber){this._assertNotDisposed();if(lineNumber<1||lineNumber>this.getLineCount()){throw new BugIndicatingError("Illegal value for lineNumber")}return this._buffer.getLineLastNonWhitespaceColumn(lineNumber)}_validateRangeRelaxedNoAllocations(range2){const linesCount=this._buffer.getLineCount();const initialStartLineNumber=range2.startLineNumber;const initialStartColumn=range2.startColumn;let startLineNumber=Math.floor(typeof initialStartLineNumber==="number"&&!isNaN(initialStartLineNumber)?initialStartLineNumber:1);let startColumn=Math.floor(typeof initialStartColumn==="number"&&!isNaN(initialStartColumn)?initialStartColumn:1);if(startLineNumber<1){startLineNumber=1;startColumn=1}else if(startLineNumber>linesCount){startLineNumber=linesCount;startColumn=this.getLineMaxColumn(startLineNumber)}else{if(startColumn<=1){startColumn=1}else{const maxColumn=this.getLineMaxColumn(startLineNumber);if(startColumn>=maxColumn){startColumn=maxColumn}}}const initialEndLineNumber=range2.endLineNumber;const initialEndColumn=range2.endColumn;let endLineNumber=Math.floor(typeof initialEndLineNumber==="number"&&!isNaN(initialEndLineNumber)?initialEndLineNumber:1);let endColumn=Math.floor(typeof initialEndColumn==="number"&&!isNaN(initialEndColumn)?initialEndColumn:1);if(endLineNumber<1){endLineNumber=1;endColumn=1}else if(endLineNumber>linesCount){endLineNumber=linesCount;endColumn=this.getLineMaxColumn(endLineNumber)}else{if(endColumn<=1){endColumn=1}else{const maxColumn=this.getLineMaxColumn(endLineNumber);if(endColumn>=maxColumn){endColumn=maxColumn}}}if(initialStartLineNumber===startLineNumber&&initialStartColumn===startColumn&&initialEndLineNumber===endLineNumber&&initialEndColumn===endColumn&&range2 instanceof Range&&!(range2 instanceof Selection)){return range2}return new Range(startLineNumber,startColumn,endLineNumber,endColumn)}_isValidPosition(lineNumber,column,validationType){if(typeof lineNumber!=="number"||typeof column!=="number"){return false}if(isNaN(lineNumber)||isNaN(column)){return false}if(lineNumber<1||column<1){return false}if((lineNumber|0)!==lineNumber||(column|0)!==column){return false}const lineCount=this._buffer.getLineCount();if(lineNumber>lineCount){return false}if(column===1){return true}const maxColumn=this.getLineMaxColumn(lineNumber);if(column>maxColumn){return false}if(validationType===1){const charCodeBefore=this._buffer.getLineCharCode(lineNumber,column-2);if(isHighSurrogate(charCodeBefore)){return false}}return true}_validatePosition(_lineNumber,_column,validationType){const lineNumber=Math.floor(typeof _lineNumber==="number"&&!isNaN(_lineNumber)?_lineNumber:1);const column=Math.floor(typeof _column==="number"&&!isNaN(_column)?_column:1);const lineCount=this._buffer.getLineCount();if(lineNumber<1){return new Position(1,1)}if(lineNumber>lineCount){return new Position(lineCount,this.getLineMaxColumn(lineCount))}if(column<=1){return new Position(lineNumber,1)}const maxColumn=this.getLineMaxColumn(lineNumber);if(column>=maxColumn){return new Position(lineNumber,maxColumn)}if(validationType===1){const charCodeBefore=this._buffer.getLineCharCode(lineNumber,column-2);if(isHighSurrogate(charCodeBefore)){return new Position(lineNumber,column-1)}}return new Position(lineNumber,column)}validatePosition(position){const validationType=1;this._assertNotDisposed();if(position instanceof Position){if(this._isValidPosition(position.lineNumber,position.column,validationType)){return position}}return this._validatePosition(position.lineNumber,position.column,validationType)}_isValidRange(range2,validationType){const startLineNumber=range2.startLineNumber;const startColumn=range2.startColumn;const endLineNumber=range2.endLineNumber;const endColumn=range2.endColumn;if(!this._isValidPosition(startLineNumber,startColumn,0)){return false}if(!this._isValidPosition(endLineNumber,endColumn,0)){return false}if(validationType===1){const charCodeBeforeStart=startColumn>1?this._buffer.getLineCharCode(startLineNumber,startColumn-2):0;const charCodeBeforeEnd=endColumn>1&&endColumn<=this._buffer.getLineLength(endLineNumber)?this._buffer.getLineCharCode(endLineNumber,endColumn-2):0;const startInsideSurrogatePair=isHighSurrogate(charCodeBeforeStart);const endInsideSurrogatePair=isHighSurrogate(charCodeBeforeEnd);if(!startInsideSurrogatePair&&!endInsideSurrogatePair){return true}return false}return true}validateRange(_range){const validationType=1;this._assertNotDisposed();if(_range instanceof Range&&!(_range instanceof Selection)){if(this._isValidRange(_range,validationType)){return _range}}const start=this._validatePosition(_range.startLineNumber,_range.startColumn,0);const end=this._validatePosition(_range.endLineNumber,_range.endColumn,0);const startLineNumber=start.lineNumber;const startColumn=start.column;const endLineNumber=end.lineNumber;const endColumn=end.column;if(validationType===1){const charCodeBeforeStart=startColumn>1?this._buffer.getLineCharCode(startLineNumber,startColumn-2):0;const charCodeBeforeEnd=endColumn>1&&endColumn<=this._buffer.getLineLength(endLineNumber)?this._buffer.getLineCharCode(endLineNumber,endColumn-2):0;const startInsideSurrogatePair=isHighSurrogate(charCodeBeforeStart);const endInsideSurrogatePair=isHighSurrogate(charCodeBeforeEnd);if(!startInsideSurrogatePair&&!endInsideSurrogatePair){return new Range(startLineNumber,startColumn,endLineNumber,endColumn)}if(startLineNumber===endLineNumber&&startColumn===endColumn){return new Range(startLineNumber,startColumn-1,endLineNumber,endColumn-1)}if(startInsideSurrogatePair&&endInsideSurrogatePair){return new Range(startLineNumber,startColumn-1,endLineNumber,endColumn+1)}if(startInsideSurrogatePair){return new Range(startLineNumber,startColumn-1,endLineNumber,endColumn)}return new Range(startLineNumber,startColumn,endLineNumber,endColumn+1)}return new Range(startLineNumber,startColumn,endLineNumber,endColumn)}modifyPosition(rawPosition,offset){this._assertNotDisposed();const candidate=this.getOffsetAt(rawPosition)+offset;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,candidate)))}getFullModelRange(){this._assertNotDisposed();const lineCount=this.getLineCount();return new Range(1,1,lineCount,this.getLineMaxColumn(lineCount))}findMatchesLineByLine(searchRange,searchData,captureMatches,limitResultCount){return this._buffer.findMatchesLineByLine(searchRange,searchData,captureMatches,limitResultCount)}findMatches(searchString,rawSearchScope,isRegex,matchCase,wordSeparators2,captureMatches,limitResultCount=LIMIT_FIND_COUNT2){this._assertNotDisposed();let searchRanges=null;if(rawSearchScope!==null){if(!Array.isArray(rawSearchScope)){rawSearchScope=[rawSearchScope]}if(rawSearchScope.every((searchScope=>Range.isIRange(searchScope)))){searchRanges=rawSearchScope.map((searchScope=>this.validateRange(searchScope)))}}if(searchRanges===null){searchRanges=[this.getFullModelRange()]}searchRanges=searchRanges.sort(((d1,d2)=>d1.startLineNumber-d2.startLineNumber||d1.startColumn-d2.startColumn));const uniqueSearchRanges=[];uniqueSearchRanges.push(searchRanges.reduce(((prev,curr)=>{if(Range.areIntersecting(prev,curr)){return prev.plusRange(curr)}uniqueSearchRanges.push(prev);return curr})));let matchMapper;if(!isRegex&&searchString.indexOf("\n")<0){const searchParams=new SearchParams(searchString,isRegex,matchCase,wordSeparators2);const searchData=searchParams.parseSearchRequest();if(!searchData){return[]}matchMapper=searchRange=>this.findMatchesLineByLine(searchRange,searchData,captureMatches,limitResultCount)}else{matchMapper=searchRange=>TextModelSearch.findMatches(this,new SearchParams(searchString,isRegex,matchCase,wordSeparators2),searchRange,captureMatches,limitResultCount)}return uniqueSearchRanges.map(matchMapper).reduce(((arr,matches)=>arr.concat(matches)),[])}findNextMatch(searchString,rawSearchStart,isRegex,matchCase,wordSeparators2,captureMatches){this._assertNotDisposed();const searchStart=this.validatePosition(rawSearchStart);if(!isRegex&&searchString.indexOf("\n")<0){const searchParams=new SearchParams(searchString,isRegex,matchCase,wordSeparators2);const searchData=searchParams.parseSearchRequest();if(!searchData){return null}const lineCount=this.getLineCount();let searchRange=new Range(searchStart.lineNumber,searchStart.column,lineCount,this.getLineMaxColumn(lineCount));let ret=this.findMatchesLineByLine(searchRange,searchData,captureMatches,1);TextModelSearch.findNextMatch(this,new SearchParams(searchString,isRegex,matchCase,wordSeparators2),searchStart,captureMatches);if(ret.length>0){return ret[0]}searchRange=new Range(1,1,searchStart.lineNumber,this.getLineMaxColumn(searchStart.lineNumber));ret=this.findMatchesLineByLine(searchRange,searchData,captureMatches,1);if(ret.length>0){return ret[0]}return null}return TextModelSearch.findNextMatch(this,new SearchParams(searchString,isRegex,matchCase,wordSeparators2),searchStart,captureMatches)}findPreviousMatch(searchString,rawSearchStart,isRegex,matchCase,wordSeparators2,captureMatches){this._assertNotDisposed();const searchStart=this.validatePosition(rawSearchStart);return TextModelSearch.findPreviousMatch(this,new SearchParams(searchString,isRegex,matchCase,wordSeparators2),searchStart,captureMatches)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(eol){const currentEOL=this.getEOL()==="\n"?0:1;if(currentEOL===eol){return}try{this._onDidChangeDecorations.beginDeferredEmit();this._eventEmitter.beginDeferredEmit();if(this._initialUndoRedoSnapshot===null){this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)}this._commandManager.pushEOL(eol)}finally{this._eventEmitter.endDeferredEmit();this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(rawOperation){if(rawOperation instanceof ValidAnnotatedEditOperation){return rawOperation}return new ValidAnnotatedEditOperation(rawOperation.identifier||null,this.validateRange(rawOperation.range),rawOperation.text,rawOperation.forceMoveMarkers||false,rawOperation.isAutoWhitespaceEdit||false,rawOperation._isTracked||false)}_validateEditOperations(rawOperations){const result=[];for(let i=0,len=rawOperations.length;i<len;i++){result[i]=this._validateEditOperation(rawOperations[i])}return result}pushEditOperations(beforeCursorState,editOperations,cursorStateComputer,group3){try{this._onDidChangeDecorations.beginDeferredEmit();this._eventEmitter.beginDeferredEmit();return this._pushEditOperations(beforeCursorState,this._validateEditOperations(editOperations),cursorStateComputer,group3)}finally{this._eventEmitter.endDeferredEmit();this._onDidChangeDecorations.endDeferredEmit()}}_pushEditOperations(beforeCursorState,editOperations,cursorStateComputer,group3){if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){const incomingEdits=editOperations.map((op=>({range:this.validateRange(op.range),text:op.text})));let editsAreNearCursors=true;if(beforeCursorState){for(let i=0,len=beforeCursorState.length;i<len;i++){const sel=beforeCursorState[i];let foundEditNearSel=false;for(let j=0,lenJ=incomingEdits.length;j<lenJ;j++){const editRange=incomingEdits[j].range;const selIsAbove=editRange.startLineNumber>sel.endLineNumber;const selIsBelow=sel.startLineNumber>editRange.endLineNumber;if(!selIsAbove&&!selIsBelow){foundEditNearSel=true;break}}if(!foundEditNearSel){editsAreNearCursors=false;break}}}if(editsAreNearCursors){for(let i=0,len=this._trimAutoWhitespaceLines.length;i<len;i++){const trimLineNumber=this._trimAutoWhitespaceLines[i];const maxLineColumn=this.getLineMaxColumn(trimLineNumber);let allowTrimLine=true;for(let j=0,lenJ=incomingEdits.length;j<lenJ;j++){const editRange=incomingEdits[j].range;const editText=incomingEdits[j].text;if(trimLineNumber<editRange.startLineNumber||trimLineNumber>editRange.endLineNumber){continue}if(trimLineNumber===editRange.startLineNumber&&editRange.startColumn===maxLineColumn&&editRange.isEmpty()&&editText&&editText.length>0&&editText.charAt(0)==="\n"){continue}if(trimLineNumber===editRange.startLineNumber&&editRange.startColumn===1&&editRange.isEmpty()&&editText&&editText.length>0&&editText.charAt(editText.length-1)==="\n"){continue}allowTrimLine=false;break}if(allowTrimLine){const trimRange=new Range(trimLineNumber,1,trimLineNumber,maxLineColumn);editOperations.push(new ValidAnnotatedEditOperation(null,trimRange,null,false,false,false))}}}this._trimAutoWhitespaceLines=null}if(this._initialUndoRedoSnapshot===null){this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)}return this._commandManager.pushEditOperation(beforeCursorState,editOperations,cursorStateComputer,group3)}_applyUndo(changes,eol,resultingAlternativeVersionId,resultingSelection){const edits=changes.map((change=>{const rangeStart=this.getPositionAt(change.newPosition);const rangeEnd=this.getPositionAt(change.newEnd);return{range:new Range(rangeStart.lineNumber,rangeStart.column,rangeEnd.lineNumber,rangeEnd.column),text:change.oldText}}));this._applyUndoRedoEdits(edits,eol,true,false,resultingAlternativeVersionId,resultingSelection)}_applyRedo(changes,eol,resultingAlternativeVersionId,resultingSelection){const edits=changes.map((change=>{const rangeStart=this.getPositionAt(change.oldPosition);const rangeEnd=this.getPositionAt(change.oldEnd);return{range:new Range(rangeStart.lineNumber,rangeStart.column,rangeEnd.lineNumber,rangeEnd.column),text:change.newText}}));this._applyUndoRedoEdits(edits,eol,false,true,resultingAlternativeVersionId,resultingSelection)}_applyUndoRedoEdits(edits,eol,isUndoing,isRedoing,resultingAlternativeVersionId,resultingSelection){try{this._onDidChangeDecorations.beginDeferredEmit();this._eventEmitter.beginDeferredEmit();this._isUndoing=isUndoing;this._isRedoing=isRedoing;this.applyEdits(edits,false);this.setEOL(eol);this._overwriteAlternativeVersionId(resultingAlternativeVersionId)}finally{this._isUndoing=false;this._isRedoing=false;this._eventEmitter.endDeferredEmit(resultingSelection);this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(rawOperations,computeUndoEdits=false){try{this._onDidChangeDecorations.beginDeferredEmit();this._eventEmitter.beginDeferredEmit();const operations=this._validateEditOperations(rawOperations);return this._doApplyEdits(operations,computeUndoEdits)}finally{this._eventEmitter.endDeferredEmit();this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(rawOperations,computeUndoEdits){const oldLineCount=this._buffer.getLineCount();const result=this._buffer.applyEdits(rawOperations,this._options.trimAutoWhitespace,computeUndoEdits);const newLineCount=this._buffer.getLineCount();const contentChanges=result.changes;this._trimAutoWhitespaceLines=result.trimAutoWhitespaceLineNumbers;if(contentChanges.length!==0){for(let i=0,len=contentChanges.length;i<len;i++){const change=contentChanges[i];this._decorationsTree.acceptReplace(change.rangeOffset,change.rangeLength,change.text.length,change.forceMoveMarkers)}const rawContentChanges=[];this._increaseVersionId();let lineCount=oldLineCount;for(let i=0,len=contentChanges.length;i<len;i++){const change=contentChanges[i];const[eolCount]=countEOL(change.text);this._onDidChangeDecorations.fire();const startLineNumber=change.range.startLineNumber;const endLineNumber=change.range.endLineNumber;const deletingLinesCnt=endLineNumber-startLineNumber;const insertingLinesCnt=eolCount;const editingLinesCnt=Math.min(deletingLinesCnt,insertingLinesCnt);const changeLineCountDelta=insertingLinesCnt-deletingLinesCnt;const currentEditStartLineNumber=newLineCount-lineCount-changeLineCountDelta+startLineNumber;const firstEditLineNumber=currentEditStartLineNumber;const lastInsertedLineNumber=currentEditStartLineNumber+insertingLinesCnt;const decorationsWithInjectedTextInEditedRange=this._decorationsTree.getInjectedTextInInterval(this,this.getOffsetAt(new Position(firstEditLineNumber,1)),this.getOffsetAt(new Position(lastInsertedLineNumber,this.getLineMaxColumn(lastInsertedLineNumber))),0);const injectedTextInEditedRange=LineInjectedText.fromDecorations(decorationsWithInjectedTextInEditedRange);const injectedTextInEditedRangeQueue=new ArrayQueue(injectedTextInEditedRange);for(let j=editingLinesCnt;j>=0;j--){const editLineNumber=startLineNumber+j;const currentEditLineNumber=currentEditStartLineNumber+j;injectedTextInEditedRangeQueue.takeFromEndWhile((r=>r.lineNumber>currentEditLineNumber));const decorationsInCurrentLine=injectedTextInEditedRangeQueue.takeFromEndWhile((r=>r.lineNumber===currentEditLineNumber));rawContentChanges.push(new ModelRawLineChanged(editLineNumber,this.getLineContent(currentEditLineNumber),decorationsInCurrentLine))}if(editingLinesCnt<deletingLinesCnt){const spliceStartLineNumber=startLineNumber+editingLinesCnt;rawContentChanges.push(new ModelRawLinesDeleted(spliceStartLineNumber+1,endLineNumber))}if(editingLinesCnt<insertingLinesCnt){const injectedTextInEditedRangeQueue2=new ArrayQueue(injectedTextInEditedRange);const spliceLineNumber=startLineNumber+editingLinesCnt;const cnt=insertingLinesCnt-editingLinesCnt;const fromLineNumber=newLineCount-lineCount-cnt+spliceLineNumber+1;const injectedTexts=[];const newLines=[];for(let i2=0;i2<cnt;i2++){const lineNumber=fromLineNumber+i2;newLines[i2]=this.getLineContent(lineNumber);injectedTextInEditedRangeQueue2.takeWhile((r=>r.lineNumber<lineNumber));injectedTexts[i2]=injectedTextInEditedRangeQueue2.takeWhile((r=>r.lineNumber===lineNumber))}rawContentChanges.push(new ModelRawLinesInserted(spliceLineNumber+1,startLineNumber+insertingLinesCnt,newLines,injectedTexts))}lineCount+=changeLineCountDelta}this._emitContentChangedEvent(new ModelRawContentChangedEvent(rawContentChanges,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:contentChanges,eol:this._buffer.getEOL(),isEolChange:false,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:false})}return result.reverseEdits===null?void 0:result.reverseEdits}undo(){return this._undoRedoService.undo(this.uri)}canUndo(){return this._undoRedoService.canUndo(this.uri)}redo(){return this._undoRedoService.redo(this.uri)}canRedo(){return this._undoRedoService.canRedo(this.uri)}handleBeforeFireDecorationsChangedEvent(affectedInjectedTextLines){if(affectedInjectedTextLines===null||affectedInjectedTextLines.size===0){return}const affectedLines=Array.from(affectedInjectedTextLines);const lineChangeEvents=affectedLines.map((lineNumber=>new ModelRawLineChanged(lineNumber,this.getLineContent(lineNumber),this._getInjectedTextInLine(lineNumber))));this._onDidChangeInjectedText.fire(new ModelInjectedTextChangedEvent(lineChangeEvents))}changeDecorations(callback,ownerId=0){this._assertNotDisposed();try{this._onDidChangeDecorations.beginDeferredEmit();return this._changeDecorations(ownerId,callback)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(ownerId,callback){const changeAccessor={addDecoration:(range2,options2)=>this._deltaDecorationsImpl(ownerId,[],[{range:range2,options:options2}])[0],changeDecoration:(id,newRange)=>{this._changeDecorationImpl(id,newRange)},changeDecorationOptions:(id,options2)=>{this._changeDecorationOptionsImpl(id,_normalizeOptions(options2))},removeDecoration:id=>{this._deltaDecorationsImpl(ownerId,[id],[])},deltaDecorations:(oldDecorations,newDecorations)=>{if(oldDecorations.length===0&&newDecorations.length===0){return[]}return this._deltaDecorationsImpl(ownerId,oldDecorations,newDecorations)}};let result=null;try{result=callback(changeAccessor)}catch(e){onUnexpectedError(e)}changeAccessor.addDecoration=invalidFunc2;changeAccessor.changeDecoration=invalidFunc2;changeAccessor.changeDecorationOptions=invalidFunc2;changeAccessor.removeDecoration=invalidFunc2;changeAccessor.deltaDecorations=invalidFunc2;return result}deltaDecorations(oldDecorations,newDecorations,ownerId=0){this._assertNotDisposed();if(!oldDecorations){oldDecorations=[]}if(oldDecorations.length===0&&newDecorations.length===0){return[]}try{this._deltaDecorationCallCnt++;if(this._deltaDecorationCallCnt>1){console.warn(`Invoking deltaDecorations recursively could lead to leaking decorations.`);onUnexpectedError(new Error(`Invoking deltaDecorations recursively could lead to leaking decorations.`))}this._onDidChangeDecorations.beginDeferredEmit();return this._deltaDecorationsImpl(ownerId,oldDecorations,newDecorations)}finally{this._onDidChangeDecorations.endDeferredEmit();this._deltaDecorationCallCnt--}}_getTrackedRange(id){return this.getDecorationRange(id)}_setTrackedRange(id,newRange,newStickiness){const node=id?this._decorations[id]:null;if(!node){if(!newRange){return null}return this._deltaDecorationsImpl(0,[],[{range:newRange,options:TRACKED_RANGE_OPTIONS[newStickiness]}],true)[0]}if(!newRange){this._decorationsTree.delete(node);delete this._decorations[node.id];return null}const range2=this._validateRangeRelaxedNoAllocations(newRange);const startOffset=this._buffer.getOffsetAt(range2.startLineNumber,range2.startColumn);const endOffset=this._buffer.getOffsetAt(range2.endLineNumber,range2.endColumn);this._decorationsTree.delete(node);node.reset(this.getVersionId(),startOffset,endOffset,range2);node.setOptions(TRACKED_RANGE_OPTIONS[newStickiness]);this._decorationsTree.insert(node);return node.id}removeAllDecorationsWithOwnerId(ownerId){if(this._isDisposed){return}const nodes=this._decorationsTree.collectNodesFromOwner(ownerId);for(let i=0,len=nodes.length;i<len;i++){const node=nodes[i];this._decorationsTree.delete(node);delete this._decorations[node.id]}}getDecorationOptions(decorationId){const node=this._decorations[decorationId];if(!node){return null}return node.options}getDecorationRange(decorationId){const node=this._decorations[decorationId];if(!node){return null}return this._decorationsTree.getNodeRange(this,node)}getLineDecorations(lineNumber,ownerId=0,filterOutValidation=false){if(lineNumber<1||lineNumber>this.getLineCount()){return[]}return this.getLinesDecorations(lineNumber,lineNumber,ownerId,filterOutValidation)}getLinesDecorations(_startLineNumber,_endLineNumber,ownerId=0,filterOutValidation=false,onlyMarginDecorations=false){const lineCount=this.getLineCount();const startLineNumber=Math.min(lineCount,Math.max(1,_startLineNumber));const endLineNumber=Math.min(lineCount,Math.max(1,_endLineNumber));const endColumn=this.getLineMaxColumn(endLineNumber);const range2=new Range(startLineNumber,1,endLineNumber,endColumn);const decorations=this._getDecorationsInRange(range2,ownerId,filterOutValidation,onlyMarginDecorations);pushMany(decorations,this._decorationProvider.getDecorationsInRange(range2,ownerId,filterOutValidation));return decorations}getDecorationsInRange(range2,ownerId=0,filterOutValidation=false,onlyMinimapDecorations=false,onlyMarginDecorations=false){const validatedRange=this.validateRange(range2);const decorations=this._getDecorationsInRange(validatedRange,ownerId,filterOutValidation,onlyMarginDecorations);pushMany(decorations,this._decorationProvider.getDecorationsInRange(validatedRange,ownerId,filterOutValidation,onlyMinimapDecorations));return decorations}getOverviewRulerDecorations(ownerId=0,filterOutValidation=false){return this._decorationsTree.getAll(this,ownerId,filterOutValidation,true,false)}getInjectedTextDecorations(ownerId=0){return this._decorationsTree.getAllInjectedText(this,ownerId)}_getInjectedTextInLine(lineNumber){const startOffset=this._buffer.getOffsetAt(lineNumber,1);const endOffset=startOffset+this._buffer.getLineLength(lineNumber);const result=this._decorationsTree.getInjectedTextInInterval(this,startOffset,endOffset,0);return LineInjectedText.fromDecorations(result).filter((t2=>t2.lineNumber===lineNumber))}getAllDecorations(ownerId=0,filterOutValidation=false){let result=this._decorationsTree.getAll(this,ownerId,filterOutValidation,false,false);result=result.concat(this._decorationProvider.getAllDecorations(ownerId,filterOutValidation));return result}getAllMarginDecorations(ownerId=0){return this._decorationsTree.getAll(this,ownerId,false,false,true)}_getDecorationsInRange(filterRange,filterOwnerId,filterOutValidation,onlyMarginDecorations){const startOffset=this._buffer.getOffsetAt(filterRange.startLineNumber,filterRange.startColumn);const endOffset=this._buffer.getOffsetAt(filterRange.endLineNumber,filterRange.endColumn);return this._decorationsTree.getAllInInterval(this,startOffset,endOffset,filterOwnerId,filterOutValidation,onlyMarginDecorations)}getRangeAt(start,end){return this._buffer.getRangeAt(start,end-start)}_changeDecorationImpl(decorationId,_range){const node=this._decorations[decorationId];if(!node){return}if(node.options.after){const oldRange=this.getDecorationRange(decorationId);this._onDidChangeDecorations.recordLineAffectedByInjectedText(oldRange.endLineNumber)}if(node.options.before){const oldRange=this.getDecorationRange(decorationId);this._onDidChangeDecorations.recordLineAffectedByInjectedText(oldRange.startLineNumber)}const range2=this._validateRangeRelaxedNoAllocations(_range);const startOffset=this._buffer.getOffsetAt(range2.startLineNumber,range2.startColumn);const endOffset=this._buffer.getOffsetAt(range2.endLineNumber,range2.endColumn);this._decorationsTree.delete(node);node.reset(this.getVersionId(),startOffset,endOffset,range2);this._decorationsTree.insert(node);this._onDidChangeDecorations.checkAffectedAndFire(node.options);if(node.options.after){this._onDidChangeDecorations.recordLineAffectedByInjectedText(range2.endLineNumber)}if(node.options.before){this._onDidChangeDecorations.recordLineAffectedByInjectedText(range2.startLineNumber)}}_changeDecorationOptionsImpl(decorationId,options2){const node=this._decorations[decorationId];if(!node){return}const nodeWasInOverviewRuler=node.options.overviewRuler&&node.options.overviewRuler.color?true:false;const nodeIsInOverviewRuler=options2.overviewRuler&&options2.overviewRuler.color?true:false;this._onDidChangeDecorations.checkAffectedAndFire(node.options);this._onDidChangeDecorations.checkAffectedAndFire(options2);if(node.options.after||options2.after){const nodeRange=this._decorationsTree.getNodeRange(this,node);this._onDidChangeDecorations.recordLineAffectedByInjectedText(nodeRange.endLineNumber)}if(node.options.before||options2.before){const nodeRange=this._decorationsTree.getNodeRange(this,node);this._onDidChangeDecorations.recordLineAffectedByInjectedText(nodeRange.startLineNumber)}if(nodeWasInOverviewRuler!==nodeIsInOverviewRuler){this._decorationsTree.delete(node);node.setOptions(options2);this._decorationsTree.insert(node)}else{node.setOptions(options2)}}_deltaDecorationsImpl(ownerId,oldDecorationsIds,newDecorations,suppressEvents=false){const versionId=this.getVersionId();const oldDecorationsLen=oldDecorationsIds.length;let oldDecorationIndex=0;const newDecorationsLen=newDecorations.length;let newDecorationIndex=0;this._onDidChangeDecorations.beginDeferredEmit();try{const result=new Array(newDecorationsLen);while(oldDecorationIndex<oldDecorationsLen||newDecorationIndex<newDecorationsLen){let node=null;if(oldDecorationIndex<oldDecorationsLen){do{node=this._decorations[oldDecorationsIds[oldDecorationIndex++]]}while(!node&&oldDecorationIndex<oldDecorationsLen);if(node){if(node.options.after){const nodeRange=this._decorationsTree.getNodeRange(this,node);this._onDidChangeDecorations.recordLineAffectedByInjectedText(nodeRange.endLineNumber)}if(node.options.before){const nodeRange=this._decorationsTree.getNodeRange(this,node);this._onDidChangeDecorations.recordLineAffectedByInjectedText(nodeRange.startLineNumber)}this._decorationsTree.delete(node);if(!suppressEvents){this._onDidChangeDecorations.checkAffectedAndFire(node.options)}}}if(newDecorationIndex<newDecorationsLen){if(!node){const internalDecorationId=++this._lastDecorationId;const decorationId=`${this._instanceId};${internalDecorationId}`;node=new IntervalNode(decorationId,0,0);this._decorations[decorationId]=node}const newDecoration=newDecorations[newDecorationIndex];const range2=this._validateRangeRelaxedNoAllocations(newDecoration.range);const options2=_normalizeOptions(newDecoration.options);const startOffset=this._buffer.getOffsetAt(range2.startLineNumber,range2.startColumn);const endOffset=this._buffer.getOffsetAt(range2.endLineNumber,range2.endColumn);node.ownerId=ownerId;node.reset(versionId,startOffset,endOffset,range2);node.setOptions(options2);if(node.options.after){this._onDidChangeDecorations.recordLineAffectedByInjectedText(range2.endLineNumber)}if(node.options.before){this._onDidChangeDecorations.recordLineAffectedByInjectedText(range2.startLineNumber)}if(!suppressEvents){this._onDidChangeDecorations.checkAffectedAndFire(options2)}this._decorationsTree.insert(node);result[newDecorationIndex]=node.id;newDecorationIndex++}else{if(node){delete this._decorations[node.id]}}}return result}finally{this._onDidChangeDecorations.endDeferredEmit()}}getLanguageId(){return this.tokenization.getLanguageId()}setLanguage(languageIdOrSelection,source){if(typeof languageIdOrSelection==="string"){this._languageSelectionListener.clear();this._setLanguage(languageIdOrSelection,source)}else{this._languageSelectionListener.value=languageIdOrSelection.onDidChange((()=>this._setLanguage(languageIdOrSelection.languageId,source)));this._setLanguage(languageIdOrSelection.languageId,source)}}_setLanguage(languageId,source){this.tokenization.setLanguageId(languageId,source);this._languageService.requestRichLanguageFeatures(languageId)}getLanguageIdAtPosition(lineNumber,column){return this.tokenization.getLanguageIdAtPosition(lineNumber,column)}getWordAtPosition(position){return this._tokenizationTextModelPart.getWordAtPosition(position)}getWordUntilPosition(position){return this._tokenizationTextModelPart.getWordUntilPosition(position)}normalizePosition(position,affinity){return position}getLineIndentColumn(lineNumber){return indentOfLine(this.getLineContent(lineNumber))+1}};TextModel._MODEL_SYNC_LIMIT=50*1024*1024;TextModel.LARGE_FILE_SIZE_THRESHOLD=20*1024*1024;TextModel.LARGE_FILE_LINE_COUNT_THRESHOLD=300*1e3;TextModel.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:false,tabSize:EDITOR_MODEL_DEFAULTS.tabSize,indentSize:EDITOR_MODEL_DEFAULTS.indentSize,insertSpaces:EDITOR_MODEL_DEFAULTS.insertSpaces,detectIndentation:false,defaultEOL:1,trimAutoWhitespace:EDITOR_MODEL_DEFAULTS.trimAutoWhitespace,largeFileOptimizations:EDITOR_MODEL_DEFAULTS.largeFileOptimizations,bracketPairColorizationOptions:EDITOR_MODEL_DEFAULTS.bracketPairColorizationOptions};TextModel=TextModel_1=__decorate12([__param11(4,IUndoRedoService),__param11(5,ILanguageService),__param11(6,ILanguageConfigurationService)],TextModel);DecorationsTrees=class{constructor(){this._decorationsTree0=new IntervalTree;this._decorationsTree1=new IntervalTree;this._injectedTextDecorationsTree=new IntervalTree}ensureAllNodesHaveRanges(host){this.getAll(host,0,false,false,false)}_ensureNodesHaveRanges(host,nodes){for(const node of nodes){if(node.range===null){node.range=host.getRangeAt(node.cachedAbsoluteStart,node.cachedAbsoluteEnd)}}return nodes}getAllInInterval(host,start,end,filterOwnerId,filterOutValidation,onlyMarginDecorations){const versionId=host.getVersionId();const result=this._intervalSearch(start,end,filterOwnerId,filterOutValidation,versionId,onlyMarginDecorations);return this._ensureNodesHaveRanges(host,result)}_intervalSearch(start,end,filterOwnerId,filterOutValidation,cachedVersionId,onlyMarginDecorations){const r0=this._decorationsTree0.intervalSearch(start,end,filterOwnerId,filterOutValidation,cachedVersionId,onlyMarginDecorations);const r1=this._decorationsTree1.intervalSearch(start,end,filterOwnerId,filterOutValidation,cachedVersionId,onlyMarginDecorations);const r2=this._injectedTextDecorationsTree.intervalSearch(start,end,filterOwnerId,filterOutValidation,cachedVersionId,onlyMarginDecorations);return r0.concat(r1).concat(r2)}getInjectedTextInInterval(host,start,end,filterOwnerId){const versionId=host.getVersionId();const result=this._injectedTextDecorationsTree.intervalSearch(start,end,filterOwnerId,false,versionId,false);return this._ensureNodesHaveRanges(host,result).filter((i=>i.options.showIfCollapsed||!i.range.isEmpty()))}getAllInjectedText(host,filterOwnerId){const versionId=host.getVersionId();const result=this._injectedTextDecorationsTree.search(filterOwnerId,false,versionId,false);return this._ensureNodesHaveRanges(host,result).filter((i=>i.options.showIfCollapsed||!i.range.isEmpty()))}getAll(host,filterOwnerId,filterOutValidation,overviewRulerOnly,onlyMarginDecorations){const versionId=host.getVersionId();const result=this._search(filterOwnerId,filterOutValidation,overviewRulerOnly,versionId,onlyMarginDecorations);return this._ensureNodesHaveRanges(host,result)}_search(filterOwnerId,filterOutValidation,overviewRulerOnly,cachedVersionId,onlyMarginDecorations){if(overviewRulerOnly){return this._decorationsTree1.search(filterOwnerId,filterOutValidation,cachedVersionId,onlyMarginDecorations)}else{const r0=this._decorationsTree0.search(filterOwnerId,filterOutValidation,cachedVersionId,onlyMarginDecorations);const r1=this._decorationsTree1.search(filterOwnerId,filterOutValidation,cachedVersionId,onlyMarginDecorations);const r2=this._injectedTextDecorationsTree.search(filterOwnerId,filterOutValidation,cachedVersionId,onlyMarginDecorations);return r0.concat(r1).concat(r2)}}collectNodesFromOwner(ownerId){const r0=this._decorationsTree0.collectNodesFromOwner(ownerId);const r1=this._decorationsTree1.collectNodesFromOwner(ownerId);const r2=this._injectedTextDecorationsTree.collectNodesFromOwner(ownerId);return r0.concat(r1).concat(r2)}collectNodesPostOrder(){const r0=this._decorationsTree0.collectNodesPostOrder();const r1=this._decorationsTree1.collectNodesPostOrder();const r2=this._injectedTextDecorationsTree.collectNodesPostOrder();return r0.concat(r1).concat(r2)}insert(node){if(isNodeInjectedText(node)){this._injectedTextDecorationsTree.insert(node)}else if(isNodeInOverviewRuler(node)){this._decorationsTree1.insert(node)}else{this._decorationsTree0.insert(node)}}delete(node){if(isNodeInjectedText(node)){this._injectedTextDecorationsTree.delete(node)}else if(isNodeInOverviewRuler(node)){this._decorationsTree1.delete(node)}else{this._decorationsTree0.delete(node)}}getNodeRange(host,node){const versionId=host.getVersionId();if(node.cachedVersionId!==versionId){this._resolveNode(node,versionId)}if(node.range===null){node.range=host.getRangeAt(node.cachedAbsoluteStart,node.cachedAbsoluteEnd)}return node.range}_resolveNode(node,cachedVersionId){if(isNodeInjectedText(node)){this._injectedTextDecorationsTree.resolveNode(node,cachedVersionId)}else if(isNodeInOverviewRuler(node)){this._decorationsTree1.resolveNode(node,cachedVersionId)}else{this._decorationsTree0.resolveNode(node,cachedVersionId)}}acceptReplace(offset,length2,textLength,forceMoveMarkers){this._decorationsTree0.acceptReplace(offset,length2,textLength,forceMoveMarkers);this._decorationsTree1.acceptReplace(offset,length2,textLength,forceMoveMarkers);this._injectedTextDecorationsTree.acceptReplace(offset,length2,textLength,forceMoveMarkers)}};DecorationOptions=class{constructor(options2){this.color=options2.color||"";this.darkColor=options2.darkColor||""}};ModelDecorationOverviewRulerOptions=class extends DecorationOptions{constructor(options2){super(options2);this._resolvedColor=null;this.position=typeof options2.position==="number"?options2.position:OverviewRulerLane2.Center}getColor(theme){if(!this._resolvedColor){if(theme.type!=="light"&&this.darkColor){this._resolvedColor=this._resolveColor(this.darkColor,theme)}else{this._resolvedColor=this._resolveColor(this.color,theme)}}return this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(color,theme){if(typeof color==="string"){return color}const c=color?theme.getColor(color.id):null;if(!c){return""}return c.toString()}};ModelDecorationGlyphMarginOptions=class{constructor(options2){var _a6;this.position=(_a6=options2===null||options2===void 0?void 0:options2.position)!==null&&_a6!==void 0?_a6:GlyphMarginLane2.Left}};ModelDecorationMinimapOptions=class extends DecorationOptions{constructor(options2){super(options2);this.position=options2.position}getColor(theme){if(!this._resolvedColor){if(theme.type!=="light"&&this.darkColor){this._resolvedColor=this._resolveColor(this.darkColor,theme)}else{this._resolvedColor=this._resolveColor(this.color,theme)}}return this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(color,theme){if(typeof color==="string"){return Color.fromHex(color)}return theme.getColor(color.id)}};ModelDecorationInjectedTextOptions=class{static from(options2){if(options2 instanceof ModelDecorationInjectedTextOptions){return options2}return new ModelDecorationInjectedTextOptions(options2)}constructor(options2){this.content=options2.content||"";this.inlineClassName=options2.inlineClassName||null;this.inlineClassNameAffectsLetterSpacing=options2.inlineClassNameAffectsLetterSpacing||false;this.attachedData=options2.attachedData||null;this.cursorStops=options2.cursorStops||null}};ModelDecorationOptions=class{static register(options2){return new ModelDecorationOptions(options2)}static createDynamic(options2){return new ModelDecorationOptions(options2)}constructor(options2){var _a6,_b3,_c2,_d2,_e2,_f2;this.description=options2.description;this.blockClassName=options2.blockClassName?cleanClassName(options2.blockClassName):null;this.blockDoesNotCollapse=(_a6=options2.blockDoesNotCollapse)!==null&&_a6!==void 0?_a6:null;this.blockIsAfterEnd=(_b3=options2.blockIsAfterEnd)!==null&&_b3!==void 0?_b3:null;this.blockPadding=(_c2=options2.blockPadding)!==null&&_c2!==void 0?_c2:null;this.stickiness=options2.stickiness||0;this.zIndex=options2.zIndex||0;this.className=options2.className?cleanClassName(options2.className):null;this.shouldFillLineOnLineBreak=(_d2=options2.shouldFillLineOnLineBreak)!==null&&_d2!==void 0?_d2:null;this.hoverMessage=options2.hoverMessage||null;this.glyphMarginHoverMessage=options2.glyphMarginHoverMessage||null;this.isWholeLine=options2.isWholeLine||false;this.showIfCollapsed=options2.showIfCollapsed||false;this.collapseOnReplaceEdit=options2.collapseOnReplaceEdit||false;this.overviewRuler=options2.overviewRuler?new ModelDecorationOverviewRulerOptions(options2.overviewRuler):null;this.minimap=options2.minimap?new ModelDecorationMinimapOptions(options2.minimap):null;this.glyphMargin=options2.glyphMarginClassName?new ModelDecorationGlyphMarginOptions(options2.glyphMargin):null;this.glyphMarginClassName=options2.glyphMarginClassName?cleanClassName(options2.glyphMarginClassName):null;this.linesDecorationsClassName=options2.linesDecorationsClassName?cleanClassName(options2.linesDecorationsClassName):null;this.firstLineDecorationClassName=options2.firstLineDecorationClassName?cleanClassName(options2.firstLineDecorationClassName):null;this.marginClassName=options2.marginClassName?cleanClassName(options2.marginClassName):null;this.inlineClassName=options2.inlineClassName?cleanClassName(options2.inlineClassName):null;this.inlineClassNameAffectsLetterSpacing=options2.inlineClassNameAffectsLetterSpacing||false;this.beforeContentClassName=options2.beforeContentClassName?cleanClassName(options2.beforeContentClassName):null;this.afterContentClassName=options2.afterContentClassName?cleanClassName(options2.afterContentClassName):null;this.after=options2.after?ModelDecorationInjectedTextOptions.from(options2.after):null;this.before=options2.before?ModelDecorationInjectedTextOptions.from(options2.before):null;this.hideInCommentTokens=(_e2=options2.hideInCommentTokens)!==null&&_e2!==void 0?_e2:false;this.hideInStringTokens=(_f2=options2.hideInStringTokens)!==null&&_f2!==void 0?_f2:false}};ModelDecorationOptions.EMPTY=ModelDecorationOptions.register({description:"empty"});TRACKED_RANGE_OPTIONS=[ModelDecorationOptions.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),ModelDecorationOptions.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),ModelDecorationOptions.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),ModelDecorationOptions.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];DidChangeDecorationsEmitter=class extends Disposable{constructor(handleBeforeFire){super();this.handleBeforeFire=handleBeforeFire;this._actual=this._register(new Emitter);this.event=this._actual.event;this._affectedInjectedTextLines=null;this._deferredCnt=0;this._shouldFireDeferred=false;this._affectsMinimap=false;this._affectsOverviewRuler=false;this._affectsGlyphMargin=false}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(){var _a6;this._deferredCnt--;if(this._deferredCnt===0){if(this._shouldFireDeferred){this.doFire()}(_a6=this._affectedInjectedTextLines)===null||_a6===void 0?void 0:_a6.clear();this._affectedInjectedTextLines=null}}recordLineAffectedByInjectedText(lineNumber){if(!this._affectedInjectedTextLines){this._affectedInjectedTextLines=new Set}this._affectedInjectedTextLines.add(lineNumber)}checkAffectedAndFire(options2){if(!this._affectsMinimap){this._affectsMinimap=options2.minimap&&options2.minimap.position?true:false}if(!this._affectsOverviewRuler){this._affectsOverviewRuler=options2.overviewRuler&&options2.overviewRuler.color?true:false}if(!this._affectsGlyphMargin){this._affectsGlyphMargin=options2.glyphMarginClassName?true:false}this.tryFire()}fire(){this._affectsMinimap=true;this._affectsOverviewRuler=true;this._affectsGlyphMargin=true;this.tryFire()}tryFire(){if(this._deferredCnt===0){this.doFire()}else{this._shouldFireDeferred=true}}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines);const event={affectsMinimap:this._affectsMinimap,affectsOverviewRuler:this._affectsOverviewRuler,affectsGlyphMargin:this._affectsGlyphMargin};this._shouldFireDeferred=false;this._affectsMinimap=false;this._affectsOverviewRuler=false;this._affectsGlyphMargin=false;this._actual.fire(event)}};DidChangeContentEmitter=class extends Disposable{constructor(){super();this._fastEmitter=this._register(new Emitter);this.fastEvent=this._fastEmitter.event;this._slowEmitter=this._register(new Emitter);this.slowEvent=this._slowEmitter.event;this._deferredCnt=0;this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(resultingSelection=null){this._deferredCnt--;if(this._deferredCnt===0){if(this._deferredEvent!==null){this._deferredEvent.rawContentChangedEvent.resultingSelection=resultingSelection;const e=this._deferredEvent;this._deferredEvent=null;this._fastEmitter.fire(e);this._slowEmitter.fire(e)}}}fire(e){if(this._deferredCnt>0){if(this._deferredEvent){this._deferredEvent=this._deferredEvent.merge(e)}else{this._deferredEvent=e}return}this._fastEmitter.fire(e);this._slowEmitter.fire(e)}};AttachedViews=class{constructor(){this._onDidChangeVisibleRanges=new Emitter;this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event;this._views=new Set}attachView(){const view=new AttachedViewImpl((state=>{this._onDidChangeVisibleRanges.fire({view:view,state:state})}));this._views.add(view);return view}detachView(view){this._views.delete(view);this._onDidChangeVisibleRanges.fire({view:view,state:void 0})}};AttachedViewImpl=class{constructor(handleStateChange){this.handleStateChange=handleStateChange}setVisibleLines(visibleLines,stabilized){const visibleLineRanges=visibleLines.map((line=>new LineRange(line.startLineNumber,line.endLineNumber+1)));this.handleStateChange({visibleLineRanges:visibleLineRanges,stabilized:stabilized})}}}});var Cursor;var init_oneCursor=__esm({"node_modules/monaco-editor/esm/vs/editor/common/cursor/oneCursor.js"(){init_cursorCommon();init_position();init_range();init_selection();Cursor=class{constructor(context){this._selTrackedRange=null;this._trackSelection=true;this._setState(context,new SingleCursorState(new Range(1,1,1,1),0,0,new Position(1,1),0),new SingleCursorState(new Range(1,1,1,1),0,0,new Position(1,1),0))}dispose(context){this._removeTrackedRange(context)}startTrackingSelection(context){this._trackSelection=true;this._updateTrackedRange(context)}stopTrackingSelection(context){this._trackSelection=false;this._removeTrackedRange(context)}_updateTrackedRange(context){if(!this._trackSelection){return}this._selTrackedRange=context.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,0)}_removeTrackedRange(context){this._selTrackedRange=context.model._setTrackedRange(this._selTrackedRange,null,0)}asCursorState(){return new CursorState(this.modelState,this.viewState)}readSelectionFromMarkers(context){const range2=context.model._getTrackedRange(this._selTrackedRange);if(this.modelState.selection.isEmpty()&&!range2.isEmpty()){return Selection.fromRange(range2.collapseToEnd(),this.modelState.selection.getDirection())}return Selection.fromRange(range2,this.modelState.selection.getDirection())}ensureValidState(context){this._setState(context,this.modelState,this.viewState)}setState(context,modelState,viewState){this._setState(context,modelState,viewState)}static _validatePositionWithCache(viewModel,position,cacheInput,cacheOutput){if(position.equals(cacheInput)){return cacheOutput}return viewModel.normalizePosition(position,2)}static _validateViewState(viewModel,viewState){const position=viewState.position;const sStartPosition=viewState.selectionStart.getStartPosition();const sEndPosition=viewState.selectionStart.getEndPosition();const validPosition=viewModel.normalizePosition(position,2);const validSStartPosition=this._validatePositionWithCache(viewModel,sStartPosition,position,validPosition);const validSEndPosition=this._validatePositionWithCache(viewModel,sEndPosition,sStartPosition,validSStartPosition);if(position.equals(validPosition)&&sStartPosition.equals(validSStartPosition)&&sEndPosition.equals(validSEndPosition)){return viewState}return new SingleCursorState(Range.fromPositions(validSStartPosition,validSEndPosition),viewState.selectionStartKind,viewState.selectionStartLeftoverVisibleColumns+sStartPosition.column-validSStartPosition.column,validPosition,viewState.leftoverVisibleColumns+position.column-validPosition.column)}_setState(context,modelState,viewState){if(viewState){viewState=Cursor._validateViewState(context.viewModel,viewState)}if(!modelState){if(!viewState){return}const selectionStart=context.model.validateRange(context.coordinatesConverter.convertViewRangeToModelRange(viewState.selectionStart));const position=context.model.validatePosition(context.coordinatesConverter.convertViewPositionToModelPosition(viewState.position));modelState=new SingleCursorState(selectionStart,viewState.selectionStartKind,viewState.selectionStartLeftoverVisibleColumns,position,viewState.leftoverVisibleColumns)}else{const selectionStart=context.model.validateRange(modelState.selectionStart);const selectionStartLeftoverVisibleColumns=modelState.selectionStart.equalsRange(selectionStart)?modelState.selectionStartLeftoverVisibleColumns:0;const position=context.model.validatePosition(modelState.position);const leftoverVisibleColumns=modelState.position.equals(position)?modelState.leftoverVisibleColumns:0;modelState=new SingleCursorState(selectionStart,modelState.selectionStartKind,selectionStartLeftoverVisibleColumns,position,leftoverVisibleColumns)}if(!viewState){const viewSelectionStart1=context.coordinatesConverter.convertModelPositionToViewPosition(new Position(modelState.selectionStart.startLineNumber,modelState.selectionStart.startColumn));const viewSelectionStart2=context.coordinatesConverter.convertModelPositionToViewPosition(new Position(modelState.selectionStart.endLineNumber,modelState.selectionStart.endColumn));const viewSelectionStart=new Range(viewSelectionStart1.lineNumber,viewSelectionStart1.column,viewSelectionStart2.lineNumber,viewSelectionStart2.column);const viewPosition=context.coordinatesConverter.convertModelPositionToViewPosition(modelState.position);viewState=new SingleCursorState(viewSelectionStart,modelState.selectionStartKind,modelState.selectionStartLeftoverVisibleColumns,viewPosition,modelState.leftoverVisibleColumns)}else{const viewSelectionStart=context.coordinatesConverter.validateViewRange(viewState.selectionStart,modelState.selectionStart);const viewPosition=context.coordinatesConverter.validateViewPosition(viewState.position,modelState.position);viewState=new SingleCursorState(viewSelectionStart,modelState.selectionStartKind,modelState.selectionStartLeftoverVisibleColumns,viewPosition,modelState.leftoverVisibleColumns)}this.modelState=modelState;this.viewState=viewState;this._updateTrackedRange(context)}}}});var CursorCollection;var init_cursorCollection=__esm({"node_modules/monaco-editor/esm/vs/editor/common/cursor/cursorCollection.js"(){init_arrays();init_cursorCommon();init_oneCursor();init_position();init_range();init_selection();CursorCollection=class{constructor(context){this.context=context;this.cursors=[new Cursor(context)];this.lastAddedCursorIndex=0}dispose(){for(const cursor of this.cursors){cursor.dispose(this.context)}}startTrackingSelections(){for(const cursor of this.cursors){cursor.startTrackingSelection(this.context)}}stopTrackingSelections(){for(const cursor of this.cursors){cursor.stopTrackingSelection(this.context)}}updateContext(context){this.context=context}ensureValidState(){for(const cursor of this.cursors){cursor.ensureValidState(this.context)}}readSelectionFromMarkers(){return this.cursors.map((c=>c.readSelectionFromMarkers(this.context)))}getAll(){return this.cursors.map((c=>c.asCursorState()))}getViewPositions(){return this.cursors.map((c=>c.viewState.position))}getTopMostViewPosition(){return findMinBy(this.cursors,compareBy((c=>c.viewState.position),Position.compare)).viewState.position}getBottomMostViewPosition(){return findLastMaxBy(this.cursors,compareBy((c=>c.viewState.position),Position.compare)).viewState.position}getSelections(){return this.cursors.map((c=>c.modelState.selection))}getViewSelections(){return this.cursors.map((c=>c.viewState.selection))}setSelections(selections){this.setStates(CursorState.fromModelSelections(selections))}getPrimaryCursor(){return this.cursors[0].asCursorState()}setStates(states){if(states===null){return}this.cursors[0].setState(this.context,states[0].modelState,states[0].viewState);this._setSecondaryStates(states.slice(1))}_setSecondaryStates(secondaryStates){const secondaryCursorsLength=this.cursors.length-1;const secondaryStatesLength=secondaryStates.length;if(secondaryCursorsLength<secondaryStatesLength){const createCnt=secondaryStatesLength-secondaryCursorsLength;for(let i=0;i<createCnt;i++){this._addSecondaryCursor()}}else if(secondaryCursorsLength>secondaryStatesLength){const removeCnt=secondaryCursorsLength-secondaryStatesLength;for(let i=0;i<removeCnt;i++){this._removeSecondaryCursor(this.cursors.length-2)}}for(let i=0;i<secondaryStatesLength;i++){this.cursors[i+1].setState(this.context,secondaryStates[i].modelState,secondaryStates[i].viewState)}}killSecondaryCursors(){this._setSecondaryStates([])}_addSecondaryCursor(){this.cursors.push(new Cursor(this.context));this.lastAddedCursorIndex=this.cursors.length-1}getLastAddedCursorIndex(){if(this.cursors.length===1||this.lastAddedCursorIndex===0){return 0}return this.lastAddedCursorIndex}_removeSecondaryCursor(removeIndex){if(this.lastAddedCursorIndex>=removeIndex+1){this.lastAddedCursorIndex--}this.cursors[removeIndex+1].dispose(this.context);this.cursors.splice(removeIndex+1,1)}normalize(){if(this.cursors.length===1){return}const cursors=this.cursors.slice(0);const sortedCursors=[];for(let i=0,len=cursors.length;i<len;i++){sortedCursors.push({index:i,selection:cursors[i].modelState.selection})}sortedCursors.sort(compareBy((s=>s.selection),Range.compareRangesUsingStarts));for(let sortedCursorIndex=0;sortedCursorIndex<sortedCursors.length-1;sortedCursorIndex++){const current=sortedCursors[sortedCursorIndex];const next=sortedCursors[sortedCursorIndex+1];const currentSelection=current.selection;const nextSelection=next.selection;if(!this.context.cursorConfig.multiCursorMergeOverlapping){continue}let shouldMergeCursors;if(nextSelection.isEmpty()||currentSelection.isEmpty()){shouldMergeCursors=nextSelection.getStartPosition().isBeforeOrEqual(currentSelection.getEndPosition())}else{shouldMergeCursors=nextSelection.getStartPosition().isBefore(currentSelection.getEndPosition())}if(shouldMergeCursors){const winnerSortedCursorIndex=current.index<next.index?sortedCursorIndex:sortedCursorIndex+1;const looserSortedCursorIndex=current.index<next.index?sortedCursorIndex+1:sortedCursorIndex;const looserIndex=sortedCursors[looserSortedCursorIndex].index;const winnerIndex=sortedCursors[winnerSortedCursorIndex].index;const looserSelection=sortedCursors[looserSortedCursorIndex].selection;const winnerSelection=sortedCursors[winnerSortedCursorIndex].selection;if(!looserSelection.equalsSelection(winnerSelection)){const resultingRange=looserSelection.plusRange(winnerSelection);const looserSelectionIsLTR=looserSelection.selectionStartLineNumber===looserSelection.startLineNumber&&looserSelection.selectionStartColumn===looserSelection.startColumn;const winnerSelectionIsLTR=winnerSelection.selectionStartLineNumber===winnerSelection.startLineNumber&&winnerSelection.selectionStartColumn===winnerSelection.startColumn;let resultingSelectionIsLTR;if(looserIndex===this.lastAddedCursorIndex){resultingSelectionIsLTR=looserSelectionIsLTR;this.lastAddedCursorIndex=winnerIndex}else{resultingSelectionIsLTR=winnerSelectionIsLTR}let resultingSelection;if(resultingSelectionIsLTR){resultingSelection=new Selection(resultingRange.startLineNumber,resultingRange.startColumn,resultingRange.endLineNumber,resultingRange.endColumn)}else{resultingSelection=new Selection(resultingRange.endLineNumber,resultingRange.endColumn,resultingRange.startLineNumber,resultingRange.startColumn)}sortedCursors[winnerSortedCursorIndex].selection=resultingSelection;const resultingState=CursorState.fromModelSelection(resultingSelection);cursors[winnerIndex].setState(this.context,resultingState.modelState,resultingState.viewState)}for(const sortedCursor of sortedCursors){if(sortedCursor.index>looserIndex){sortedCursor.index--}}cursors.splice(looserIndex,1);sortedCursors.splice(looserSortedCursorIndex,1);this._removeSecondaryCursor(looserIndex-1);sortedCursorIndex--}}}}}});var CursorContext;var init_cursorContext=__esm({"node_modules/monaco-editor/esm/vs/editor/common/cursor/cursorContext.js"(){CursorContext=class{constructor(model,viewModel,coordinatesConverter,cursorConfig){this._cursorContextBrand=void 0;this.model=model;this.viewModel=viewModel;this.coordinatesConverter=coordinatesConverter;this.cursorConfig=cursorConfig}}}});var ViewCompositionStartEvent,ViewCompositionEndEvent,ViewConfigurationChangedEvent,ViewCursorStateChangedEvent,ViewDecorationsChangedEvent,ViewFlushedEvent,ViewFocusChangedEvent,ViewLanguageConfigurationEvent,ViewLineMappingChangedEvent,ViewLinesChangedEvent,ViewLinesDeletedEvent,ViewLinesInsertedEvent,ViewRevealRangeRequestEvent,ViewScrollChangedEvent,ViewThemeChangedEvent,ViewTokensChangedEvent,ViewTokensColorsChangedEvent,ViewZonesChangedEvent;var init_viewEvents=__esm({"node_modules/monaco-editor/esm/vs/editor/common/viewEvents.js"(){ViewCompositionStartEvent=class{constructor(){this.type=0}};ViewCompositionEndEvent=class{constructor(){this.type=1}};ViewConfigurationChangedEvent=class{constructor(source){this.type=2;this._source=source}hasChanged(id){return this._source.hasChanged(id)}};ViewCursorStateChangedEvent=class{constructor(selections,modelSelections,reason){this.selections=selections;this.modelSelections=modelSelections;this.reason=reason;this.type=3}};ViewDecorationsChangedEvent=class{constructor(source){this.type=4;if(source){this.affectsMinimap=source.affectsMinimap;this.affectsOverviewRuler=source.affectsOverviewRuler;this.affectsGlyphMargin=source.affectsGlyphMargin}else{this.affectsMinimap=true;this.affectsOverviewRuler=true;this.affectsGlyphMargin=true}}};ViewFlushedEvent=class{constructor(){this.type=5}};ViewFocusChangedEvent=class{constructor(isFocused){this.type=6;this.isFocused=isFocused}};ViewLanguageConfigurationEvent=class{constructor(){this.type=7}};ViewLineMappingChangedEvent=class{constructor(){this.type=8}};ViewLinesChangedEvent=class{constructor(fromLineNumber,count){this.fromLineNumber=fromLineNumber;this.count=count;this.type=9}};ViewLinesDeletedEvent=class{constructor(fromLineNumber,toLineNumber){this.type=10;this.fromLineNumber=fromLineNumber;this.toLineNumber=toLineNumber}};ViewLinesInsertedEvent=class{constructor(fromLineNumber,toLineNumber){this.type=11;this.fromLineNumber=fromLineNumber;this.toLineNumber=toLineNumber}};ViewRevealRangeRequestEvent=class{constructor(source,minimalReveal,range2,selections,verticalType,revealHorizontal,scrollType){this.source=source;this.minimalReveal=minimalReveal;this.range=range2;this.selections=selections;this.verticalType=verticalType;this.revealHorizontal=revealHorizontal;this.scrollType=scrollType;this.type=12}};ViewScrollChangedEvent=class{constructor(source){this.type=13;this.scrollWidth=source.scrollWidth;this.scrollLeft=source.scrollLeft;this.scrollHeight=source.scrollHeight;this.scrollTop=source.scrollTop;this.scrollWidthChanged=source.scrollWidthChanged;this.scrollLeftChanged=source.scrollLeftChanged;this.scrollHeightChanged=source.scrollHeightChanged;this.scrollTopChanged=source.scrollTopChanged}};ViewThemeChangedEvent=class{constructor(theme){this.theme=theme;this.type=14}};ViewTokensChangedEvent=class{constructor(ranges){this.type=15;this.ranges=ranges}};ViewTokensColorsChangedEvent=class{constructor(){this.type=16}};ViewZonesChangedEvent=class{constructor(){this.type=17}}}});var ViewModelEventDispatcher,ViewModelEventsCollector,ContentSizeChangedEvent,FocusChangedEvent,ScrollChangedEvent,ViewZonesChangedEvent2,HiddenAreasChangedEvent,CursorStateChangedEvent,ReadOnlyEditAttemptEvent,ModelDecorationsChangedEvent,ModelLanguageChangedEvent,ModelLanguageConfigurationChangedEvent,ModelContentChangedEvent,ModelOptionsChangedEvent,ModelTokensChangedEvent;var init_viewModelEventDispatcher=__esm({"node_modules/monaco-editor/esm/vs/editor/common/viewModelEventDispatcher.js"(){init_event();init_lifecycle();ViewModelEventDispatcher=class extends Disposable{constructor(){super();this._onEvent=this._register(new Emitter);this.onEvent=this._onEvent.event;this._eventHandlers=[];this._viewEventQueue=null;this._isConsumingViewEventQueue=false;this._collector=null;this._collectorCnt=0;this._outgoingEvents=[]}emitOutgoingEvent(e){this._addOutgoingEvent(e);this._emitOutgoingEvents()}_addOutgoingEvent(e){for(let i=0,len=this._outgoingEvents.length;i<len;i++){const mergeResult=this._outgoingEvents[i].kind===e.kind?this._outgoingEvents[i].attemptToMerge(e):null;if(mergeResult){this._outgoingEvents[i]=mergeResult;return}}this._outgoingEvents.push(e)}_emitOutgoingEvents(){while(this._outgoingEvents.length>0){if(this._collector||this._isConsumingViewEventQueue){return}const event=this._outgoingEvents.shift();if(event.isNoOp()){continue}this._onEvent.fire(event)}}addViewEventHandler(eventHandler){for(let i=0,len=this._eventHandlers.length;i<len;i++){if(this._eventHandlers[i]===eventHandler){console.warn("Detected duplicate listener in ViewEventDispatcher",eventHandler)}}this._eventHandlers.push(eventHandler)}removeViewEventHandler(eventHandler){for(let i=0;i<this._eventHandlers.length;i++){if(this._eventHandlers[i]===eventHandler){this._eventHandlers.splice(i,1);break}}}beginEmitViewEvents(){this._collectorCnt++;if(this._collectorCnt===1){this._collector=new ViewModelEventsCollector}return this._collector}endEmitViewEvents(){this._collectorCnt--;if(this._collectorCnt===0){const outgoingEvents=this._collector.outgoingEvents;const viewEvents=this._collector.viewEvents;this._collector=null;for(const outgoingEvent of outgoingEvents){this._addOutgoingEvent(outgoingEvent)}if(viewEvents.length>0){this._emitMany(viewEvents)}}this._emitOutgoingEvents()}emitSingleViewEvent(event){try{const eventsCollector=this.beginEmitViewEvents();eventsCollector.emitViewEvent(event)}finally{this.endEmitViewEvents()}}_emitMany(events){if(this._viewEventQueue){this._viewEventQueue=this._viewEventQueue.concat(events)}else{this._viewEventQueue=events}if(!this._isConsumingViewEventQueue){this._consumeViewEventQueue()}}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=true;this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=false}}_doConsumeQueue(){while(this._viewEventQueue){const events=this._viewEventQueue;this._viewEventQueue=null;const eventHandlers=this._eventHandlers.slice(0);for(const eventHandler of eventHandlers){eventHandler.handleEvents(events)}}}};ViewModelEventsCollector=class{constructor(){this.viewEvents=[];this.outgoingEvents=[]}emitViewEvent(event){this.viewEvents.push(event)}emitOutgoingEvent(e){this.outgoingEvents.push(e)}};ContentSizeChangedEvent=class{constructor(oldContentWidth,oldContentHeight,contentWidth,contentHeight){this.kind=0;this._oldContentWidth=oldContentWidth;this._oldContentHeight=oldContentHeight;this.contentWidth=contentWidth;this.contentHeight=contentHeight;this.contentWidthChanged=this._oldContentWidth!==this.contentWidth;this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}attemptToMerge(other){if(other.kind!==this.kind){return null}return new ContentSizeChangedEvent(this._oldContentWidth,this._oldContentHeight,other.contentWidth,other.contentHeight)}};FocusChangedEvent=class{constructor(oldHasFocus,hasFocus){this.kind=1;this.oldHasFocus=oldHasFocus;this.hasFocus=hasFocus}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(other){if(other.kind!==this.kind){return null}return new FocusChangedEvent(this.oldHasFocus,other.hasFocus)}};ScrollChangedEvent=class{constructor(oldScrollWidth,oldScrollLeft,oldScrollHeight,oldScrollTop,scrollWidth,scrollLeft,scrollHeight,scrollTop){this.kind=2;this._oldScrollWidth=oldScrollWidth;this._oldScrollLeft=oldScrollLeft;this._oldScrollHeight=oldScrollHeight;this._oldScrollTop=oldScrollTop;this.scrollWidth=scrollWidth;this.scrollLeft=scrollLeft;this.scrollHeight=scrollHeight;this.scrollTop=scrollTop;this.scrollWidthChanged=this._oldScrollWidth!==this.scrollWidth;this.scrollLeftChanged=this._oldScrollLeft!==this.scrollLeft;this.scrollHeightChanged=this._oldScrollHeight!==this.scrollHeight;this.scrollTopChanged=this._oldScrollTop!==this.scrollTop}isNoOp(){return!this.scrollWidthChanged&&!this.scrollLeftChanged&&!this.scrollHeightChanged&&!this.scrollTopChanged}attemptToMerge(other){if(other.kind!==this.kind){return null}return new ScrollChangedEvent(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,other.scrollWidth,other.scrollLeft,other.scrollHeight,other.scrollTop)}};ViewZonesChangedEvent2=class{constructor(){this.kind=3}isNoOp(){return false}attemptToMerge(other){if(other.kind!==this.kind){return null}return this}};HiddenAreasChangedEvent=class{constructor(){this.kind=4}isNoOp(){return false}attemptToMerge(other){if(other.kind!==this.kind){return null}return this}};CursorStateChangedEvent=class{constructor(oldSelections,selections,oldModelVersionId,modelVersionId,source,reason,reachedMaxCursorCount){this.kind=6;this.oldSelections=oldSelections;this.selections=selections;this.oldModelVersionId=oldModelVersionId;this.modelVersionId=modelVersionId;this.source=source;this.reason=reason;this.reachedMaxCursorCount=reachedMaxCursorCount}static _selectionsAreEqual(a,b){if(!a&&!b){return true}if(!a||!b){return false}const aLen=a.length;const bLen=b.length;if(aLen!==bLen){return false}for(let i=0;i<aLen;i++){if(!a[i].equalsSelection(b[i])){return false}}return true}isNoOp(){return CursorStateChangedEvent._selectionsAreEqual(this.oldSelections,this.selections)&&this.oldModelVersionId===this.modelVersionId}attemptToMerge(other){if(other.kind!==this.kind){return null}return new CursorStateChangedEvent(this.oldSelections,other.selections,this.oldModelVersionId,other.modelVersionId,other.source,other.reason,this.reachedMaxCursorCount||other.reachedMaxCursorCount)}};ReadOnlyEditAttemptEvent=class{constructor(){this.kind=5}isNoOp(){return false}attemptToMerge(other){if(other.kind!==this.kind){return null}return this}};ModelDecorationsChangedEvent=class{constructor(event){this.event=event;this.kind=7}isNoOp(){return false}attemptToMerge(other){return null}};ModelLanguageChangedEvent=class{constructor(event){this.event=event;this.kind=8}isNoOp(){return false}attemptToMerge(other){return null}};ModelLanguageConfigurationChangedEvent=class{constructor(event){this.event=event;this.kind=9}isNoOp(){return false}attemptToMerge(other){return null}};ModelContentChangedEvent=class{constructor(event){this.event=event;this.kind=10}isNoOp(){return false}attemptToMerge(other){return null}};ModelOptionsChangedEvent=class{constructor(event){this.event=event;this.kind=11}isNoOp(){return false}attemptToMerge(other){return null}};ModelTokensChangedEvent=class{constructor(event){this.event=event;this.kind=12}isNoOp(){return false}attemptToMerge(other){return null}}}});var CursorsController,CursorModelState,AutoClosedAction,CommandExecutor,CompositionLineState,CompositionState;var init_cursor=__esm({"node_modules/monaco-editor/esm/vs/editor/common/cursor/cursor.js"(){init_errors();init_strings();init_cursorCollection();init_cursorCommon();init_cursorContext();init_cursorDeleteOperations();init_cursorTypeOperations();init_range();init_selection();init_textModelEvents();init_viewEvents();init_lifecycle();init_viewModelEventDispatcher();CursorsController=class extends Disposable{constructor(model,viewModel,coordinatesConverter,cursorConfig){super();this._model=model;this._knownModelVersionId=this._model.getVersionId();this._viewModel=viewModel;this._coordinatesConverter=coordinatesConverter;this.context=new CursorContext(this._model,this._viewModel,this._coordinatesConverter,cursorConfig);this._cursors=new CursorCollection(this.context);this._hasFocus=false;this._isHandling=false;this._compositionState=null;this._columnSelectData=null;this._autoClosedActions=[];this._prevEditOperationType=0}dispose(){this._cursors.dispose();this._autoClosedActions=dispose(this._autoClosedActions);super.dispose()}updateConfiguration(cursorConfig){this.context=new CursorContext(this._model,this._viewModel,this._coordinatesConverter,cursorConfig);this._cursors.updateContext(this.context)}onLineMappingChanged(eventsCollector){if(this._knownModelVersionId!==this._model.getVersionId()){return}this.setStates(eventsCollector,"viewModel",0,this.getCursorStates())}setHasFocus(hasFocus){this._hasFocus=hasFocus}_validateAutoClosedActions(){if(this._autoClosedActions.length>0){const selections=this._cursors.getSelections();for(let i=0;i<this._autoClosedActions.length;i++){const autoClosedAction=this._autoClosedActions[i];if(!autoClosedAction.isValid(selections)){autoClosedAction.dispose();this._autoClosedActions.splice(i,1);i--}}}}getPrimaryCursorState(){return this._cursors.getPrimaryCursor()}getLastAddedCursorIndex(){return this._cursors.getLastAddedCursorIndex()}getCursorStates(){return this._cursors.getAll()}setStates(eventsCollector,source,reason,states){let reachedMaxCursorCount=false;const multiCursorLimit=this.context.cursorConfig.multiCursorLimit;if(states!==null&&states.length>multiCursorLimit){states=states.slice(0,multiCursorLimit);reachedMaxCursorCount=true}const oldState=CursorModelState.from(this._model,this);this._cursors.setStates(states);this._cursors.normalize();this._columnSelectData=null;this._validateAutoClosedActions();return this._emitStateChangedIfNecessary(eventsCollector,source,reason,oldState,reachedMaxCursorCount)}setCursorColumnSelectData(columnSelectData){this._columnSelectData=columnSelectData}revealPrimary(eventsCollector,source,minimalReveal,verticalType,revealHorizontal,scrollType){const viewPositions=this._cursors.getViewPositions();let revealViewRange=null;let revealViewSelections=null;if(viewPositions.length>1){revealViewSelections=this._cursors.getViewSelections()}else{revealViewRange=Range.fromPositions(viewPositions[0],viewPositions[0])}eventsCollector.emitViewEvent(new ViewRevealRangeRequestEvent(source,minimalReveal,revealViewRange,revealViewSelections,verticalType,revealHorizontal,scrollType))}saveState(){const result=[];const selections=this._cursors.getSelections();for(let i=0,len=selections.length;i<len;i++){const selection=selections[i];result.push({inSelectionMode:!selection.isEmpty(),selectionStart:{lineNumber:selection.selectionStartLineNumber,column:selection.selectionStartColumn},position:{lineNumber:selection.positionLineNumber,column:selection.positionColumn}})}return result}restoreState(eventsCollector,states){const desiredSelections=[];for(let i=0,len=states.length;i<len;i++){const state=states[i];let positionLineNumber=1;let positionColumn=1;if(state.position&&state.position.lineNumber){positionLineNumber=state.position.lineNumber}if(state.position&&state.position.column){positionColumn=state.position.column}let selectionStartLineNumber=positionLineNumber;let selectionStartColumn=positionColumn;if(state.selectionStart&&state.selectionStart.lineNumber){selectionStartLineNumber=state.selectionStart.lineNumber}if(state.selectionStart&&state.selectionStart.column){selectionStartColumn=state.selectionStart.column}desiredSelections.push({selectionStartLineNumber:selectionStartLineNumber,selectionStartColumn:selectionStartColumn,positionLineNumber:positionLineNumber,positionColumn:positionColumn})}this.setStates(eventsCollector,"restoreState",0,CursorState.fromModelSelections(desiredSelections));this.revealPrimary(eventsCollector,"restoreState",false,0,true,1)}onModelContentChanged(eventsCollector,event){if(event instanceof ModelInjectedTextChangedEvent){if(this._isHandling){return}this._isHandling=true;try{this.setStates(eventsCollector,"modelChange",0,this.getCursorStates())}finally{this._isHandling=false}}else{const e=event.rawContentChangedEvent;this._knownModelVersionId=e.versionId;if(this._isHandling){return}const hadFlushEvent=e.containsEvent(1);this._prevEditOperationType=0;if(hadFlushEvent){this._cursors.dispose();this._cursors=new CursorCollection(this.context);this._validateAutoClosedActions();this._emitStateChangedIfNecessary(eventsCollector,"model",1,null,false)}else{if(this._hasFocus&&e.resultingSelection&&e.resultingSelection.length>0){const cursorState=CursorState.fromModelSelections(e.resultingSelection);if(this.setStates(eventsCollector,"modelChange",e.isUndoing?5:e.isRedoing?6:2,cursorState)){this.revealPrimary(eventsCollector,"modelChange",false,0,true,0)}}else{const selectionsFromMarkers=this._cursors.readSelectionFromMarkers();this.setStates(eventsCollector,"modelChange",2,CursorState.fromModelSelections(selectionsFromMarkers))}}}}getSelection(){return this._cursors.getPrimaryCursor().modelState.selection}getTopMostViewPosition(){return this._cursors.getTopMostViewPosition()}getBottomMostViewPosition(){return this._cursors.getBottomMostViewPosition()}getCursorColumnSelectData(){if(this._columnSelectData){return this._columnSelectData}const primaryCursor=this._cursors.getPrimaryCursor();const viewSelectionStart=primaryCursor.viewState.selectionStart.getStartPosition();const viewPosition=primaryCursor.viewState.position;return{isReal:false,fromViewLineNumber:viewSelectionStart.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,viewSelectionStart),toViewLineNumber:viewPosition.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,viewPosition)}}getSelections(){return this._cursors.getSelections()}setSelections(eventsCollector,source,selections,reason){this.setStates(eventsCollector,source,reason,CursorState.fromModelSelections(selections))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(type){this._prevEditOperationType=type}_pushAutoClosedAction(autoClosedCharactersRanges,autoClosedEnclosingRanges){const autoClosedCharactersDeltaDecorations=[];const autoClosedEnclosingDeltaDecorations=[];for(let i=0,len=autoClosedCharactersRanges.length;i<len;i++){autoClosedCharactersDeltaDecorations.push({range:autoClosedCharactersRanges[i],options:{description:"auto-closed-character",inlineClassName:"auto-closed-character",stickiness:1}});autoClosedEnclosingDeltaDecorations.push({range:autoClosedEnclosingRanges[i],options:{description:"auto-closed-enclosing",stickiness:1}})}const autoClosedCharactersDecorations=this._model.deltaDecorations([],autoClosedCharactersDeltaDecorations);const autoClosedEnclosingDecorations=this._model.deltaDecorations([],autoClosedEnclosingDeltaDecorations);this._autoClosedActions.push(new AutoClosedAction(this._model,autoClosedCharactersDecorations,autoClosedEnclosingDecorations))}_executeEditOperation(opResult){if(!opResult){return}if(opResult.shouldPushStackElementBefore){this._model.pushStackElement()}const result=CommandExecutor.executeCommands(this._model,this._cursors.getSelections(),opResult.commands);if(result){this._interpretCommandResult(result);const autoClosedCharactersRanges=[];const autoClosedEnclosingRanges=[];for(let i=0;i<opResult.commands.length;i++){const command=opResult.commands[i];if(command instanceof TypeWithAutoClosingCommand&&command.enclosingRange&&command.closeCharacterRange){autoClosedCharactersRanges.push(command.closeCharacterRange);autoClosedEnclosingRanges.push(command.enclosingRange)}}if(autoClosedCharactersRanges.length>0){this._pushAutoClosedAction(autoClosedCharactersRanges,autoClosedEnclosingRanges)}this._prevEditOperationType=opResult.type}if(opResult.shouldPushStackElementAfter){this._model.pushStackElement()}}_interpretCommandResult(cursorState){if(!cursorState||cursorState.length===0){cursorState=this._cursors.readSelectionFromMarkers()}this._columnSelectData=null;this._cursors.setSelections(cursorState);this._cursors.normalize()}_emitStateChangedIfNecessary(eventsCollector,source,reason,oldState,reachedMaxCursorCount){const newState=CursorModelState.from(this._model,this);if(newState.equals(oldState)){return false}const selections=this._cursors.getSelections();const viewSelections=this._cursors.getViewSelections();eventsCollector.emitViewEvent(new ViewCursorStateChangedEvent(viewSelections,selections,reason));if(!oldState||oldState.cursorState.length!==newState.cursorState.length||newState.cursorState.some(((newCursorState,i)=>!newCursorState.modelState.equals(oldState.cursorState[i].modelState)))){const oldSelections=oldState?oldState.cursorState.map((s=>s.modelState.selection)):null;const oldModelVersionId=oldState?oldState.modelVersionId:0;eventsCollector.emitOutgoingEvent(new CursorStateChangedEvent(oldSelections,selections,oldModelVersionId,newState.modelVersionId,source||"keyboard",reason,reachedMaxCursorCount))}return true}_findAutoClosingPairs(edits){if(!edits.length){return null}const indices=[];for(let i=0,len=edits.length;i<len;i++){const edit=edits[i];if(!edit.text||edit.text.indexOf("\n")>=0){return null}const m=edit.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!m){return null}const closeChar=m[1];const autoClosingPairsCandidates=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(closeChar);if(!autoClosingPairsCandidates||autoClosingPairsCandidates.length!==1){return null}const openChar=autoClosingPairsCandidates[0].open;const closeCharIndex=edit.text.length-m[2].length-1;const openCharIndex=edit.text.lastIndexOf(openChar,closeCharIndex-1);if(openCharIndex===-1){return null}indices.push([openCharIndex,closeCharIndex])}return indices}executeEdits(eventsCollector,source,edits,cursorStateComputer){let autoClosingIndices=null;if(source==="snippet"){autoClosingIndices=this._findAutoClosingPairs(edits)}if(autoClosingIndices){edits[0]._isTracked=true}const autoClosedCharactersRanges=[];const autoClosedEnclosingRanges=[];const selections=this._model.pushEditOperations(this.getSelections(),edits,(undoEdits=>{if(autoClosingIndices){for(let i=0,len=autoClosingIndices.length;i<len;i++){const[openCharInnerIndex,closeCharInnerIndex]=autoClosingIndices[i];const undoEdit=undoEdits[i];const lineNumber=undoEdit.range.startLineNumber;const openCharIndex=undoEdit.range.startColumn-1+openCharInnerIndex;const closeCharIndex=undoEdit.range.startColumn-1+closeCharInnerIndex;autoClosedCharactersRanges.push(new Range(lineNumber,closeCharIndex+1,lineNumber,closeCharIndex+2));autoClosedEnclosingRanges.push(new Range(lineNumber,openCharIndex+1,lineNumber,closeCharIndex+2))}}const selections2=cursorStateComputer(undoEdits);if(selections2){this._isHandling=true}return selections2}));if(selections){this._isHandling=false;this.setSelections(eventsCollector,source,selections,0)}if(autoClosedCharactersRanges.length>0){this._pushAutoClosedAction(autoClosedCharactersRanges,autoClosedEnclosingRanges)}}_executeEdit(callback,eventsCollector,source,cursorChangeReason=0){if(this.context.cursorConfig.readOnly){return}const oldState=CursorModelState.from(this._model,this);this._cursors.stopTrackingSelections();this._isHandling=true;try{this._cursors.ensureValidState();callback()}catch(err){onUnexpectedError(err)}this._isHandling=false;this._cursors.startTrackingSelections();this._validateAutoClosedActions();if(this._emitStateChangedIfNecessary(eventsCollector,source,cursorChangeReason,oldState,false)){this.revealPrimary(eventsCollector,source,false,0,true,0)}}getAutoClosedCharacters(){return AutoClosedAction.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(eventsCollector){this._compositionState=new CompositionState(this._model,this.getSelections())}endComposition(eventsCollector,source){const compositionOutcome=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null;this._executeEdit((()=>{if(source==="keyboard"){this._executeEditOperation(TypeOperations.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,compositionOutcome,this.getSelections(),this.getAutoClosedCharacters()))}}),eventsCollector,source)}type(eventsCollector,text2,source){this._executeEdit((()=>{if(source==="keyboard"){const len=text2.length;let offset=0;while(offset<len){const charLength=nextCharLength(text2,offset);const chr=text2.substr(offset,charLength);this._executeEditOperation(TypeOperations.typeWithInterceptors(!!this._compositionState,this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),this.getAutoClosedCharacters(),chr));offset+=charLength}}else{this._executeEditOperation(TypeOperations.typeWithoutInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),text2))}}),eventsCollector,source)}compositionType(eventsCollector,text2,replacePrevCharCnt,replaceNextCharCnt,positionDelta,source){if(text2.length===0&&replacePrevCharCnt===0&&replaceNextCharCnt===0){if(positionDelta!==0){const newSelections=this.getSelections().map((selection=>{const position=selection.getPosition();return new Selection(position.lineNumber,position.column+positionDelta,position.lineNumber,position.column+positionDelta)}));this.setSelections(eventsCollector,source,newSelections,0)}return}this._executeEdit((()=>{this._executeEditOperation(TypeOperations.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),text2,replacePrevCharCnt,replaceNextCharCnt,positionDelta))}),eventsCollector,source)}paste(eventsCollector,text2,pasteOnNewLine,multicursorText,source){this._executeEdit((()=>{this._executeEditOperation(TypeOperations.paste(this.context.cursorConfig,this._model,this.getSelections(),text2,pasteOnNewLine,multicursorText||[]))}),eventsCollector,source,4)}cut(eventsCollector,source){this._executeEdit((()=>{this._executeEditOperation(DeleteOperations.cut(this.context.cursorConfig,this._model,this.getSelections()))}),eventsCollector,source)}executeCommand(eventsCollector,command,source){this._executeEdit((()=>{this._cursors.killSecondaryCursors();this._executeEditOperation(new EditOperationResult(0,[command],{shouldPushStackElementBefore:false,shouldPushStackElementAfter:false}))}),eventsCollector,source)}executeCommands(eventsCollector,commands,source){this._executeEdit((()=>{this._executeEditOperation(new EditOperationResult(0,commands,{shouldPushStackElementBefore:false,shouldPushStackElementAfter:false}))}),eventsCollector,source)}};CursorModelState=class{static from(model,cursor){return new CursorModelState(model.getVersionId(),cursor.getCursorStates())}constructor(modelVersionId,cursorState){this.modelVersionId=modelVersionId;this.cursorState=cursorState}equals(other){if(!other){return false}if(this.modelVersionId!==other.modelVersionId){return false}if(this.cursorState.length!==other.cursorState.length){return false}for(let i=0,len=this.cursorState.length;i<len;i++){if(!this.cursorState[i].equals(other.cursorState[i])){return false}}return true}};AutoClosedAction=class{static getAllAutoClosedCharacters(autoClosedActions){let autoClosedCharacters=[];for(const autoClosedAction of autoClosedActions){autoClosedCharacters=autoClosedCharacters.concat(autoClosedAction.getAutoClosedCharactersRanges())}return autoClosedCharacters}constructor(model,autoClosedCharactersDecorations,autoClosedEnclosingDecorations){this._model=model;this._autoClosedCharactersDecorations=autoClosedCharactersDecorations;this._autoClosedEnclosingDecorations=autoClosedEnclosingDecorations}dispose(){this._autoClosedCharactersDecorations=this._model.deltaDecorations(this._autoClosedCharactersDecorations,[]);this._autoClosedEnclosingDecorations=this._model.deltaDecorations(this._autoClosedEnclosingDecorations,[])}getAutoClosedCharactersRanges(){const result=[];for(let i=0;i<this._autoClosedCharactersDecorations.length;i++){const decorationRange=this._model.getDecorationRange(this._autoClosedCharactersDecorations[i]);if(decorationRange){result.push(decorationRange)}}return result}isValid(selections){const enclosingRanges=[];for(let i=0;i<this._autoClosedEnclosingDecorations.length;i++){const decorationRange=this._model.getDecorationRange(this._autoClosedEnclosingDecorations[i]);if(decorationRange){enclosingRanges.push(decorationRange);if(decorationRange.startLineNumber!==decorationRange.endLineNumber){return false}}}enclosingRanges.sort(Range.compareRangesUsingStarts);selections.sort(Range.compareRangesUsingStarts);for(let i=0;i<selections.length;i++){if(i>=enclosingRanges.length){return false}if(!enclosingRanges[i].strictContainsRange(selections[i])){return false}}return true}};CommandExecutor=class{static executeCommands(model,selectionsBefore,commands){const ctx={model:model,selectionsBefore:selectionsBefore,trackedRanges:[],trackedRangesDirection:[]};const result=this._innerExecuteCommands(ctx,commands);for(let i=0,len=ctx.trackedRanges.length;i<len;i++){ctx.model._setTrackedRange(ctx.trackedRanges[i],null,0)}return result}static _innerExecuteCommands(ctx,commands){if(this._arrayIsEmpty(commands)){return null}const commandsData=this._getEditOperations(ctx,commands);if(commandsData.operations.length===0){return null}const rawOperations=commandsData.operations;const loserCursorsMap=this._getLoserCursorMap(rawOperations);if(loserCursorsMap.hasOwnProperty("0")){console.warn("Ignoring commands");return null}const filteredOperations=[];for(let i=0,len=rawOperations.length;i<len;i++){if(!loserCursorsMap.hasOwnProperty(rawOperations[i].identifier.major.toString())){filteredOperations.push(rawOperations[i])}}if(commandsData.hadTrackedEditOperation&&filteredOperations.length>0){filteredOperations[0]._isTracked=true}let selectionsAfter=ctx.model.pushEditOperations(ctx.selectionsBefore,filteredOperations,(inverseEditOperations=>{const groupedInverseEditOperations=[];for(let i=0;i<ctx.selectionsBefore.length;i++){groupedInverseEditOperations[i]=[]}for(const op of inverseEditOperations){if(!op.identifier){continue}groupedInverseEditOperations[op.identifier.major].push(op)}const minorBasedSorter=(a,b)=>a.identifier.minor-b.identifier.minor;const cursorSelections=[];for(let i=0;i<ctx.selectionsBefore.length;i++){if(groupedInverseEditOperations[i].length>0){groupedInverseEditOperations[i].sort(minorBasedSorter);cursorSelections[i]=commands[i].computeCursorState(ctx.model,{getInverseEditOperations:()=>groupedInverseEditOperations[i],getTrackedSelection:id=>{const idx=parseInt(id,10);const range2=ctx.model._getTrackedRange(ctx.trackedRanges[idx]);if(ctx.trackedRangesDirection[idx]===0){return new Selection(range2.startLineNumber,range2.startColumn,range2.endLineNumber,range2.endColumn)}return new Selection(range2.endLineNumber,range2.endColumn,range2.startLineNumber,range2.startColumn)}})}else{cursorSelections[i]=ctx.selectionsBefore[i]}}return cursorSelections}));if(!selectionsAfter){selectionsAfter=ctx.selectionsBefore}const losingCursors=[];for(const losingCursorIndex in loserCursorsMap){if(loserCursorsMap.hasOwnProperty(losingCursorIndex)){losingCursors.push(parseInt(losingCursorIndex,10))}}losingCursors.sort(((a,b)=>b-a));for(const losingCursor of losingCursors){selectionsAfter.splice(losingCursor,1)}return selectionsAfter}static _arrayIsEmpty(commands){for(let i=0,len=commands.length;i<len;i++){if(commands[i]){return false}}return true}static _getEditOperations(ctx,commands){let operations=[];let hadTrackedEditOperation=false;for(let i=0,len=commands.length;i<len;i++){const command=commands[i];if(command){const r=this._getEditOperationsFromCommand(ctx,i,command);operations=operations.concat(r.operations);hadTrackedEditOperation=hadTrackedEditOperation||r.hadTrackedEditOperation}}return{operations:operations,hadTrackedEditOperation:hadTrackedEditOperation}}static _getEditOperationsFromCommand(ctx,majorIdentifier,command){const operations=[];let operationMinor=0;const addEditOperation=(range2,text2,forceMoveMarkers=false)=>{if(Range.isEmpty(range2)&&text2===""){return}operations.push({identifier:{major:majorIdentifier,minor:operationMinor++},range:range2,text:text2,forceMoveMarkers:forceMoveMarkers,isAutoWhitespaceEdit:command.insertsAutoWhitespace})};let hadTrackedEditOperation=false;const addTrackedEditOperation=(selection,text2,forceMoveMarkers)=>{hadTrackedEditOperation=true;addEditOperation(selection,text2,forceMoveMarkers)};const trackSelection=(_selection,trackPreviousOnEmpty)=>{const selection=Selection.liftSelection(_selection);let stickiness;if(selection.isEmpty()){if(typeof trackPreviousOnEmpty==="boolean"){if(trackPreviousOnEmpty){stickiness=2}else{stickiness=3}}else{const maxLineColumn=ctx.model.getLineMaxColumn(selection.startLineNumber);if(selection.startColumn===maxLineColumn){stickiness=2}else{stickiness=3}}}else{stickiness=1}const l=ctx.trackedRanges.length;const id=ctx.model._setTrackedRange(null,selection,stickiness);ctx.trackedRanges[l]=id;ctx.trackedRangesDirection[l]=selection.getDirection();return l.toString()};const editOperationBuilder={addEditOperation:addEditOperation,addTrackedEditOperation:addTrackedEditOperation,trackSelection:trackSelection};try{command.getEditOperations(ctx.model,editOperationBuilder)}catch(e){onUnexpectedError(e);return{operations:[],hadTrackedEditOperation:false}}return{operations:operations,hadTrackedEditOperation:hadTrackedEditOperation}}static _getLoserCursorMap(operations){operations=operations.slice(0);operations.sort(((a,b)=>-Range.compareRangesUsingEnds(a.range,b.range)));const loserCursorsMap={};for(let i=1;i<operations.length;i++){const previousOp=operations[i-1];const currentOp=operations[i];if(Range.getStartPosition(previousOp.range).isBefore(Range.getEndPosition(currentOp.range))){let loserMajor;if(previousOp.identifier.major>currentOp.identifier.major){loserMajor=previousOp.identifier.major}else{loserMajor=currentOp.identifier.major}loserCursorsMap[loserMajor.toString()]=true;for(let j=0;j<operations.length;j++){if(operations[j].identifier.major===loserMajor){operations.splice(j,1);if(j<i){i--}j--}}if(i>0){i--}}}return loserCursorsMap}};CompositionLineState=class{constructor(text2,startSelection,endSelection){this.text=text2;this.startSelection=startSelection;this.endSelection=endSelection}};CompositionState=class{static _capture(textModel,selections){const result=[];for(const selection of selections){if(selection.startLineNumber!==selection.endLineNumber){return null}result.push(new CompositionLineState(textModel.getLineContent(selection.startLineNumber),selection.startColumn-1,selection.endColumn-1))}return result}constructor(textModel,selections){this._original=CompositionState._capture(textModel,selections)}deduceOutcome(textModel,selections){if(!this._original){return null}const current=CompositionState._capture(textModel,selections);if(!current){return null}if(this._original.length!==current.length){return null}const result=[];for(let i=0,len=this._original.length;i<len;i++){result.push(CompositionState._deduceOutcome(this._original[i],current[i]))}return result}static _deduceOutcome(original,current){const commonPrefix=Math.min(original.startSelection,current.startSelection,commonPrefixLength(original.text,current.text));const commonSuffix=Math.min(original.text.length-original.endSelection,current.text.length-current.endSelection,commonSuffixLength(original.text,current.text));const deletedText=original.text.substring(commonPrefix,original.text.length-commonSuffix);const insertedText=current.text.substring(commonPrefix,current.text.length-commonSuffix);return new CompositionOutcome(deletedText,original.startSelection-commonPrefix,original.endSelection-commonPrefix,insertedText,current.startSelection-commonPrefix,current.endSelection-commonPrefix)}}}});function tokenizeToString(languageService,text2,languageId){return __awaiter7(this,void 0,void 0,(function*(){if(!languageId){return _tokenizeToString(text2,languageService.languageIdCodec,fallback)}const tokenizationSupport=yield TokenizationRegistry2.getOrCreate(languageId);return _tokenizeToString(text2,languageService.languageIdCodec,tokenizationSupport||fallback)}))}function tokenizeLineToHTML(text2,viewLineTokens,colorMap,startOffset,endOffset,tabSize,useNbsp){let result=`<div>`;let charIndex=startOffset;let tabsCharDelta=0;let prevIsSpace=true;for(let tokenIndex=0,tokenCount=viewLineTokens.getCount();tokenIndex<tokenCount;tokenIndex++){const tokenEndIndex=viewLineTokens.getEndOffset(tokenIndex);if(tokenEndIndex<=startOffset){continue}let partContent="";for(;charIndex<tokenEndIndex&&charIndex<endOffset;charIndex++){const charCode=text2.charCodeAt(charIndex);switch(charCode){case 9:{let insertSpacesCount=tabSize-(charIndex+tabsCharDelta)%tabSize;tabsCharDelta+=insertSpacesCount-1;while(insertSpacesCount>0){if(useNbsp&&prevIsSpace){partContent+="&#160;";prevIsSpace=false}else{partContent+=" ";prevIsSpace=true}insertSpacesCount--}break}case 60:partContent+="&lt;";prevIsSpace=false;break;case 62:partContent+="&gt;";prevIsSpace=false;break;case 38:partContent+="&amp;";prevIsSpace=false;break;case 0:partContent+="&#00;";prevIsSpace=false;break;case 65279:case 8232:case 8233:case 133:partContent+="<22>";prevIsSpace=false;break;case 13:partContent+="&#8203";prevIsSpace=false;break;case 32:if(useNbsp&&prevIsSpace){partContent+="&#160;";prevIsSpace=false}else{partContent+=" ";prevIsSpace=true}break;default:partContent+=String.fromCharCode(charCode);prevIsSpace=false}}result+=`<span style="${viewLineTokens.getInlineStyle(tokenIndex,colorMap)}">${partContent}</span>`;if(tokenEndIndex>endOffset||charIndex>=endOffset){break}}result+=`</div>`;return result}function _tokenizeToString(text2,languageIdCodec,tokenizationSupport){let result=`<div class="monaco-tokenized-source">`;const lines=splitLines(text2);let currentState=tokenizationSupport.getInitialState();for(let i=0,len=lines.length;i<len;i++){const line=lines[i];if(i>0){result+=`<br/>`}const tokenizationResult=tokenizationSupport.tokenizeEncoded(line,true,currentState);LineTokens.convertToEndOffset(tokenizationResult.tokens,line.length);const lineTokens=new LineTokens(tokenizationResult.tokens,line,languageIdCodec);const viewLineTokens=lineTokens.inflate();let startOffset=0;for(let j=0,lenJ=viewLineTokens.getCount();j<lenJ;j++){const type=viewLineTokens.getClassName(j);const endIndex=viewLineTokens.getEndOffset(j);result+=`<span class="${type}">${escape(line.substring(startOffset,endIndex))}</span>`;startOffset=endIndex}currentState=tokenizationResult.endState}result+=`</div>`;return result}var __awaiter7,fallback;var init_textToHtmlTokenizer=__esm({"node_modules/monaco-editor/esm/vs/editor/common/languages/textToHtmlTokenizer.js"(){init_strings();init_lineTokens();init_languages();init_nullTokenize();__awaiter7=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};fallback={getInitialState:()=>NullState,tokenizeEncoded:(buffer,hasEOL,state)=>nullTokenizeEncoded(0,state)}}});var PendingChanges,EditorWhitespace,LinesLayout;var init_linesLayout=__esm({"node_modules/monaco-editor/esm/vs/editor/common/viewLayout/linesLayout.js"(){init_strings();PendingChanges=class{constructor(){this._hasPending=false;this._inserts=[];this._changes=[];this._removes=[]}insert(x){this._hasPending=true;this._inserts.push(x)}change(x){this._hasPending=true;this._changes.push(x)}remove(x){this._hasPending=true;this._removes.push(x)}mustCommit(){return this._hasPending}commit(linesLayout){if(!this._hasPending){return}const inserts=this._inserts;const changes=this._changes;const removes=this._removes;this._hasPending=false;this._inserts=[];this._changes=[];this._removes=[];linesLayout._commitPendingChanges(inserts,changes,removes)}};EditorWhitespace=class{constructor(id,afterLineNumber,ordinal,height,minWidth){this.id=id;this.afterLineNumber=afterLineNumber;this.ordinal=ordinal;this.height=height;this.minWidth=minWidth;this.prefixSum=0}};LinesLayout=class{constructor(lineCount,lineHeight,paddingTop,paddingBottom){this._instanceId=singleLetterHash(++LinesLayout.INSTANCE_COUNT);this._pendingChanges=new PendingChanges;this._lastWhitespaceId=0;this._arr=[];this._prefixSumValidIndex=-1;this._minWidth=-1;this._lineCount=lineCount;this._lineHeight=lineHeight;this._paddingTop=paddingTop;this._paddingBottom=paddingBottom}static findInsertionIndex(arr,afterLineNumber,ordinal){let low=0;let high=arr.length;while(low<high){const mid=low+high>>>1;if(afterLineNumber===arr[mid].afterLineNumber){if(ordinal<arr[mid].ordinal){high=mid}else{low=mid+1}}else if(afterLineNumber<arr[mid].afterLineNumber){high=mid}else{low=mid+1}}return low}setLineHeight(lineHeight){this._checkPendingChanges();this._lineHeight=lineHeight}setPadding(paddingTop,paddingBottom){this._paddingTop=paddingTop;this._paddingBottom=paddingBottom}onFlushed(lineCount){this._checkPendingChanges();this._lineCount=lineCount}changeWhitespace(callback){let hadAChange=false;try{const accessor={insertWhitespace:(afterLineNumber,ordinal,heightInPx,minWidth)=>{hadAChange=true;afterLineNumber=afterLineNumber|0;ordinal=ordinal|0;heightInPx=heightInPx|0;minWidth=minWidth|0;const id=this._instanceId+ ++this._lastWhitespaceId;this._pendingChanges.insert(new EditorWhitespace(id,afterLineNumber,ordinal,heightInPx,minWidth));return id},changeOneWhitespace:(id,newAfterLineNumber,newHeight)=>{hadAChange=true;newAfterLineNumber=newAfterLineNumber|0;newHeight=newHeight|0;this._pendingChanges.change({id:id,newAfterLineNumber:newAfterLineNumber,newHeight:newHeight})},removeWhitespace:id=>{hadAChange=true;this._pendingChanges.remove({id:id})}};callback(accessor)}finally{this._pendingChanges.commit(this)}return hadAChange}_commitPendingChanges(inserts,changes,removes){if(inserts.length>0||removes.length>0){this._minWidth=-1}if(inserts.length+changes.length+removes.length<=1){for(const insert of inserts){this._insertWhitespace(insert)}for(const change of changes){this._changeOneWhitespace(change.id,change.newAfterLineNumber,change.newHeight)}for(const remove of removes){const index=this._findWhitespaceIndex(remove.id);if(index===-1){continue}this._removeWhitespace(index)}return}const toRemove=new Set;for(const remove of removes){toRemove.add(remove.id)}const toChange=new Map;for(const change of changes){toChange.set(change.id,change)}const applyRemoveAndChange=whitespaces=>{const result2=[];for(const whitespace of whitespaces){if(toRemove.has(whitespace.id)){continue}if(toChange.has(whitespace.id)){const change=toChange.get(whitespace.id);whitespace.afterLineNumber=change.newAfterLineNumber;whitespace.height=change.newHeight}result2.push(whitespace)}return result2};const result=applyRemoveAndChange(this._arr).concat(applyRemoveAndChange(inserts));result.sort(((a,b)=>{if(a.afterLineNumber===b.afterLineNumber){return a.ordinal-b.ordinal}return a.afterLineNumber-b.afterLineNumber}));this._arr=result;this._prefixSumValidIndex=-1}_checkPendingChanges(){if(this._pendingChanges.mustCommit()){this._pendingChanges.commit(this)}}_insertWhitespace(whitespace){const insertIndex=LinesLayout.findInsertionIndex(this._arr,whitespace.afterLineNumber,whitespace.ordinal);this._arr.splice(insertIndex,0,whitespace);this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,insertIndex-1)}_findWhitespaceIndex(id){const arr=this._arr;for(let i=0,len=arr.length;i<len;i++){if(arr[i].id===id){return i}}return-1}_changeOneWhitespace(id,newAfterLineNumber,newHeight){const index=this._findWhitespaceIndex(id);if(index===-1){return}if(this._arr[index].height!==newHeight){this._arr[index].height=newHeight;this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,index-1)}if(this._arr[index].afterLineNumber!==newAfterLineNumber){const whitespace=this._arr[index];this._removeWhitespace(index);whitespace.afterLineNumber=newAfterLineNumber;this._insertWhitespace(whitespace)}}_removeWhitespace(removeIndex){this._arr.splice(removeIndex,1);this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,removeIndex-1)}onLinesDeleted(fromLineNumber,toLineNumber){this._checkPendingChanges();fromLineNumber=fromLineNumber|0;toLineNumber=toLineNumber|0;this._lineCount-=toLineNumber-fromLineNumber+1;for(let i=0,len=this._arr.length;i<len;i++){const afterLineNumber=this._arr[i].afterLineNumber;if(fromLineNumber<=afterLineNumber&&afterLineNumber<=toLineNumber){this._arr[i].afterLineNumber=fromLineNumber-1}else if(afterLineNumber>toLineNumber){this._arr[i].afterLineNumber-=toLineNumber-fromLineNumber+1}}}onLinesInserted(fromLineNumber,toLineNumber){this._checkPendingChanges();fromLineNumber=fromLineNumber|0;toLineNumber=toLineNumber|0;this._lineCount+=toLineNumber-fromLineNumber+1;for(let i=0,len=this._arr.length;i<len;i++){const afterLineNumber=this._arr[i].afterLineNumber;if(fromLineNumber<=afterLineNumber){this._arr[i].afterLineNumber+=toLineNumber-fromLineNumber+1}}}getWhitespacesTotalHeight(){this._checkPendingChanges();if(this._arr.length===0){return 0}return this.getWhitespacesAccumulatedHeight(this._arr.length-1)}getWhitespacesAccumulatedHeight(index){this._checkPendingChanges();index=index|0;let startIndex=Math.max(0,this._prefixSumValidIndex+1);if(startIndex===0){this._arr[0].prefixSum=this._arr[0].height;startIndex++}for(let i=startIndex;i<=index;i++){this._arr[i].prefixSum=this._arr[i-1].prefixSum+this._arr[i].height}this._prefixSumValidIndex=Math.max(this._prefixSumValidIndex,index);return this._arr[index].prefixSum}getLinesTotalHeight(){this._checkPendingChanges();const linesHeight=this._lineHeight*this._lineCount;const whitespacesHeight=this.getWhitespacesTotalHeight();return linesHeight+whitespacesHeight+this._paddingTop+this._paddingBottom}getWhitespaceAccumulatedHeightBeforeLineNumber(lineNumber){this._checkPendingChanges();lineNumber=lineNumber|0;const lastWhitespaceBeforeLineNumber=this._findLastWhitespaceBeforeLineNumber(lineNumber);if(lastWhitespaceBeforeLineNumber===-1){return 0}return this.getWhitespacesAccumulatedHeight(lastWhitespaceBeforeLineNumber)}_findLastWhitespaceBeforeLineNumber(lineNumber){lineNumber=lineNumber|0;const arr=this._arr;let low=0;let high=arr.length-1;while(low<=high){const delta=high-low|0;const halfDelta=delta/2|0;const mid=low+halfDelta|0;if(arr[mid].afterLineNumber<lineNumber){if(mid+1>=arr.length||arr[mid+1].afterLineNumber>=lineNumber){return mid}else{low=mid+1|0}}else{high=mid-1|0}}return-1}_findFirstWhitespaceAfterLineNumber(lineNumber){lineNumber=lineNumber|0;const lastWhitespaceBeforeLineNumber=this._findLastWhitespaceBeforeLineNumber(lineNumber);const firstWhitespaceAfterLineNumber=lastWhitespaceBeforeLineNumber+1;if(firstWhitespaceAfterLineNumber<this._arr.length){return firstWhitespaceAfterLineNumber}return-1}getFirstWhitespaceIndexAfterLineNumber(lineNumber){this._checkPendingChanges();lineNumber=lineNumber|0;return this._findFirstWhitespaceAfterLineNumber(lineNumber)}getVerticalOffsetForLineNumber(lineNumber,includeViewZones=false){this._checkPendingChanges();lineNumber=lineNumber|0;let previousLinesHeight;if(lineNumber>1){previousLinesHeight=this._lineHeight*(lineNumber-1)}else{previousLinesHeight=0}const previousWhitespacesHeight=this.getWhitespaceAccumulatedHeightBeforeLineNumber(lineNumber-(includeViewZones?1:0));return previousLinesHeight+previousWhitespacesHeight+this._paddingTop}getVerticalOffsetAfterLineNumber(lineNumber,includeViewZones=false){this._checkPendingChanges();lineNumber=lineNumber|0;const previousLinesHeight=this._lineHeight*lineNumber;const previousWhitespacesHeight=this.getWhitespaceAccumulatedHeightBeforeLineNumber(lineNumber+(includeViewZones?1:0));return previousLinesHeight+previousWhitespacesHeight+this._paddingTop}getWhitespaceMinWidth(){this._checkPendingChanges();if(this._minWidth===-1){let minWidth=0;for(let i=0,len=this._arr.length;i<len;i++){minWidth=Math.max(minWidth,this._arr[i].minWidth)}this._minWidth=minWidth}return this._minWidth}isAfterLines(verticalOffset){this._checkPendingChanges();const totalHeight=this.getLinesTotalHeight();return verticalOffset>totalHeight}isInTopPadding(verticalOffset){if(this._paddingTop===0){return false}this._checkPendingChanges();return verticalOffset<this._paddingTop}isInBottomPadding(verticalOffset){if(this._paddingBottom===0){return false}this._checkPendingChanges();const totalHeight=this.getLinesTotalHeight();return verticalOffset>=totalHeight-this._paddingBottom}getLineNumberAtOrAfterVerticalOffset(verticalOffset){this._checkPendingChanges();verticalOffset=verticalOffset|0;if(verticalOffset<0){return 1}const linesCount=this._lineCount|0;const lineHeight=this._lineHeight;let minLineNumber=1;let maxLineNumber=linesCount;while(minLineNumber<maxLineNumber){const midLineNumber=(minLineNumber+maxLineNumber)/2|0;const midLineNumberVerticalOffset=this.getVerticalOffsetForLineNumber(midLineNumber)|0;if(verticalOffset>=midLineNumberVerticalOffset+lineHeight){minLineNumber=midLineNumber+1}else if(verticalOffset>=midLineNumberVerticalOffset){return midLineNumber}else{maxLineNumber=midLineNumber}}if(minLineNumber>linesCount){return linesCount}return minLineNumber}getLinesViewportData(verticalOffset1,verticalOffset2){this._checkPendingChanges();verticalOffset1=verticalOffset1|0;verticalOffset2=verticalOffset2|0;const lineHeight=this._lineHeight;const startLineNumber=this.getLineNumberAtOrAfterVerticalOffset(verticalOffset1)|0;const startLineNumberVerticalOffset=this.getVerticalOffsetForLineNumber(startLineNumber)|0;let endLineNumber=this._lineCount|0;let whitespaceIndex=this.getFirstWhitespaceIndexAfterLineNumber(startLineNumber)|0;const whitespaceCount=this.getWhitespacesCount()|0;let currentWhitespaceHeight;let currentWhitespaceAfterLineNumber;if(whitespaceIndex===-1){whitespaceIndex=whitespaceCount;currentWhitespaceAfterLineNumber=endLineNumber+1;currentWhitespaceHeight=0}else{currentWhitespaceAfterLineNumber=this.getAfterLineNumberForWhitespaceIndex(whitespaceIndex)|0;currentWhitespaceHeight=this.getHeightForWhitespaceIndex(whitespaceIndex)|0}let currentVerticalOffset=startLineNumberVerticalOffset;let currentLineRelativeOffset=currentVerticalOffset;const STEP_SIZE=5e5;let bigNumbersDelta=0;if(startLineNumberVerticalOffset>=STEP_SIZE){bigNumbersDelta=Math.floor(startLineNumberVerticalOffset/STEP_SIZE)*STEP_SIZE;bigNumbersDelta=Math.floor(bigNumbersDelta/lineHeight)*lineHeight;currentLineRelativeOffset-=bigNumbersDelta}const linesOffsets=[];const verticalCenter=verticalOffset1+(verticalOffset2-verticalOffset1)/2;let centeredLineNumber=-1;for(let lineNumber=startLineNumber;lineNumber<=endLineNumber;lineNumber++){if(centeredLineNumber===-1){const currentLineTop=currentVerticalOffset;const currentLineBottom=currentVerticalOffset+lineHeight;if(currentLineTop<=verticalCenter&&verticalCenter<currentLineBottom||currentLineTop>verticalCenter){centeredLineNumber=lineNumber}}currentVerticalOffset+=lineHeight;linesOffsets[lineNumber-startLineNumber]=currentLineRelativeOffset;currentLineRelativeOffset+=lineHeight;while(currentWhitespaceAfterLineNumber===lineNumber){currentLineRelativeOffset+=currentWhitespaceHeight;currentVerticalOffset+=currentWhitespaceHeight;whitespaceIndex++;if(whitespaceIndex>=whitespaceCount){currentWhitespaceAfterLineNumber=endLineNumber+1}else{currentWhitespaceAfterLineNumber=this.getAfterLineNumberForWhitespaceIndex(whitespaceIndex)|0;currentWhitespaceHeight=this.getHeightForWhitespaceIndex(whitespaceIndex)|0}}if(currentVerticalOffset>=verticalOffset2){endLineNumber=lineNumber;break}}if(centeredLineNumber===-1){centeredLineNumber=endLineNumber}const endLineNumberVerticalOffset=this.getVerticalOffsetForLineNumber(endLineNumber)|0;let completelyVisibleStartLineNumber=startLineNumber;let completelyVisibleEndLineNumber=endLineNumber;if(completelyVisibleStartLineNumber<completelyVisibleEndLineNumber){if(startLineNumberVerticalOffset<verticalOffset1){completelyVisibleStartLineNumber++}}if(completelyVisibleStartLineNumber<completelyVisibleEndLineNumber){if(endLineNumberVerticalOffset+lineHeight>verticalOffset2){completelyVisibleEndLineNumber--}}return{bigNumbersDelta:bigNumbersDelta,startLineNumber:startLineNumber,endLineNumber:endLineNumber,relativeVerticalOffset:linesOffsets,centeredLineNumber:centeredLineNumber,completelyVisibleStartLineNumber:completelyVisibleStartLineNumber,completelyVisibleEndLineNumber:completelyVisibleEndLineNumber}}getVerticalOffsetForWhitespaceIndex(whitespaceIndex){this._checkPendingChanges();whitespaceIndex=whitespaceIndex|0;const afterLineNumber=this.getAfterLineNumberForWhitespaceIndex(whitespaceIndex);let previousLinesHeight;if(afterLineNumber>=1){previousLinesHeight=this._lineHeight*afterLineNumber}else{previousLinesHeight=0}let previousWhitespacesHeight;if(whitespaceIndex>0){previousWhitespacesHeight=this.getWhitespacesAccumulatedHeight(whitespaceIndex-1)}else{previousWhitespacesHeight=0}return previousLinesHeight+previousWhitespacesHeight+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(verticalOffset){this._checkPendingChanges();verticalOffset=verticalOffset|0;let minWhitespaceIndex=0;let maxWhitespaceIndex=this.getWhitespacesCount()-1;if(maxWhitespaceIndex<0){return-1}const maxWhitespaceVerticalOffset=this.getVerticalOffsetForWhitespaceIndex(maxWhitespaceIndex);const maxWhitespaceHeight=this.getHeightForWhitespaceIndex(maxWhitespaceIndex);if(verticalOffset>=maxWhitespaceVerticalOffset+maxWhitespaceHeight){return-1}while(minWhitespaceIndex<maxWhitespaceIndex){const midWhitespaceIndex=Math.floor((minWhitespaceIndex+maxWhitespaceIndex)/2);const midWhitespaceVerticalOffset=this.getVerticalOffsetForWhitespaceIndex(midWhitespaceIndex);const midWhitespaceHeight=this.getHeightForWhitespaceIndex(midWhitespaceIndex);if(verticalOffset>=midWhitespaceVerticalOffset+midWhitespaceHeight){minWhitespaceIndex=midWhitespaceIndex+1}else if(verticalOffset>=midWhitespaceVerticalOffset){return midWhitespaceIndex}else{maxWhitespaceIndex=midWhitespaceIndex}}return minWhitespaceIndex}getWhitespaceAtVerticalOffset(verticalOffset){this._checkPendingChanges();verticalOffset=verticalOffset|0;const candidateIndex=this.getWhitespaceIndexAtOrAfterVerticallOffset(verticalOffset);if(candidateIndex<0){return null}if(candidateIndex>=this.getWhitespacesCount()){return null}const candidateTop=this.getVerticalOffsetForWhitespaceIndex(candidateIndex);if(candidateTop>verticalOffset){return null}const candidateHeight=this.getHeightForWhitespaceIndex(candidateIndex);const candidateId=this.getIdForWhitespaceIndex(candidateIndex);const candidateAfterLineNumber=this.getAfterLineNumberForWhitespaceIndex(candidateIndex);return{id:candidateId,afterLineNumber:candidateAfterLineNumber,verticalOffset:candidateTop,height:candidateHeight}}getWhitespaceViewportData(verticalOffset1,verticalOffset2){this._checkPendingChanges();verticalOffset1=verticalOffset1|0;verticalOffset2=verticalOffset2|0;const startIndex=this.getWhitespaceIndexAtOrAfterVerticallOffset(verticalOffset1);const endIndex=this.getWhitespacesCount()-1;if(startIndex<0){return[]}const result=[];for(let i=startIndex;i<=endIndex;i++){const top=this.getVerticalOffsetForWhitespaceIndex(i);const height=this.getHeightForWhitespaceIndex(i);if(top>=verticalOffset2){break}result.push({id:this.getIdForWhitespaceIndex(i),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(i),verticalOffset:top,height:height})}return result}getWhitespaces(){this._checkPendingChanges();return this._arr.slice(0)}getWhitespacesCount(){this._checkPendingChanges();return this._arr.length}getIdForWhitespaceIndex(index){this._checkPendingChanges();index=index|0;return this._arr[index].id}getAfterLineNumberForWhitespaceIndex(index){this._checkPendingChanges();index=index|0;return this._arr[index].afterLineNumber}getHeightForWhitespaceIndex(index){this._checkPendingChanges();index=index|0;return this._arr[index].height}};LinesLayout.INSTANCE_COUNT=0}});var SMOOTH_SCROLLING_TIME,EditorScrollDimensions,EditorScrollable,ViewLayout;var init_viewLayout=__esm({"node_modules/monaco-editor/esm/vs/editor/common/viewLayout/viewLayout.js"(){init_event();init_lifecycle();init_scrollable();init_linesLayout();init_viewModel();init_viewModelEventDispatcher();SMOOTH_SCROLLING_TIME=125;EditorScrollDimensions=class{constructor(width,contentWidth,height,contentHeight){width=width|0;contentWidth=contentWidth|0;height=height|0;contentHeight=contentHeight|0;if(width<0){width=0}if(contentWidth<0){contentWidth=0}if(height<0){height=0}if(contentHeight<0){contentHeight=0}this.width=width;this.contentWidth=contentWidth;this.scrollWidth=Math.max(width,contentWidth);this.height=height;this.contentHeight=contentHeight;this.scrollHeight=Math.max(height,contentHeight)}equals(other){return this.width===other.width&&this.contentWidth===other.contentWidth&&this.height===other.height&&this.contentHeight===other.contentHeight}};EditorScrollable=class extends Disposable{constructor(smoothScrollDuration,scheduleAtNextAnimationFrame2){super();this._onDidContentSizeChange=this._register(new Emitter);this.onDidContentSizeChange=this._onDidContentSizeChange.event;this._dimensions=new EditorScrollDimensions(0,0,0,0);this._scrollable=this._register(new Scrollable({forceIntegerValues:true,smoothScrollDuration:smoothScrollDuration,scheduleAtNextAnimationFrame:scheduleAtNextAnimationFrame2}));this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(smoothScrollDuration){this._scrollable.setSmoothScrollDuration(smoothScrollDuration)}validateScrollPosition(scrollPosition){return this._scrollable.validateScrollPosition(scrollPosition)}getScrollDimensions(){return this._dimensions}setScrollDimensions(dimensions){if(this._dimensions.equals(dimensions)){return}const oldDimensions=this._dimensions;this._dimensions=dimensions;this._scrollable.setScrollDimensions({width:dimensions.width,scrollWidth:dimensions.scrollWidth,height:dimensions.height,scrollHeight:dimensions.scrollHeight},true);const contentWidthChanged=oldDimensions.contentWidth!==dimensions.contentWidth;const contentHeightChanged=oldDimensions.contentHeight!==dimensions.contentHeight;if(contentWidthChanged||contentHeightChanged){this._onDidContentSizeChange.fire(new ContentSizeChangedEvent(oldDimensions.contentWidth,oldDimensions.contentHeight,dimensions.contentWidth,dimensions.contentHeight))}}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(update){this._scrollable.setScrollPositionNow(update)}setScrollPositionSmooth(update){this._scrollable.setScrollPositionSmooth(update)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}};ViewLayout=class extends Disposable{constructor(configuration,lineCount,scheduleAtNextAnimationFrame2){super();this._configuration=configuration;const options2=this._configuration.options;const layoutInfo=options2.get(142);const padding=options2.get(82);this._linesLayout=new LinesLayout(lineCount,options2.get(65),padding.top,padding.bottom);this._maxLineWidth=0;this._overlayWidgetsMinWidth=0;this._scrollable=this._register(new EditorScrollable(0,scheduleAtNextAnimationFrame2));this._configureSmoothScrollDuration();this._scrollable.setScrollDimensions(new EditorScrollDimensions(layoutInfo.contentWidth,0,layoutInfo.height,0));this.onDidScroll=this._scrollable.onDidScroll;this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange;this._updateHeight()}dispose(){super.dispose()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(112)?SMOOTH_SCROLLING_TIME:0)}onConfigurationChanged(e){const options2=this._configuration.options;if(e.hasChanged(65)){this._linesLayout.setLineHeight(options2.get(65))}if(e.hasChanged(82)){const padding=options2.get(82);this._linesLayout.setPadding(padding.top,padding.bottom)}if(e.hasChanged(142)){const layoutInfo=options2.get(142);const width=layoutInfo.contentWidth;const height=layoutInfo.height;const scrollDimensions=this._scrollable.getScrollDimensions();const contentWidth=scrollDimensions.contentWidth;this._scrollable.setScrollDimensions(new EditorScrollDimensions(width,scrollDimensions.contentWidth,height,this._getContentHeight(width,height,contentWidth)))}else{this._updateHeight()}if(e.hasChanged(112)){this._configureSmoothScrollDuration()}}onFlushed(lineCount){this._linesLayout.onFlushed(lineCount)}onLinesDeleted(fromLineNumber,toLineNumber){this._linesLayout.onLinesDeleted(fromLineNumber,toLineNumber)}onLinesInserted(fromLineNumber,toLineNumber){this._linesLayout.onLinesInserted(fromLineNumber,toLineNumber)}_getHorizontalScrollbarHeight(width,scrollWidth){const options2=this._configuration.options;const scrollbar=options2.get(101);if(scrollbar.horizontal===2){return 0}if(width>=scrollWidth){return 0}return scrollbar.horizontalScrollbarSize}_getContentHeight(width,height,contentWidth){const options2=this._configuration.options;let result=this._linesLayout.getLinesTotalHeight();if(options2.get(103)){result+=Math.max(0,height-options2.get(65)-options2.get(82).bottom)}else{result+=this._getHorizontalScrollbarHeight(width,contentWidth)}return result}_updateHeight(){const scrollDimensions=this._scrollable.getScrollDimensions();const width=scrollDimensions.width;const height=scrollDimensions.height;const contentWidth=scrollDimensions.contentWidth;this._scrollable.setScrollDimensions(new EditorScrollDimensions(width,scrollDimensions.contentWidth,height,this._getContentHeight(width,height,contentWidth)))}getCurrentViewport(){const scrollDimensions=this._scrollable.getScrollDimensions();const currentScrollPosition=this._scrollable.getCurrentScrollPosition();return new Viewport(currentScrollPosition.scrollTop,currentScrollPosition.scrollLeft,scrollDimensions.width,scrollDimensions.height)}getFutureViewport(){const scrollDimensions=this._scrollable.getScrollDimensions();const currentScrollPosition=this._scrollable.getFutureScrollPosition();return new Viewport(currentScrollPosition.scrollTop,currentScrollPosition.scrollLeft,scrollDimensions.width,scrollDimensions.height)}_computeContentWidth(){const options2=this._configuration.options;const maxLineWidth=this._maxLineWidth;const wrappingInfo=options2.get(143);const fontInfo=options2.get(49);const layoutInfo=options2.get(142);if(wrappingInfo.isViewportWrapping){const minimap=options2.get(71);if(maxLineWidth>layoutInfo.contentWidth+fontInfo.typicalHalfwidthCharacterWidth){if(minimap.enabled&&minimap.side==="right"){return maxLineWidth+layoutInfo.verticalScrollbarWidth}}return maxLineWidth}else{const extraHorizontalSpace=options2.get(102)*fontInfo.typicalHalfwidthCharacterWidth;const whitespaceMinWidth=this._linesLayout.getWhitespaceMinWidth();return Math.max(maxLineWidth+extraHorizontalSpace+layoutInfo.verticalScrollbarWidth,whitespaceMinWidth,this._overlayWidgetsMinWidth)}}setMaxLineWidth(maxLineWidth){this._maxLineWidth=maxLineWidth;this._updateContentWidth()}setOverlayWidgetsMinWidth(maxMinWidth){this._overlayWidgetsMinWidth=maxMinWidth;this._updateContentWidth()}_updateContentWidth(){const scrollDimensions=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new EditorScrollDimensions(scrollDimensions.width,this._computeContentWidth(),scrollDimensions.height,scrollDimensions.contentHeight));this._updateHeight()}saveState(){const currentScrollPosition=this._scrollable.getFutureScrollPosition();const scrollTop=currentScrollPosition.scrollTop;const firstLineNumberInViewport=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(scrollTop);const whitespaceAboveFirstLine=this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(firstLineNumberInViewport);return{scrollTop:scrollTop,scrollTopWithoutViewZones:scrollTop-whitespaceAboveFirstLine,scrollLeft:currentScrollPosition.scrollLeft}}changeWhitespace(callback){const hadAChange=this._linesLayout.changeWhitespace(callback);if(hadAChange){this.onHeightMaybeChanged()}return hadAChange}getVerticalOffsetForLineNumber(lineNumber,includeViewZones=false){return this._linesLayout.getVerticalOffsetForLineNumber(lineNumber,includeViewZones)}getVerticalOffsetAfterLineNumber(lineNumber,includeViewZones=false){return this._linesLayout.getVerticalOffsetAfterLineNumber(lineNumber,includeViewZones)}isAfterLines(verticalOffset){return this._linesLayout.isAfterLines(verticalOffset)}isInTopPadding(verticalOffset){return this._linesLayout.isInTopPadding(verticalOffset)}isInBottomPadding(verticalOffset){return this._linesLayout.isInBottomPadding(verticalOffset)}getLineNumberAtVerticalOffset(verticalOffset){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(verticalOffset)}getWhitespaceAtVerticalOffset(verticalOffset){return this._linesLayout.getWhitespaceAtVerticalOffset(verticalOffset)}getLinesViewportData(){const visibleBox=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(visibleBox.top,visibleBox.top+visibleBox.height)}getLinesViewportDataAtScrollTop(scrollTop){const scrollDimensions=this._scrollable.getScrollDimensions();if(scrollTop+scrollDimensions.height>scrollDimensions.scrollHeight){scrollTop=scrollDimensions.scrollHeight-scrollDimensions.height}if(scrollTop<0){scrollTop=0}return this._linesLayout.getLinesViewportData(scrollTop,scrollTop+scrollDimensions.height)}getWhitespaceViewportData(){const visibleBox=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(visibleBox.top,visibleBox.top+visibleBox.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){const scrollDimensions=this._scrollable.getScrollDimensions();return scrollDimensions.contentWidth}getScrollWidth(){const scrollDimensions=this._scrollable.getScrollDimensions();return scrollDimensions.scrollWidth}getContentHeight(){const scrollDimensions=this._scrollable.getScrollDimensions();return scrollDimensions.contentHeight}getScrollHeight(){const scrollDimensions=this._scrollable.getScrollDimensions();return scrollDimensions.scrollHeight}getCurrentScrollLeft(){const currentScrollPosition=this._scrollable.getCurrentScrollPosition();return currentScrollPosition.scrollLeft}getCurrentScrollTop(){const currentScrollPosition=this._scrollable.getCurrentScrollPosition();return currentScrollPosition.scrollTop}validateScrollPosition(scrollPosition){return this._scrollable.validateScrollPosition(scrollPosition)}setScrollPosition(position,type){if(type===1){this._scrollable.setScrollPositionNow(position)}else{this._scrollable.setScrollPositionSmooth(position)}}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}deltaScrollNow(deltaScrollLeft,deltaScrollTop){const currentScrollPosition=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:currentScrollPosition.scrollLeft+deltaScrollLeft,scrollTop:currentScrollPosition.scrollTop+deltaScrollTop})}}}});function isModelDecorationVisible(model,decoration2){if(decoration2.options.hideInCommentTokens&&isModelDecorationInComment(model,decoration2)){return false}if(decoration2.options.hideInStringTokens&&isModelDecorationInString(model,decoration2)){return false}return true}function isModelDecorationInComment(model,decoration2){return testTokensInRange(model,decoration2.range,(tokenType=>tokenType===1))}function isModelDecorationInString(model,decoration2){return testTokensInRange(model,decoration2.range,(tokenType=>tokenType===2))}function testTokensInRange(model,range2,callback){for(let lineNumber=range2.startLineNumber;lineNumber<=range2.endLineNumber;lineNumber++){const lineTokens=model.tokenization.getLineTokens(lineNumber);const isFirstLine=lineNumber===range2.startLineNumber;const isEndLine=lineNumber===range2.endLineNumber;let tokenIdx=isFirstLine?lineTokens.findTokenIndexAtOffset(range2.startColumn-1):0;while(tokenIdx<lineTokens.getCount()){if(isEndLine){const startOffset=lineTokens.getStartOffset(tokenIdx);if(startOffset>range2.endColumn-1){break}}const callbackResult=callback(lineTokens.getStandardTokenType(tokenIdx));if(!callbackResult){return false}tokenIdx++}}return true}var ViewModelDecorations;var init_viewModelDecorations=__esm({"node_modules/monaco-editor/esm/vs/editor/common/viewModel/viewModelDecorations.js"(){init_position();init_range();init_viewModel();init_editorOptions();ViewModelDecorations=class{constructor(editorId,model,configuration,linesCollection,coordinatesConverter){this.editorId=editorId;this.model=model;this.configuration=configuration;this._linesCollection=linesCollection;this._coordinatesConverter=coordinatesConverter;this._decorationsCache=Object.create(null);this._cachedModelDecorationsResolver=null;this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null;this._cachedModelDecorationsResolverViewRange=null}dispose(){this._decorationsCache=Object.create(null);this._clearCachedModelDecorationsResolver()}reset(){this._decorationsCache=Object.create(null);this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._decorationsCache=Object.create(null);this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._decorationsCache=Object.create(null);this._clearCachedModelDecorationsResolver()}_getOrCreateViewModelDecoration(modelDecoration){const id=modelDecoration.id;let r=this._decorationsCache[id];if(!r){const modelRange=modelDecoration.range;const options2=modelDecoration.options;let viewRange;if(options2.isWholeLine){const start=this._coordinatesConverter.convertModelPositionToViewPosition(new Position(modelRange.startLineNumber,1),0,false,true);const end=this._coordinatesConverter.convertModelPositionToViewPosition(new Position(modelRange.endLineNumber,this.model.getLineMaxColumn(modelRange.endLineNumber)),1);viewRange=new Range(start.lineNumber,start.column,end.lineNumber,end.column)}else{viewRange=this._coordinatesConverter.convertModelRangeToViewRange(modelRange,1)}r=new ViewModelDecoration(viewRange,options2);this._decorationsCache[id]=r}return r}getMinimapDecorationsInRange(range2){return this._getDecorationsInRange(range2,true,false).decorations}getDecorationsViewportData(viewRange){let cacheIsValid=this._cachedModelDecorationsResolver!==null;cacheIsValid=cacheIsValid&&viewRange.equalsRange(this._cachedModelDecorationsResolverViewRange);if(!cacheIsValid){this._cachedModelDecorationsResolver=this._getDecorationsInRange(viewRange,false,false);this._cachedModelDecorationsResolverViewRange=viewRange}return this._cachedModelDecorationsResolver}getInlineDecorationsOnLine(lineNumber,onlyMinimapDecorations=false,onlyMarginDecorations=false){const range2=new Range(lineNumber,this._linesCollection.getViewLineMinColumn(lineNumber),lineNumber,this._linesCollection.getViewLineMaxColumn(lineNumber));return this._getDecorationsInRange(range2,onlyMinimapDecorations,onlyMarginDecorations).inlineDecorations[0]}_getDecorationsInRange(viewRange,onlyMinimapDecorations,onlyMarginDecorations){const modelDecorations=this._linesCollection.getDecorationsInRange(viewRange,this.editorId,filterValidationDecorations(this.configuration.options),onlyMinimapDecorations,onlyMarginDecorations);const startLineNumber=viewRange.startLineNumber;const endLineNumber=viewRange.endLineNumber;const decorationsInViewport=[];let decorationsInViewportLen=0;const inlineDecorations=[];for(let j=startLineNumber;j<=endLineNumber;j++){inlineDecorations[j-startLineNumber]=[]}for(let i=0,len=modelDecorations.length;i<len;i++){const modelDecoration=modelDecorations[i];const decorationOptions=modelDecoration.options;if(!isModelDecorationVisible(this.model,modelDecoration)){continue}const viewModelDecoration=this._getOrCreateViewModelDecoration(modelDecoration);const viewRange2=viewModelDecoration.range;decorationsInViewport[decorationsInViewportLen++]=viewModelDecoration;if(decorationOptions.inlineClassName){const inlineDecoration=new InlineDecoration(viewRange2,decorationOptions.inlineClassName,decorationOptions.inlineClassNameAffectsLetterSpacing?3:0);const intersectedStartLineNumber=Math.max(startLineNumber,viewRange2.startLineNumber);const intersectedEndLineNumber=Math.min(endLineNumber,viewRange2.endLineNumber);for(let j=intersectedStartLineNumber;j<=intersectedEndLineNumber;j++){inlineDecorations[j-startLineNumber].push(inlineDecoration)}}if(decorationOptions.beforeContentClassName){if(startLineNumber<=viewRange2.startLineNumber&&viewRange2.startLineNumber<=endLineNumber){const inlineDecoration=new InlineDecoration(new Range(viewRange2.startLineNumber,viewRange2.startColumn,viewRange2.startLineNumber,viewRange2.startColumn),decorationOptions.beforeContentClassName,1);inlineDecorations[viewRange2.startLineNumber-startLineNumber].push(inlineDecoration)}}if(decorationOptions.afterContentClassName){if(startLineNumber<=viewRange2.endLineNumber&&viewRange2.endLineNumber<=endLineNumber){const inlineDecoration=new InlineDecoration(new Range(viewRange2.endLineNumber,viewRange2.endColumn,viewRange2.endLineNumber,viewRange2.endColumn),decorationOptions.afterContentClassName,2);inlineDecorations[viewRange2.endLineNumber-startLineNumber].push(inlineDecoration)}}}return{decorations:decorationsInViewport,inlineDecorations:inlineDecorations}}}}});function createModelLineProjection(lineBreakData,isVisible){if(lineBreakData===null){if(isVisible){return IdentityModelLineProjection.INSTANCE}return HiddenModelLineProjection.INSTANCE}else{return new ModelLineProjection(lineBreakData,isVisible)}}function spaces(count){if(count>=_spaces.length){for(let i=1;i<=count;i++){_spaces[i]=_makeSpaces(i)}}return _spaces[count]}function _makeSpaces(count){return new Array(count+1).join(" ")}var ModelLineProjection,IdentityModelLineProjection,HiddenModelLineProjection,_spaces;var init_modelLineProjection=__esm({"node_modules/monaco-editor/esm/vs/editor/common/viewModel/modelLineProjection.js"(){init_lineTokens();init_position();init_textModelEvents();init_viewModel();ModelLineProjection=class{constructor(lineBreakData,isVisible){this._projectionData=lineBreakData;this._isVisible=isVisible}isVisible(){return this._isVisible}setVisible(isVisible){this._isVisible=isVisible;return this}getProjectionData(){return this._projectionData}getViewLineCount(){if(!this._isVisible){return 0}return this._projectionData.getOutputLineCount()}getViewLineContent(model,modelLineNumber,outputLineIndex){this._assertVisible();const startOffsetInInputWithInjections=outputLineIndex>0?this._projectionData.breakOffsets[outputLineIndex-1]:0;const endOffsetInInputWithInjections=this._projectionData.breakOffsets[outputLineIndex];let r;if(this._projectionData.injectionOffsets!==null){const injectedTexts=this._projectionData.injectionOffsets.map(((offset,idx)=>new LineInjectedText(0,0,offset+1,this._projectionData.injectionOptions[idx],0)));const lineWithInjections=LineInjectedText.applyInjectedText(model.getLineContent(modelLineNumber),injectedTexts);r=lineWithInjections.substring(startOffsetInInputWithInjections,endOffsetInInputWithInjections)}else{r=model.getValueInRange({startLineNumber:modelLineNumber,startColumn:startOffsetInInputWithInjections+1,endLineNumber:modelLineNumber,endColumn:endOffsetInInputWithInjections+1})}if(outputLineIndex>0){r=spaces(this._projectionData.wrappedTextIndentLength)+r}return r}getViewLineLength(model,modelLineNumber,outputLineIndex){this._assertVisible();return this._projectionData.getLineLength(outputLineIndex)}getViewLineMinColumn(_model,_modelLineNumber,outputLineIndex){this._assertVisible();return this._projectionData.getMinOutputOffset(outputLineIndex)+1}getViewLineMaxColumn(model,modelLineNumber,outputLineIndex){this._assertVisible();return this._projectionData.getMaxOutputOffset(outputLineIndex)+1}getViewLineData(model,modelLineNumber,outputLineIndex){const arr=new Array;this.getViewLinesData(model,modelLineNumber,outputLineIndex,1,0,[true],arr);return arr[0]}getViewLinesData(model,modelLineNumber,outputLineIdx,lineCount,globalStartIndex,needed,result){this._assertVisible();const lineBreakData=this._projectionData;const injectionOffsets=lineBreakData.injectionOffsets;const injectionOptions=lineBreakData.injectionOptions;let inlineDecorationsPerOutputLine=null;if(injectionOffsets){inlineDecorationsPerOutputLine=[];let totalInjectedTextLengthBefore=0;let currentInjectedOffset=0;for(let outputLineIndex=0;outputLineIndex<lineBreakData.getOutputLineCount();outputLineIndex++){const inlineDecorations=new Array;inlineDecorationsPerOutputLine[outputLineIndex]=inlineDecorations;const lineStartOffsetInInputWithInjections=outputLineIndex>0?lineBreakData.breakOffsets[outputLineIndex-1]:0;const lineEndOffsetInInputWithInjections=lineBreakData.breakOffsets[outputLineIndex];while(currentInjectedOffset<injectionOffsets.length){const length2=injectionOptions[currentInjectedOffset].content.length;const injectedTextStartOffsetInInputWithInjections=injectionOffsets[currentInjectedOffset]+totalInjectedTextLengthBefore;const injectedTextEndOffsetInInputWithInjections=injectedTextStartOffsetInInputWithInjections+length2;if(injectedTextStartOffsetInInputWithInjections>lineEndOffsetInInputWithInjections){break}if(lineStartOffsetInInputWithInjections<injectedTextEndOffsetInInputWithInjections){const options2=injectionOptions[currentInjectedOffset];if(options2.inlineClassName){const offset=outputLineIndex>0?lineBreakData.wrappedTextIndentLength:0;const start=offset+Math.max(injectedTextStartOffsetInInputWithInjections-lineStartOffsetInInputWithInjections,0);const end=offset+Math.min(injectedTextEndOffsetInInputWithInjections-lineStartOffsetInInputWithInjections,lineEndOffsetInInputWithInjections-lineStartOffsetInInputWithInjections);if(start!==end){inlineDecorations.push(new SingleLineInlineDecoration(start,end,options2.inlineClassName,options2.inlineClassNameAffectsLetterSpacing))}}}if(injectedTextEndOffsetInInputWithInjections<=lineEndOffsetInInputWithInjections){totalInjectedTextLengthBefore+=length2;currentInjectedOffset++}else{break}}}}let lineWithInjections;if(injectionOffsets){lineWithInjections=model.tokenization.getLineTokens(modelLineNumber).withInserted(injectionOffsets.map(((offset,idx)=>({offset:offset,text:injectionOptions[idx].content,tokenMetadata:LineTokens.defaultTokenMetadata}))))}else{lineWithInjections=model.tokenization.getLineTokens(modelLineNumber)}for(let outputLineIndex=outputLineIdx;outputLineIndex<outputLineIdx+lineCount;outputLineIndex++){const globalIndex=globalStartIndex+outputLineIndex-outputLineIdx;if(!needed[globalIndex]){result[globalIndex]=null;continue}result[globalIndex]=this._getViewLineData(lineWithInjections,inlineDecorationsPerOutputLine?inlineDecorationsPerOutputLine[outputLineIndex]:null,outputLineIndex)}}_getViewLineData(lineWithInjections,inlineDecorations,outputLineIndex){this._assertVisible();const lineBreakData=this._projectionData;const deltaStartIndex=outputLineIndex>0?lineBreakData.wrappedTextIndentLength:0;const lineStartOffsetInInputWithInjections=outputLineIndex>0?lineBreakData.breakOffsets[outputLineIndex-1]:0;const lineEndOffsetInInputWithInjections=lineBreakData.breakOffsets[outputLineIndex];const tokens=lineWithInjections.sliceAndInflate(lineStartOffsetInInputWithInjections,lineEndOffsetInInputWithInjections,deltaStartIndex);let lineContent=tokens.getLineContent();if(outputLineIndex>0){lineContent=spaces(lineBreakData.wrappedTextIndentLength)+lineContent}const minColumn=this._projectionData.getMinOutputOffset(outputLineIndex)+1;const maxColumn=lineContent.length+1;const continuesWithWrappedLine=outputLineIndex+1<this.getViewLineCount();const startVisibleColumn=outputLineIndex===0?0:lineBreakData.breakOffsetsVisibleColumn[outputLineIndex-1];return new ViewLineData(lineContent,continuesWithWrappedLine,minColumn,maxColumn,startVisibleColumn,tokens,inlineDecorations)}getModelColumnOfViewPosition(outputLineIndex,outputColumn){this._assertVisible();return this._projectionData.translateToInputOffset(outputLineIndex,outputColumn-1)+1}getViewPositionOfModelPosition(deltaLineNumber,inputColumn,affinity=2){this._assertVisible();const r=this._projectionData.translateToOutputPosition(inputColumn-1,affinity);return r.toPosition(deltaLineNumber)}getViewLineNumberOfModelPosition(deltaLineNumber,inputColumn){this._assertVisible();const r=this._projectionData.translateToOutputPosition(inputColumn-1);return deltaLineNumber+r.outputLineIndex}normalizePosition(outputLineIndex,outputPosition,affinity){const baseViewLineNumber=outputPosition.lineNumber-outputLineIndex;const normalizedOutputPosition=this._projectionData.normalizeOutputPosition(outputLineIndex,outputPosition.column-1,affinity);const result=normalizedOutputPosition.toPosition(baseViewLineNumber);return result}getInjectedTextAt(outputLineIndex,outputColumn){return this._projectionData.getInjectedText(outputLineIndex,outputColumn-1)}_assertVisible(){if(!this._isVisible){throw new Error("Not supported")}}};IdentityModelLineProjection=class{constructor(){}isVisible(){return true}setVisible(isVisible){if(isVisible){return this}return HiddenModelLineProjection.INSTANCE}getProjectionData(){return null}getViewLineCount(){return 1}getViewLineContent(model,modelLineNumber,_outputLineIndex){return model.getLineContent(modelLineNumber)}getViewLineLength(model,modelLineNumber,_outputLineIndex){return model.getLineLength(modelLineNumber)}getViewLineMinColumn(model,modelLineNumber,_outputLineIndex){return model.getLineMinColumn(modelLineNumber)}getViewLineMaxColumn(model,modelLineNumber,_outputLineIndex){return model.getLineMaxColumn(modelLineNumber)}getViewLineData(model,modelLineNumber,_outputLineIndex){const lineTokens=model.tokenization.getLineTokens(modelLineNumber);const lineContent=lineTokens.getLineContent();return new ViewLineData(lineContent,false,1,lineContent.length+1,0,lineTokens.inflate(),null)}getViewLinesData(model,modelLineNumber,_fromOuputLineIndex,_toOutputLineIndex,globalStartIndex,needed,result){if(!needed[globalStartIndex]){result[globalStartIndex]=null;return}result[globalStartIndex]=this.getViewLineData(model,modelLineNumber,0)}getModelColumnOfViewPosition(_outputLineIndex,outputColumn){return outputColumn}getViewPositionOfModelPosition(deltaLineNumber,inputColumn){return new Position(deltaLineNumber,inputColumn)}getViewLineNumberOfModelPosition(deltaLineNumber,_inputColumn){return deltaLineNumber}normalizePosition(outputLineIndex,outputPosition,affinity){return outputPosition}getInjectedTextAt(_outputLineIndex,_outputColumn){return null}};IdentityModelLineProjection.INSTANCE=new IdentityModelLineProjection;HiddenModelLineProjection=class{constructor(){}isVisible(){return false}setVisible(isVisible){if(!isVisible){return this}return IdentityModelLineProjection.INSTANCE}getProjectionData(){return null}getViewLineCount(){return 0}getViewLineContent(_model,_modelLineNumber,_outputLineIndex){throw new Error("Not supported")}getViewLineLength(_model,_modelLineNumber,_outputLineIndex){throw new Error("Not supported")}getViewLineMinColumn(_model,_modelLineNumber,_outputLineIndex){throw new Error("Not supported")}getViewLineMaxColumn(_model,_modelLineNumber,_outputLineIndex){throw new Error("Not supported")}getViewLineData(_model,_modelLineNumber,_outputLineIndex){throw new Error("Not supported")}getViewLinesData(_model,_modelLineNumber,_fromOuputLineIndex,_toOutputLineIndex,_globalStartIndex,_needed,_result){throw new Error("Not supported")}getModelColumnOfViewPosition(_outputLineIndex,_outputColumn){throw new Error("Not supported")}getViewPositionOfModelPosition(_deltaLineNumber,_inputColumn){throw new Error("Not supported")}getViewLineNumberOfModelPosition(_deltaLineNumber,_inputColumn){throw new Error("Not supported")}normalizePosition(outputLineIndex,outputPosition,affinity){throw new Error("Not supported")}getInjectedTextAt(_outputLineIndex,_outputColumn){throw new Error("Not supported")}};HiddenModelLineProjection.INSTANCE=new HiddenModelLineProjection;_spaces=[""]}});function normalizeLineRanges(ranges){if(ranges.length===0){return[]}const sortedRanges=ranges.slice();sortedRanges.sort(Range.compareRangesUsingStarts);const result=[];let currentRangeStart=sortedRanges[0].startLineNumber;let currentRangeEnd=sortedRanges[0].endLineNumber;for(let i=1,len=sortedRanges.length;i<len;i++){const range2=sortedRanges[i];if(range2.startLineNumber>currentRangeEnd+1){result.push(new Range(currentRangeStart,1,currentRangeEnd,1));currentRangeStart=range2.startLineNumber;currentRangeEnd=range2.endLineNumber}else if(range2.endLineNumber>currentRangeEnd){currentRangeEnd=range2.endLineNumber}}result.push(new Range(currentRangeStart,1,currentRangeEnd,1));return result}var ViewModelLinesFromProjectedModel,ViewLineInfo,ViewLineInfoGroupedByModelRange,CoordinatesConverter,ViewModelLinesFromModelAsIs,IdentityCoordinatesConverter;var init_viewModelLines=__esm({"node_modules/monaco-editor/esm/vs/editor/common/viewModel/viewModelLines.js"(){init_arrays();init_position();init_range();init_textModelGuides();init_textModel();init_textModelEvents();init_viewEvents();init_modelLineProjection();init_prefixSumComputer();init_viewModel();ViewModelLinesFromProjectedModel=class{constructor(editorId,model,domLineBreaksComputerFactory,monospaceLineBreaksComputerFactory,fontInfo,tabSize,wrappingStrategy,wrappingColumn,wrappingIndent,wordBreak){this._editorId=editorId;this.model=model;this._validModelVersionId=-1;this._domLineBreaksComputerFactory=domLineBreaksComputerFactory;this._monospaceLineBreaksComputerFactory=monospaceLineBreaksComputerFactory;this.fontInfo=fontInfo;this.tabSize=tabSize;this.wrappingStrategy=wrappingStrategy;this.wrappingColumn=wrappingColumn;this.wrappingIndent=wrappingIndent;this.wordBreak=wordBreak;this._constructLines(true,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new CoordinatesConverter(this)}_constructLines(resetHiddenAreas,previousLineBreaks){this.modelLineProjections=[];if(resetHiddenAreas){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}const linesContent=this.model.getLinesContent();const injectedTextDecorations=this.model.getInjectedTextDecorations(this._editorId);const lineCount=linesContent.length;const lineBreaksComputer=this.createLineBreaksComputer();const injectedTextQueue=new ArrayQueue(LineInjectedText.fromDecorations(injectedTextDecorations));for(let i=0;i<lineCount;i++){const lineInjectedText=injectedTextQueue.takeWhile((t2=>t2.lineNumber===i+1));lineBreaksComputer.addRequest(linesContent[i],lineInjectedText,previousLineBreaks?previousLineBreaks[i]:null)}const linesBreaks=lineBreaksComputer.finalize();const values=[];const hiddenAreas=this.hiddenAreasDecorationIds.map((areaId=>this.model.getDecorationRange(areaId))).sort(Range.compareRangesUsingStarts);let hiddenAreaStart=1,hiddenAreaEnd=0;let hiddenAreaIdx=-1;let nextLineNumberToUpdateHiddenArea=hiddenAreaIdx+1<hiddenAreas.length?hiddenAreaEnd+1:lineCount+2;for(let i=0;i<lineCount;i++){const lineNumber=i+1;if(lineNumber===nextLineNumberToUpdateHiddenArea){hiddenAreaIdx++;hiddenAreaStart=hiddenAreas[hiddenAreaIdx].startLineNumber;hiddenAreaEnd=hiddenAreas[hiddenAreaIdx].endLineNumber;nextLineNumberToUpdateHiddenArea=hiddenAreaIdx+1<hiddenAreas.length?hiddenAreaEnd+1:lineCount+2}const isInHiddenArea=lineNumber>=hiddenAreaStart&&lineNumber<=hiddenAreaEnd;const line=createModelLineProjection(linesBreaks[i],!isInHiddenArea);values[i]=line.getViewLineCount();this.modelLineProjections[i]=line}this._validModelVersionId=this.model.getVersionId();this.projectedModelLineLineCounts=new ConstantTimePrefixSumComputer(values)}getHiddenAreas(){return this.hiddenAreasDecorationIds.map((decId=>this.model.getDecorationRange(decId)))}setHiddenAreas(_ranges){const validatedRanges=_ranges.map((r=>this.model.validateRange(r)));const newRanges=normalizeLineRanges(validatedRanges);const oldRanges=this.hiddenAreasDecorationIds.map((areaId=>this.model.getDecorationRange(areaId))).sort(Range.compareRangesUsingStarts);if(newRanges.length===oldRanges.length){let hasDifference=false;for(let i=0;i<newRanges.length;i++){if(!newRanges[i].equalsRange(oldRanges[i])){hasDifference=true;break}}if(!hasDifference){return false}}const newDecorations=newRanges.map((r=>({range:r,options:ModelDecorationOptions.EMPTY})));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,newDecorations);const hiddenAreas=newRanges;let hiddenAreaStart=1,hiddenAreaEnd=0;let hiddenAreaIdx=-1;let nextLineNumberToUpdateHiddenArea=hiddenAreaIdx+1<hiddenAreas.length?hiddenAreaEnd+1:this.modelLineProjections.length+2;let hasVisibleLine=false;for(let i=0;i<this.modelLineProjections.length;i++){const lineNumber=i+1;if(lineNumber===nextLineNumberToUpdateHiddenArea){hiddenAreaIdx++;hiddenAreaStart=hiddenAreas[hiddenAreaIdx].startLineNumber;hiddenAreaEnd=hiddenAreas[hiddenAreaIdx].endLineNumber;nextLineNumberToUpdateHiddenArea=hiddenAreaIdx+1<hiddenAreas.length?hiddenAreaEnd+1:this.modelLineProjections.length+2}let lineChanged=false;if(lineNumber>=hiddenAreaStart&&lineNumber<=hiddenAreaEnd){if(this.modelLineProjections[i].isVisible()){this.modelLineProjections[i]=this.modelLineProjections[i].setVisible(false);lineChanged=true}}else{hasVisibleLine=true;if(!this.modelLineProjections[i].isVisible()){this.modelLineProjections[i]=this.modelLineProjections[i].setVisible(true);lineChanged=true}}if(lineChanged){const newOutputLineCount=this.modelLineProjections[i].getViewLineCount();this.projectedModelLineLineCounts.setValue(i,newOutputLineCount)}}if(!hasVisibleLine){this.setHiddenAreas([])}return true}modelPositionIsVisible(modelLineNumber,_modelColumn){if(modelLineNumber<1||modelLineNumber>this.modelLineProjections.length){return false}return this.modelLineProjections[modelLineNumber-1].isVisible()}getModelLineViewLineCount(modelLineNumber){if(modelLineNumber<1||modelLineNumber>this.modelLineProjections.length){return 1}return this.modelLineProjections[modelLineNumber-1].getViewLineCount()}setTabSize(newTabSize){if(this.tabSize===newTabSize){return false}this.tabSize=newTabSize;this._constructLines(false,null);return true}setWrappingSettings(fontInfo,wrappingStrategy,wrappingColumn,wrappingIndent,wordBreak){const equalFontInfo=this.fontInfo.equals(fontInfo);const equalWrappingStrategy=this.wrappingStrategy===wrappingStrategy;const equalWrappingColumn=this.wrappingColumn===wrappingColumn;const equalWrappingIndent=this.wrappingIndent===wrappingIndent;const equalWordBreak=this.wordBreak===wordBreak;if(equalFontInfo&&equalWrappingStrategy&&equalWrappingColumn&&equalWrappingIndent&&equalWordBreak){return false}const onlyWrappingColumnChanged=equalFontInfo&&equalWrappingStrategy&&!equalWrappingColumn&&equalWrappingIndent&&equalWordBreak;this.fontInfo=fontInfo;this.wrappingStrategy=wrappingStrategy;this.wrappingColumn=wrappingColumn;this.wrappingIndent=wrappingIndent;this.wordBreak=wordBreak;let previousLineBreaks=null;if(onlyWrappingColumnChanged){previousLineBreaks=[];for(let i=0,len=this.modelLineProjections.length;i<len;i++){previousLineBreaks[i]=this.modelLineProjections[i].getProjectionData()}}this._constructLines(false,previousLineBreaks);return true}createLineBreaksComputer(){const lineBreaksComputerFactory=this.wrappingStrategy==="advanced"?this._domLineBreaksComputerFactory:this._monospaceLineBreaksComputerFactory;return lineBreaksComputerFactory.createLineBreaksComputer(this.fontInfo,this.tabSize,this.wrappingColumn,this.wrappingIndent,this.wordBreak)}onModelFlushed(){this._constructLines(true,null)}onModelLinesDeleted(versionId,fromLineNumber,toLineNumber){if(!versionId||versionId<=this._validModelVersionId){return null}const outputFromLineNumber=fromLineNumber===1?1:this.projectedModelLineLineCounts.getPrefixSum(fromLineNumber-1)+1;const outputToLineNumber=this.projectedModelLineLineCounts.getPrefixSum(toLineNumber);this.modelLineProjections.splice(fromLineNumber-1,toLineNumber-fromLineNumber+1);this.projectedModelLineLineCounts.removeValues(fromLineNumber-1,toLineNumber-fromLineNumber+1);return new ViewLinesDeletedEvent(outputFromLineNumber,outputToLineNumber)}onModelLinesInserted(versionId,fromLineNumber,_toLineNumber,lineBreaks){if(!versionId||versionId<=this._validModelVersionId){return null}const isInHiddenArea=fromLineNumber>2&&!this.modelLineProjections[fromLineNumber-2].isVisible();const outputFromLineNumber=fromLineNumber===1?1:this.projectedModelLineLineCounts.getPrefixSum(fromLineNumber-1)+1;let totalOutputLineCount=0;const insertLines=[];const insertPrefixSumValues=[];for(let i=0,len=lineBreaks.length;i<len;i++){const line=createModelLineProjection(lineBreaks[i],!isInHiddenArea);insertLines.push(line);const outputLineCount=line.getViewLineCount();totalOutputLineCount+=outputLineCount;insertPrefixSumValues[i]=outputLineCount}this.modelLineProjections=this.modelLineProjections.slice(0,fromLineNumber-1).concat(insertLines).concat(this.modelLineProjections.slice(fromLineNumber-1));this.projectedModelLineLineCounts.insertValues(fromLineNumber-1,insertPrefixSumValues);return new ViewLinesInsertedEvent(outputFromLineNumber,outputFromLineNumber+totalOutputLineCount-1)}onModelLineChanged(versionId,lineNumber,lineBreakData){if(versionId!==null&&versionId<=this._validModelVersionId){return[false,null,null,null]}const lineIndex=lineNumber-1;const oldOutputLineCount=this.modelLineProjections[lineIndex].getViewLineCount();const isVisible=this.modelLineProjections[lineIndex].isVisible();const line=createModelLineProjection(lineBreakData,isVisible);this.modelLineProjections[lineIndex]=line;const newOutputLineCount=this.modelLineProjections[lineIndex].getViewLineCount();let lineMappingChanged=false;let changeFrom=0;let changeTo=-1;let insertFrom=0;let insertTo=-1;let deleteFrom=0;let deleteTo=-1;if(oldOutputLineCount>newOutputLineCount){changeFrom=this.projectedModelLineLineCounts.getPrefixSum(lineNumber-1)+1;changeTo=changeFrom+newOutputLineCount-1;deleteFrom=changeTo+1;deleteTo=deleteFrom+(oldOutputLineCount-newOutputLineCount)-1;lineMappingChanged=true}else if(oldOutputLineCount<newOutputLineCount){changeFrom=this.projectedModelLineLineCounts.getPrefixSum(lineNumber-1)+1;changeTo=changeFrom+oldOutputLineCount-1;insertFrom=changeTo+1;insertTo=insertFrom+(newOutputLineCount-oldOutputLineCount)-1;lineMappingChanged=true}else{changeFrom=this.projectedModelLineLineCounts.getPrefixSum(lineNumber-1)+1;changeTo=changeFrom+newOutputLineCount-1}this.projectedModelLineLineCounts.setValue(lineIndex,newOutputLineCount);const viewLinesChangedEvent=changeFrom<=changeTo?new ViewLinesChangedEvent(changeFrom,changeTo-changeFrom+1):null;const viewLinesInsertedEvent=insertFrom<=insertTo?new ViewLinesInsertedEvent(insertFrom,insertTo):null;const viewLinesDeletedEvent=deleteFrom<=deleteTo?new ViewLinesDeletedEvent(deleteFrom,deleteTo):null;return[lineMappingChanged,viewLinesChangedEvent,viewLinesInsertedEvent,viewLinesDeletedEvent]}acceptVersionId(versionId){this._validModelVersionId=versionId;if(this.modelLineProjections.length===1&&!this.modelLineProjections[0].isVisible()){this.setHiddenAreas([])}}getViewLineCount(){return this.projectedModelLineLineCounts.getTotalSum()}_toValidViewLineNumber(viewLineNumber){if(viewLineNumber<1){return 1}const viewLineCount=this.getViewLineCount();if(viewLineNumber>viewLineCount){return viewLineCount}return viewLineNumber|0}getActiveIndentGuide(viewLineNumber,minLineNumber,maxLineNumber){viewLineNumber=this._toValidViewLineNumber(viewLineNumber);minLineNumber=this._toValidViewLineNumber(minLineNumber);maxLineNumber=this._toValidViewLineNumber(maxLineNumber);const modelPosition=this.convertViewPositionToModelPosition(viewLineNumber,this.getViewLineMinColumn(viewLineNumber));const modelMinPosition=this.convertViewPositionToModelPosition(minLineNumber,this.getViewLineMinColumn(minLineNumber));const modelMaxPosition=this.convertViewPositionToModelPosition(maxLineNumber,this.getViewLineMinColumn(maxLineNumber));const result=this.model.guides.getActiveIndentGuide(modelPosition.lineNumber,modelMinPosition.lineNumber,modelMaxPosition.lineNumber);const viewStartPosition=this.convertModelPositionToViewPosition(result.startLineNumber,1);const viewEndPosition=this.convertModelPositionToViewPosition(result.endLineNumber,this.model.getLineMaxColumn(result.endLineNumber));return{startLineNumber:viewStartPosition.lineNumber,endLineNumber:viewEndPosition.lineNumber,indent:result.indent}}getViewLineInfo(viewLineNumber){viewLineNumber=this._toValidViewLineNumber(viewLineNumber);const r=this.projectedModelLineLineCounts.getIndexOf(viewLineNumber-1);const lineIndex=r.index;const remainder=r.remainder;return new ViewLineInfo(lineIndex+1,remainder)}getMinColumnOfViewLine(viewLineInfo){return this.modelLineProjections[viewLineInfo.modelLineNumber-1].getViewLineMinColumn(this.model,viewLineInfo.modelLineNumber,viewLineInfo.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(viewLineInfo){return this.modelLineProjections[viewLineInfo.modelLineNumber-1].getViewLineMaxColumn(this.model,viewLineInfo.modelLineNumber,viewLineInfo.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(viewLineInfo){const line=this.modelLineProjections[viewLineInfo.modelLineNumber-1];const minViewColumn=line.getViewLineMinColumn(this.model,viewLineInfo.modelLineNumber,viewLineInfo.modelLineWrappedLineIdx);const column=line.getModelColumnOfViewPosition(viewLineInfo.modelLineWrappedLineIdx,minViewColumn);return new Position(viewLineInfo.modelLineNumber,column)}getModelEndPositionOfViewLine(viewLineInfo){const line=this.modelLineProjections[viewLineInfo.modelLineNumber-1];const maxViewColumn=line.getViewLineMaxColumn(this.model,viewLineInfo.modelLineNumber,viewLineInfo.modelLineWrappedLineIdx);const column=line.getModelColumnOfViewPosition(viewLineInfo.modelLineWrappedLineIdx,maxViewColumn);return new Position(viewLineInfo.modelLineNumber,column)}getViewLineInfosGroupedByModelRanges(viewStartLineNumber,viewEndLineNumber){const startViewLine=this.getViewLineInfo(viewStartLineNumber);const endViewLine=this.getViewLineInfo(viewEndLineNumber);const result=new Array;let lastVisibleModelPos=this.getModelStartPositionOfViewLine(startViewLine);let viewLines=new Array;for(let curModelLine=startViewLine.modelLineNumber;curModelLine<=endViewLine.modelLineNumber;curModelLine++){const line=this.modelLineProjections[curModelLine-1];if(line.isVisible()){const startOffset=curModelLine===startViewLine.modelLineNumber?startViewLine.modelLineWrappedLineIdx:0;const endOffset=curModelLine===endViewLine.modelLineNumber?endViewLine.modelLineWrappedLineIdx+1:line.getViewLineCount();for(let i=startOffset;i<endOffset;i++){viewLines.push(new ViewLineInfo(curModelLine,i))}}if(!line.isVisible()&&lastVisibleModelPos){const lastVisibleModelPos2=new Position(curModelLine-1,this.model.getLineMaxColumn(curModelLine-1)+1);const modelRange=Range.fromPositions(lastVisibleModelPos,lastVisibleModelPos2);result.push(new ViewLineInfoGroupedByModelRange(modelRange,viewLines));viewLines=[];lastVisibleModelPos=null}else if(line.isVisible()&&!lastVisibleModelPos){lastVisibleModelPos=new Position(curModelLine,1)}}if(lastVisibleModelPos){const modelRange=Range.fromPositions(lastVisibleModelPos,this.getModelEndPositionOfViewLine(endViewLine));result.push(new ViewLineInfoGroupedByModelRange(modelRange,viewLines))}return result}getViewLinesBracketGuides(viewStartLineNumber,viewEndLineNumber,activeViewPosition,options2){const modelActivePosition=activeViewPosition?this.convertViewPositionToModelPosition(activeViewPosition.lineNumber,activeViewPosition.column):null;const resultPerViewLine=[];for(const group3 of this.getViewLineInfosGroupedByModelRanges(viewStartLineNumber,viewEndLineNumber)){const modelRangeStartLineNumber=group3.modelRange.startLineNumber;const bracketGuidesPerModelLine=this.model.guides.getLinesBracketGuides(modelRangeStartLineNumber,group3.modelRange.endLineNumber,modelActivePosition,options2);for(const viewLineInfo of group3.viewLines){const bracketGuides=bracketGuidesPerModelLine[viewLineInfo.modelLineNumber-modelRangeStartLineNumber];const result=bracketGuides.map((g=>{if(g.forWrappedLinesAfterColumn!==-1){const p2=this.modelLineProjections[viewLineInfo.modelLineNumber-1].getViewPositionOfModelPosition(0,g.forWrappedLinesAfterColumn);if(p2.lineNumber>=viewLineInfo.modelLineWrappedLineIdx){return void 0}}if(g.forWrappedLinesBeforeOrAtColumn!==-1){const p2=this.modelLineProjections[viewLineInfo.modelLineNumber-1].getViewPositionOfModelPosition(0,g.forWrappedLinesBeforeOrAtColumn);if(p2.lineNumber<viewLineInfo.modelLineWrappedLineIdx){return void 0}}if(!g.horizontalLine){return g}let column=-1;if(g.column!==-1){const p2=this.modelLineProjections[viewLineInfo.modelLineNumber-1].getViewPositionOfModelPosition(0,g.column);if(p2.lineNumber===viewLineInfo.modelLineWrappedLineIdx){column=p2.column}else if(p2.lineNumber<viewLineInfo.modelLineWrappedLineIdx){column=this.getMinColumnOfViewLine(viewLineInfo)}else if(p2.lineNumber>viewLineInfo.modelLineWrappedLineIdx){return void 0}}const viewPosition=this.convertModelPositionToViewPosition(viewLineInfo.modelLineNumber,g.horizontalLine.endColumn);const p=this.modelLineProjections[viewLineInfo.modelLineNumber-1].getViewPositionOfModelPosition(0,g.horizontalLine.endColumn);if(p.lineNumber===viewLineInfo.modelLineWrappedLineIdx){return new IndentGuide(g.visibleColumn,column,g.className,new IndentGuideHorizontalLine(g.horizontalLine.top,viewPosition.column),-1,-1)}else if(p.lineNumber<viewLineInfo.modelLineWrappedLineIdx){return void 0}else{if(g.visibleColumn!==-1){return void 0}return new IndentGuide(g.visibleColumn,column,g.className,new IndentGuideHorizontalLine(g.horizontalLine.top,this.getMaxColumnOfViewLine(viewLineInfo)),-1,-1)}}));resultPerViewLine.push(result.filter((r=>!!r)))}}return resultPerViewLine}getViewLinesIndentGuides(viewStartLineNumber,viewEndLineNumber){viewStartLineNumber=this._toValidViewLineNumber(viewStartLineNumber);viewEndLineNumber=this._toValidViewLineNumber(viewEndLineNumber);const modelStart=this.convertViewPositionToModelPosition(viewStartLineNumber,this.getViewLineMinColumn(viewStartLineNumber));const modelEnd=this.convertViewPositionToModelPosition(viewEndLineNumber,this.getViewLineMaxColumn(viewEndLineNumber));let result=[];const resultRepeatCount=[];const resultRepeatOption=[];const modelStartLineIndex=modelStart.lineNumber-1;const modelEndLineIndex=modelEnd.lineNumber-1;let reqStart=null;for(let modelLineIndex=modelStartLineIndex;modelLineIndex<=modelEndLineIndex;modelLineIndex++){const line=this.modelLineProjections[modelLineIndex];if(line.isVisible()){const viewLineStartIndex=line.getViewLineNumberOfModelPosition(0,modelLineIndex===modelStartLineIndex?modelStart.column:1);const viewLineEndIndex=line.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(modelLineIndex+1));const count=viewLineEndIndex-viewLineStartIndex+1;let option=0;if(count>1&&line.getViewLineMinColumn(this.model,modelLineIndex+1,viewLineEndIndex)===1){option=viewLineStartIndex===0?1:2}resultRepeatCount.push(count);resultRepeatOption.push(option);if(reqStart===null){reqStart=new Position(modelLineIndex+1,0)}}else{if(reqStart!==null){result=result.concat(this.model.guides.getLinesIndentGuides(reqStart.lineNumber,modelLineIndex));reqStart=null}}}if(reqStart!==null){result=result.concat(this.model.guides.getLinesIndentGuides(reqStart.lineNumber,modelEnd.lineNumber));reqStart=null}const viewLineCount=viewEndLineNumber-viewStartLineNumber+1;const viewIndents=new Array(viewLineCount);let currIndex=0;for(let i=0,len=result.length;i<len;i++){let value=result[i];const count=Math.min(viewLineCount-currIndex,resultRepeatCount[i]);const option=resultRepeatOption[i];let blockAtIndex;if(option===2){blockAtIndex=0}else if(option===1){blockAtIndex=1}else{blockAtIndex=count}for(let j=0;j<count;j++){if(j===blockAtIndex){value=0}viewIndents[currIndex++]=value}}return viewIndents}getViewLineContent(viewLineNumber){const info=this.getViewLineInfo(viewLineNumber);return this.modelLineProjections[info.modelLineNumber-1].getViewLineContent(this.model,info.modelLineNumber,info.modelLineWrappedLineIdx)}getViewLineLength(viewLineNumber){const info=this.getViewLineInfo(viewLineNumber);return this.modelLineProjections[info.modelLineNumber-1].getViewLineLength(this.model,info.modelLineNumber,info.modelLineWrappedLineIdx)}getViewLineMinColumn(viewLineNumber){const info=this.getViewLineInfo(viewLineNumber);return this.modelLineProjections[info.modelLineNumber-1].getViewLineMinColumn(this.model,info.modelLineNumber,info.modelLineWrappedLineIdx)}getViewLineMaxColumn(viewLineNumber){const info=this.getViewLineInfo(viewLineNumber);return this.modelLineProjections[info.modelLineNumber-1].getViewLineMaxColumn(this.model,info.modelLineNumber,info.modelLineWrappedLineIdx)}getViewLineData(viewLineNumber){const info=this.getViewLineInfo(viewLineNumber);return this.modelLineProjections[info.modelLineNumber-1].getViewLineData(this.model,info.modelLineNumber,info.modelLineWrappedLineIdx)}getViewLinesData(viewStartLineNumber,viewEndLineNumber,needed){viewStartLineNumber=this._toValidViewLineNumber(viewStartLineNumber);viewEndLineNumber=this._toValidViewLineNumber(viewEndLineNumber);const start=this.projectedModelLineLineCounts.getIndexOf(viewStartLineNumber-1);let viewLineNumber=viewStartLineNumber;const startModelLineIndex=start.index;const startRemainder=start.remainder;const result=[];for(let modelLineIndex=startModelLineIndex,len=this.model.getLineCount();modelLineIndex<len;modelLineIndex++){const line=this.modelLineProjections[modelLineIndex];if(!line.isVisible()){continue}const fromViewLineIndex=modelLineIndex===startModelLineIndex?startRemainder:0;let remainingViewLineCount=line.getViewLineCount()-fromViewLineIndex;let lastLine=false;if(viewLineNumber+remainingViewLineCount>viewEndLineNumber){lastLine=true;remainingViewLineCount=viewEndLineNumber-viewLineNumber+1}line.getViewLinesData(this.model,modelLineIndex+1,fromViewLineIndex,remainingViewLineCount,viewLineNumber-viewStartLineNumber,needed,result);viewLineNumber+=remainingViewLineCount;if(lastLine){break}}return result}validateViewPosition(viewLineNumber,viewColumn,expectedModelPosition){viewLineNumber=this._toValidViewLineNumber(viewLineNumber);const r=this.projectedModelLineLineCounts.getIndexOf(viewLineNumber-1);const lineIndex=r.index;const remainder=r.remainder;const line=this.modelLineProjections[lineIndex];const minColumn=line.getViewLineMinColumn(this.model,lineIndex+1,remainder);const maxColumn=line.getViewLineMaxColumn(this.model,lineIndex+1,remainder);if(viewColumn<minColumn){viewColumn=minColumn}if(viewColumn>maxColumn){viewColumn=maxColumn}const computedModelColumn=line.getModelColumnOfViewPosition(remainder,viewColumn);const computedModelPosition=this.model.validatePosition(new Position(lineIndex+1,computedModelColumn));if(computedModelPosition.equals(expectedModelPosition)){return new Position(viewLineNumber,viewColumn)}return this.convertModelPositionToViewPosition(expectedModelPosition.lineNumber,expectedModelPosition.column)}validateViewRange(viewRange,expectedModelRange){const validViewStart=this.validateViewPosition(viewRange.startLineNumber,viewRange.startColumn,expectedModelRange.getStartPosition());const validViewEnd=this.validateViewPosition(viewRange.endLineNumber,viewRange.endColumn,expectedModelRange.getEndPosition());return new Range(validViewStart.lineNumber,validViewStart.column,validViewEnd.lineNumber,validViewEnd.column)}convertViewPositionToModelPosition(viewLineNumber,viewColumn){const info=this.getViewLineInfo(viewLineNumber);const inputColumn=this.modelLineProjections[info.modelLineNumber-1].getModelColumnOfViewPosition(info.modelLineWrappedLineIdx,viewColumn);return this.model.validatePosition(new Position(info.modelLineNumber,inputColumn))}convertViewRangeToModelRange(viewRange){const start=this.convertViewPositionToModelPosition(viewRange.startLineNumber,viewRange.startColumn);const end=this.convertViewPositionToModelPosition(viewRange.endLineNumber,viewRange.endColumn);return new Range(start.lineNumber,start.column,end.lineNumber,end.column)}convertModelPositionToViewPosition(_modelLineNumber,_modelColumn,affinity=2,allowZeroLineNumber=false,belowHiddenRanges=false){const validPosition=this.model.validatePosition(new Position(_modelLineNumber,_modelColumn));const inputLineNumber=validPosition.lineNumber;const inputColumn=validPosition.column;let lineIndex=inputLineNumber-1,lineIndexChanged=false;if(belowHiddenRanges){while(lineIndex<this.modelLineProjections.length&&!this.modelLineProjections[lineIndex].isVisible()){lineIndex++;lineIndexChanged=true}}else{while(lineIndex>0&&!this.modelLineProjections[lineIndex].isVisible()){lineIndex--;lineIndexChanged=true}}if(lineIndex===0&&!this.modelLineProjections[lineIndex].isVisible()){return new Position(allowZeroLineNumber?0:1,1)}const deltaLineNumber=1+this.projectedModelLineLineCounts.getPrefixSum(lineIndex);let r;if(lineIndexChanged){if(belowHiddenRanges){r=this.modelLineProjections[lineIndex].getViewPositionOfModelPosition(deltaLineNumber,1,affinity)}else{r=this.modelLineProjections[lineIndex].getViewPositionOfModelPosition(deltaLineNumber,this.model.getLineMaxColumn(lineIndex+1),affinity)}}else{r=this.modelLineProjections[inputLineNumber-1].getViewPositionOfModelPosition(deltaLineNumber,inputColumn,affinity)}return r}convertModelRangeToViewRange(modelRange,affinity=0){if(modelRange.isEmpty()){const start=this.convertModelPositionToViewPosition(modelRange.startLineNumber,modelRange.startColumn,affinity);return Range.fromPositions(start)}else{const start=this.convertModelPositionToViewPosition(modelRange.startLineNumber,modelRange.startColumn,1);const end=this.convertModelPositionToViewPosition(modelRange.endLineNumber,modelRange.endColumn,0);return new Range(start.lineNumber,start.column,end.lineNumber,end.column)}}getViewLineNumberOfModelPosition(modelLineNumber,modelColumn){let lineIndex=modelLineNumber-1;if(this.modelLineProjections[lineIndex].isVisible()){const deltaLineNumber2=1+this.projectedModelLineLineCounts.getPrefixSum(lineIndex);return this.modelLineProjections[lineIndex].getViewLineNumberOfModelPosition(deltaLineNumber2,modelColumn)}while(lineIndex>0&&!this.modelLineProjections[lineIndex].isVisible()){lineIndex--}if(lineIndex===0&&!this.modelLineProjections[lineIndex].isVisible()){return 1}const deltaLineNumber=1+this.projectedModelLineLineCounts.getPrefixSum(lineIndex);return this.modelLineProjections[lineIndex].getViewLineNumberOfModelPosition(deltaLineNumber,this.model.getLineMaxColumn(lineIndex+1))}getDecorationsInRange(range2,ownerId,filterOutValidation,onlyMinimapDecorations,onlyMarginDecorations){const modelStart=this.convertViewPositionToModelPosition(range2.startLineNumber,range2.startColumn);const modelEnd=this.convertViewPositionToModelPosition(range2.endLineNumber,range2.endColumn);if(modelEnd.lineNumber-modelStart.lineNumber<=range2.endLineNumber-range2.startLineNumber){return this.model.getDecorationsInRange(new Range(modelStart.lineNumber,1,modelEnd.lineNumber,modelEnd.column),ownerId,filterOutValidation,onlyMinimapDecorations,onlyMarginDecorations)}let result=[];const modelStartLineIndex=modelStart.lineNumber-1;const modelEndLineIndex=modelEnd.lineNumber-1;let reqStart=null;for(let modelLineIndex=modelStartLineIndex;modelLineIndex<=modelEndLineIndex;modelLineIndex++){const line=this.modelLineProjections[modelLineIndex];if(line.isVisible()){if(reqStart===null){reqStart=new Position(modelLineIndex+1,modelLineIndex===modelStartLineIndex?modelStart.column:1)}}else{if(reqStart!==null){const maxLineColumn=this.model.getLineMaxColumn(modelLineIndex);result=result.concat(this.model.getDecorationsInRange(new Range(reqStart.lineNumber,reqStart.column,modelLineIndex,maxLineColumn),ownerId,filterOutValidation,onlyMinimapDecorations));reqStart=null}}}if(reqStart!==null){result=result.concat(this.model.getDecorationsInRange(new Range(reqStart.lineNumber,reqStart.column,modelEnd.lineNumber,modelEnd.column),ownerId,filterOutValidation,onlyMinimapDecorations));reqStart=null}result.sort(((a,b)=>{const res=Range.compareRangesUsingStarts(a.range,b.range);if(res===0){if(a.id<b.id){return-1}if(a.id>b.id){return 1}return 0}return res}));const finalResult=[];let finalResultLen=0;let prevDecId=null;for(const dec of result){const decId=dec.id;if(prevDecId===decId){continue}prevDecId=decId;finalResult[finalResultLen++]=dec}return finalResult}getInjectedTextAt(position){const info=this.getViewLineInfo(position.lineNumber);return this.modelLineProjections[info.modelLineNumber-1].getInjectedTextAt(info.modelLineWrappedLineIdx,position.column)}normalizePosition(position,affinity){const info=this.getViewLineInfo(position.lineNumber);return this.modelLineProjections[info.modelLineNumber-1].normalizePosition(info.modelLineWrappedLineIdx,position,affinity)}getLineIndentColumn(lineNumber){const info=this.getViewLineInfo(lineNumber);if(info.modelLineWrappedLineIdx===0){return this.model.getLineIndentColumn(info.modelLineNumber)}return 0}};ViewLineInfo=class{constructor(modelLineNumber,modelLineWrappedLineIdx){this.modelLineNumber=modelLineNumber;this.modelLineWrappedLineIdx=modelLineWrappedLineIdx}};ViewLineInfoGroupedByModelRange=class{constructor(modelRange,viewLines){this.modelRange=modelRange;this.viewLines=viewLines}};CoordinatesConverter=class{constructor(lines){this._lines=lines}convertViewPositionToModelPosition(viewPosition){return this._lines.convertViewPositionToModelPosition(viewPosition.lineNumber,viewPosition.column)}convertViewRangeToModelRange(viewRange){return this._lines.convertViewRangeToModelRange(viewRange)}validateViewPosition(viewPosition,expectedModelPosition){return this._lines.validateViewPosition(viewPosition.lineNumber,viewPosition.column,expectedModelPosition)}validateViewRange(viewRange,expectedModelRange){return this._lines.validateViewRange(viewRange,expectedModelRange)}convertModelPositionToViewPosition(modelPosition,affinity,allowZero,belowHiddenRanges){return this._lines.convertModelPositionToViewPosition(modelPosition.lineNumber,modelPosition.column,affinity,allowZero,belowHiddenRanges)}convertModelRangeToViewRange(modelRange,affinity){return this._lines.convertModelRangeToViewRange(modelRange,affinity)}modelPositionIsVisible(modelPosition){return this._lines.modelPositionIsVisible(modelPosition.lineNumber,modelPosition.column)}getModelLineViewLineCount(modelLineNumber){return this._lines.getModelLineViewLineCount(modelLineNumber)}getViewLineNumberOfModelPosition(modelLineNumber,modelColumn){return this._lines.getViewLineNumberOfModelPosition(modelLineNumber,modelColumn)}};ViewModelLinesFromModelAsIs=class{constructor(model){this.model=model}dispose(){}createCoordinatesConverter(){return new IdentityCoordinatesConverter(this)}getHiddenAreas(){return[]}setHiddenAreas(_ranges){return false}setTabSize(_newTabSize){return false}setWrappingSettings(_fontInfo,_wrappingStrategy,_wrappingColumn,_wrappingIndent){return false}createLineBreaksComputer(){const result=[];return{addRequest:(lineText,injectedText,previousLineBreakData)=>{result.push(null)},finalize:()=>result}}onModelFlushed(){}onModelLinesDeleted(_versionId,fromLineNumber,toLineNumber){return new ViewLinesDeletedEvent(fromLineNumber,toLineNumber)}onModelLinesInserted(_versionId,fromLineNumber,toLineNumber,lineBreaks){return new ViewLinesInsertedEvent(fromLineNumber,toLineNumber)}onModelLineChanged(_versionId,lineNumber,lineBreakData){return[false,new ViewLinesChangedEvent(lineNumber,1),null,null]}acceptVersionId(_versionId){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(viewLineNumber,_minLineNumber,_maxLineNumber){return{startLineNumber:viewLineNumber,endLineNumber:viewLineNumber,indent:0}}getViewLinesBracketGuides(startLineNumber,endLineNumber,activePosition){return new Array(endLineNumber-startLineNumber+1).fill([])}getViewLinesIndentGuides(viewStartLineNumber,viewEndLineNumber){const viewLineCount=viewEndLineNumber-viewStartLineNumber+1;const result=new Array(viewLineCount);for(let i=0;i<viewLineCount;i++){result[i]=0}return result}getViewLineContent(viewLineNumber){return this.model.getLineContent(viewLineNumber)}getViewLineLength(viewLineNumber){return this.model.getLineLength(viewLineNumber)}getViewLineMinColumn(viewLineNumber){return this.model.getLineMinColumn(viewLineNumber)}getViewLineMaxColumn(viewLineNumber){return this.model.getLineMaxColumn(viewLineNumber)}getViewLineData(viewLineNumber){const lineTokens=this.model.tokenization.getLineTokens(viewLineNumber);const lineContent=lineTokens.getLineContent();return new ViewLineData(lineContent,false,1,lineContent.length+1,0,lineTokens.inflate(),null)}getViewLinesData(viewStartLineNumber,viewEndLineNumber,needed){const lineCount=this.model.getLineCount();viewStartLineNumber=Math.min(Math.max(1,viewStartLineNumber),lineCount);viewEndLineNumber=Math.min(Math.max(1,viewEndLineNumber),lineCount);const result=[];for(let lineNumber=viewStartLineNumber;lineNumber<=viewEndLineNumber;lineNumber++){const idx=lineNumber-viewStartLineNumber;result[idx]=needed[idx]?this.getViewLineData(lineNumber):null}return result}getDecorationsInRange(range2,ownerId,filterOutValidation,onlyMinimapDecorations,onlyMarginDecorations){return this.model.getDecorationsInRange(range2,ownerId,filterOutValidation,onlyMinimapDecorations,onlyMarginDecorations)}normalizePosition(position,affinity){return this.model.normalizePosition(position,affinity)}getLineIndentColumn(lineNumber){return this.model.getLineIndentColumn(lineNumber)}getInjectedTextAt(position){return null}};IdentityCoordinatesConverter=class{constructor(lines){this._lines=lines}_validPosition(pos){return this._lines.model.validatePosition(pos)}_validRange(range2){return this._lines.model.validateRange(range2)}convertViewPositionToModelPosition(viewPosition){return this._validPosition(viewPosition)}convertViewRangeToModelRange(viewRange){return this._validRange(viewRange)}validateViewPosition(_viewPosition,expectedModelPosition){return this._validPosition(expectedModelPosition)}validateViewRange(_viewRange,expectedModelRange){return this._validRange(expectedModelRange)}convertModelPositionToViewPosition(modelPosition){return this._validPosition(modelPosition)}convertModelRangeToViewRange(modelRange){return this._validRange(modelRange)}modelPositionIsVisible(modelPosition){const lineCount=this._lines.model.getLineCount();if(modelPosition.lineNumber<1||modelPosition.lineNumber>lineCount){return false}return true}getModelLineViewLineCount(modelLineNumber){return 1}getViewLineNumberOfModelPosition(modelLineNumber,modelColumn){return modelLineNumber}}}});function mergeLineRangeArray(arr1,arr2){const result=[];let i=0;let j=0;while(i<arr1.length&&j<arr2.length){const item1=arr1[i];const item2=arr2[j];if(item1.endLineNumber<item2.startLineNumber-1){result.push(arr1[i++])}else if(item2.endLineNumber<item1.startLineNumber-1){result.push(arr2[j++])}else{const startLineNumber=Math.min(item1.startLineNumber,item2.startLineNumber);const endLineNumber=Math.max(item1.endLineNumber,item2.endLineNumber);result.push(new Range(startLineNumber,1,endLineNumber,1));i++;j++}}while(i<arr1.length){result.push(arr1[i++])}while(j<arr2.length){result.push(arr2[j++])}return result}function rangeArraysEqual(arr1,arr2){if(arr1.length!==arr2.length){return false}for(let i=0;i<arr1.length;i++){if(!arr1[i].equalsRange(arr2[i])){return false}}return true}var USE_IDENTITY_LINES_COLLECTION,ViewModel,ViewportStart,OverviewRulerDecorations,HiddenAreasModel,StableViewport;var init_viewModelImpl=__esm({"node_modules/monaco-editor/esm/vs/editor/common/viewModel/viewModelImpl.js"(){init_arrays();init_async();init_color();init_lifecycle();init_platform();init_strings();init_editorOptions();init_cursor();init_cursorCommon();init_position();init_range();init_textModelEvents();init_languages();init_modesRegistry();init_textToHtmlTokenizer();init_viewEvents();init_viewLayout();init_minimapTokensColorTracker();init_viewModel();init_viewModelDecorations();init_viewModelEventDispatcher();init_viewModelLines();USE_IDENTITY_LINES_COLLECTION=true;ViewModel=class extends Disposable{constructor(editorId,configuration,model,domLineBreaksComputerFactory,monospaceLineBreaksComputerFactory,scheduleAtNextAnimationFrame2,languageConfigurationService,_themeService,_attachedView){super();this.languageConfigurationService=languageConfigurationService;this._themeService=_themeService;this._attachedView=_attachedView;this.hiddenAreasModel=new HiddenAreasModel;this.previousHiddenAreas=[];this._editorId=editorId;this._configuration=configuration;this.model=model;this._eventDispatcher=new ViewModelEventDispatcher;this.onEvent=this._eventDispatcher.onEvent;this.cursorConfig=new CursorConfiguration(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService);this._updateConfigurationViewLineCount=this._register(new RunOnceScheduler((()=>this._updateConfigurationViewLineCountNow()),0));this._hasFocus=false;this._viewportStart=ViewportStart.create(this.model);if(USE_IDENTITY_LINES_COLLECTION&&this.model.isTooLargeForTokenization()){this._lines=new ViewModelLinesFromModelAsIs(this.model)}else{const options2=this._configuration.options;const fontInfo=options2.get(49);const wrappingStrategy=options2.get(136);const wrappingInfo=options2.get(143);const wrappingIndent=options2.get(135);const wordBreak=options2.get(127);this._lines=new ViewModelLinesFromProjectedModel(this._editorId,this.model,domLineBreaksComputerFactory,monospaceLineBreaksComputerFactory,fontInfo,this.model.getOptions().tabSize,wrappingStrategy,wrappingInfo.wrappingColumn,wrappingIndent,wordBreak)}this.coordinatesConverter=this._lines.createCoordinatesConverter();this._cursor=this._register(new CursorsController(model,this,this.coordinatesConverter,this.cursorConfig));this.viewLayout=this._register(new ViewLayout(this._configuration,this.getLineCount(),scheduleAtNextAnimationFrame2));this._register(this.viewLayout.onDidScroll((e=>{if(e.scrollTopChanged){this._handleVisibleLinesChanged()}if(e.scrollTopChanged){this._viewportStart.invalidate()}this._eventDispatcher.emitSingleViewEvent(new ViewScrollChangedEvent(e));this._eventDispatcher.emitOutgoingEvent(new ScrollChangedEvent(e.oldScrollWidth,e.oldScrollLeft,e.oldScrollHeight,e.oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop))})));this._register(this.viewLayout.onDidContentSizeChange((e=>{this._eventDispatcher.emitOutgoingEvent(e)})));this._decorations=new ViewModelDecorations(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter);this._registerModelEvents();this._register(this._configuration.onDidChangeFast((e=>{try{const eventsCollector=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(eventsCollector,e)}finally{this._eventDispatcher.endEmitViewEvents()}})));this._register(MinimapTokensColorTracker.getInstance().onDidChange((()=>{this._eventDispatcher.emitSingleViewEvent(new ViewTokensColorsChangedEvent)})));this._register(this._themeService.onDidColorThemeChange((theme=>{this._invalidateDecorationsColorCache();this._eventDispatcher.emitSingleViewEvent(new ViewThemeChangedEvent(theme))})));this._updateConfigurationViewLineCountNow()}dispose(){super.dispose();this._decorations.dispose();this._lines.dispose();this._viewportStart.dispose();this._eventDispatcher.dispose()}createLineBreaksComputer(){return this._lines.createLineBreaksComputer()}addViewEventHandler(eventHandler){this._eventDispatcher.addViewEventHandler(eventHandler)}removeViewEventHandler(eventHandler){this._eventDispatcher.removeViewEventHandler(eventHandler)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}getModelVisibleRanges(){const linesViewportData=this.viewLayout.getLinesViewportData();const viewVisibleRange=new Range(linesViewportData.startLineNumber,this.getLineMinColumn(linesViewportData.startLineNumber),linesViewportData.endLineNumber,this.getLineMaxColumn(linesViewportData.endLineNumber));const modelVisibleRanges=this._toModelVisibleRanges(viewVisibleRange);return modelVisibleRanges}visibleLinesStabilized(){const modelVisibleRanges=this.getModelVisibleRanges();this._attachedView.setVisibleLines(modelVisibleRanges,true)}_handleVisibleLinesChanged(){const modelVisibleRanges=this.getModelVisibleRanges();this._attachedView.setVisibleLines(modelVisibleRanges,false)}setHasFocus(hasFocus){this._hasFocus=hasFocus;this._cursor.setHasFocus(hasFocus);this._eventDispatcher.emitSingleViewEvent(new ViewFocusChangedEvent(hasFocus));this._eventDispatcher.emitOutgoingEvent(new FocusChangedEvent(!hasFocus,hasFocus))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new ViewCompositionStartEvent)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new ViewCompositionEndEvent)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){const previousViewportStartViewPosition=new Position(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber));const previousViewportStartModelPosition=this.coordinatesConverter.convertViewPositionToModelPosition(previousViewportStartViewPosition);return new StableViewport(previousViewportStartModelPosition,this._viewportStart.startLineDelta)}return new StableViewport(null,0)}_onConfigurationChanged(eventsCollector,e){const stableViewport=this._captureStableViewport();const options2=this._configuration.options;const fontInfo=options2.get(49);const wrappingStrategy=options2.get(136);const wrappingInfo=options2.get(143);const wrappingIndent=options2.get(135);const wordBreak=options2.get(127);if(this._lines.setWrappingSettings(fontInfo,wrappingStrategy,wrappingInfo.wrappingColumn,wrappingIndent,wordBreak)){eventsCollector.emitViewEvent(new ViewFlushedEvent);eventsCollector.emitViewEvent(new ViewLineMappingChangedEvent);eventsCollector.emitViewEvent(new ViewDecorationsChangedEvent(null));this._cursor.onLineMappingChanged(eventsCollector);this._decorations.onLineMappingChanged();this.viewLayout.onFlushed(this.getLineCount());this._updateConfigurationViewLineCount.schedule()}if(e.hasChanged(89)){this._decorations.reset();eventsCollector.emitViewEvent(new ViewDecorationsChangedEvent(null))}eventsCollector.emitViewEvent(new ViewConfigurationChangedEvent(e));this.viewLayout.onConfigurationChanged(e);stableViewport.recoverViewportStart(this.coordinatesConverter,this.viewLayout);if(CursorConfiguration.shouldRecreate(e)){this.cursorConfig=new CursorConfiguration(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService);this._cursor.updateConfiguration(this.cursorConfig)}}_registerModelEvents(){this._register(this.model.onDidChangeContentOrInjectedText((e=>{try{const eventsCollector=this._eventDispatcher.beginEmitViewEvents();let hadOtherModelChange=false;let hadModelLineChangeThatChangedLineMapping=false;const changes=e instanceof InternalModelContentChangeEvent?e.rawContentChangedEvent.changes:e.changes;const versionId=e instanceof InternalModelContentChangeEvent?e.rawContentChangedEvent.versionId:null;const lineBreaksComputer=this._lines.createLineBreaksComputer();for(const change of changes){switch(change.changeType){case 4:{for(let lineIdx=0;lineIdx<change.detail.length;lineIdx++){const line=change.detail[lineIdx];let injectedText=change.injectedTexts[lineIdx];if(injectedText){injectedText=injectedText.filter((element=>!element.ownerId||element.ownerId===this._editorId))}lineBreaksComputer.addRequest(line,injectedText,null)}break}case 2:{let injectedText=null;if(change.injectedText){injectedText=change.injectedText.filter((element=>!element.ownerId||element.ownerId===this._editorId))}lineBreaksComputer.addRequest(change.detail,injectedText,null);break}}}const lineBreaks=lineBreaksComputer.finalize();const lineBreakQueue=new ArrayQueue(lineBreaks);for(const change of changes){switch(change.changeType){case 1:{this._lines.onModelFlushed();eventsCollector.emitViewEvent(new ViewFlushedEvent);this._decorations.reset();this.viewLayout.onFlushed(this.getLineCount());hadOtherModelChange=true;break}case 3:{const linesDeletedEvent=this._lines.onModelLinesDeleted(versionId,change.fromLineNumber,change.toLineNumber);if(linesDeletedEvent!==null){eventsCollector.emitViewEvent(linesDeletedEvent);this.viewLayout.onLinesDeleted(linesDeletedEvent.fromLineNumber,linesDeletedEvent.toLineNumber)}hadOtherModelChange=true;break}case 4:{const insertedLineBreaks=lineBreakQueue.takeCount(change.detail.length);const linesInsertedEvent=this._lines.onModelLinesInserted(versionId,change.fromLineNumber,change.toLineNumber,insertedLineBreaks);if(linesInsertedEvent!==null){eventsCollector.emitViewEvent(linesInsertedEvent);this.viewLayout.onLinesInserted(linesInsertedEvent.fromLineNumber,linesInsertedEvent.toLineNumber)}hadOtherModelChange=true;break}case 2:{const changedLineBreakData=lineBreakQueue.dequeue();const[lineMappingChanged,linesChangedEvent,linesInsertedEvent,linesDeletedEvent]=this._lines.onModelLineChanged(versionId,change.lineNumber,changedLineBreakData);hadModelLineChangeThatChangedLineMapping=lineMappingChanged;if(linesChangedEvent){eventsCollector.emitViewEvent(linesChangedEvent)}if(linesInsertedEvent){eventsCollector.emitViewEvent(linesInsertedEvent);this.viewLayout.onLinesInserted(linesInsertedEvent.fromLineNumber,linesInsertedEvent.toLineNumber)}if(linesDeletedEvent){eventsCollector.emitViewEvent(linesDeletedEvent);this.viewLayout.onLinesDeleted(linesDeletedEvent.fromLineNumber,linesDeletedEvent.toLineNumber)}break}case 5:{break}}}if(versionId!==null){this._lines.acceptVersionId(versionId)}this.viewLayout.onHeightMaybeChanged();if(!hadOtherModelChange&&hadModelLineChangeThatChangedLineMapping){eventsCollector.emitViewEvent(new ViewLineMappingChangedEvent);eventsCollector.emitViewEvent(new ViewDecorationsChangedEvent(null));this._cursor.onLineMappingChanged(eventsCollector);this._decorations.onLineMappingChanged()}}finally{this._eventDispatcher.endEmitViewEvents()}const viewportStartWasValid=this._viewportStart.isValid;this._viewportStart.invalidate();this._configuration.setModelLineCount(this.model.getLineCount());this._updateConfigurationViewLineCountNow();if(!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&viewportStartWasValid){const modelRange=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(modelRange){const viewPosition=this.coordinatesConverter.convertModelPositionToViewPosition(modelRange.getStartPosition());const viewPositionTop=this.viewLayout.getVerticalOffsetForLineNumber(viewPosition.lineNumber);this.viewLayout.setScrollPosition({scrollTop:viewPositionTop+this._viewportStart.startLineDelta},1)}}try{const eventsCollector=this._eventDispatcher.beginEmitViewEvents();if(e instanceof InternalModelContentChangeEvent){eventsCollector.emitOutgoingEvent(new ModelContentChangedEvent(e.contentChangedEvent))}this._cursor.onModelContentChanged(eventsCollector,e)}finally{this._eventDispatcher.endEmitViewEvents()}this._handleVisibleLinesChanged()})));this._register(this.model.onDidChangeTokens((e=>{const viewRanges=[];for(let j=0,lenJ=e.ranges.length;j<lenJ;j++){const modelRange=e.ranges[j];const viewStartLineNumber=this.coordinatesConverter.convertModelPositionToViewPosition(new Position(modelRange.fromLineNumber,1)).lineNumber;const viewEndLineNumber=this.coordinatesConverter.convertModelPositionToViewPosition(new Position(modelRange.toLineNumber,this.model.getLineMaxColumn(modelRange.toLineNumber))).lineNumber;viewRanges[j]={fromLineNumber:viewStartLineNumber,toLineNumber:viewEndLineNumber}}this._eventDispatcher.emitSingleViewEvent(new ViewTokensChangedEvent(viewRanges));this._eventDispatcher.emitOutgoingEvent(new ModelTokensChangedEvent(e))})));this._register(this.model.onDidChangeLanguageConfiguration((e=>{this._eventDispatcher.emitSingleViewEvent(new ViewLanguageConfigurationEvent);this.cursorConfig=new CursorConfiguration(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService);this._cursor.updateConfiguration(this.cursorConfig);this._eventDispatcher.emitOutgoingEvent(new ModelLanguageConfigurationChangedEvent(e))})));this._register(this.model.onDidChangeLanguage((e=>{this.cursorConfig=new CursorConfiguration(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService);this._cursor.updateConfiguration(this.cursorConfig);this._eventDispatcher.emitOutgoingEvent(new ModelLanguageChangedEvent(e))})));this._register(this.model.onDidChangeOptions((e=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{const eventsCollector=this._eventDispatcher.beginEmitViewEvents();eventsCollector.emitViewEvent(new ViewFlushedEvent);eventsCollector.emitViewEvent(new ViewLineMappingChangedEvent);eventsCollector.emitViewEvent(new ViewDecorationsChangedEvent(null));this._cursor.onLineMappingChanged(eventsCollector);this._decorations.onLineMappingChanged();this.viewLayout.onFlushed(this.getLineCount())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new CursorConfiguration(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService);this._cursor.updateConfiguration(this.cursorConfig);this._eventDispatcher.emitOutgoingEvent(new ModelOptionsChangedEvent(e))})));this._register(this.model.onDidChangeDecorations((e=>{this._decorations.onModelDecorationsChanged();this._eventDispatcher.emitSingleViewEvent(new ViewDecorationsChangedEvent(e));this._eventDispatcher.emitOutgoingEvent(new ModelDecorationsChangedEvent(e))})))}setHiddenAreas(ranges,source){this.hiddenAreasModel.setHiddenAreas(source,ranges);const mergedRanges=this.hiddenAreasModel.getMergedRanges();if(mergedRanges===this.previousHiddenAreas){return}this.previousHiddenAreas=mergedRanges;const stableViewport=this._captureStableViewport();let lineMappingChanged=false;try{const eventsCollector=this._eventDispatcher.beginEmitViewEvents();lineMappingChanged=this._lines.setHiddenAreas(mergedRanges);if(lineMappingChanged){eventsCollector.emitViewEvent(new ViewFlushedEvent);eventsCollector.emitViewEvent(new ViewLineMappingChangedEvent);eventsCollector.emitViewEvent(new ViewDecorationsChangedEvent(null));this._cursor.onLineMappingChanged(eventsCollector);this._decorations.onLineMappingChanged();this.viewLayout.onFlushed(this.getLineCount());this.viewLayout.onHeightMaybeChanged()}stableViewport.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule();if(lineMappingChanged){this._eventDispatcher.emitOutgoingEvent(new HiddenAreasChangedEvent)}}getVisibleRangesPlusViewportAboveBelow(){const layoutInfo=this._configuration.options.get(142);const lineHeight=this._configuration.options.get(65);const linesAround=Math.max(20,Math.round(layoutInfo.height/lineHeight));const partialData=this.viewLayout.getLinesViewportData();const startViewLineNumber=Math.max(1,partialData.completelyVisibleStartLineNumber-linesAround);const endViewLineNumber=Math.min(this.getLineCount(),partialData.completelyVisibleEndLineNumber+linesAround);return this._toModelVisibleRanges(new Range(startViewLineNumber,this.getLineMinColumn(startViewLineNumber),endViewLineNumber,this.getLineMaxColumn(endViewLineNumber)))}getVisibleRanges(){const visibleViewRange=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(visibleViewRange)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(visibleViewRange){const visibleRange=this.coordinatesConverter.convertViewRangeToModelRange(visibleViewRange);const hiddenAreas=this._lines.getHiddenAreas();if(hiddenAreas.length===0){return[visibleRange]}const result=[];let resultLen=0;let startLineNumber=visibleRange.startLineNumber;let startColumn=visibleRange.startColumn;const endLineNumber=visibleRange.endLineNumber;const endColumn=visibleRange.endColumn;for(let i=0,len=hiddenAreas.length;i<len;i++){const hiddenStartLineNumber=hiddenAreas[i].startLineNumber;const hiddenEndLineNumber=hiddenAreas[i].endLineNumber;if(hiddenEndLineNumber<startLineNumber){continue}if(hiddenStartLineNumber>endLineNumber){continue}if(startLineNumber<hiddenStartLineNumber){result[resultLen++]=new Range(startLineNumber,startColumn,hiddenStartLineNumber-1,this.model.getLineMaxColumn(hiddenStartLineNumber-1))}startLineNumber=hiddenEndLineNumber+1;startColumn=1}if(startLineNumber<endLineNumber||startLineNumber===endLineNumber&&startColumn<endColumn){result[resultLen++]=new Range(startLineNumber,startColumn,endLineNumber,endColumn)}return result}getCompletelyVisibleViewRange(){const partialData=this.viewLayout.getLinesViewportData();const startViewLineNumber=partialData.completelyVisibleStartLineNumber;const endViewLineNumber=partialData.completelyVisibleEndLineNumber;return new Range(startViewLineNumber,this.getLineMinColumn(startViewLineNumber),endViewLineNumber,this.getLineMaxColumn(endViewLineNumber))}getCompletelyVisibleViewRangeAtScrollTop(scrollTop){const partialData=this.viewLayout.getLinesViewportDataAtScrollTop(scrollTop);const startViewLineNumber=partialData.completelyVisibleStartLineNumber;const endViewLineNumber=partialData.completelyVisibleEndLineNumber;return new Range(startViewLineNumber,this.getLineMinColumn(startViewLineNumber),endViewLineNumber,this.getLineMaxColumn(endViewLineNumber))}saveState(){const compatViewState=this.viewLayout.saveState();const scrollTop=compatViewState.scrollTop;const firstViewLineNumber=this.viewLayout.getLineNumberAtVerticalOffset(scrollTop);const firstPosition=this.coordinatesConverter.convertViewPositionToModelPosition(new Position(firstViewLineNumber,this.getLineMinColumn(firstViewLineNumber)));const firstPositionDeltaTop=this.viewLayout.getVerticalOffsetForLineNumber(firstViewLineNumber)-scrollTop;return{scrollLeft:compatViewState.scrollLeft,firstPosition:firstPosition,firstPositionDeltaTop:firstPositionDeltaTop}}reduceRestoreState(state){if(typeof state.firstPosition==="undefined"){return this._reduceRestoreStateCompatibility(state)}const modelPosition=this.model.validatePosition(state.firstPosition);const viewPosition=this.coordinatesConverter.convertModelPositionToViewPosition(modelPosition);const scrollTop=this.viewLayout.getVerticalOffsetForLineNumber(viewPosition.lineNumber)-state.firstPositionDeltaTop;return{scrollLeft:state.scrollLeft,scrollTop:scrollTop}}_reduceRestoreStateCompatibility(state){return{scrollLeft:state.scrollLeft,scrollTop:state.scrollTopWithoutViewZones}}getTabSize(){return this.model.getOptions().tabSize}getLineCount(){return this._lines.getViewLineCount()}setViewport(startLineNumber,endLineNumber,centeredLineNumber){this._viewportStart.update(this,startLineNumber)}getActiveIndentGuide(lineNumber,minLineNumber,maxLineNumber){return this._lines.getActiveIndentGuide(lineNumber,minLineNumber,maxLineNumber)}getLinesIndentGuides(startLineNumber,endLineNumber){return this._lines.getViewLinesIndentGuides(startLineNumber,endLineNumber)}getBracketGuidesInRangeByLine(startLineNumber,endLineNumber,activePosition,options2){return this._lines.getViewLinesBracketGuides(startLineNumber,endLineNumber,activePosition,options2)}getLineContent(lineNumber){return this._lines.getViewLineContent(lineNumber)}getLineLength(lineNumber){return this._lines.getViewLineLength(lineNumber)}getLineMinColumn(lineNumber){return this._lines.getViewLineMinColumn(lineNumber)}getLineMaxColumn(lineNumber){return this._lines.getViewLineMaxColumn(lineNumber)}getLineFirstNonWhitespaceColumn(lineNumber){const result=firstNonWhitespaceIndex(this.getLineContent(lineNumber));if(result===-1){return 0}return result+1}getLineLastNonWhitespaceColumn(lineNumber){const result=lastNonWhitespaceIndex(this.getLineContent(lineNumber));if(result===-1){return 0}return result+2}getMinimapDecorationsInRange(range2){return this._decorations.getMinimapDecorationsInRange(range2)}getDecorationsInViewport(visibleRange){return this._decorations.getDecorationsViewportData(visibleRange).decorations}getInjectedTextAt(viewPosition){return this._lines.getInjectedTextAt(viewPosition)}getViewportViewLineRenderingData(visibleRange,lineNumber){const allInlineDecorations=this._decorations.getDecorationsViewportData(visibleRange).inlineDecorations;const inlineDecorations=allInlineDecorations[lineNumber-visibleRange.startLineNumber];return this._getViewLineRenderingData(lineNumber,inlineDecorations)}getViewLineRenderingData(lineNumber){const inlineDecorations=this._decorations.getInlineDecorationsOnLine(lineNumber);return this._getViewLineRenderingData(lineNumber,inlineDecorations)}_getViewLineRenderingData(lineNumber,inlineDecorations){const mightContainRTL=this.model.mightContainRTL();const mightContainNonBasicASCII=this.model.mightContainNonBasicASCII();const tabSize=this.getTabSize();const lineData=this._lines.getViewLineData(lineNumber);if(lineData.inlineDecorations){inlineDecorations=[...inlineDecorations,...lineData.inlineDecorations.map((d=>d.toInlineDecoration(lineNumber)))]}return new ViewLineRenderingData(lineData.minColumn,lineData.maxColumn,lineData.content,lineData.continuesWithWrappedLine,mightContainRTL,mightContainNonBasicASCII,lineData.tokens,inlineDecorations,tabSize,lineData.startVisibleColumn)}getViewLineData(lineNumber){return this._lines.getViewLineData(lineNumber)}getMinimapLinesRenderingData(startLineNumber,endLineNumber,needed){const result=this._lines.getViewLinesData(startLineNumber,endLineNumber,needed);return new MinimapLinesRenderingData(this.getTabSize(),result)}getAllOverviewRulerDecorations(theme){const decorations=this.model.getOverviewRulerDecorations(this._editorId,filterValidationDecorations(this._configuration.options));const result=new OverviewRulerDecorations;for(const decoration2 of decorations){const decorationOptions=decoration2.options;const opts=decorationOptions.overviewRuler;if(!opts){continue}const lane=opts.position;if(lane===0){continue}const color=opts.getColor(theme.value);const viewStartLineNumber=this.coordinatesConverter.getViewLineNumberOfModelPosition(decoration2.range.startLineNumber,decoration2.range.startColumn);const viewEndLineNumber=this.coordinatesConverter.getViewLineNumberOfModelPosition(decoration2.range.endLineNumber,decoration2.range.endColumn);result.accept(color,decorationOptions.zIndex,viewStartLineNumber,viewEndLineNumber,lane)}return result.asArray}_invalidateDecorationsColorCache(){const decorations=this.model.getOverviewRulerDecorations();for(const decoration2 of decorations){const opts1=decoration2.options.overviewRuler;opts1===null||opts1===void 0?void 0:opts1.invalidateCachedColor();const opts2=decoration2.options.minimap;opts2===null||opts2===void 0?void 0:opts2.invalidateCachedColor()}}getValueInRange(range2,eol){const modelRange=this.coordinatesConverter.convertViewRangeToModelRange(range2);return this.model.getValueInRange(modelRange,eol)}getValueLengthInRange(range2,eol){const modelRange=this.coordinatesConverter.convertViewRangeToModelRange(range2);return this.model.getValueLengthInRange(modelRange,eol)}modifyPosition(position,offset){const modelPosition=this.coordinatesConverter.convertViewPositionToModelPosition(position);return this.model.modifyPosition(modelPosition,offset)}deduceModelPositionRelativeToViewPosition(viewAnchorPosition,deltaOffset,lineFeedCnt){const modelAnchor=this.coordinatesConverter.convertViewPositionToModelPosition(viewAnchorPosition);if(this.model.getEOL().length===2){if(deltaOffset<0){deltaOffset-=lineFeedCnt}else{deltaOffset+=lineFeedCnt}}const modelAnchorOffset=this.model.getOffsetAt(modelAnchor);const resultOffset=modelAnchorOffset+deltaOffset;return this.model.getPositionAt(resultOffset)}getPlainTextToCopy(modelRanges,emptySelectionClipboard,forceCRLF){const newLineCharacter=forceCRLF?"\r\n":this.model.getEOL();modelRanges=modelRanges.slice(0);modelRanges.sort(Range.compareRangesUsingStarts);let hasEmptyRange=false;let hasNonEmptyRange=false;for(const range2 of modelRanges){if(range2.isEmpty()){hasEmptyRange=true}else{hasNonEmptyRange=true}}if(!hasNonEmptyRange){if(!emptySelectionClipboard){return""}const modelLineNumbers=modelRanges.map((r=>r.startLineNumber));let result2="";for(let i=0;i<modelLineNumbers.length;i++){if(i>0&&modelLineNumbers[i-1]===modelLineNumbers[i]){continue}result2+=this.model.getLineContent(modelLineNumbers[i])+newLineCharacter}return result2}if(hasEmptyRange&&emptySelectionClipboard){const result2=[];let prevModelLineNumber=0;for(const modelRange of modelRanges){const modelLineNumber=modelRange.startLineNumber;if(modelRange.isEmpty()){if(modelLineNumber!==prevModelLineNumber){result2.push(this.model.getLineContent(modelLineNumber))}}else{result2.push(this.model.getValueInRange(modelRange,forceCRLF?2:0))}prevModelLineNumber=modelLineNumber}return result2.length===1?result2[0]:result2}const result=[];for(const modelRange of modelRanges){if(!modelRange.isEmpty()){result.push(this.model.getValueInRange(modelRange,forceCRLF?2:0))}}return result.length===1?result[0]:result}getRichTextToCopy(modelRanges,emptySelectionClipboard){const languageId=this.model.getLanguageId();if(languageId===PLAINTEXT_LANGUAGE_ID){return null}if(modelRanges.length!==1){return null}let range2=modelRanges[0];if(range2.isEmpty()){if(!emptySelectionClipboard){return null}const lineNumber=range2.startLineNumber;range2=new Range(lineNumber,this.model.getLineMinColumn(lineNumber),lineNumber,this.model.getLineMaxColumn(lineNumber))}const fontInfo=this._configuration.options.get(49);const colorMap=this._getColorMap();const hasBadChars=/[:;\\\/<>]/.test(fontInfo.fontFamily);const useDefaultFontFamily=hasBadChars||fontInfo.fontFamily===EDITOR_FONT_DEFAULTS.fontFamily;let fontFamily;if(useDefaultFontFamily){fontFamily=EDITOR_FONT_DEFAULTS.fontFamily}else{fontFamily=fontInfo.fontFamily;fontFamily=fontFamily.replace(/"/g,"'");const hasQuotesOrIsList=/[,']/.test(fontFamily);if(!hasQuotesOrIsList){const needsQuotes=/[+ ]/.test(fontFamily);if(needsQuotes){fontFamily=`'${fontFamily}'`}}fontFamily=`${fontFamily}, ${EDITOR_FONT_DEFAULTS.fontFamily}`}return{mode:languageId,html:`<div style="color: ${colorMap[1]};background-color: ${colorMap[2]};font-family: ${fontFamily};font-weight: ${fontInfo.fontWeight};font-size: ${fontInfo.fontSize}px;line-height: ${fontInfo.lineHeight}px;white-space: pre;">`+this._getHTMLToCopy(range2,colorMap)+"</div>"}}_getHTMLToCopy(modelRange,colorMap){const startLineNumber=modelRange.startLineNumber;const startColumn=modelRange.startColumn;const endLineNumber=modelRange.endLineNumber;const endColumn=modelRange.endColumn;const tabSize=this.getTabSize();let result="";for(let lineNumber=startLineNumber;lineNumber<=endLineNumber;lineNumber++){const lineTokens=this.model.tokenization.getLineTokens(lineNumber);const lineContent=lineTokens.getLineContent();const startOffset=lineNumber===startLineNumber?startColumn-1:0;const endOffset=lineNumber===endLineNumber?endColumn-1:lineContent.length;if(lineContent===""){result+="<br>"}else{result+=tokenizeLineToHTML(lineContent,lineTokens.inflate(),colorMap,startOffset,endOffset,tabSize,isWindows)}}return result}_getColorMap(){const colorMap=TokenizationRegistry2.getColorMap();const result=["#000000"];if(colorMap){for(let i=1,len=colorMap.length;i<len;i++){result[i]=Color.Format.CSS.formatHex(colorMap[i])}}return result}getPrimaryCursorState(){return this._cursor.getPrimaryCursorState()}getLastAddedCursorIndex(){return this._cursor.getLastAddedCursorIndex()}getCursorStates(){return this._cursor.getCursorStates()}setCursorStates(source,reason,states){return this._withViewEventsCollector((eventsCollector=>this._cursor.setStates(eventsCollector,source,reason,states)))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(columnSelectData){this._cursor.setCursorColumnSelectData(columnSelectData)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(type){this._cursor.setPrevEditOperationType(type)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(source,selections,reason=0){this._withViewEventsCollector((eventsCollector=>this._cursor.setSelections(eventsCollector,source,selections,reason)))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(states){this._withViewEventsCollector((eventsCollector=>this._cursor.restoreState(eventsCollector,states)))}_executeCursorEdit(callback){if(this._cursor.context.cursorConfig.readOnly){this._eventDispatcher.emitOutgoingEvent(new ReadOnlyEditAttemptEvent);return}this._withViewEventsCollector(callback)}executeEdits(source,edits,cursorStateComputer){this._executeCursorEdit((eventsCollector=>this._cursor.executeEdits(eventsCollector,source,edits,cursorStateComputer)))}startComposition(){this._executeCursorEdit((eventsCollector=>this._cursor.startComposition(eventsCollector)))}endComposition(source){this._executeCursorEdit((eventsCollector=>this._cursor.endComposition(eventsCollector,source)))}type(text2,source){this._executeCursorEdit((eventsCollector=>this._cursor.type(eventsCollector,text2,source)))}compositionType(text2,replacePrevCharCnt,replaceNextCharCnt,positionDelta,source){this._executeCursorEdit((eventsCollector=>this._cursor.compositionType(eventsCollector,text2,replacePrevCharCnt,replaceNextCharCnt,positionDelta,source)))}paste(text2,pasteOnNewLine,multicursorText,source){this._executeCursorEdit((eventsCollector=>this._cursor.paste(eventsCollector,text2,pasteOnNewLine,multicursorText,source)))}cut(source){this._executeCursorEdit((eventsCollector=>this._cursor.cut(eventsCollector,source)))}executeCommand(command,source){this._executeCursorEdit((eventsCollector=>this._cursor.executeCommand(eventsCollector,command,source)))}executeCommands(commands,source){this._executeCursorEdit((eventsCollector=>this._cursor.executeCommands(eventsCollector,commands,source)))}revealPrimaryCursor(source,revealHorizontal,minimalReveal=false){this._withViewEventsCollector((eventsCollector=>this._cursor.revealPrimary(eventsCollector,source,minimalReveal,0,revealHorizontal,0)))}revealTopMostCursor(source){const viewPosition=this._cursor.getTopMostViewPosition();const viewRange=new Range(viewPosition.lineNumber,viewPosition.column,viewPosition.lineNumber,viewPosition.column);this._withViewEventsCollector((eventsCollector=>eventsCollector.emitViewEvent(new ViewRevealRangeRequestEvent(source,false,viewRange,null,0,true,0))))}revealBottomMostCursor(source){const viewPosition=this._cursor.getBottomMostViewPosition();const viewRange=new Range(viewPosition.lineNumber,viewPosition.column,viewPosition.lineNumber,viewPosition.column);this._withViewEventsCollector((eventsCollector=>eventsCollector.emitViewEvent(new ViewRevealRangeRequestEvent(source,false,viewRange,null,0,true,0))))}revealRange(source,revealHorizontal,viewRange,verticalType,scrollType){this._withViewEventsCollector((eventsCollector=>eventsCollector.emitViewEvent(new ViewRevealRangeRequestEvent(source,false,viewRange,null,verticalType,revealHorizontal,scrollType))))}changeWhitespace(callback){const hadAChange=this.viewLayout.changeWhitespace(callback);if(hadAChange){this._eventDispatcher.emitSingleViewEvent(new ViewZonesChangedEvent);this._eventDispatcher.emitOutgoingEvent(new ViewZonesChangedEvent2)}}_withViewEventsCollector(callback){try{const eventsCollector=this._eventDispatcher.beginEmitViewEvents();return callback(eventsCollector)}finally{this._eventDispatcher.endEmitViewEvents()}}normalizePosition(position,affinity){return this._lines.normalizePosition(position,affinity)}getLineIndentColumn(lineNumber){return this._lines.getLineIndentColumn(lineNumber)}};ViewportStart=class{static create(model){const viewportStartLineTrackedRange=model._setTrackedRange(null,new Range(1,1,1,1),1);return new ViewportStart(model,1,false,viewportStartLineTrackedRange,0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}constructor(_model,_viewLineNumber,_isValid,_modelTrackedRange,_startLineDelta){this._model=_model;this._viewLineNumber=_viewLineNumber;this._isValid=_isValid;this._modelTrackedRange=_modelTrackedRange;this._startLineDelta=_startLineDelta}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(viewModel,startLineNumber){const position=viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Position(startLineNumber,viewModel.getLineMinColumn(startLineNumber)));const viewportStartLineTrackedRange=viewModel.model._setTrackedRange(this._modelTrackedRange,new Range(position.lineNumber,position.column,position.lineNumber,position.column),1);const viewportStartLineTop=viewModel.viewLayout.getVerticalOffsetForLineNumber(startLineNumber);const scrollTop=viewModel.viewLayout.getCurrentScrollTop();this._viewLineNumber=startLineNumber;this._isValid=true;this._modelTrackedRange=viewportStartLineTrackedRange;this._startLineDelta=scrollTop-viewportStartLineTop}invalidate(){this._isValid=false}};OverviewRulerDecorations=class{constructor(){this._asMap=Object.create(null);this.asArray=[]}accept(color,zIndex,startLineNumber,endLineNumber,lane){const prevGroup=this._asMap[color];if(prevGroup){const prevData=prevGroup.data;const prevLane=prevData[prevData.length-3];const prevEndLineNumber=prevData[prevData.length-1];if(prevLane===lane&&prevEndLineNumber+1>=startLineNumber){if(endLineNumber>prevEndLineNumber){prevData[prevData.length-1]=endLineNumber}return}prevData.push(lane,startLineNumber,endLineNumber)}else{const group3=new OverviewRulerDecorationsGroup(color,zIndex,[lane,startLineNumber,endLineNumber]);this._asMap[color]=group3;this.asArray.push(group3)}}};HiddenAreasModel=class{constructor(){this.hiddenAreas=new Map;this.shouldRecompute=false;this.ranges=[]}setHiddenAreas(source,ranges){const existing=this.hiddenAreas.get(source);if(existing&&rangeArraysEqual(existing,ranges)){return}this.hiddenAreas.set(source,ranges);this.shouldRecompute=true}getMergedRanges(){if(!this.shouldRecompute){return this.ranges}this.shouldRecompute=false;const newRanges=Array.from(this.hiddenAreas.values()).reduce(((r,hiddenAreas)=>mergeLineRangeArray(r,hiddenAreas)),[]);if(rangeArraysEqual(this.ranges,newRanges)){return this.ranges}this.ranges=newRanges;return this.ranges}};StableViewport=class{constructor(viewportStartModelPosition,startLineDelta){this.viewportStartModelPosition=viewportStartModelPosition;this.startLineDelta=startLineDelta}recoverViewportStart(coordinatesConverter,viewLayout){if(!this.viewportStartModelPosition){return}const viewPosition=coordinatesConverter.convertModelPositionToViewPosition(this.viewportStartModelPosition);const viewPositionTop=viewLayout.getVerticalOffsetForLineNumber(viewPosition.lineNumber);viewLayout.setScrollPosition({scrollTop:viewPositionTop+this.startLineDelta},1)}}}});var ServiceCollection;var init_serviceCollection=__esm({"node_modules/monaco-editor/esm/vs/platform/instantiation/common/serviceCollection.js"(){ServiceCollection=class{constructor(...entries2){this._entries=new Map;for(const[id,service]of entries2){this.set(id,service)}}set(id,instanceOrDescriptor){const result=this._entries.get(id);this._entries.set(id,instanceOrDescriptor);return result}get(id){return this._entries.get(id)}}}});var Severity,severity_default;var init_severity=__esm({"node_modules/monaco-editor/esm/vs/base/common/severity.js"(){init_strings();(function(Severity3){Severity3[Severity3["Ignore"]=0]="Ignore";Severity3[Severity3["Info"]=1]="Info";Severity3[Severity3["Warning"]=2]="Warning";Severity3[Severity3["Error"]=3]="Error"})(Severity||(Severity={}));(function(Severity3){const _error="error";const _warning="warning";const _warn="warn";const _info="info";const _ignore="ignore";function fromValue(value){if(!value){return Severity3.Ignore}if(equalsIgnoreCase(_error,value)){return Severity3.Error}if(equalsIgnoreCase(_warning,value)||equalsIgnoreCase(_warn,value)){return Severity3.Warning}if(equalsIgnoreCase(_info,value)){return Severity3.Info}return Severity3.Ignore}Severity3.fromValue=fromValue;function toString(severity){switch(severity){case Severity3.Error:return _error;case Severity3.Warning:return _warning;case Severity3.Info:return _info;default:return _ignore}}Severity3.toString=toString})(Severity||(Severity={}));severity_default=Severity}});var Severity2,INotificationService,NoOpNotification;var init_notification=__esm({"node_modules/monaco-editor/esm/vs/platform/notification/common/notification.js"(){init_severity();init_instantiation();Severity2=severity_default;INotificationService=createDecorator("notificationService");NoOpNotification=class{}}});function hasRightCursorStop(cursorStop){if(cursorStop===null||cursorStop===void 0){return true}return cursorStop===InjectedTextCursorStops2.Right||cursorStop===InjectedTextCursorStops2.Both}function hasLeftCursorStop(cursorStop){if(cursorStop===null||cursorStop===void 0){return true}return cursorStop===InjectedTextCursorStops2.Left||cursorStop===InjectedTextCursorStops2.Both}var ModelLineProjectionData,OutputPosition;var init_modelLineProjectionData=__esm({"node_modules/monaco-editor/esm/vs/editor/common/modelLineProjectionData.js"(){init_assert();init_position();init_model();ModelLineProjectionData=class{constructor(injectionOffsets,injectionOptions,breakOffsets,breakOffsetsVisibleColumn,wrappedTextIndentLength){this.injectionOffsets=injectionOffsets;this.injectionOptions=injectionOptions;this.breakOffsets=breakOffsets;this.breakOffsetsVisibleColumn=breakOffsetsVisibleColumn;this.wrappedTextIndentLength=wrappedTextIndentLength}getOutputLineCount(){return this.breakOffsets.length}getMinOutputOffset(outputLineIndex){if(outputLineIndex>0){return this.wrappedTextIndentLength}return 0}getLineLength(outputLineIndex){const startOffset=outputLineIndex>0?this.breakOffsets[outputLineIndex-1]:0;const endOffset=this.breakOffsets[outputLineIndex];let lineLength=endOffset-startOffset;if(outputLineIndex>0){lineLength+=this.wrappedTextIndentLength}return lineLength}getMaxOutputOffset(outputLineIndex){return this.getLineLength(outputLineIndex)}translateToInputOffset(outputLineIndex,outputOffset){if(outputLineIndex>0){outputOffset=Math.max(0,outputOffset-this.wrappedTextIndentLength)}const offsetInInputWithInjection=outputLineIndex===0?outputOffset:this.breakOffsets[outputLineIndex-1]+outputOffset;let offsetInInput=offsetInInputWithInjection;if(this.injectionOffsets!==null){for(let i=0;i<this.injectionOffsets.length;i++){if(offsetInInput>this.injectionOffsets[i]){if(offsetInInput<this.injectionOffsets[i]+this.injectionOptions[i].content.length){offsetInInput=this.injectionOffsets[i]}else{offsetInInput-=this.injectionOptions[i].content.length}}else{break}}}return offsetInInput}translateToOutputPosition(inputOffset,affinity=2){let inputOffsetInInputWithInjection=inputOffset;if(this.injectionOffsets!==null){for(let i=0;i<this.injectionOffsets.length;i++){if(inputOffset<this.injectionOffsets[i]){break}if(affinity!==1&&inputOffset===this.injectionOffsets[i]){break}inputOffsetInInputWithInjection+=this.injectionOptions[i].content.length}}return this.offsetInInputWithInjectionsToOutputPosition(inputOffsetInInputWithInjection,affinity)}offsetInInputWithInjectionsToOutputPosition(offsetInInputWithInjections,affinity=2){let low=0;let high=this.breakOffsets.length-1;let mid=0;let midStart=0;while(low<=high){mid=low+(high-low)/2|0;const midStop=this.breakOffsets[mid];midStart=mid>0?this.breakOffsets[mid-1]:0;if(affinity===0){if(offsetInInputWithInjections<=midStart){high=mid-1}else if(offsetInInputWithInjections>midStop){low=mid+1}else{break}}else{if(offsetInInputWithInjections<midStart){high=mid-1}else if(offsetInInputWithInjections>=midStop){low=mid+1}else{break}}}let outputOffset=offsetInInputWithInjections-midStart;if(mid>0){outputOffset+=this.wrappedTextIndentLength}return new OutputPosition(mid,outputOffset)}normalizeOutputPosition(outputLineIndex,outputOffset,affinity){if(this.injectionOffsets!==null){const offsetInInputWithInjections=this.outputPositionToOffsetInInputWithInjections(outputLineIndex,outputOffset);const normalizedOffsetInUnwrappedLine=this.normalizeOffsetInInputWithInjectionsAroundInjections(offsetInInputWithInjections,affinity);if(normalizedOffsetInUnwrappedLine!==offsetInInputWithInjections){return this.offsetInInputWithInjectionsToOutputPosition(normalizedOffsetInUnwrappedLine,affinity)}}if(affinity===0){if(outputLineIndex>0&&outputOffset===this.getMinOutputOffset(outputLineIndex)){return new OutputPosition(outputLineIndex-1,this.getMaxOutputOffset(outputLineIndex-1))}}else if(affinity===1){const maxOutputLineIndex=this.getOutputLineCount()-1;if(outputLineIndex<maxOutputLineIndex&&outputOffset===this.getMaxOutputOffset(outputLineIndex)){return new OutputPosition(outputLineIndex+1,this.getMinOutputOffset(outputLineIndex+1))}}return new OutputPosition(outputLineIndex,outputOffset)}outputPositionToOffsetInInputWithInjections(outputLineIndex,outputOffset){if(outputLineIndex>0){outputOffset=Math.max(0,outputOffset-this.wrappedTextIndentLength)}const result=(outputLineIndex>0?this.breakOffsets[outputLineIndex-1]:0)+outputOffset;return result}normalizeOffsetInInputWithInjectionsAroundInjections(offsetInInputWithInjections,affinity){const injectedText=this.getInjectedTextAtOffset(offsetInInputWithInjections);if(!injectedText){return offsetInInputWithInjections}if(affinity===2){if(offsetInInputWithInjections===injectedText.offsetInInputWithInjections+injectedText.length&&hasRightCursorStop(this.injectionOptions[injectedText.injectedTextIndex].cursorStops)){return injectedText.offsetInInputWithInjections+injectedText.length}else{let result=injectedText.offsetInInputWithInjections;if(hasLeftCursorStop(this.injectionOptions[injectedText.injectedTextIndex].cursorStops)){return result}let index=injectedText.injectedTextIndex-1;while(index>=0&&this.injectionOffsets[index]===this.injectionOffsets[injectedText.injectedTextIndex]){if(hasRightCursorStop(this.injectionOptions[index].cursorStops)){break}result-=this.injectionOptions[index].content.length;if(hasLeftCursorStop(this.injectionOptions[index].cursorStops)){break}index--}return result}}else if(affinity===1||affinity===4){let result=injectedText.offsetInInputWithInjections+injectedText.length;let index=injectedText.injectedTextIndex;while(index+1<this.injectionOffsets.length&&this.injectionOffsets[index+1]===this.injectionOffsets[index]){result+=this.injectionOptions[index+1].content.length;index++}return result}else if(affinity===0||affinity===3){let result=injectedText.offsetInInputWithInjections;let index=injectedText.injectedTextIndex;while(index-1>=0&&this.injectionOffsets[index-1]===this.injectionOffsets[index]){result-=this.injectionOptions[index-1].content.length;index--}return result}assertNever(affinity)}getInjectedText(outputLineIndex,outputOffset){const offset=this.outputPositionToOffsetInInputWithInjections(outputLineIndex,outputOffset);const injectedText=this.getInjectedTextAtOffset(offset);if(!injectedText){return null}return{options:this.injectionOptions[injectedText.injectedTextIndex]}}getInjectedTextAtOffset(offsetInInputWithInjections){const injectionOffsets=this.injectionOffsets;const injectionOptions=this.injectionOptions;if(injectionOffsets!==null){let totalInjectedTextLengthBefore=0;for(let i=0;i<injectionOffsets.length;i++){const length2=injectionOptions[i].content.length;const injectedTextStartOffsetInInputWithInjections=injectionOffsets[i]+totalInjectedTextLengthBefore;const injectedTextEndOffsetInInputWithInjections=injectionOffsets[i]+totalInjectedTextLengthBefore+length2;if(injectedTextStartOffsetInInputWithInjections>offsetInInputWithInjections){break}if(offsetInInputWithInjections<=injectedTextEndOffsetInInputWithInjections){return{injectedTextIndex:i,offsetInInputWithInjections:injectedTextStartOffsetInInputWithInjections,length:length2}}totalInjectedTextLengthBefore+=length2}}return void 0}};OutputPosition=class{constructor(outputLineIndex,outputOffset){this.outputLineIndex=outputLineIndex;this.outputOffset=outputOffset}toString(){return`${this.outputLineIndex}:${this.outputOffset}`}toPosition(baseLineNumber){return new Position(baseLineNumber+this.outputLineIndex,this.outputOffset+1)}}}});function createLineBreaksFromPreviousLineBreaks(classifier,previousBreakingData,lineText,tabSize,firstLineBreakColumn,columnsForFullWidthChar,wrappingIndent,wordBreak){if(firstLineBreakColumn===-1){return null}const len=lineText.length;if(len<=1){return null}const isKeepAll=wordBreak==="keepAll";const prevBreakingOffsets=previousBreakingData.breakOffsets;const prevBreakingOffsetsVisibleColumn=previousBreakingData.breakOffsetsVisibleColumn;const wrappedTextIndentLength=computeWrappedTextIndentLength(lineText,tabSize,firstLineBreakColumn,columnsForFullWidthChar,wrappingIndent);const wrappedLineBreakColumn=firstLineBreakColumn-wrappedTextIndentLength;const breakingOffsets=arrPool1;const breakingOffsetsVisibleColumn=arrPool2;let breakingOffsetsCount=0;let lastBreakingOffset=0;let lastBreakingOffsetVisibleColumn=0;let breakingColumn=firstLineBreakColumn;const prevLen=prevBreakingOffsets.length;let prevIndex=0;if(prevIndex>=0){let bestDistance=Math.abs(prevBreakingOffsetsVisibleColumn[prevIndex]-breakingColumn);while(prevIndex+1<prevLen){const distance=Math.abs(prevBreakingOffsetsVisibleColumn[prevIndex+1]-breakingColumn);if(distance>=bestDistance){break}bestDistance=distance;prevIndex++}}while(prevIndex<prevLen){let prevBreakOffset=prevIndex<0?0:prevBreakingOffsets[prevIndex];let prevBreakOffsetVisibleColumn=prevIndex<0?0:prevBreakingOffsetsVisibleColumn[prevIndex];if(lastBreakingOffset>prevBreakOffset){prevBreakOffset=lastBreakingOffset;prevBreakOffsetVisibleColumn=lastBreakingOffsetVisibleColumn}let breakOffset=0;let breakOffsetVisibleColumn=0;let forcedBreakOffset=0;let forcedBreakOffsetVisibleColumn=0;if(prevBreakOffsetVisibleColumn<=breakingColumn){let visibleColumn=prevBreakOffsetVisibleColumn;let prevCharCode=prevBreakOffset===0?0:lineText.charCodeAt(prevBreakOffset-1);let prevCharCodeClass=prevBreakOffset===0?0:classifier.get(prevCharCode);let entireLineFits=true;for(let i=prevBreakOffset;i<len;i++){const charStartOffset=i;const charCode=lineText.charCodeAt(i);let charCodeClass;let charWidth;if(isHighSurrogate(charCode)){i++;charCodeClass=0;charWidth=2}else{charCodeClass=classifier.get(charCode);charWidth=computeCharWidth(charCode,visibleColumn,tabSize,columnsForFullWidthChar)}if(charStartOffset>lastBreakingOffset&&canBreak(prevCharCode,prevCharCodeClass,charCode,charCodeClass,isKeepAll)){breakOffset=charStartOffset;breakOffsetVisibleColumn=visibleColumn}visibleColumn+=charWidth;if(visibleColumn>breakingColumn){if(charStartOffset>lastBreakingOffset){forcedBreakOffset=charStartOffset;forcedBreakOffsetVisibleColumn=visibleColumn-charWidth}else{forcedBreakOffset=i+1;forcedBreakOffsetVisibleColumn=visibleColumn}if(visibleColumn-breakOffsetVisibleColumn>wrappedLineBreakColumn){breakOffset=0}entireLineFits=false;break}prevCharCode=charCode;prevCharCodeClass=charCodeClass}if(entireLineFits){if(breakingOffsetsCount>0){breakingOffsets[breakingOffsetsCount]=prevBreakingOffsets[prevBreakingOffsets.length-1];breakingOffsetsVisibleColumn[breakingOffsetsCount]=prevBreakingOffsetsVisibleColumn[prevBreakingOffsets.length-1];breakingOffsetsCount++}break}}if(breakOffset===0){let visibleColumn=prevBreakOffsetVisibleColumn;let charCode=lineText.charCodeAt(prevBreakOffset);let charCodeClass=classifier.get(charCode);let hitATabCharacter=false;for(let i=prevBreakOffset-1;i>=lastBreakingOffset;i--){const charStartOffset=i+1;const prevCharCode=lineText.charCodeAt(i);if(prevCharCode===9){hitATabCharacter=true;break}let prevCharCodeClass;let prevCharWidth;if(isLowSurrogate(prevCharCode)){i--;prevCharCodeClass=0;prevCharWidth=2}else{prevCharCodeClass=classifier.get(prevCharCode);prevCharWidth=isFullWidthCharacter(prevCharCode)?columnsForFullWidthChar:1}if(visibleColumn<=breakingColumn){if(forcedBreakOffset===0){forcedBreakOffset=charStartOffset;forcedBreakOffsetVisibleColumn=visibleColumn}if(visibleColumn<=breakingColumn-wrappedLineBreakColumn){break}if(canBreak(prevCharCode,prevCharCodeClass,charCode,charCodeClass,isKeepAll)){breakOffset=charStartOffset;breakOffsetVisibleColumn=visibleColumn;break}}visibleColumn-=prevCharWidth;charCode=prevCharCode;charCodeClass=prevCharCodeClass}if(breakOffset!==0){const remainingWidthOfNextLine=wrappedLineBreakColumn-(forcedBreakOffsetVisibleColumn-breakOffsetVisibleColumn);if(remainingWidthOfNextLine<=tabSize){const charCodeAtForcedBreakOffset=lineText.charCodeAt(forcedBreakOffset);let charWidth;if(isHighSurrogate(charCodeAtForcedBreakOffset)){charWidth=2}else{charWidth=computeCharWidth(charCodeAtForcedBreakOffset,forcedBreakOffsetVisibleColumn,tabSize,columnsForFullWidthChar)}if(remainingWidthOfNextLine-charWidth<0){breakOffset=0}}}if(hitATabCharacter){prevIndex--;continue}}if(breakOffset===0){breakOffset=forcedBreakOffset;breakOffsetVisibleColumn=forcedBreakOffsetVisibleColumn}if(breakOffset<=lastBreakingOffset){const charCode=lineText.charCodeAt(lastBreakingOffset);if(isHighSurrogate(charCode)){breakOffset=lastBreakingOffset+2;breakOffsetVisibleColumn=lastBreakingOffsetVisibleColumn+2}else{breakOffset=lastBreakingOffset+1;breakOffsetVisibleColumn=lastBreakingOffsetVisibleColumn+computeCharWidth(charCode,lastBreakingOffsetVisibleColumn,tabSize,columnsForFullWidthChar)}}lastBreakingOffset=breakOffset;breakingOffsets[breakingOffsetsCount]=breakOffset;lastBreakingOffsetVisibleColumn=breakOffsetVisibleColumn;breakingOffsetsVisibleColumn[breakingOffsetsCount]=breakOffsetVisibleColumn;breakingOffsetsCount++;breakingColumn=breakOffsetVisibleColumn+wrappedLineBreakColumn;while(prevIndex<0||prevIndex<prevLen&&prevBreakingOffsetsVisibleColumn[prevIndex]<breakOffsetVisibleColumn){prevIndex++}let bestDistance=Math.abs(prevBreakingOffsetsVisibleColumn[prevIndex]-breakingColumn);while(prevIndex+1<prevLen){const distance=Math.abs(prevBreakingOffsetsVisibleColumn[prevIndex+1]-breakingColumn);if(distance>=bestDistance){break}bestDistance=distance;prevIndex++}}if(breakingOffsetsCount===0){return null}breakingOffsets.length=breakingOffsetsCount;breakingOffsetsVisibleColumn.length=breakingOffsetsCount;arrPool1=previousBreakingData.breakOffsets;arrPool2=previousBreakingData.breakOffsetsVisibleColumn;previousBreakingData.breakOffsets=breakingOffsets;previousBreakingData.breakOffsetsVisibleColumn=breakingOffsetsVisibleColumn;previousBreakingData.wrappedTextIndentLength=wrappedTextIndentLength;return previousBreakingData}function createLineBreaks(classifier,_lineText,injectedTexts,tabSize,firstLineBreakColumn,columnsForFullWidthChar,wrappingIndent,wordBreak){const lineText=LineInjectedText.applyInjectedText(_lineText,injectedTexts);let injectionOptions;let injectionOffsets;if(injectedTexts&&injectedTexts.length>0){injectionOptions=injectedTexts.map((t2=>t2.options));injectionOffsets=injectedTexts.map((text2=>text2.column-1))}else{injectionOptions=null;injectionOffsets=null}if(firstLineBreakColumn===-1){if(!injectionOptions){return null}return new ModelLineProjectionData(injectionOffsets,injectionOptions,[lineText.length],[],0)}const len=lineText.length;if(len<=1){if(!injectionOptions){return null}return new ModelLineProjectionData(injectionOffsets,injectionOptions,[lineText.length],[],0)}const isKeepAll=wordBreak==="keepAll";const wrappedTextIndentLength=computeWrappedTextIndentLength(lineText,tabSize,firstLineBreakColumn,columnsForFullWidthChar,wrappingIndent);const wrappedLineBreakColumn=firstLineBreakColumn-wrappedTextIndentLength;const breakingOffsets=[];const breakingOffsetsVisibleColumn=[];let breakingOffsetsCount=0;let breakOffset=0;let breakOffsetVisibleColumn=0;let breakingColumn=firstLineBreakColumn;let prevCharCode=lineText.charCodeAt(0);let prevCharCodeClass=classifier.get(prevCharCode);let visibleColumn=computeCharWidth(prevCharCode,0,tabSize,columnsForFullWidthChar);let startOffset=1;if(isHighSurrogate(prevCharCode)){visibleColumn+=1;prevCharCode=lineText.charCodeAt(1);prevCharCodeClass=classifier.get(prevCharCode);startOffset++}for(let i=startOffset;i<len;i++){const charStartOffset=i;const charCode=lineText.charCodeAt(i);let charCodeClass;let charWidth;if(isHighSurrogate(charCode)){i++;charCodeClass=0;charWidth=2}else{charCodeClass=classifier.get(charCode);charWidth=computeCharWidth(charCode,visibleColumn,tabSize,columnsForFullWidthChar)}if(canBreak(prevCharCode,prevCharCodeClass,charCode,charCodeClass,isKeepAll)){breakOffset=charStartOffset;breakOffsetVisibleColumn=visibleColumn}visibleColumn+=charWidth;if(visibleColumn>breakingColumn){if(breakOffset===0||visibleColumn-breakOffsetVisibleColumn>wrappedLineBreakColumn){breakOffset=charStartOffset;breakOffsetVisibleColumn=visibleColumn-charWidth}breakingOffsets[breakingOffsetsCount]=breakOffset;breakingOffsetsVisibleColumn[breakingOffsetsCount]=breakOffsetVisibleColumn;breakingOffsetsCount++;breakingColumn=breakOffsetVisibleColumn+wrappedLineBreakColumn;breakOffset=0}prevCharCode=charCode;prevCharCodeClass=charCodeClass}if(breakingOffsetsCount===0&&(!injectedTexts||injectedTexts.length===0)){return null}breakingOffsets[breakingOffsetsCount]=len;breakingOffsetsVisibleColumn[breakingOffsetsCount]=visibleColumn;return new ModelLineProjectionData(injectionOffsets,injectionOptions,breakingOffsets,breakingOffsetsVisibleColumn,wrappedTextIndentLength)}function computeCharWidth(charCode,visibleColumn,tabSize,columnsForFullWidthChar){if(charCode===9){return tabSize-visibleColumn%tabSize}if(isFullWidthCharacter(charCode)){return columnsForFullWidthChar}if(charCode<32){return columnsForFullWidthChar}return 1}function tabCharacterWidth(visibleColumn,tabSize){return tabSize-visibleColumn%tabSize}function canBreak(prevCharCode,prevCharCodeClass,charCode,charCodeClass,isKeepAll){return charCode!==32&&(prevCharCodeClass===2&&charCodeClass!==2||prevCharCodeClass!==1&&charCodeClass===1||!isKeepAll&&prevCharCodeClass===3&&charCodeClass!==2||!isKeepAll&&charCodeClass===3&&prevCharCodeClass!==1)}function computeWrappedTextIndentLength(lineText,tabSize,firstLineBreakColumn,columnsForFullWidthChar,wrappingIndent){let wrappedTextIndentLength=0;if(wrappingIndent!==0){const firstNonWhitespaceIndex2=firstNonWhitespaceIndex(lineText);if(firstNonWhitespaceIndex2!==-1){for(let i=0;i<firstNonWhitespaceIndex2;i++){const charWidth=lineText.charCodeAt(i)===9?tabCharacterWidth(wrappedTextIndentLength,tabSize):1;wrappedTextIndentLength+=charWidth}const numberOfAdditionalTabs=wrappingIndent===3?2:wrappingIndent===2?1:0;for(let i=0;i<numberOfAdditionalTabs;i++){const charWidth=tabCharacterWidth(wrappedTextIndentLength,tabSize);wrappedTextIndentLength+=charWidth}if(wrappedTextIndentLength+columnsForFullWidthChar>firstLineBreakColumn){wrappedTextIndentLength=0}}}return wrappedTextIndentLength}var MonospaceLineBreaksComputerFactory,WrappingCharacterClassifier,arrPool1,arrPool2;var init_monospaceLineBreaksComputer=__esm({"node_modules/monaco-editor/esm/vs/editor/common/viewModel/monospaceLineBreaksComputer.js"(){init_strings();init_characterClassifier();init_textModelEvents();init_modelLineProjectionData();MonospaceLineBreaksComputerFactory=class{static create(options2){return new MonospaceLineBreaksComputerFactory(options2.get(131),options2.get(130))}constructor(breakBeforeChars,breakAfterChars){this.classifier=new WrappingCharacterClassifier(breakBeforeChars,breakAfterChars)}createLineBreaksComputer(fontInfo,tabSize,wrappingColumn,wrappingIndent,wordBreak){const requests=[];const injectedTexts=[];const previousBreakingData=[];return{addRequest:(lineText,injectedText,previousLineBreakData)=>{requests.push(lineText);injectedTexts.push(injectedText);previousBreakingData.push(previousLineBreakData)},finalize:()=>{const columnsForFullWidthChar=fontInfo.typicalFullwidthCharacterWidth/fontInfo.typicalHalfwidthCharacterWidth;const result=[];for(let i=0,len=requests.length;i<len;i++){const injectedText=injectedTexts[i];const previousLineBreakData=previousBreakingData[i];if(previousLineBreakData&&!previousLineBreakData.injectionOptions&&!injectedText){result[i]=createLineBreaksFromPreviousLineBreaks(this.classifier,previousLineBreakData,requests[i],tabSize,wrappingColumn,columnsForFullWidthChar,wrappingIndent,wordBreak)}else{result[i]=createLineBreaks(this.classifier,requests[i],injectedText,tabSize,wrappingColumn,columnsForFullWidthChar,wrappingIndent,wordBreak)}}arrPool1.length=0;arrPool2.length=0;return result}}}};WrappingCharacterClassifier=class extends CharacterClassifier{constructor(BREAK_BEFORE,BREAK_AFTER){super(0);for(let i=0;i<BREAK_BEFORE.length;i++){this.set(BREAK_BEFORE.charCodeAt(i),1)}for(let i=0;i<BREAK_AFTER.length;i++){this.set(BREAK_AFTER.charCodeAt(i),2)}}get(charCode){if(charCode>=0&&charCode<256){return this._asciiMap[charCode]}else{if(charCode>=12352&&charCode<=12543||charCode>=13312&&charCode<=19903||charCode>=19968&&charCode<=40959){return 3}return this._map.get(charCode)||this._defaultValue}}};arrPool1=[];arrPool2=[]}});function createLineBreaks2(requests,fontInfo,tabSize,firstLineBreakColumn,wrappingIndent,wordBreak,injectedTextsPerLine){var _a6;function createEmptyLineBreakWithPossiblyInjectedText(requestIdx){const injectedTexts=injectedTextsPerLine[requestIdx];if(injectedTexts){const lineText=LineInjectedText.applyInjectedText(requests[requestIdx],injectedTexts);const injectionOptions=injectedTexts.map((t2=>t2.options));const injectionOffsets=injectedTexts.map((text2=>text2.column-1));return new ModelLineProjectionData(injectionOffsets,injectionOptions,[lineText.length],[],0)}else{return null}}if(firstLineBreakColumn===-1){const result2=[];for(let i=0,len=requests.length;i<len;i++){result2[i]=createEmptyLineBreakWithPossiblyInjectedText(i)}return result2}const overallWidth=Math.round(firstLineBreakColumn*fontInfo.typicalHalfwidthCharacterWidth);const additionalIndent=wrappingIndent===3?2:wrappingIndent===2?1:0;const additionalIndentSize=Math.round(tabSize*additionalIndent);const additionalIndentLength=Math.ceil(fontInfo.spaceWidth*additionalIndentSize);const containerDomNode=document.createElement("div");applyFontInfo(containerDomNode,fontInfo);const sb=new StringBuilder(1e4);const firstNonWhitespaceIndices=[];const wrappedTextIndentLengths=[];const renderLineContents=[];const allCharOffsets=[];const allVisibleColumns=[];for(let i=0;i<requests.length;i++){const lineContent=LineInjectedText.applyInjectedText(requests[i],injectedTextsPerLine[i]);let firstNonWhitespaceIndex2=0;let wrappedTextIndentLength=0;let width=overallWidth;if(wrappingIndent!==0){firstNonWhitespaceIndex2=firstNonWhitespaceIndex(lineContent);if(firstNonWhitespaceIndex2===-1){firstNonWhitespaceIndex2=0}else{for(let i2=0;i2<firstNonWhitespaceIndex2;i2++){const charWidth=lineContent.charCodeAt(i2)===9?tabSize-wrappedTextIndentLength%tabSize:1;wrappedTextIndentLength+=charWidth}const indentWidth=Math.ceil(fontInfo.spaceWidth*wrappedTextIndentLength);if(indentWidth+fontInfo.typicalFullwidthCharacterWidth>overallWidth){firstNonWhitespaceIndex2=0;wrappedTextIndentLength=0}else{width=overallWidth-indentWidth}}}const renderLineContent=lineContent.substr(firstNonWhitespaceIndex2);const tmp=renderLine(renderLineContent,wrappedTextIndentLength,tabSize,width,sb,additionalIndentLength);firstNonWhitespaceIndices[i]=firstNonWhitespaceIndex2;wrappedTextIndentLengths[i]=wrappedTextIndentLength;renderLineContents[i]=renderLineContent;allCharOffsets[i]=tmp[0];allVisibleColumns[i]=tmp[1]}const html2=sb.build();const trustedhtml=(_a6=ttPolicy3===null||ttPolicy3===void 0?void 0:ttPolicy3.createHTML(html2))!==null&&_a6!==void 0?_a6:html2;containerDomNode.innerHTML=trustedhtml;containerDomNode.style.position="absolute";containerDomNode.style.top="10000";if(wordBreak==="keepAll"){containerDomNode.style.wordBreak="keep-all";containerDomNode.style.overflowWrap="anywhere"}else{containerDomNode.style.wordBreak="inherit";containerDomNode.style.overflowWrap="break-word"}document.body.appendChild(containerDomNode);const range2=document.createRange();const lineDomNodes=Array.prototype.slice.call(containerDomNode.children,0);const result=[];for(let i=0;i<requests.length;i++){const lineDomNode=lineDomNodes[i];const breakOffsets=readLineBreaks(range2,lineDomNode,renderLineContents[i],allCharOffsets[i]);if(breakOffsets===null){result[i]=createEmptyLineBreakWithPossiblyInjectedText(i);continue}const firstNonWhitespaceIndex2=firstNonWhitespaceIndices[i];const wrappedTextIndentLength=wrappedTextIndentLengths[i]+additionalIndentSize;const visibleColumns=allVisibleColumns[i];const breakOffsetsVisibleColumn=[];for(let j=0,len=breakOffsets.length;j<len;j++){breakOffsetsVisibleColumn[j]=visibleColumns[breakOffsets[j]]}if(firstNonWhitespaceIndex2!==0){for(let j=0,len=breakOffsets.length;j<len;j++){breakOffsets[j]+=firstNonWhitespaceIndex2}}let injectionOptions;let injectionOffsets;const curInjectedTexts=injectedTextsPerLine[i];if(curInjectedTexts){injectionOptions=curInjectedTexts.map((t2=>t2.options));injectionOffsets=curInjectedTexts.map((text2=>text2.column-1))}else{injectionOptions=null;injectionOffsets=null}result[i]=new ModelLineProjectionData(injectionOffsets,injectionOptions,breakOffsets,breakOffsetsVisibleColumn,wrappedTextIndentLength)}document.body.removeChild(containerDomNode);return result}function renderLine(lineContent,initialVisibleColumn,tabSize,width,sb,wrappingIndentLength){if(wrappingIndentLength!==0){const hangingOffset=String(wrappingIndentLength);sb.appendString('<div style="text-indent: -');sb.appendString(hangingOffset);sb.appendString("px; padding-left: ");sb.appendString(hangingOffset);sb.appendString("px; box-sizing: border-box; width:")}else{sb.appendString('<div style="width:')}sb.appendString(String(width));sb.appendString('px;">');const len=lineContent.length;let visibleColumn=initialVisibleColumn;let charOffset=0;const charOffsets=[];const visibleColumns=[];let nextCharCode=0<len?lineContent.charCodeAt(0):0;sb.appendString("<span>");for(let charIndex=0;charIndex<len;charIndex++){if(charIndex!==0&&charIndex%16384===0){sb.appendString("</span><span>")}charOffsets[charIndex]=charOffset;visibleColumns[charIndex]=visibleColumn;const charCode=nextCharCode;nextCharCode=charIndex+1<len?lineContent.charCodeAt(charIndex+1):0;let producedCharacters=1;let charWidth=1;switch(charCode){case 9:producedCharacters=tabSize-visibleColumn%tabSize;charWidth=producedCharacters;for(let space=1;space<=producedCharacters;space++){if(space<producedCharacters){sb.appendCharCode(160)}else{sb.appendASCIICharCode(32)}}break;case 32:if(nextCharCode===32){sb.appendCharCode(160)}else{sb.appendASCIICharCode(32)}break;case 60:sb.appendString("&lt;");break;case 62:sb.appendString("&gt;");break;case 38:sb.appendString("&amp;");break;case 0:sb.appendString("&#00;");break;case 65279:case 8232:case 8233:case 133:sb.appendCharCode(65533);break;default:if(isFullWidthCharacter(charCode)){charWidth++}if(charCode<32){sb.appendCharCode(9216+charCode)}else{sb.appendCharCode(charCode)}}charOffset+=producedCharacters;visibleColumn+=charWidth}sb.appendString("</span>");charOffsets[lineContent.length]=charOffset;visibleColumns[lineContent.length]=visibleColumn;sb.appendString("</div>");return[charOffsets,visibleColumns]}function readLineBreaks(range2,lineDomNode,lineContent,charOffsets){if(lineContent.length<=1){return null}const spans=Array.prototype.slice.call(lineDomNode.children,0);const breakOffsets=[];try{discoverBreaks(range2,spans,charOffsets,0,null,lineContent.length-1,null,breakOffsets)}catch(err){console.log(err);return null}if(breakOffsets.length===0){return null}breakOffsets.push(lineContent.length);return breakOffsets}function discoverBreaks(range2,spans,charOffsets,low,lowRects,high,highRects,result){if(low===high){return}lowRects=lowRects||readClientRect(range2,spans,charOffsets[low],charOffsets[low+1]);highRects=highRects||readClientRect(range2,spans,charOffsets[high],charOffsets[high+1]);if(Math.abs(lowRects[0].top-highRects[0].top)<=.1){return}if(low+1===high){result.push(high);return}const mid=low+(high-low)/2|0;const midRects=readClientRect(range2,spans,charOffsets[mid],charOffsets[mid+1]);discoverBreaks(range2,spans,charOffsets,low,lowRects,mid,midRects,result);discoverBreaks(range2,spans,charOffsets,mid,midRects,high,highRects,result)}function readClientRect(range2,spans,startOffset,endOffset){range2.setStart(spans[startOffset/16384|0].firstChild,startOffset%16384);range2.setEnd(spans[endOffset/16384|0].firstChild,endOffset%16384);return range2.getClientRects()}var ttPolicy3,DOMLineBreaksComputerFactory;var init_domLineBreaksComputer=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/view/domLineBreaksComputer.js"(){init_trustedTypes();init_strings();init_domFontInfo();init_stringBuilder();init_modelLineProjectionData();init_textModelEvents();ttPolicy3=createTrustedTypesPolicy("domLineBreaksComputer",{createHTML:value=>value});DOMLineBreaksComputerFactory=class{static create(){return new DOMLineBreaksComputerFactory}constructor(){}createLineBreaksComputer(fontInfo,tabSize,wrappingColumn,wrappingIndent,wordBreak){const requests=[];const injectedTexts=[];return{addRequest:(lineText,injectedText,previousLineBreakData)=>{requests.push(lineText);injectedTexts.push(injectedText)},finalize:()=>createLineBreaks2(requests,fontInfo,tabSize,wrappingColumn,wrappingIndent,wordBreak,injectedTexts)}}}}});function findFocusedDiffEditor(accessor){var _a6;const codeEditorService=accessor.get(ICodeEditorService);const diffEditors=codeEditorService.listDiffEditors();const activeCodeEditor=(_a6=codeEditorService.getFocusedCodeEditor())!==null&&_a6!==void 0?_a6:codeEditorService.getActiveCodeEditor();if(!activeCodeEditor){return null}for(let i=0,len=diffEditors.length;i<len;i++){const diffEditor=diffEditors[i];if(diffEditor.getModifiedEditor().getId()===activeCodeEditor.getId()||diffEditor.getOriginalEditor().getId()===activeCodeEditor.getId()){return diffEditor}}if(document.activeElement){for(const d of diffEditors){const container=d.getContainerDomNode();if(isElementOrParentOf(container,document.activeElement)){return d}}}return null}function isElementOrParentOf(elementOrParent,element){let e=element;while(e){if(e===elementOrParent){return true}e=e.parentElement}return false}var accessibleDiffViewerCategory,AccessibleDiffViewerNext,AccessibleDiffViewerPrev;var init_diffEditor_contribution=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditor.contribution.js"(){init_codeEditorService();init_editorContextKeys();init_nls();init_actions2();init_commands();init_contextkey();accessibleDiffViewerCategory={value:localize("accessibleDiffViewer","Accessible Diff Viewer"),original:"Accessible Diff Viewer"};AccessibleDiffViewerNext=class extends Action2{constructor(){super({id:AccessibleDiffViewerNext.id,title:{value:localize("editor.action.accessibleDiffViewer.next","Go to Next Difference"),original:"Go to Next Difference"},category:accessibleDiffViewerCategory,precondition:ContextKeyExpr.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:true})}run(accessor){const diffEditor=findFocusedDiffEditor(accessor);diffEditor===null||diffEditor===void 0?void 0:diffEditor.accessibleDiffViewerNext()}};AccessibleDiffViewerNext.id="editor.action.accessibleDiffViewer.next";MenuRegistry.appendMenuItem(MenuId.EditorTitle,{command:{id:AccessibleDiffViewerNext.id,title:localize("Open Accessible Diff Viewer","Open Accessible Diff Viewer")},order:10,group:"2_diff",when:ContextKeyExpr.and(EditorContextKeys.accessibleDiffViewerVisible.negate(),ContextKeyExpr.has("isInDiffEditor"))});AccessibleDiffViewerPrev=class extends Action2{constructor(){super({id:AccessibleDiffViewerPrev.id,title:{value:localize("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),original:"Go to Previous Difference"},category:accessibleDiffViewerCategory,precondition:ContextKeyExpr.has("isInDiffEditor"),keybinding:{primary:1024|65,weight:100},f1:true})}run(accessor){const diffEditor=findFocusedDiffEditor(accessor);diffEditor===null||diffEditor===void 0?void 0:diffEditor.accessibleDiffViewerPrev()}};AccessibleDiffViewerPrev.id="editor.action.accessibleDiffViewer.prev";CommandsRegistry.registerCommandAlias("editor.action.diffReview.next",AccessibleDiffViewerNext.id);registerAction2(AccessibleDiffViewerNext);CommandsRegistry.registerCommandAlias("editor.action.diffReview.prev",AccessibleDiffViewerPrev.id);registerAction2(AccessibleDiffViewerPrev)}});var CodeEditorContributions;var init_codeEditorContributions=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/codeEditorContributions.js"(){init_async();init_errors();init_lifecycle();init_diffEditor_contribution();CodeEditorContributions=class extends Disposable{constructor(){super();this._editor=null;this._instantiationService=null;this._instances=this._register(new DisposableMap);this._pending=new Map;this._finishedInstantiation=[];this._finishedInstantiation[0]=false;this._finishedInstantiation[1]=false;this._finishedInstantiation[2]=false;this._finishedInstantiation[3]=false}initialize(editor2,contributions,instantiationService){this._editor=editor2;this._instantiationService=instantiationService;for(const desc of contributions){if(this._pending.has(desc.id)){onUnexpectedError(new Error(`Cannot have two contributions with the same id ${desc.id}`));continue}this._pending.set(desc.id,desc)}this._instantiateSome(0);this._register(runWhenIdle((()=>{this._instantiateSome(1)})));this._register(runWhenIdle((()=>{this._instantiateSome(2)})));this._register(runWhenIdle((()=>{this._instantiateSome(3)}),5e3))}saveViewState(){const contributionsState={};for(const[id,contribution]of this._instances){if(typeof contribution.saveViewState==="function"){contributionsState[id]=contribution.saveViewState()}}return contributionsState}restoreViewState(contributionsState){for(const[id,contribution]of this._instances){if(typeof contribution.restoreViewState==="function"){contribution.restoreViewState(contributionsState[id])}}}get(id){this._instantiateById(id);return this._instances.get(id)||null}onBeforeInteractionEvent(){this._instantiateSome(2)}onAfterModelAttached(){this._register(runWhenIdle((()=>{this._instantiateSome(1)}),50))}_instantiateSome(instantiation){if(this._finishedInstantiation[instantiation]){return}this._finishedInstantiation[instantiation]=true;const contribs=this._findPendingContributionsByInstantiation(instantiation);for(const contrib of contribs){this._instantiateById(contrib.id)}}_findPendingContributionsByInstantiation(instantiation){const result=[];for(const[,desc]of this._pending){if(desc.instantiation===instantiation){result.push(desc)}}return result}_instantiateById(id){const desc=this._pending.get(id);if(!desc){return}this._pending.delete(id);if(!this._instantiationService||!this._editor){throw new Error(`Cannot instantiate contributions before being initialized!`)}try{const instance=this._instantiationService.createInstance(desc.ctor,this._editor);this._instances.set(desc.id,instance);if(typeof instance.restoreViewState==="function"&&desc.instantiation!==0){console.warn(`Editor contribution '${desc.id}' should be eager instantiated because it uses saveViewState / restoreViewState.`)}}catch(err){onUnexpectedError(err)}}}}});function getSquigglySVGData(color){return squigglyStart+encodeURIComponent(color.toString())+squigglyEnd}function getDotDotDotSVGData(color){return dotdotdotStart+encodeURIComponent(color.toString())+dotdotdotEnd}var __decorate13,__param12,__awaiter8,CodeEditorWidget_1,EDITOR_ID,ModelData,CodeEditorWidget,BooleanEventEmitter,InteractionEmitter,EditorContextKeysManager,EditorModeContext,CodeEditorWidgetFocusTracker,EditorDecorationsCollection,squigglyStart,squigglyEnd,dotdotdotStart,dotdotdotEnd;var init_codeEditorWidget=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/codeEditorWidget.js"(){init_markerDecorations2();init_3();init_nls();init_dom();init_errors();init_event();init_lifecycle();init_network();init_editorConfiguration();init_editorExtensions();init_codeEditorService();init_view();init_viewUserInputEvents();init_editorOptions();init_cursorColumns();init_position();init_range();init_selection();init_editorAction();init_editorCommon();init_editorContextKeys();init_textModel();init_editorColorRegistry();init_colorRegistry();init_viewModelImpl();init_commands();init_contextkey();init_instantiation();init_serviceCollection();init_notification();init_themeService();init_accessibility();init_monospaceLineBreaksComputer();init_domLineBreaksComputer();init_cursorWordOperations();init_languageConfigurationRegistry();init_domFontInfo();init_languageFeatures();init_codeEditorContributions();init_tabFocus();__decorate13=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param12=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};__awaiter8=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};EDITOR_ID=0;ModelData=class{constructor(model,viewModel,view,hasRealView,listenersToRemove,attachedView){this.model=model;this.viewModel=viewModel;this.view=view;this.hasRealView=hasRealView;this.listenersToRemove=listenersToRemove;this.attachedView=attachedView}dispose(){dispose(this.listenersToRemove);this.model.onBeforeDetached(this.attachedView);if(this.hasRealView){this.view.dispose()}this.viewModel.dispose()}};CodeEditorWidget=CodeEditorWidget_1=class CodeEditorWidget2 extends Disposable{get isSimpleWidget(){return this._configuration.isSimpleWidget}constructor(domElement,_options,codeEditorWidgetOptions,instantiationService,codeEditorService,commandService,contextKeyService,themeService,notificationService,accessibilityService,languageConfigurationService,languageFeaturesService){var _a6;super();this.languageConfigurationService=languageConfigurationService;this._deliveryQueue=createEventDeliveryQueue();this._contributions=this._register(new CodeEditorContributions);this._onDidDispose=this._register(new Emitter);this.onDidDispose=this._onDidDispose.event;this._onDidChangeModelContent=this._register(new Emitter({deliveryQueue:this._deliveryQueue}));this.onDidChangeModelContent=this._onDidChangeModelContent.event;this._onDidChangeModelLanguage=this._register(new Emitter({deliveryQueue:this._deliveryQueue}));this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event;this._onDidChangeModelLanguageConfiguration=this._register(new Emitter({deliveryQueue:this._deliveryQueue}));this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event;this._onDidChangeModelOptions=this._register(new Emitter({deliveryQueue:this._deliveryQueue}));this.onDidChangeModelOptions=this._onDidChangeModelOptions.event;this._onDidChangeModelDecorations=this._register(new Emitter({deliveryQueue:this._deliveryQueue}));this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event;this._onDidChangeModelTokens=this._register(new Emitter({deliveryQueue:this._deliveryQueue}));this.onDidChangeModelTokens=this._onDidChangeModelTokens.event;this._onDidChangeConfiguration=this._register(new Emitter({deliveryQueue:this._deliveryQueue}));this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;this._onDidChangeModel=this._register(new Emitter({deliveryQueue:this._deliveryQueue}));this.onDidChangeModel=this._onDidChangeModel.event;this._onDidChangeCursorPosition=this._register(new Emitter({deliveryQueue:this._deliveryQueue}));this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event;this._onDidChangeCursorSelection=this._register(new Emitter({deliveryQueue:this._deliveryQueue}));this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event;this._onDidAttemptReadOnlyEdit=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue));this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event;this._onDidLayoutChange=this._register(new Emitter({deliveryQueue:this._deliveryQueue}));this.onDidLayoutChange=this._onDidLayoutChange.event;this._editorTextFocus=this._register(new BooleanEventEmitter({deliveryQueue:this._deliveryQueue}));this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue;this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse;this._editorWidgetFocus=this._register(new BooleanEventEmitter({deliveryQueue:this._deliveryQueue}));this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue;this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse;this._onWillType=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue));this.onWillType=this._onWillType.event;this._onDidType=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue));this.onDidType=this._onDidType.event;this._onDidCompositionStart=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue));this.onDidCompositionStart=this._onDidCompositionStart.event;this._onDidCompositionEnd=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue));this.onDidCompositionEnd=this._onDidCompositionEnd.event;this._onDidPaste=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue));this.onDidPaste=this._onDidPaste.event;this._onMouseUp=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue));this.onMouseUp=this._onMouseUp.event;this._onMouseDown=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue));this.onMouseDown=this._onMouseDown.event;this._onMouseDrag=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue));this.onMouseDrag=this._onMouseDrag.event;this._onMouseDrop=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue));this.onMouseDrop=this._onMouseDrop.event;this._onMouseDropCanceled=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue));this.onMouseDropCanceled=this._onMouseDropCanceled.event;this._onDropIntoEditor=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue));this.onDropIntoEditor=this._onDropIntoEditor.event;this._onContextMenu=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue));this.onContextMenu=this._onContextMenu.event;this._onMouseMove=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue));this.onMouseMove=this._onMouseMove.event;this._onMouseLeave=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue));this.onMouseLeave=this._onMouseLeave.event;this._onMouseWheel=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue));this.onMouseWheel=this._onMouseWheel.event;this._onKeyUp=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue));this.onKeyUp=this._onKeyUp.event;this._onKeyDown=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue));this.onKeyDown=this._onKeyDown.event;this._onDidContentSizeChange=this._register(new Emitter({deliveryQueue:this._deliveryQueue}));this.onDidContentSizeChange=this._onDidContentSizeChange.event;this._onDidScrollChange=this._register(new Emitter({deliveryQueue:this._deliveryQueue}));this.onDidScrollChange=this._onDidScrollChange.event;this._onDidChangeViewZones=this._register(new Emitter({deliveryQueue:this._deliveryQueue}));this.onDidChangeViewZones=this._onDidChangeViewZones.event;this._onDidChangeHiddenAreas=this._register(new Emitter({deliveryQueue:this._deliveryQueue}));this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event;this._actions=new Map;this._bannerDomNode=null;this._dropIntoEditorDecorations=this.createDecorationsCollection();codeEditorService.willCreateCodeEditor();const options2=Object.assign({},_options);this._domElement=domElement;this._overflowWidgetsDomNode=options2.overflowWidgetsDomNode;delete options2.overflowWidgetsDomNode;this._id=++EDITOR_ID;this._decorationTypeKeysToIds={};this._decorationTypeSubtypes={};this._telemetryData=codeEditorWidgetOptions.telemetryData;this._configuration=this._register(this._createConfiguration(codeEditorWidgetOptions.isSimpleWidget||false,options2,accessibilityService));this._register(this._configuration.onDidChange((e=>{this._onDidChangeConfiguration.fire(e);const options3=this._configuration.options;if(e.hasChanged(142)){const layoutInfo=options3.get(142);this._onDidLayoutChange.fire(layoutInfo)}})));this._contextKeyService=this._register(contextKeyService.createScoped(this._domElement));this._notificationService=notificationService;this._codeEditorService=codeEditorService;this._commandService=commandService;this._themeService=themeService;this._register(new EditorContextKeysManager(this,this._contextKeyService));this._register(new EditorModeContext(this,this._contextKeyService,languageFeaturesService));this._instantiationService=instantiationService.createChild(new ServiceCollection([IContextKeyService,this._contextKeyService]));this._modelData=null;this._focusTracker=new CodeEditorWidgetFocusTracker(domElement);this._register(this._focusTracker.onChange((()=>{this._editorWidgetFocus.setValue(this._focusTracker.hasFocus())})));this._contentWidgets={};this._overlayWidgets={};this._glyphMarginWidgets={};let contributions;if(Array.isArray(codeEditorWidgetOptions.contributions)){contributions=codeEditorWidgetOptions.contributions}else{contributions=EditorExtensionsRegistry.getEditorContributions()}this._contributions.initialize(this,contributions,this._instantiationService);for(const action of EditorExtensionsRegistry.getEditorActions()){if(this._actions.has(action.id)){onUnexpectedError(new Error(`Cannot have two actions with the same id ${action.id}`));continue}const internalAction=new InternalEditorAction(action.id,action.label,action.alias,(_a6=action.precondition)!==null&&_a6!==void 0?_a6:void 0,(()=>this._instantiationService.invokeFunction((accessor=>Promise.resolve(action.runEditorCommand(accessor,this,null))))),this._contextKeyService);this._actions.set(internalAction.id,internalAction)}const isDropIntoEnabled=()=>!this._configuration.options.get(89)&&this._configuration.options.get(35).enabled;this._register(new DragAndDropObserver(this._domElement,{onDragEnter:()=>void 0,onDragOver:e=>{if(!isDropIntoEnabled()){return}const target=this.getTargetAtClientPoint(e.clientX,e.clientY);if(target===null||target===void 0?void 0:target.position){this.showDropIndicatorAt(target.position)}},onDrop:e=>__awaiter8(this,void 0,void 0,(function*(){if(!isDropIntoEnabled()){return}this.removeDropIndicator();if(!e.dataTransfer){return}const target=this.getTargetAtClientPoint(e.clientX,e.clientY);if(target===null||target===void 0?void 0:target.position){this._onDropIntoEditor.fire({position:target.position,event:e})}})),onDragLeave:()=>{this.removeDropIndicator()},onDragEnd:()=>{this.removeDropIndicator()}}));this._codeEditorService.addCodeEditor(this)}writeScreenReaderContent(reason){var _a6;(_a6=this._modelData)===null||_a6===void 0?void 0:_a6.view.writeScreenReaderContent(reason)}_createConfiguration(isSimpleWidget,options2,accessibilityService){return new EditorConfiguration(isSimpleWidget,options2,this._domElement,accessibilityService)}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return EditorType.ICodeEditor}dispose(){this._codeEditorService.removeCodeEditor(this);this._focusTracker.dispose();this._actions.clear();this._contentWidgets={};this._overlayWidgets={};this._removeDecorationTypes();this._postDetachModelCleanup(this._detachModel());this._onDidDispose.fire();super.dispose()}invokeWithinContext(fn){return this._instantiationService.invokeFunction(fn)}updateOptions(newOptions){this._configuration.updateOptions(newOptions||{})}getOptions(){return this._configuration.options}getOption(id){return this._configuration.options.get(id)}getRawOptions(){return this._configuration.getRawOptions()}getOverflowWidgetsDomNode(){return this._overflowWidgetsDomNode}getConfiguredWordAtPosition(position){if(!this._modelData){return null}return WordOperations.getWordAtPosition(this._modelData.model,this._configuration.options.get(128),position)}getValue(options2=null){if(!this._modelData){return""}const preserveBOM=options2&&options2.preserveBOM?true:false;let eolPreference=0;if(options2&&options2.lineEnding&&options2.lineEnding==="\n"){eolPreference=1}else if(options2&&options2.lineEnding&&options2.lineEnding==="\r\n"){eolPreference=2}return this._modelData.model.getValue(eolPreference,preserveBOM)}setValue(newValue){if(!this._modelData){return}this._modelData.model.setValue(newValue)}getModel(){if(!this._modelData){return null}return this._modelData.model}setModel(_model=null){const model=_model;if(this._modelData===null&&model===null){return}if(this._modelData&&this._modelData.model===model){return}const hasTextFocus=this.hasTextFocus();const detachedModel=this._detachModel();this._attachModel(model);if(hasTextFocus&&this.hasModel()){this.focus()}const e={oldModelUrl:detachedModel?detachedModel.uri:null,newModelUrl:model?model.uri:null};this._removeDecorationTypes();this._onDidChangeModel.fire(e);this._postDetachModelCleanup(detachedModel);this._contributions.onAfterModelAttached()}_removeDecorationTypes(){this._decorationTypeKeysToIds={};if(this._decorationTypeSubtypes){for(const decorationType in this._decorationTypeSubtypes){const subTypes=this._decorationTypeSubtypes[decorationType];for(const subType in subTypes){this._removeDecorationType(decorationType+"-"+subType)}}this._decorationTypeSubtypes={}}}getVisibleRanges(){if(!this._modelData){return[]}return this._modelData.viewModel.getVisibleRanges()}getVisibleRangesPlusViewportAboveBelow(){if(!this._modelData){return[]}return this._modelData.viewModel.getVisibleRangesPlusViewportAboveBelow()}getWhitespaces(){if(!this._modelData){return[]}return this._modelData.viewModel.viewLayout.getWhitespaces()}static _getVerticalOffsetAfterPosition(modelData,modelLineNumber,modelColumn,includeViewZones){const modelPosition=modelData.model.validatePosition({lineNumber:modelLineNumber,column:modelColumn});const viewPosition=modelData.viewModel.coordinatesConverter.convertModelPositionToViewPosition(modelPosition);return modelData.viewModel.viewLayout.getVerticalOffsetAfterLineNumber(viewPosition.lineNumber,includeViewZones)}getTopForLineNumber(lineNumber,includeViewZones=false){if(!this._modelData){return-1}return CodeEditorWidget_1._getVerticalOffsetForPosition(this._modelData,lineNumber,1,includeViewZones)}getTopForPosition(lineNumber,column){if(!this._modelData){return-1}return CodeEditorWidget_1._getVerticalOffsetForPosition(this._modelData,lineNumber,column,false)}static _getVerticalOffsetForPosition(modelData,modelLineNumber,modelColumn,includeViewZones=false){const modelPosition=modelData.model.validatePosition({lineNumber:modelLineNumber,column:modelColumn});const viewPosition=modelData.viewModel.coordinatesConverter.convertModelPositionToViewPosition(modelPosition);return modelData.viewModel.viewLayout.getVerticalOffsetForLineNumber(viewPosition.lineNumber,includeViewZones)}getBottomForLineNumber(lineNumber,includeViewZones=false){if(!this._modelData){return-1}return CodeEditorWidget_1._getVerticalOffsetAfterPosition(this._modelData,lineNumber,1,includeViewZones)}setHiddenAreas(ranges,source){var _a6;(_a6=this._modelData)===null||_a6===void 0?void 0:_a6.viewModel.setHiddenAreas(ranges.map((r=>Range.lift(r))),source)}getVisibleColumnFromPosition(rawPosition){if(!this._modelData){return rawPosition.column}const position=this._modelData.model.validatePosition(rawPosition);const tabSize=this._modelData.model.getOptions().tabSize;return CursorColumns.visibleColumnFromColumn(this._modelData.model.getLineContent(position.lineNumber),position.column,tabSize)+1}getPosition(){if(!this._modelData){return null}return this._modelData.viewModel.getPosition()}setPosition(position,source="api"){if(!this._modelData){return}if(!Position.isIPosition(position)){throw new Error("Invalid arguments")}this._modelData.viewModel.setSelections(source,[{selectionStartLineNumber:position.lineNumber,selectionStartColumn:position.column,positionLineNumber:position.lineNumber,positionColumn:position.column}])}_sendRevealRange(modelRange,verticalType,revealHorizontal,scrollType){if(!this._modelData){return}if(!Range.isIRange(modelRange)){throw new Error("Invalid arguments")}const validatedModelRange=this._modelData.model.validateRange(modelRange);const viewRange=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(validatedModelRange);this._modelData.viewModel.revealRange("api",revealHorizontal,viewRange,verticalType,scrollType)}revealLine(lineNumber,scrollType=0){this._revealLine(lineNumber,0,scrollType)}revealLineInCenter(lineNumber,scrollType=0){this._revealLine(lineNumber,1,scrollType)}revealLineInCenterIfOutsideViewport(lineNumber,scrollType=0){this._revealLine(lineNumber,2,scrollType)}revealLineNearTop(lineNumber,scrollType=0){this._revealLine(lineNumber,5,scrollType)}_revealLine(lineNumber,revealType,scrollType){if(typeof lineNumber!=="number"){throw new Error("Invalid arguments")}this._sendRevealRange(new Range(lineNumber,1,lineNumber,1),revealType,false,scrollType)}revealPosition(position,scrollType=0){this._revealPosition(position,0,true,scrollType)}revealPositionInCenter(position,scrollType=0){this._revealPosition(position,1,true,scrollType)}revealPositionInCenterIfOutsideViewport(position,scrollType=0){this._revealPosition(position,2,true,scrollType)}revealPositionNearTop(position,scrollType=0){this._revealPosition(position,5,true,scrollType)}_revealPosition(position,verticalType,revealHorizontal,scrollType){if(!Position.isIPosition(position)){throw new Error("Invalid arguments")}this._sendRevealRange(new Range(position.lineNumber,position.column,position.lineNumber,position.column),verticalType,revealHorizontal,scrollType)}getSelection(){if(!this._modelData){return null}return this._modelData.viewModel.getSelection()}getSelections(){if(!this._modelData){return null}return this._modelData.viewModel.getSelections()}setSelection(something,source="api"){const isSelection=Selection.isISelection(something);const isRange=Range.isIRange(something);if(!isSelection&&!isRange){throw new Error("Invalid arguments")}if(isSelection){this._setSelectionImpl(something,source)}else if(isRange){const selection={selectionStartLineNumber:something.startLineNumber,selectionStartColumn:something.startColumn,positionLineNumber:something.endLineNumber,positionColumn:something.endColumn};this._setSelectionImpl(selection,source)}}_setSelectionImpl(sel,source){if(!this._modelData){return}const selection=new Selection(sel.selectionStartLineNumber,sel.selectionStartColumn,sel.positionLineNumber,sel.positionColumn);this._modelData.viewModel.setSelections(source,[selection])}revealLines(startLineNumber,endLineNumber,scrollType=0){this._revealLines(startLineNumber,endLineNumber,0,scrollType)}revealLinesInCenter(startLineNumber,endLineNumber,scrollType=0){this._revealLines(startLineNumber,endLineNumber,1,scrollType)}revealLinesInCenterIfOutsideViewport(startLineNumber,endLineNumber,scrollType=0){this._revealLines(startLineNumber,endLineNumber,2,scrollType)}revealLinesNearTop(startLineNumber,endLineNumber,scrollType=0){this._revealLines(startLineNumber,endLineNumber,5,scrollType)}_revealLines(startLineNumber,endLineNumber,verticalType,scrollType){if(typeof startLineNumber!=="number"||typeof endLineNumber!=="number"){throw new Error("Invalid arguments")}this._sendRevealRange(new Range(startLineNumber,1,endLineNumber,1),verticalType,false,scrollType)}revealRange(range2,scrollType=0,revealVerticalInCenter=false,revealHorizontal=true){this._revealRange(range2,revealVerticalInCenter?1:0,revealHorizontal,scrollType)}revealRangeInCenter(range2,scrollType=0){this._revealRange(range2,1,true,scrollType)}revealRangeInCenterIfOutsideViewport(range2,scrollType=0){this._revealRange(range2,2,true,scrollType)}revealRangeNearTop(range2,scrollType=0){this._revealRange(range2,5,true,scrollType)}revealRangeNearTopIfOutsideViewport(range2,scrollType=0){this._revealRange(range2,6,true,scrollType)}revealRangeAtTop(range2,scrollType=0){this._revealRange(range2,3,true,scrollType)}_revealRange(range2,verticalType,revealHorizontal,scrollType){if(!Range.isIRange(range2)){throw new Error("Invalid arguments")}this._sendRevealRange(Range.lift(range2),verticalType,revealHorizontal,scrollType)}setSelections(ranges,source="api",reason=0){if(!this._modelData){return}if(!ranges||ranges.length===0){throw new Error("Invalid arguments")}for(let i=0,len=ranges.length;i<len;i++){if(!Selection.isISelection(ranges[i])){throw new Error("Invalid arguments")}}this._modelData.viewModel.setSelections(source,ranges,reason)}getContentWidth(){if(!this._modelData){return-1}return this._modelData.viewModel.viewLayout.getContentWidth()}getScrollWidth(){if(!this._modelData){return-1}return this._modelData.viewModel.viewLayout.getScrollWidth()}getScrollLeft(){if(!this._modelData){return-1}return this._modelData.viewModel.viewLayout.getCurrentScrollLeft()}getContentHeight(){if(!this._modelData){return-1}return this._modelData.viewModel.viewLayout.getContentHeight()}getScrollHeight(){if(!this._modelData){return-1}return this._modelData.viewModel.viewLayout.getScrollHeight()}getScrollTop(){if(!this._modelData){return-1}return this._modelData.viewModel.viewLayout.getCurrentScrollTop()}setScrollLeft(newScrollLeft,scrollType=1){if(!this._modelData){return}if(typeof newScrollLeft!=="number"){throw new Error("Invalid arguments")}this._modelData.viewModel.viewLayout.setScrollPosition({scrollLeft:newScrollLeft},scrollType)}setScrollTop(newScrollTop,scrollType=1){if(!this._modelData){return}if(typeof newScrollTop!=="number"){throw new Error("Invalid arguments")}this._modelData.viewModel.viewLayout.setScrollPosition({scrollTop:newScrollTop},scrollType)}setScrollPosition(position,scrollType=1){if(!this._modelData){return}this._modelData.viewModel.viewLayout.setScrollPosition(position,scrollType)}hasPendingScrollAnimation(){if(!this._modelData){return false}return this._modelData.viewModel.viewLayout.hasPendingScrollAnimation()}saveViewState(){if(!this._modelData){return null}const contributionsState=this._contributions.saveViewState();const cursorState=this._modelData.viewModel.saveCursorState();const viewState=this._modelData.viewModel.saveState();return{cursorState:cursorState,viewState:viewState,contributionsState:contributionsState}}restoreViewState(s){if(!this._modelData||!this._modelData.hasRealView){return}const codeEditorState=s;if(codeEditorState&&codeEditorState.cursorState&&codeEditorState.viewState){const cursorState=codeEditorState.cursorState;if(Array.isArray(cursorState)){if(cursorState.length>0){this._modelData.viewModel.restoreCursorState(cursorState)}}else{this._modelData.viewModel.restoreCursorState([cursorState])}this._contributions.restoreViewState(codeEditorState.contributionsState||{});const reducedState=this._modelData.viewModel.reduceRestoreState(codeEditorState.viewState);this._modelData.view.restoreState(reducedState)}}handleInitialized(){var _a6;(_a6=this._getViewModel())===null||_a6===void 0?void 0:_a6.visibleLinesStabilized()}getContribution(id){return this._contributions.get(id)}getActions(){return Array.from(this._actions.values())}getSupportedActions(){let result=this.getActions();result=result.filter((action=>action.isSupported()));return result}getAction(id){return this._actions.get(id)||null}trigger(source,handlerId,payload){payload=payload||{};switch(handlerId){case"compositionStart":this._startComposition();return;case"compositionEnd":this._endComposition(source);return;case"type":{const args=payload;this._type(source,args.text||"");return}case"replacePreviousChar":{const args=payload;this._compositionType(source,args.text||"",args.replaceCharCnt||0,0,0);return}case"compositionType":{const args=payload;this._compositionType(source,args.text||"",args.replacePrevCharCnt||0,args.replaceNextCharCnt||0,args.positionDelta||0);return}case"paste":{const args=payload;this._paste(source,args.text||"",args.pasteOnNewLine||false,args.multicursorText||null,args.mode||null);return}case"cut":this._cut(source);return}const action=this.getAction(handlerId);if(action){Promise.resolve(action.run(payload)).then(void 0,onUnexpectedError);return}if(!this._modelData){return}if(this._triggerEditorCommand(source,handlerId,payload)){return}this._triggerCommand(handlerId,payload)}_triggerCommand(handlerId,payload){this._commandService.executeCommand(handlerId,payload)}_startComposition(){if(!this._modelData){return}this._modelData.viewModel.startComposition();this._onDidCompositionStart.fire()}_endComposition(source){if(!this._modelData){return}this._modelData.viewModel.endComposition(source);this._onDidCompositionEnd.fire()}_type(source,text2){if(!this._modelData||text2.length===0){return}if(source==="keyboard"){this._onWillType.fire(text2)}this._modelData.viewModel.type(text2,source);if(source==="keyboard"){this._onDidType.fire(text2)}}_compositionType(source,text2,replacePrevCharCnt,replaceNextCharCnt,positionDelta){if(!this._modelData){return}this._modelData.viewModel.compositionType(text2,replacePrevCharCnt,replaceNextCharCnt,positionDelta,source)}_paste(source,text2,pasteOnNewLine,multicursorText,mode){if(!this._modelData||text2.length===0){return}const viewModel=this._modelData.viewModel;const startPosition=viewModel.getSelection().getStartPosition();viewModel.paste(text2,pasteOnNewLine,multicursorText,source);const endPosition=viewModel.getSelection().getStartPosition();if(source==="keyboard"){this._onDidPaste.fire({range:new Range(startPosition.lineNumber,startPosition.column,endPosition.lineNumber,endPosition.column),languageId:mode})}}_cut(source){if(!this._modelData){return}this._modelData.viewModel.cut(source)}_triggerEditorCommand(source,handlerId,payload){const command=EditorExtensionsRegistry.getEditorCommand(handlerId);if(command){payload=payload||{};payload.source=source;this._instantiationService.invokeFunction((accessor=>{Promise.resolve(command.runEditorCommand(accessor,this,payload)).then(void 0,onUnexpectedError)}));return true}return false}_getViewModel(){if(!this._modelData){return null}return this._modelData.viewModel}pushUndoStop(){if(!this._modelData){return false}if(this._configuration.options.get(89)){return false}this._modelData.model.pushStackElement();return true}popUndoStop(){if(!this._modelData){return false}if(this._configuration.options.get(89)){return false}this._modelData.model.popStackElement();return true}executeEdits(source,edits,endCursorState){if(!this._modelData){return false}if(this._configuration.options.get(89)){return false}let cursorStateComputer;if(!endCursorState){cursorStateComputer=()=>null}else if(Array.isArray(endCursorState)){cursorStateComputer=()=>endCursorState}else{cursorStateComputer=endCursorState}this._modelData.viewModel.executeEdits(source,edits,cursorStateComputer);return true}executeCommand(source,command){if(!this._modelData){return}this._modelData.viewModel.executeCommand(command,source)}executeCommands(source,commands){if(!this._modelData){return}this._modelData.viewModel.executeCommands(commands,source)}createDecorationsCollection(decorations){return new EditorDecorationsCollection(this,decorations)}changeDecorations(callback){if(!this._modelData){return null}return this._modelData.model.changeDecorations(callback,this._id)}getLineDecorations(lineNumber){if(!this._modelData){return null}return this._modelData.model.getLineDecorations(lineNumber,this._id,filterValidationDecorations(this._configuration.options))}getDecorationsInRange(range2){if(!this._modelData){return null}return this._modelData.model.getDecorationsInRange(range2,this._id,filterValidationDecorations(this._configuration.options))}deltaDecorations(oldDecorations,newDecorations){if(!this._modelData){return[]}if(oldDecorations.length===0&&newDecorations.length===0){return oldDecorations}return this._modelData.model.deltaDecorations(oldDecorations,newDecorations,this._id)}removeDecorations(decorationIds){if(!this._modelData||decorationIds.length===0){return}this._modelData.model.changeDecorations((changeAccessor=>{changeAccessor.deltaDecorations(decorationIds,[])}))}removeDecorationsByType(decorationTypeKey){const oldDecorationsIds=this._decorationTypeKeysToIds[decorationTypeKey];if(oldDecorationsIds){this.deltaDecorations(oldDecorationsIds,[])}if(this._decorationTypeKeysToIds.hasOwnProperty(decorationTypeKey)){delete this._decorationTypeKeysToIds[decorationTypeKey]}if(this._decorationTypeSubtypes.hasOwnProperty(decorationTypeKey)){delete this._decorationTypeSubtypes[decorationTypeKey]}}getLayoutInfo(){const options2=this._configuration.options;const layoutInfo=options2.get(142);return layoutInfo}createOverviewRuler(cssClassName){if(!this._modelData||!this._modelData.hasRealView){return null}return this._modelData.view.createOverviewRuler(cssClassName)}getContainerDomNode(){return this._domElement}getDomNode(){if(!this._modelData||!this._modelData.hasRealView){return null}return this._modelData.view.domNode.domNode}delegateVerticalScrollbarPointerDown(browserEvent){if(!this._modelData||!this._modelData.hasRealView){return}this._modelData.view.delegateVerticalScrollbarPointerDown(browserEvent)}delegateScrollFromMouseWheelEvent(browserEvent){if(!this._modelData||!this._modelData.hasRealView){return}this._modelData.view.delegateScrollFromMouseWheelEvent(browserEvent)}layout(dimension){this._configuration.observeContainer(dimension);this.render()}focus(){if(!this._modelData||!this._modelData.hasRealView){return}this._modelData.view.focus()}hasTextFocus(){if(!this._modelData||!this._modelData.hasRealView){return false}return this._modelData.view.isFocused()}hasWidgetFocus(){return this._focusTracker&&this._focusTracker.hasFocus()}addContentWidget(widget){const widgetData={widget:widget,position:widget.getPosition()};if(this._contentWidgets.hasOwnProperty(widget.getId())){console.warn("Overwriting a content widget with the same id.")}this._contentWidgets[widget.getId()]=widgetData;if(this._modelData&&this._modelData.hasRealView){this._modelData.view.addContentWidget(widgetData)}}layoutContentWidget(widget){const widgetId=widget.getId();if(this._contentWidgets.hasOwnProperty(widgetId)){const widgetData=this._contentWidgets[widgetId];widgetData.position=widget.getPosition();if(this._modelData&&this._modelData.hasRealView){this._modelData.view.layoutContentWidget(widgetData)}}}removeContentWidget(widget){const widgetId=widget.getId();if(this._contentWidgets.hasOwnProperty(widgetId)){const widgetData=this._contentWidgets[widgetId];delete this._contentWidgets[widgetId];if(this._modelData&&this._modelData.hasRealView){this._modelData.view.removeContentWidget(widgetData)}}}addOverlayWidget(widget){const widgetData={widget:widget,position:widget.getPosition()};if(this._overlayWidgets.hasOwnProperty(widget.getId())){console.warn("Overwriting an overlay widget with the same id.")}this._overlayWidgets[widget.getId()]=widgetData;if(this._modelData&&this._modelData.hasRealView){this._modelData.view.addOverlayWidget(widgetData)}}layoutOverlayWidget(widget){const widgetId=widget.getId();if(this._overlayWidgets.hasOwnProperty(widgetId)){const widgetData=this._overlayWidgets[widgetId];widgetData.position=widget.getPosition();if(this._modelData&&this._modelData.hasRealView){this._modelData.view.layoutOverlayWidget(widgetData)}}}removeOverlayWidget(widget){const widgetId=widget.getId();if(this._overlayWidgets.hasOwnProperty(widgetId)){const widgetData=this._overlayWidgets[widgetId];delete this._overlayWidgets[widgetId];if(this._modelData&&this._modelData.hasRealView){this._modelData.view.removeOverlayWidget(widgetData)}}}addGlyphMarginWidget(widget){const widgetData={widget:widget,position:widget.getPosition()};if(this._glyphMarginWidgets.hasOwnProperty(widget.getId())){console.warn("Overwriting a glyph margin widget with the same id.")}this._glyphMarginWidgets[widget.getId()]=widgetData;if(this._modelData&&this._modelData.hasRealView){this._modelData.view.addGlyphMarginWidget(widgetData)}}layoutGlyphMarginWidget(widget){const widgetId=widget.getId();if(this._glyphMarginWidgets.hasOwnProperty(widgetId)){const widgetData=this._glyphMarginWidgets[widgetId];widgetData.position=widget.getPosition();if(this._modelData&&this._modelData.hasRealView){this._modelData.view.layoutGlyphMarginWidget(widgetData)}}}removeGlyphMarginWidget(widget){const widgetId=widget.getId();if(this._glyphMarginWidgets.hasOwnProperty(widgetId)){const widgetData=this._glyphMarginWidgets[widgetId];delete this._glyphMarginWidgets[widgetId];if(this._modelData&&this._modelData.hasRealView){this._modelData.view.removeGlyphMarginWidget(widgetData)}}}changeViewZones(callback){if(!this._modelData||!this._modelData.hasRealView){return}this._modelData.view.change(callback)}getTargetAtClientPoint(clientX,clientY){if(!this._modelData||!this._modelData.hasRealView){return null}return this._modelData.view.getTargetAtClientPoint(clientX,clientY)}getScrolledVisiblePosition(rawPosition){if(!this._modelData||!this._modelData.hasRealView){return null}const position=this._modelData.model.validatePosition(rawPosition);const options2=this._configuration.options;const layoutInfo=options2.get(142);const top=CodeEditorWidget_1._getVerticalOffsetForPosition(this._modelData,position.lineNumber,position.column)-this.getScrollTop();const left=this._modelData.view.getOffsetForColumn(position.lineNumber,position.column)+layoutInfo.glyphMarginWidth+layoutInfo.lineNumbersWidth+layoutInfo.decorationsWidth-this.getScrollLeft();return{top:top,left:left,height:options2.get(65)}}getOffsetForColumn(lineNumber,column){if(!this._modelData||!this._modelData.hasRealView){return-1}return this._modelData.view.getOffsetForColumn(lineNumber,column)}render(forceRedraw=false){if(!this._modelData||!this._modelData.hasRealView){return}this._modelData.view.render(true,forceRedraw)}setAriaOptions(options2){if(!this._modelData||!this._modelData.hasRealView){return}this._modelData.view.setAriaOptions(options2)}applyFontInfo(target){applyFontInfo(target,this._configuration.options.get(49))}setBanner(domNode,domNodeHeight){if(this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)){this._domElement.removeChild(this._bannerDomNode)}this._bannerDomNode=domNode;this._configuration.setReservedHeight(domNode?domNodeHeight:0);if(this._bannerDomNode){this._domElement.prepend(this._bannerDomNode)}}_attachModel(model){if(!model){this._modelData=null;return}const listenersToRemove=[];this._domElement.setAttribute("data-mode-id",model.getLanguageId());this._configuration.setIsDominatedByLongLines(model.isDominatedByLongLines());this._configuration.setModelLineCount(model.getLineCount());const attachedView=model.onBeforeAttached();const viewModel=new ViewModel(this._id,this._configuration,model,DOMLineBreaksComputerFactory.create(),MonospaceLineBreaksComputerFactory.create(this._configuration.options),(callback=>scheduleAtNextAnimationFrame(callback)),this.languageConfigurationService,this._themeService,attachedView);listenersToRemove.push(model.onWillDispose((()=>this.setModel(null))));listenersToRemove.push(viewModel.onEvent((e=>{switch(e.kind){case 0:this._onDidContentSizeChange.fire(e);break;case 1:this._editorTextFocus.setValue(e.hasFocus);break;case 2:this._onDidScrollChange.fire(e);break;case 3:this._onDidChangeViewZones.fire();break;case 4:this._onDidChangeHiddenAreas.fire();break;case 5:this._onDidAttemptReadOnlyEdit.fire();break;case 6:{if(e.reachedMaxCursorCount){const multiCursorLimit=this.getOption(78);const message=localize("cursors.maximum","The number of cursors has been limited to {0}. Consider using [find and replace](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) for larger changes or increase the editor multi cursor limit setting.",multiCursorLimit);this._notificationService.prompt(Severity2.Warning,message,[{label:"Find and Replace",run:()=>{this._commandService.executeCommand("editor.action.startFindReplaceAction")}},{label:localize("goToSetting","Increase Multi Cursor Limit"),run:()=>{this._commandService.executeCommand("workbench.action.openSettings2",{query:"editor.multiCursorLimit"})}}])}const positions=[];for(let i=0,len=e.selections.length;i<len;i++){positions[i]=e.selections[i].getPosition()}const e1={position:positions[0],secondaryPositions:positions.slice(1),reason:e.reason,source:e.source};this._onDidChangeCursorPosition.fire(e1);const e2={selection:e.selections[0],secondarySelections:e.selections.slice(1),modelVersionId:e.modelVersionId,oldSelections:e.oldSelections,oldModelVersionId:e.oldModelVersionId,source:e.source,reason:e.reason};this._onDidChangeCursorSelection.fire(e2);break}case 7:this._onDidChangeModelDecorations.fire(e.event);break;case 8:this._domElement.setAttribute("data-mode-id",model.getLanguageId());this._onDidChangeModelLanguage.fire(e.event);break;case 9:this._onDidChangeModelLanguageConfiguration.fire(e.event);break;case 10:this._onDidChangeModelContent.fire(e.event);break;case 11:this._onDidChangeModelOptions.fire(e.event);break;case 12:this._onDidChangeModelTokens.fire(e.event);break}})));const[view,hasRealView]=this._createView(viewModel);if(hasRealView){this._domElement.appendChild(view.domNode.domNode);let keys=Object.keys(this._contentWidgets);for(let i=0,len=keys.length;i<len;i++){const widgetId=keys[i];view.addContentWidget(this._contentWidgets[widgetId])}keys=Object.keys(this._overlayWidgets);for(let i=0,len=keys.length;i<len;i++){const widgetId=keys[i];view.addOverlayWidget(this._overlayWidgets[widgetId])}keys=Object.keys(this._glyphMarginWidgets);for(let i=0,len=keys.length;i<len;i++){const widgetId=keys[i];view.addGlyphMarginWidget(this._glyphMarginWidgets[widgetId])}view.render(false,true);view.domNode.domNode.setAttribute("data-uri",model.uri.toString())}this._modelData=new ModelData(model,viewModel,view,hasRealView,listenersToRemove,attachedView)}_createView(viewModel){let commandDelegate;if(this.isSimpleWidget){commandDelegate={paste:(text2,pasteOnNewLine,multicursorText,mode)=>{this._paste("keyboard",text2,pasteOnNewLine,multicursorText,mode)},type:text2=>{this._type("keyboard",text2)},compositionType:(text2,replacePrevCharCnt,replaceNextCharCnt,positionDelta)=>{this._compositionType("keyboard",text2,replacePrevCharCnt,replaceNextCharCnt,positionDelta)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition("keyboard")},cut:()=>{this._cut("keyboard")}}}else{commandDelegate={paste:(text2,pasteOnNewLine,multicursorText,mode)=>{const payload={text:text2,pasteOnNewLine:pasteOnNewLine,multicursorText:multicursorText,mode:mode};this._commandService.executeCommand("paste",payload)},type:text2=>{const payload={text:text2};this._commandService.executeCommand("type",payload)},compositionType:(text2,replacePrevCharCnt,replaceNextCharCnt,positionDelta)=>{if(replaceNextCharCnt||positionDelta){const payload={text:text2,replacePrevCharCnt:replacePrevCharCnt,replaceNextCharCnt:replaceNextCharCnt,positionDelta:positionDelta};this._commandService.executeCommand("compositionType",payload)}else{const payload={text:text2,replaceCharCnt:replacePrevCharCnt};this._commandService.executeCommand("replacePreviousChar",payload)}},startComposition:()=>{this._commandService.executeCommand("compositionStart",{})},endComposition:()=>{this._commandService.executeCommand("compositionEnd",{})},cut:()=>{this._commandService.executeCommand("cut",{})}}}const viewUserInputEvents=new ViewUserInputEvents(viewModel.coordinatesConverter);viewUserInputEvents.onKeyDown=e=>this._onKeyDown.fire(e);viewUserInputEvents.onKeyUp=e=>this._onKeyUp.fire(e);viewUserInputEvents.onContextMenu=e=>this._onContextMenu.fire(e);viewUserInputEvents.onMouseMove=e=>this._onMouseMove.fire(e);viewUserInputEvents.onMouseLeave=e=>this._onMouseLeave.fire(e);viewUserInputEvents.onMouseDown=e=>this._onMouseDown.fire(e);viewUserInputEvents.onMouseUp=e=>this._onMouseUp.fire(e);viewUserInputEvents.onMouseDrag=e=>this._onMouseDrag.fire(e);viewUserInputEvents.onMouseDrop=e=>this._onMouseDrop.fire(e);viewUserInputEvents.onMouseDropCanceled=e=>this._onMouseDropCanceled.fire(e);viewUserInputEvents.onMouseWheel=e=>this._onMouseWheel.fire(e);const view=new View(commandDelegate,this._configuration,this._themeService.getColorTheme(),viewModel,viewUserInputEvents,this._overflowWidgetsDomNode,this._instantiationService);return[view,true]}_postDetachModelCleanup(detachedModel){detachedModel===null||detachedModel===void 0?void 0:detachedModel.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){if(!this._modelData){return null}const model=this._modelData.model;const removeDomNode=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;this._modelData.dispose();this._modelData=null;this._domElement.removeAttribute("data-mode-id");if(removeDomNode&&this._domElement.contains(removeDomNode)){this._domElement.removeChild(removeDomNode)}if(this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)){this._domElement.removeChild(this._bannerDomNode)}return model}_removeDecorationType(key){this._codeEditorService.removeDecorationType(key)}hasModel(){return this._modelData!==null}showDropIndicatorAt(position){const newDecorations=[{range:new Range(position.lineNumber,position.column,position.lineNumber,position.column),options:CodeEditorWidget_1.dropIntoEditorDecorationOptions}];this._dropIntoEditorDecorations.set(newDecorations);this.revealPosition(position,1)}removeDropIndicator(){this._dropIntoEditorDecorations.clear()}setContextValue(key,value){this._contextKeyService.createKey(key,value)}};CodeEditorWidget.dropIntoEditorDecorationOptions=ModelDecorationOptions.register({description:"workbench-dnd-target",className:"dnd-target"});CodeEditorWidget=CodeEditorWidget_1=__decorate13([__param12(3,IInstantiationService),__param12(4,ICodeEditorService),__param12(5,ICommandService),__param12(6,IContextKeyService),__param12(7,IThemeService),__param12(8,INotificationService),__param12(9,IAccessibilityService),__param12(10,ILanguageConfigurationService),__param12(11,ILanguageFeaturesService)],CodeEditorWidget);BooleanEventEmitter=class extends Disposable{constructor(_emitterOptions){super();this._emitterOptions=_emitterOptions;this._onDidChangeToTrue=this._register(new Emitter(this._emitterOptions));this.onDidChangeToTrue=this._onDidChangeToTrue.event;this._onDidChangeToFalse=this._register(new Emitter(this._emitterOptions));this.onDidChangeToFalse=this._onDidChangeToFalse.event;this._value=0}setValue(_value){const value=_value?2:1;if(this._value===value){return}this._value=value;if(this._value===2){this._onDidChangeToTrue.fire()}else if(this._value===1){this._onDidChangeToFalse.fire()}}};InteractionEmitter=class extends Emitter{constructor(_contributions,deliveryQueue){super({deliveryQueue:deliveryQueue});this._contributions=_contributions}fire(event){this._contributions.onBeforeInteractionEvent();super.fire(event)}};EditorContextKeysManager=class extends Disposable{constructor(editor2,contextKeyService){super();this._editor=editor2;contextKeyService.createKey("editorId",editor2.getId());this._editorSimpleInput=EditorContextKeys.editorSimpleInput.bindTo(contextKeyService);this._editorFocus=EditorContextKeys.focus.bindTo(contextKeyService);this._textInputFocus=EditorContextKeys.textInputFocus.bindTo(contextKeyService);this._editorTextFocus=EditorContextKeys.editorTextFocus.bindTo(contextKeyService);this._editorTabMovesFocus=EditorContextKeys.tabMovesFocus.bindTo(contextKeyService);this._editorReadonly=EditorContextKeys.readOnly.bindTo(contextKeyService);this._inDiffEditor=EditorContextKeys.inDiffEditor.bindTo(contextKeyService);this._editorColumnSelection=EditorContextKeys.columnSelection.bindTo(contextKeyService);this._hasMultipleSelections=EditorContextKeys.hasMultipleSelections.bindTo(contextKeyService);this._hasNonEmptySelection=EditorContextKeys.hasNonEmptySelection.bindTo(contextKeyService);this._canUndo=EditorContextKeys.canUndo.bindTo(contextKeyService);this._canRedo=EditorContextKeys.canRedo.bindTo(contextKeyService);this._register(this._editor.onDidChangeConfiguration((()=>this._updateFromConfig())));this._register(this._editor.onDidChangeCursorSelection((()=>this._updateFromSelection())));this._register(this._editor.onDidFocusEditorWidget((()=>this._updateFromFocus())));this._register(this._editor.onDidBlurEditorWidget((()=>this._updateFromFocus())));this._register(this._editor.onDidFocusEditorText((()=>this._updateFromFocus())));this._register(this._editor.onDidBlurEditorText((()=>this._updateFromFocus())));this._register(this._editor.onDidChangeModel((()=>this._updateFromModel())));this._register(this._editor.onDidChangeConfiguration((()=>this._updateFromModel())));this._register(TabFocus.onDidChangeTabFocus((()=>this._editorTabMovesFocus.set(TabFocus.getTabFocusMode("editorFocus")))));this._updateFromConfig();this._updateFromSelection();this._updateFromFocus();this._updateFromModel();this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){const options2=this._editor.getOptions();this._editorTabMovesFocus.set(TabFocus.getTabFocusMode("editorFocus"));this._editorReadonly.set(options2.get(89));this._inDiffEditor.set(options2.get(60));this._editorColumnSelection.set(options2.get(21))}_updateFromSelection(){const selections=this._editor.getSelections();if(!selections){this._hasMultipleSelections.reset();this._hasNonEmptySelection.reset()}else{this._hasMultipleSelections.set(selections.length>1);this._hasNonEmptySelection.set(selections.some((s=>!s.isEmpty())))}}_updateFromFocus(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget);this._editorTextFocus.set(this._editor.hasTextFocus()&&!this._editor.isSimpleWidget);this._textInputFocus.set(this._editor.hasTextFocus())}_updateFromModel(){const model=this._editor.getModel();this._canUndo.set(Boolean(model&&model.canUndo()));this._canRedo.set(Boolean(model&&model.canRedo()))}};EditorModeContext=class extends Disposable{constructor(_editor,_contextKeyService,_languageFeaturesService){super();this._editor=_editor;this._contextKeyService=_contextKeyService;this._languageFeaturesService=_languageFeaturesService;this._langId=EditorContextKeys.languageId.bindTo(_contextKeyService);this._hasCompletionItemProvider=EditorContextKeys.hasCompletionItemProvider.bindTo(_contextKeyService);this._hasCodeActionsProvider=EditorContextKeys.hasCodeActionsProvider.bindTo(_contextKeyService);this._hasCodeLensProvider=EditorContextKeys.hasCodeLensProvider.bindTo(_contextKeyService);this._hasDefinitionProvider=EditorContextKeys.hasDefinitionProvider.bindTo(_contextKeyService);this._hasDeclarationProvider=EditorContextKeys.hasDeclarationProvider.bindTo(_contextKeyService);this._hasImplementationProvider=EditorContextKeys.hasImplementationProvider.bindTo(_contextKeyService);this._hasTypeDefinitionProvider=EditorContextKeys.hasTypeDefinitionProvider.bindTo(_contextKeyService);this._hasHoverProvider=EditorContextKeys.hasHoverProvider.bindTo(_contextKeyService);this._hasDocumentHighlightProvider=EditorContextKeys.hasDocumentHighlightProvider.bindTo(_contextKeyService);this._hasDocumentSymbolProvider=EditorContextKeys.hasDocumentSymbolProvider.bindTo(_contextKeyService);this._hasReferenceProvider=EditorContextKeys.hasReferenceProvider.bindTo(_contextKeyService);this._hasRenameProvider=EditorContextKeys.hasRenameProvider.bindTo(_contextKeyService);this._hasSignatureHelpProvider=EditorContextKeys.hasSignatureHelpProvider.bindTo(_contextKeyService);this._hasInlayHintsProvider=EditorContextKeys.hasInlayHintsProvider.bindTo(_contextKeyService);this._hasDocumentFormattingProvider=EditorContextKeys.hasDocumentFormattingProvider.bindTo(_contextKeyService);this._hasDocumentSelectionFormattingProvider=EditorContextKeys.hasDocumentSelectionFormattingProvider.bindTo(_contextKeyService);this._hasMultipleDocumentFormattingProvider=EditorContextKeys.hasMultipleDocumentFormattingProvider.bindTo(_contextKeyService);this._hasMultipleDocumentSelectionFormattingProvider=EditorContextKeys.hasMultipleDocumentSelectionFormattingProvider.bindTo(_contextKeyService);this._isInWalkThrough=EditorContextKeys.isInWalkThroughSnippet.bindTo(_contextKeyService);const update=()=>this._update();this._register(_editor.onDidChangeModel(update));this._register(_editor.onDidChangeModelLanguage(update));this._register(_languageFeaturesService.completionProvider.onDidChange(update));this._register(_languageFeaturesService.codeActionProvider.onDidChange(update));this._register(_languageFeaturesService.codeLensProvider.onDidChange(update));this._register(_languageFeaturesService.definitionProvider.onDidChange(update));this._register(_languageFeaturesService.declarationProvider.onDidChange(update));this._register(_languageFeaturesService.implementationProvider.onDidChange(update));this._register(_languageFeaturesService.typeDefinitionProvider.onDidChange(update));this._register(_languageFeaturesService.hoverProvider.onDidChange(update));this._register(_languageFeaturesService.documentHighlightProvider.onDidChange(update));this._register(_languageFeaturesService.documentSymbolProvider.onDidChange(update));this._register(_languageFeaturesService.referenceProvider.onDidChange(update));this._register(_languageFeaturesService.renameProvider.onDidChange(update));this._register(_languageFeaturesService.documentFormattingEditProvider.onDidChange(update));this._register(_languageFeaturesService.documentRangeFormattingEditProvider.onDidChange(update));this._register(_languageFeaturesService.signatureHelpProvider.onDidChange(update));this._register(_languageFeaturesService.inlayHintsProvider.onDidChange(update));update()}dispose(){super.dispose()}reset(){this._contextKeyService.bufferChangeEvents((()=>{this._langId.reset();this._hasCompletionItemProvider.reset();this._hasCodeActionsProvider.reset();this._hasCodeLensProvider.reset();this._hasDefinitionProvider.reset();this._hasDeclarationProvider.reset();this._hasImplementationProvider.reset();this._hasTypeDefinitionProvider.reset();this._hasHoverProvider.reset();this._hasDocumentHighlightProvider.reset();this._hasDocumentSymbolProvider.reset();this._hasReferenceProvider.reset();this._hasRenameProvider.reset();this._hasDocumentFormattingProvider.reset();this._hasDocumentSelectionFormattingProvider.reset();this._hasSignatureHelpProvider.reset();this._isInWalkThrough.reset()}))}_update(){const model=this._editor.getModel();if(!model){this.reset();return}this._contextKeyService.bufferChangeEvents((()=>{this._langId.set(model.getLanguageId());this._hasCompletionItemProvider.set(this._languageFeaturesService.completionProvider.has(model));this._hasCodeActionsProvider.set(this._languageFeaturesService.codeActionProvider.has(model));this._hasCodeLensProvider.set(this._languageFeaturesService.codeLensProvider.has(model));this._hasDefinitionProvider.set(this._languageFeaturesService.definitionProvider.has(model));this._hasDeclarationProvider.set(this._languageFeaturesService.declarationProvider.has(model));this._hasImplementationProvider.set(this._languageFeaturesService.implementationProvider.has(model));this._hasTypeDefinitionProvider.set(this._languageFeaturesService.typeDefinitionProvider.has(model));this._hasHoverProvider.set(this._languageFeaturesService.hoverProvider.has(model));this._hasDocumentHighlightProvider.set(this._languageFeaturesService.documentHighlightProvider.has(model));this._hasDocumentSymbolProvider.set(this._languageFeaturesService.documentSymbolProvider.has(model));this._hasReferenceProvider.set(this._languageFeaturesService.referenceProvider.has(model));this._hasRenameProvider.set(this._languageFeaturesService.renameProvider.has(model));this._hasSignatureHelpProvider.set(this._languageFeaturesService.signatureHelpProvider.has(model));this._hasInlayHintsProvider.set(this._languageFeaturesService.inlayHintsProvider.has(model));this._hasDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.has(model)||this._languageFeaturesService.documentRangeFormattingEditProvider.has(model));this._hasDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.has(model));this._hasMultipleDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.all(model).length+this._languageFeaturesService.documentRangeFormattingEditProvider.all(model).length>1);this._hasMultipleDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.all(model).length>1);this._isInWalkThrough.set(model.uri.scheme===Schemas.walkThroughSnippet)}))}};CodeEditorWidgetFocusTracker=class extends Disposable{constructor(domElement){super();this._onChange=this._register(new Emitter);this.onChange=this._onChange.event;this._hasFocus=false;this._domFocusTracker=this._register(trackFocus(domElement));this._register(this._domFocusTracker.onDidFocus((()=>{this._hasFocus=true;this._onChange.fire(void 0)})));this._register(this._domFocusTracker.onDidBlur((()=>{this._hasFocus=false;this._onChange.fire(void 0)})))}hasFocus(){return this._hasFocus}};EditorDecorationsCollection=class{get length(){return this._decorationIds.length}constructor(_editor,decorations){this._editor=_editor;this._decorationIds=[];this._isChangingDecorations=false;if(Array.isArray(decorations)&&decorations.length>0){this.set(decorations)}}onDidChange(listener,thisArgs,disposables){return this._editor.onDidChangeModelDecorations((e=>{if(this._isChangingDecorations){return}listener.call(thisArgs,e)}),disposables)}getRange(index){if(!this._editor.hasModel()){return null}if(index>=this._decorationIds.length){return null}return this._editor.getModel().getDecorationRange(this._decorationIds[index])}getRanges(){if(!this._editor.hasModel()){return[]}const model=this._editor.getModel();const result=[];for(const decorationId of this._decorationIds){const range2=model.getDecorationRange(decorationId);if(range2){result.push(range2)}}return result}has(decoration2){return this._decorationIds.includes(decoration2.id)}clear(){if(this._decorationIds.length===0){return}this.set([])}set(newDecorations){try{this._isChangingDecorations=true;this._editor.changeDecorations((accessor=>{this._decorationIds=accessor.deltaDecorations(this._decorationIds,newDecorations)}))}finally{this._isChangingDecorations=false}return this._decorationIds}};squigglyStart=encodeURIComponent(`<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 3' enable-background='new 0 0 6 3' height='3' width='6'><g fill='`);squigglyEnd=encodeURIComponent(`'><polygon points='5.5,0 2.5,3 1.1,3 4.1,0'/><polygon points='4,0 6,2 6,0.6 5.4,0'/><polygon points='0,2 1,3 2.4,3 0,0.6'/></g></svg>`);dotdotdotStart=encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" height="3" width="12"><g fill="`);dotdotdotEnd=encodeURIComponent(`"><circle cx="1" cy="1" r="1"/><circle cx="5" cy="1" r="1"/><circle cx="9" cy="1" r="1"/></g></svg>`);registerThemingParticipant(((theme,collector)=>{const errorForeground2=theme.getColor(editorErrorForeground);if(errorForeground2){collector.addRule(`.monaco-editor .${"squiggly-error"} { background: url("data:image/svg+xml,${getSquigglySVGData(errorForeground2)}") repeat-x bottom left; }`)}const warningForeground=theme.getColor(editorWarningForeground);if(warningForeground){collector.addRule(`.monaco-editor .${"squiggly-warning"} { background: url("data:image/svg+xml,${getSquigglySVGData(warningForeground)}") repeat-x bottom left; }`)}const infoForeground=theme.getColor(editorInfoForeground);if(infoForeground){collector.addRule(`.monaco-editor .${"squiggly-info"} { background: url("data:image/svg+xml,${getSquigglySVGData(infoForeground)}") repeat-x bottom left; }`)}const hintForeground=theme.getColor(editorHintForeground);if(hintForeground){collector.addRule(`.monaco-editor .${"squiggly-hint"} { background: url("data:image/svg+xml,${getDotDotDotSVGData(hintForeground)}") no-repeat bottom left; }`)}const unnecessaryForeground=theme.getColor(editorUnnecessaryCodeOpacity);if(unnecessaryForeground){collector.addRule(`.monaco-editor.showUnused .${"squiggly-inline-unnecessary"} { opacity: ${unnecessaryForeground.rgba.a}; }`)}}))}});var init_24=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.css"(){}});var __decorate14,DEBUG,OrthogonalEdge,globalSize,onDidChangeGlobalSize,globalHoverDelay,onDidChangeHoverDelay,MouseEventFactory,GestureEventFactory,OrthogonalPointerEventFactory,PointerEventsDisabledCssClass,Sash;var init_sash=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/sash/sash.js"(){init_dom();init_event2();init_touch();init_async();init_decorators();init_event();init_lifecycle();init_platform();init_24();__decorate14=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};DEBUG=false;(function(OrthogonalEdge2){OrthogonalEdge2["North"]="north";OrthogonalEdge2["South"]="south";OrthogonalEdge2["East"]="east";OrthogonalEdge2["West"]="west"})(OrthogonalEdge||(OrthogonalEdge={}));globalSize=4;onDidChangeGlobalSize=new Emitter;globalHoverDelay=300;onDidChangeHoverDelay=new Emitter;MouseEventFactory=class{constructor(){this.disposables=new DisposableStore}get onPointerMove(){return this.disposables.add(new DomEmitter(window,"mousemove")).event}get onPointerUp(){return this.disposables.add(new DomEmitter(window,"mouseup")).event}dispose(){this.disposables.dispose()}};__decorate14([memoize],MouseEventFactory.prototype,"onPointerMove",null);__decorate14([memoize],MouseEventFactory.prototype,"onPointerUp",null);GestureEventFactory=class{get onPointerMove(){return this.disposables.add(new DomEmitter(this.el,EventType2.Change)).event}get onPointerUp(){return this.disposables.add(new DomEmitter(this.el,EventType2.End)).event}constructor(el){this.el=el;this.disposables=new DisposableStore}dispose(){this.disposables.dispose()}};__decorate14([memoize],GestureEventFactory.prototype,"onPointerMove",null);__decorate14([memoize],GestureEventFactory.prototype,"onPointerUp",null);OrthogonalPointerEventFactory=class{get onPointerMove(){return this.factory.onPointerMove}get onPointerUp(){return this.factory.onPointerUp}constructor(factory){this.factory=factory}dispose(){}};__decorate14([memoize],OrthogonalPointerEventFactory.prototype,"onPointerMove",null);__decorate14([memoize],OrthogonalPointerEventFactory.prototype,"onPointerUp",null);PointerEventsDisabledCssClass="pointer-events-disabled";Sash=class extends Disposable{get state(){return this._state}get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}set state(state){if(this._state===state){return}this.el.classList.toggle("disabled",state===0);this.el.classList.toggle("minimum",state===1);this.el.classList.toggle("maximum",state===2);this._state=state;this.onDidEnablementChange.fire(state)}set orthogonalStartSash(sash){if(this._orthogonalStartSash===sash){return}this.orthogonalStartDragHandleDisposables.clear();this.orthogonalStartSashDisposables.clear();if(sash){const onChange=state=>{this.orthogonalStartDragHandleDisposables.clear();if(state!==0){this._orthogonalStartDragHandle=append(this.el,$(".orthogonal-drag-handle.start"));this.orthogonalStartDragHandleDisposables.add(toDisposable((()=>this._orthogonalStartDragHandle.remove())));this.orthogonalStartDragHandleDisposables.add(new DomEmitter(this._orthogonalStartDragHandle,"mouseenter")).event((()=>Sash.onMouseEnter(sash)),void 0,this.orthogonalStartDragHandleDisposables);this.orthogonalStartDragHandleDisposables.add(new DomEmitter(this._orthogonalStartDragHandle,"mouseleave")).event((()=>Sash.onMouseLeave(sash)),void 0,this.orthogonalStartDragHandleDisposables)}};this.orthogonalStartSashDisposables.add(sash.onDidEnablementChange.event(onChange,this));onChange(sash.state)}this._orthogonalStartSash=sash}set orthogonalEndSash(sash){if(this._orthogonalEndSash===sash){return}this.orthogonalEndDragHandleDisposables.clear();this.orthogonalEndSashDisposables.clear();if(sash){const onChange=state=>{this.orthogonalEndDragHandleDisposables.clear();if(state!==0){this._orthogonalEndDragHandle=append(this.el,$(".orthogonal-drag-handle.end"));this.orthogonalEndDragHandleDisposables.add(toDisposable((()=>this._orthogonalEndDragHandle.remove())));this.orthogonalEndDragHandleDisposables.add(new DomEmitter(this._orthogonalEndDragHandle,"mouseenter")).event((()=>Sash.onMouseEnter(sash)),void 0,this.orthogonalEndDragHandleDisposables);this.orthogonalEndDragHandleDisposables.add(new DomEmitter(this._orthogonalEndDragHandle,"mouseleave")).event((()=>Sash.onMouseLeave(sash)),void 0,this.orthogonalEndDragHandleDisposables)}};this.orthogonalEndSashDisposables.add(sash.onDidEnablementChange.event(onChange,this));onChange(sash.state)}this._orthogonalEndSash=sash}constructor(container,layoutProvider,options2){super();this.hoverDelay=globalHoverDelay;this.hoverDelayer=this._register(new Delayer(this.hoverDelay));this._state=3;this.onDidEnablementChange=this._register(new Emitter);this._onDidStart=this._register(new Emitter);this._onDidChange=this._register(new Emitter);this._onDidReset=this._register(new Emitter);this._onDidEnd=this._register(new Emitter);this.orthogonalStartSashDisposables=this._register(new DisposableStore);this.orthogonalStartDragHandleDisposables=this._register(new DisposableStore);this.orthogonalEndSashDisposables=this._register(new DisposableStore);this.orthogonalEndDragHandleDisposables=this._register(new DisposableStore);this.onDidStart=this._onDidStart.event;this.onDidChange=this._onDidChange.event;this.onDidReset=this._onDidReset.event;this.onDidEnd=this._onDidEnd.event;this.linkedSash=void 0;this.el=append(container,$(".monaco-sash"));if(options2.orthogonalEdge){this.el.classList.add(`orthogonal-edge-${options2.orthogonalEdge}`)}if(isMacintosh){this.el.classList.add("mac")}const onMouseDown=this._register(new DomEmitter(this.el,"mousedown")).event;this._register(onMouseDown((e=>this.onPointerStart(e,new MouseEventFactory)),this));const onMouseDoubleClick=this._register(new DomEmitter(this.el,"dblclick")).event;this._register(onMouseDoubleClick(this.onPointerDoublePress,this));const onMouseEnter=this._register(new DomEmitter(this.el,"mouseenter")).event;this._register(onMouseEnter((()=>Sash.onMouseEnter(this))));const onMouseLeave=this._register(new DomEmitter(this.el,"mouseleave")).event;this._register(onMouseLeave((()=>Sash.onMouseLeave(this))));this._register(Gesture.addTarget(this.el));const onTouchStart=this._register(new DomEmitter(this.el,EventType2.Start)).event;this._register(onTouchStart((e=>this.onPointerStart(e,new GestureEventFactory(this.el))),this));const onTap=this._register(new DomEmitter(this.el,EventType2.Tap)).event;let doubleTapTimeout=void 0;this._register(onTap((event=>{if(doubleTapTimeout){clearTimeout(doubleTapTimeout);doubleTapTimeout=void 0;this.onPointerDoublePress(event);return}clearTimeout(doubleTapTimeout);doubleTapTimeout=setTimeout((()=>doubleTapTimeout=void 0),250)}),this));if(typeof options2.size==="number"){this.size=options2.size;if(options2.orientation===0){this.el.style.width=`${this.size}px`}else{this.el.style.height=`${this.size}px`}}else{this.size=globalSize;this._register(onDidChangeGlobalSize.event((size2=>{this.size=size2;this.layout()})))}this._register(onDidChangeHoverDelay.event((delay=>this.hoverDelay=delay)));this.layoutProvider=layoutProvider;this.orthogonalStartSash=options2.orthogonalStartSash;this.orthogonalEndSash=options2.orthogonalEndSash;this.orientation=options2.orientation||0;if(this.orientation===1){this.el.classList.add("horizontal");this.el.classList.remove("vertical")}else{this.el.classList.remove("horizontal");this.el.classList.add("vertical")}this.el.classList.toggle("debug",DEBUG);this.layout()}onPointerStart(event,pointerEventFactory){EventHelper.stop(event);let isMultisashResize=false;if(!event.__orthogonalSashEvent){const orthogonalSash=this.getOrthogonalSash(event);if(orthogonalSash){isMultisashResize=true;event.__orthogonalSashEvent=true;orthogonalSash.onPointerStart(event,new OrthogonalPointerEventFactory(pointerEventFactory))}}if(this.linkedSash&&!event.__linkedSashEvent){event.__linkedSashEvent=true;this.linkedSash.onPointerStart(event,new OrthogonalPointerEventFactory(pointerEventFactory))}if(!this.state){return}const iframes=document.getElementsByTagName("iframe");for(const iframe of iframes){iframe.classList.add(PointerEventsDisabledCssClass)}const startX=event.pageX;const startY=event.pageY;const altKey=event.altKey;const startEvent={startX:startX,currentX:startX,startY:startY,currentY:startY,altKey:altKey};this.el.classList.add("active");this._onDidStart.fire(startEvent);const style=createStyleSheet(this.el);const updateStyle=()=>{let cursor="";if(isMultisashResize){cursor="all-scroll"}else if(this.orientation===1){if(this.state===1){cursor="s-resize"}else if(this.state===2){cursor="n-resize"}else{cursor=isMacintosh?"row-resize":"ns-resize"}}else{if(this.state===1){cursor="e-resize"}else if(this.state===2){cursor="w-resize"}else{cursor=isMacintosh?"col-resize":"ew-resize"}}style.textContent=`* { cursor: ${cursor} !important; }`};const disposables=new DisposableStore;updateStyle();if(!isMultisashResize){this.onDidEnablementChange.event(updateStyle,null,disposables)}const onPointerMove=e=>{EventHelper.stop(e,false);const event2={startX:startX,currentX:e.pageX,startY:startY,currentY:e.pageY,altKey:altKey};this._onDidChange.fire(event2)};const onPointerUp=e=>{EventHelper.stop(e,false);this.el.removeChild(style);this.el.classList.remove("active");this._onDidEnd.fire();disposables.dispose();for(const iframe of iframes){iframe.classList.remove(PointerEventsDisabledCssClass)}};pointerEventFactory.onPointerMove(onPointerMove,null,disposables);pointerEventFactory.onPointerUp(onPointerUp,null,disposables);disposables.add(pointerEventFactory)}onPointerDoublePress(e){const orthogonalSash=this.getOrthogonalSash(e);if(orthogonalSash){orthogonalSash._onDidReset.fire()}if(this.linkedSash){this.linkedSash._onDidReset.fire()}this._onDidReset.fire()}static onMouseEnter(sash,fromLinkedSash=false){if(sash.el.classList.contains("active")){sash.hoverDelayer.cancel();sash.el.classList.add("hover")}else{sash.hoverDelayer.trigger((()=>sash.el.classList.add("hover")),sash.hoverDelay).then(void 0,(()=>{}))}if(!fromLinkedSash&&sash.linkedSash){Sash.onMouseEnter(sash.linkedSash,true)}}static onMouseLeave(sash,fromLinkedSash=false){sash.hoverDelayer.cancel();sash.el.classList.remove("hover");if(!fromLinkedSash&&sash.linkedSash){Sash.onMouseLeave(sash.linkedSash,true)}}clearSashHoverState(){Sash.onMouseLeave(this)}layout(){if(this.orientation===0){const verticalProvider=this.layoutProvider;this.el.style.left=verticalProvider.getVerticalSashLeft(this)-this.size/2+"px";if(verticalProvider.getVerticalSashTop){this.el.style.top=verticalProvider.getVerticalSashTop(this)+"px"}if(verticalProvider.getVerticalSashHeight){this.el.style.height=verticalProvider.getVerticalSashHeight(this)+"px"}}else{const horizontalProvider=this.layoutProvider;this.el.style.top=horizontalProvider.getHorizontalSashTop(this)-this.size/2+"px";if(horizontalProvider.getHorizontalSashLeft){this.el.style.left=horizontalProvider.getHorizontalSashLeft(this)+"px"}if(horizontalProvider.getHorizontalSashWidth){this.el.style.width=horizontalProvider.getHorizontalSashWidth(this)+"px"}}}getOrthogonalSash(e){var _a6;const target=(_a6=e.initialTarget)!==null&&_a6!==void 0?_a6:e.target;if(!target||!(target instanceof HTMLElement)){return void 0}if(target.classList.contains("orthogonal-drag-handle")){return target.classList.contains("start")?this.orthogonalStartSash:this.orthogonalEndSash}return void 0}dispose(){super.dispose();this.el.remove()}}}});var _a3,_b,ResourceMapEntry,ResourceMap,LinkedMap,LRUCache;var init_map=__esm({"node_modules/monaco-editor/esm/vs/base/common/map.js"(){ResourceMapEntry=class{constructor(uri,value){this.uri=uri;this.value=value}};ResourceMap=class{constructor(mapOrKeyFn,toKey){this[_a3]="ResourceMap";if(mapOrKeyFn instanceof ResourceMap){this.map=new Map(mapOrKeyFn.map);this.toKey=toKey!==null&&toKey!==void 0?toKey:ResourceMap.defaultToKey}else{this.map=new Map;this.toKey=mapOrKeyFn!==null&&mapOrKeyFn!==void 0?mapOrKeyFn:ResourceMap.defaultToKey}}set(resource,value){this.map.set(this.toKey(resource),new ResourceMapEntry(resource,value));return this}get(resource){var _c2;return(_c2=this.map.get(this.toKey(resource)))===null||_c2===void 0?void 0:_c2.value}has(resource){return this.map.has(this.toKey(resource))}get size(){return this.map.size}clear(){this.map.clear()}delete(resource){return this.map.delete(this.toKey(resource))}forEach(clb,thisArg){if(typeof thisArg!=="undefined"){clb=clb.bind(thisArg)}for(const[_,entry]of this.map){clb(entry.value,entry.uri,this)}}*values(){for(const entry of this.map.values()){yield entry.value}}*keys(){for(const entry of this.map.values()){yield entry.uri}}*entries(){for(const entry of this.map.values()){yield[entry.uri,entry.value]}}*[(_a3=Symbol.toStringTag,Symbol.iterator)](){for(const[,entry]of this.map){yield[entry.uri,entry.value]}}};ResourceMap.defaultToKey=resource=>resource.toString();LinkedMap=class{constructor(){this[_b]="LinkedMap";this._map=new Map;this._head=void 0;this._tail=void 0;this._size=0;this._state=0}clear(){this._map.clear();this._head=void 0;this._tail=void 0;this._size=0;this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var _c2;return(_c2=this._head)===null||_c2===void 0?void 0:_c2.value}get last(){var _c2;return(_c2=this._tail)===null||_c2===void 0?void 0:_c2.value}has(key){return this._map.has(key)}get(key,touch=0){const item=this._map.get(key);if(!item){return void 0}if(touch!==0){this.touch(item,touch)}return item.value}set(key,value,touch=0){let item=this._map.get(key);if(item){item.value=value;if(touch!==0){this.touch(item,touch)}}else{item={key:key,value:value,next:void 0,previous:void 0};switch(touch){case 0:this.addItemLast(item);break;case 1:this.addItemFirst(item);break;case 2:this.addItemLast(item);break;default:this.addItemLast(item);break}this._map.set(key,item);this._size++}return this}delete(key){return!!this.remove(key)}remove(key){const item=this._map.get(key);if(!item){return void 0}this._map.delete(key);this.removeItem(item);this._size--;return item.value}shift(){if(!this._head&&!this._tail){return void 0}if(!this._head||!this._tail){throw new Error("Invalid list")}const item=this._head;this._map.delete(item.key);this.removeItem(item);this._size--;return item.value}forEach(callbackfn,thisArg){const state=this._state;let current=this._head;while(current){if(thisArg){callbackfn.bind(thisArg)(current.value,current.key,this)}else{callbackfn(current.value,current.key,this)}if(this._state!==state){throw new Error(`LinkedMap got modified during iteration.`)}current=current.next}}keys(){const map=this;const state=this._state;let current=this._head;const iterator={[Symbol.iterator](){return iterator},next(){if(map._state!==state){throw new Error(`LinkedMap got modified during iteration.`)}if(current){const result={value:current.key,done:false};current=current.next;return result}else{return{value:void 0,done:true}}}};return iterator}values(){const map=this;const state=this._state;let current=this._head;const iterator={[Symbol.iterator](){return iterator},next(){if(map._state!==state){throw new Error(`LinkedMap got modified during iteration.`)}if(current){const result={value:current.value,done:false};current=current.next;return result}else{return{value:void 0,done:true}}}};return iterator}entries(){const map=this;const state=this._state;let current=this._head;const iterator={[Symbol.iterator](){return iterator},next(){if(map._state!==state){throw new Error(`LinkedMap got modified during iteration.`)}if(current){const result={value:[current.key,current.value],done:false};current=current.next;return result}else{return{value:void 0,done:true}}}};return iterator}[(_b=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(newSize){if(newSize>=this.size){return}if(newSize===0){this.clear();return}let current=this._head;let currentSize=this.size;while(current&&currentSize>newSize){this._map.delete(current.key);current=current.next;currentSize--}this._head=current;this._size=currentSize;if(current){current.previous=void 0}this._state++}addItemFirst(item){if(!this._head&&!this._tail){this._tail=item}else if(!this._head){throw new Error("Invalid list")}else{item.next=this._head;this._head.previous=item}this._head=item;this._state++}addItemLast(item){if(!this._head&&!this._tail){this._head=item}else if(!this._tail){throw new Error("Invalid list")}else{item.previous=this._tail;this._tail.next=item}this._tail=item;this._state++}removeItem(item){if(item===this._head&&item===this._tail){this._head=void 0;this._tail=void 0}else if(item===this._head){if(!item.next){throw new Error("Invalid list")}item.next.previous=void 0;this._head=item.next}else if(item===this._tail){if(!item.previous){throw new Error("Invalid list")}item.previous.next=void 0;this._tail=item.previous}else{const next=item.next;const previous=item.previous;if(!next||!previous){throw new Error("Invalid list")}next.previous=previous;previous.next=next}item.next=void 0;item.previous=void 0;this._state++}touch(item,touch){if(!this._head||!this._tail){throw new Error("Invalid list")}if(touch!==1&&touch!==2){return}if(touch===1){if(item===this._head){return}const next=item.next;const previous=item.previous;if(item===this._tail){previous.next=void 0;this._tail=previous}else{next.previous=previous;previous.next=next}item.previous=void 0;item.next=this._head;this._head.previous=item;this._head=item;this._state++}else if(touch===2){if(item===this._tail){return}const next=item.next;const previous=item.previous;if(item===this._head){next.previous=void 0;this._head=next}else{next.previous=previous;previous.next=next}item.next=void 0;item.previous=this._tail;this._tail.next=item;this._tail=item;this._state++}}toJSON(){const data=[];this.forEach(((value,key)=>{data.push([key,value])}));return data}fromJSON(data){this.clear();for(const[key,value]of data){this.set(key,value)}}};LRUCache=class extends LinkedMap{constructor(limit,ratio=1){super();this._limit=limit;this._ratio=Math.min(Math.max(0,ratio),1)}get limit(){return this._limit}set limit(limit){this._limit=limit;this.checkTrim()}get(key,touch=2){return super.get(key,touch)}peek(key){return super.get(key,0)}set(key,value){super.set(key,value,2);this.checkTrim();return this}checkTrim(){if(this.size>this._limit){this.trimOld(Math.round(this._limit*this._ratio))}}}}});function or(...filter){return function(word,wordToMatchAgainst){for(let i=0,len=filter.length;i<len;i++){const match2=filter[i](word,wordToMatchAgainst);if(match2){return match2}}return null}}function _matchesPrefix(ignoreCase,word,wordToMatchAgainst){if(!wordToMatchAgainst||wordToMatchAgainst.length<word.length){return null}let matches;if(ignoreCase){matches=startsWithIgnoreCase(wordToMatchAgainst,word)}else{matches=wordToMatchAgainst.indexOf(word)===0}if(!matches){return null}return word.length>0?[{start:0,end:word.length}]:[]}function matchesContiguousSubString(word,wordToMatchAgainst){const index=wordToMatchAgainst.toLowerCase().indexOf(word.toLowerCase());if(index===-1){return null}return[{start:index,end:index+word.length}]}function matchesSubString(word,wordToMatchAgainst){return _matchesSubString(word.toLowerCase(),wordToMatchAgainst.toLowerCase(),0,0)}function _matchesSubString(word,wordToMatchAgainst,i,j){if(i===word.length){return[]}else if(j===wordToMatchAgainst.length){return null}else{if(word[i]===wordToMatchAgainst[j]){let result=null;if(result=_matchesSubString(word,wordToMatchAgainst,i+1,j+1)){return join({start:j,end:j+1},result)}return null}return _matchesSubString(word,wordToMatchAgainst,i,j+1)}}function isLower(code){return 97<=code&&code<=122}function isUpper(code){return 65<=code&&code<=90}function isNumber2(code){return 48<=code&&code<=57}function isWhitespace(code){return code===32||code===9||code===10||code===13}function isWordSeparator(code){return isWhitespace(code)||wordSeparators.has(code)}function charactersMatch(codeA,codeB){return codeA===codeB||isWordSeparator(codeA)&&isWordSeparator(codeB)}function isAlphanumeric(code){return isLower(code)||isUpper(code)||isNumber2(code)}function join(head,tail3){if(tail3.length===0){tail3=[head]}else if(head.end===tail3[0].start){tail3[0].start=head.start}else{tail3.unshift(head)}return tail3}function nextAnchor(camelCaseWord,start){for(let i=start;i<camelCaseWord.length;i++){const c=camelCaseWord.charCodeAt(i);if(isUpper(c)||isNumber2(c)||i>0&&!isAlphanumeric(camelCaseWord.charCodeAt(i-1))){return i}}return camelCaseWord.length}function _matchesCamelCase(word,camelCaseWord,i,j){if(i===word.length){return[]}else if(j===camelCaseWord.length){return null}else if(word[i]!==camelCaseWord[j].toLowerCase()){return null}else{let result=null;let nextUpperIndex=j+1;result=_matchesCamelCase(word,camelCaseWord,i+1,j+1);while(!result&&(nextUpperIndex=nextAnchor(camelCaseWord,nextUpperIndex))<camelCaseWord.length){result=_matchesCamelCase(word,camelCaseWord,i+1,nextUpperIndex);nextUpperIndex++}return result===null?null:join({start:j,end:j+1},result)}}function analyzeCamelCaseWord(word){let upper=0,lower=0,alpha=0,numeric=0,code=0;for(let i=0;i<word.length;i++){code=word.charCodeAt(i);if(isUpper(code)){upper++}if(isLower(code)){lower++}if(isAlphanumeric(code)){alpha++}if(isNumber2(code)){numeric++}}const upperPercent=upper/word.length;const lowerPercent=lower/word.length;const alphaPercent=alpha/word.length;const numericPercent=numeric/word.length;return{upperPercent:upperPercent,lowerPercent:lowerPercent,alphaPercent:alphaPercent,numericPercent:numericPercent}}function isUpperCaseWord(analysis){const{upperPercent:upperPercent,lowerPercent:lowerPercent}=analysis;return lowerPercent===0&&upperPercent>.6}function isCamelCaseWord(analysis){const{upperPercent:upperPercent,lowerPercent:lowerPercent,alphaPercent:alphaPercent,numericPercent:numericPercent}=analysis;return lowerPercent>.2&&upperPercent<.8&&alphaPercent>.6&&numericPercent<.2}function isCamelCasePattern(word){let upper=0,lower=0,code=0,whitespace=0;for(let i=0;i<word.length;i++){code=word.charCodeAt(i);if(isUpper(code)){upper++}if(isLower(code)){lower++}if(isWhitespace(code)){whitespace++}}if((upper===0||lower===0)&&whitespace===0){return word.length<=30}else{return upper<=5}}function matchesCamelCase(word,camelCaseWord){if(!camelCaseWord){return null}camelCaseWord=camelCaseWord.trim();if(camelCaseWord.length===0){return null}if(!isCamelCasePattern(word)){return null}if(camelCaseWord.length>60){return null}const analysis=analyzeCamelCaseWord(camelCaseWord);if(!isCamelCaseWord(analysis)){if(!isUpperCaseWord(analysis)){return null}camelCaseWord=camelCaseWord.toLowerCase()}let result=null;let i=0;word=word.toLowerCase();while(i<camelCaseWord.length&&(result=_matchesCamelCase(word,camelCaseWord,0,i))===null){i=nextAnchor(camelCaseWord,i+1)}return result}function matchesWords(word,target,contiguous=false){if(!target||target.length===0){return null}let result=null;let i=0;word=word.toLowerCase();target=target.toLowerCase();while(i<target.length&&(result=_matchesWords(word,target,0,i,contiguous))===null){i=nextWord(target,i+1)}return result}function _matchesWords(word,target,i,j,contiguous){if(i===word.length){return[]}else if(j===target.length){return null}else if(!charactersMatch(word.charCodeAt(i),target.charCodeAt(j))){return null}else{let result=null;let nextWordIndex=j+1;result=_matchesWords(word,target,i+1,j+1,contiguous);if(!contiguous){while(!result&&(nextWordIndex=nextWord(target,nextWordIndex))<target.length){result=_matchesWords(word,target,i+1,nextWordIndex,contiguous);nextWordIndex++}}if(!result){return null}if(word.charCodeAt(i)!==target.charCodeAt(j)){return result}return join({start:j,end:j+1},result)}}function nextWord(word,start){for(let i=start;i<word.length;i++){if(isWordSeparator(word.charCodeAt(i))||i>0&&isWordSeparator(word.charCodeAt(i-1))){return i}}return word.length}function matchesFuzzy(word,wordToMatchAgainst,enableSeparateSubstringMatching=false){if(typeof word!=="string"||typeof wordToMatchAgainst!=="string"){return null}let regexp=fuzzyRegExpCache.get(word);if(!regexp){regexp=new RegExp(convertSimple2RegExpPattern(word),"i");fuzzyRegExpCache.set(word,regexp)}const match2=regexp.exec(wordToMatchAgainst);if(match2){return[{start:match2.index,end:match2.index+match2[0].length}]}return enableSeparateSubstringMatching?fuzzySeparateFilter(word,wordToMatchAgainst):fuzzyContiguousFilter(word,wordToMatchAgainst)}function matchesFuzzy2(pattern,word){const score3=fuzzyScore(pattern,pattern.toLowerCase(),0,word,word.toLowerCase(),0,{firstMatchCanBeWeak:true,boostFullMatch:true});return score3?createMatches(score3):null}function anyScore(pattern,lowPattern,patternPos,word,lowWord,wordPos){const max=Math.min(13,pattern.length);for(;patternPos<max;patternPos++){const result=fuzzyScore(pattern,lowPattern,patternPos,word,lowWord,wordPos,{firstMatchCanBeWeak:true,boostFullMatch:true});if(result){return result}}return[0,wordPos]}function createMatches(score3){if(typeof score3==="undefined"){return[]}const res=[];const wordPos=score3[1];for(let i=score3.length-1;i>1;i--){const pos=score3[i]+wordPos;const last=res[res.length-1];if(last&&last.end===pos){last.end=pos+1}else{res.push({start:pos,end:pos+1})}}return res}function initTable(){const table=[];const row=[];for(let i=0;i<=_maxLen;i++){row[i]=0}for(let i=0;i<=_maxLen;i++){table.push(row.slice(0))}return table}function initArr(maxLen){const row=[];for(let i=0;i<=maxLen;i++){row[i]=0}return row}function printTable(table,pattern,patternLen,word,wordLen){function pad(s,n,pad2=" "){while(s.length<n){s=pad2+s}return s}let ret=` | |${word.split("").map((c=>pad(c,3))).join("|")}\n`;for(let i=0;i<=patternLen;i++){if(i===0){ret+=" |"}else{ret+=`${pattern[i-1]}|`}ret+=table[i].slice(0,wordLen+1).map((n=>pad(n.toString(),3))).join("|")+"\n"}return ret}function printTables(pattern,patternStart,word,wordStart){pattern=pattern.substr(patternStart);word=word.substr(wordStart);console.log(printTable(_table,pattern,pattern.length,word,word.length));console.log(printTable(_arrows,pattern,pattern.length,word,word.length));console.log(printTable(_diag,pattern,pattern.length,word,word.length))}function isSeparatorAtPos(value,index){if(index<0||index>=value.length){return false}const code=value.codePointAt(index);switch(code){case 95:case 45:case 46:case 32:case 47:case 92:case 39:case 34:case 58:case 36:case 60:case 62:case 40:case 41:case 91:case 93:case 123:case 125:return true;case void 0:return false;default:if(isEmojiImprecise(code)){return true}return false}}function isWhitespaceAtPos(value,index){if(index<0||index>=value.length){return false}const code=value.charCodeAt(index);switch(code){case 32:case 9:return true;default:return false}}function isUpperCaseAtPos(pos,word,wordLow){return word[pos]!==wordLow[pos]}function isPatternInWord(patternLow,patternPos,patternLen,wordLow,wordPos,wordLen,fillMinWordPosArr=false){while(patternPos<patternLen&&wordPos<wordLen){if(patternLow[patternPos]===wordLow[wordPos]){if(fillMinWordPosArr){_minWordMatchPos[patternPos]=wordPos}patternPos+=1}wordPos+=1}return patternPos===patternLen}function fuzzyScore(pattern,patternLow,patternStart,word,wordLow,wordStart,options2=FuzzyScoreOptions.default){const patternLen=pattern.length>_maxLen?_maxLen:pattern.length;const wordLen=word.length>_maxLen?_maxLen:word.length;if(patternStart>=patternLen||wordStart>=wordLen||patternLen-patternStart>wordLen-wordStart){return void 0}if(!isPatternInWord(patternLow,patternStart,patternLen,wordLow,wordStart,wordLen,true)){return void 0}_fillInMaxWordMatchPos(patternLen,wordLen,patternStart,wordStart,patternLow,wordLow);let row=1;let column=1;let patternPos=patternStart;let wordPos=wordStart;const hasStrongFirstMatch=[false];for(row=1,patternPos=patternStart;patternPos<patternLen;row++,patternPos++){const minWordMatchPos=_minWordMatchPos[patternPos];const maxWordMatchPos=_maxWordMatchPos[patternPos];const nextMaxWordMatchPos=patternPos+1<patternLen?_maxWordMatchPos[patternPos+1]:wordLen;for(column=minWordMatchPos-wordStart+1,wordPos=minWordMatchPos;wordPos<nextMaxWordMatchPos;column++,wordPos++){let score3=Number.MIN_SAFE_INTEGER;let canComeDiag=false;if(wordPos<=maxWordMatchPos){score3=_doScore(pattern,patternLow,patternPos,patternStart,word,wordLow,wordPos,wordLen,wordStart,_diag[row-1][column-1]===0,hasStrongFirstMatch)}let diagScore=0;if(score3!==Number.MAX_SAFE_INTEGER){canComeDiag=true;diagScore=score3+_table[row-1][column-1]}const canComeLeft=wordPos>minWordMatchPos;const leftScore=canComeLeft?_table[row][column-1]+(_diag[row][column-1]>0?-5:0):0;const canComeLeftLeft=wordPos>minWordMatchPos+1&&_diag[row][column-1]>0;const leftLeftScore=canComeLeftLeft?_table[row][column-2]+(_diag[row][column-2]>0?-5:0):0;if(canComeLeftLeft&&(!canComeLeft||leftLeftScore>=leftScore)&&(!canComeDiag||leftLeftScore>=diagScore)){_table[row][column]=leftLeftScore;_arrows[row][column]=3;_diag[row][column]=0}else if(canComeLeft&&(!canComeDiag||leftScore>=diagScore)){_table[row][column]=leftScore;_arrows[row][column]=2;_diag[row][column]=0}else if(canComeDiag){_table[row][column]=diagScore;_arrows[row][column]=1;_diag[row][column]=_diag[row-1][column-1]+1}else{throw new Error(`not possible`)}}}if(_debug){printTables(pattern,patternStart,word,wordStart)}if(!hasStrongFirstMatch[0]&&!options2.firstMatchCanBeWeak){return void 0}row--;column--;const result=[_table[row][column],wordStart];let backwardsDiagLength=0;let maxMatchColumn=0;while(row>=1){let diagColumn=column;do{const arrow=_arrows[row][diagColumn];if(arrow===3){diagColumn=diagColumn-2}else if(arrow===2){diagColumn=diagColumn-1}else{break}}while(diagColumn>=1);if(backwardsDiagLength>1&&patternLow[patternStart+row-1]===wordLow[wordStart+column-1]&&!isUpperCaseAtPos(diagColumn+wordStart-1,word,wordLow)&&backwardsDiagLength+1>_diag[row][diagColumn]){diagColumn=column}if(diagColumn===column){backwardsDiagLength++}else{backwardsDiagLength=1}if(!maxMatchColumn){maxMatchColumn=diagColumn}row--;column=diagColumn-1;result.push(column)}if(wordLen===patternLen&&options2.boostFullMatch){result[0]+=2}const skippedCharsCount=maxMatchColumn-patternLen;result[0]-=skippedCharsCount;return result}function _fillInMaxWordMatchPos(patternLen,wordLen,patternStart,wordStart,patternLow,wordLow){let patternPos=patternLen-1;let wordPos=wordLen-1;while(patternPos>=patternStart&&wordPos>=wordStart){if(patternLow[patternPos]===wordLow[wordPos]){_maxWordMatchPos[patternPos]=wordPos;patternPos--}wordPos--}}function _doScore(pattern,patternLow,patternPos,patternStart,word,wordLow,wordPos,wordLen,wordStart,newMatchStart,outFirstMatchStrong){if(patternLow[patternPos]!==wordLow[wordPos]){return Number.MIN_SAFE_INTEGER}let score3=1;let isGapLocation=false;if(wordPos===patternPos-patternStart){score3=pattern[patternPos]===word[wordPos]?7:5}else if(isUpperCaseAtPos(wordPos,word,wordLow)&&(wordPos===0||!isUpperCaseAtPos(wordPos-1,word,wordLow))){score3=pattern[patternPos]===word[wordPos]?7:5;isGapLocation=true}else if(isSeparatorAtPos(wordLow,wordPos)&&(wordPos===0||!isSeparatorAtPos(wordLow,wordPos-1))){score3=5}else if(isSeparatorAtPos(wordLow,wordPos-1)||isWhitespaceAtPos(wordLow,wordPos-1)){score3=5;isGapLocation=true}if(score3>1&&patternPos===patternStart){outFirstMatchStrong[0]=true}if(!isGapLocation){isGapLocation=isUpperCaseAtPos(wordPos,word,wordLow)||isSeparatorAtPos(wordLow,wordPos-1)||isWhitespaceAtPos(wordLow,wordPos-1)}if(patternPos===patternStart){if(wordPos>wordStart){score3-=isGapLocation?3:5}}else{if(newMatchStart){score3+=isGapLocation?2:0}else{score3+=isGapLocation?0:1}}if(wordPos+1===wordLen){score3-=isGapLocation?3:5}return score3}function fuzzyScoreGracefulAggressive(pattern,lowPattern,patternPos,word,lowWord,wordPos,options2){return fuzzyScoreWithPermutations(pattern,lowPattern,patternPos,word,lowWord,wordPos,true,options2)}function fuzzyScoreWithPermutations(pattern,lowPattern,patternPos,word,lowWord,wordPos,aggressive,options2){let top=fuzzyScore(pattern,lowPattern,patternPos,word,lowWord,wordPos,options2);if(top&&!aggressive){return top}if(pattern.length>=3){const tries=Math.min(7,pattern.length-1);for(let movingPatternPos=patternPos+1;movingPatternPos<tries;movingPatternPos++){const newPattern=nextTypoPermutation(pattern,movingPatternPos);if(newPattern){const candidate=fuzzyScore(newPattern,newPattern.toLowerCase(),patternPos,word,lowWord,wordPos,options2);if(candidate){candidate[0]-=3;if(!top||candidate[0]>top[0]){top=candidate}}}}}return top}function nextTypoPermutation(pattern,patternPos){if(patternPos+1>=pattern.length){return void 0}const swap1=pattern[patternPos];const swap2=pattern[patternPos+1];if(swap1===swap2){return void 0}return pattern.slice(0,patternPos)+swap2+swap1+pattern.slice(patternPos+2)}var matchesStrictPrefix,matchesPrefix,wordSeparators,fuzzyContiguousFilter,fuzzySeparateFilter,fuzzyRegExpCache,_maxLen,_minWordMatchPos,_maxWordMatchPos,_diag,_table,_arrows,_debug,FuzzyScore,FuzzyScoreOptions;var init_filters=__esm({"node_modules/monaco-editor/esm/vs/base/common/filters.js"(){init_map();init_strings();matchesStrictPrefix=_matchesPrefix.bind(void 0,false);matchesPrefix=_matchesPrefix.bind(void 0,true);wordSeparators=new Set;"()[]{}<>`'\"-/;:,.?!".split("").forEach((s=>wordSeparators.add(s.charCodeAt(0))));fuzzyContiguousFilter=or(matchesPrefix,matchesCamelCase,matchesContiguousSubString);fuzzySeparateFilter=or(matchesPrefix,matchesCamelCase,matchesSubString);fuzzyRegExpCache=new LRUCache(1e4);_maxLen=128;_minWordMatchPos=initArr(2*_maxLen);_maxWordMatchPos=initArr(2*_maxLen);_diag=initTable();_table=initTable();_arrows=initTable();_debug=false;(function(FuzzyScore2){FuzzyScore2.Default=[-100,0];function isDefault(score3){return!score3||score3.length===2&&score3[0]===-100&&score3[1]===0}FuzzyScore2.isDefault=isDefault})(FuzzyScore||(FuzzyScore={}));FuzzyScoreOptions=class{constructor(firstMatchCanBeWeak,boostFullMatch){this.firstMatchCanBeWeak=firstMatchCanBeWeak;this.boostFullMatch=boostFullMatch}};FuzzyScoreOptions.default={boostFullMatch:true,firstMatchCanBeWeak:false}}});function escapeIcons(text2){return text2.replace(escapeIconsRegex,((match2,escaped)=>escaped?match2:`\\${match2}`))}function markdownEscapeEscapedIcons(text2){return text2.replace(markdownEscapedIconsRegex,(match2=>`\\${match2}`))}function stripIcons(text2){if(text2.indexOf(iconStartMarker)===-1){return text2}return text2.replace(stripIconsRegex,((match2,preWhitespace,escaped,postWhitespace)=>escaped?match2:preWhitespace||postWhitespace||""))}function getCodiconAriaLabel(text2){if(!text2){return""}return text2.replace(/\$\((.*?)\)/g,((_match,codiconName)=>` ${codiconName} `)).trim()}function parseLabelWithIcons(input){_parseIconsRegex.lastIndex=0;let text2="";const iconOffsets=[];let iconsOffset=0;while(true){const pos=_parseIconsRegex.lastIndex;const match2=_parseIconsRegex.exec(input);const chars=input.substring(pos,match2===null||match2===void 0?void 0:match2.index);if(chars.length>0){text2+=chars;for(let i=0;i<chars.length;i++){iconOffsets.push(iconsOffset)}}if(!match2){break}iconsOffset+=match2[0].length}return{text:text2,iconOffsets:iconOffsets}}function matchesFuzzyIconAware(query,target,enableSeparateSubstringMatching=false){const{text:text2,iconOffsets:iconOffsets}=target;if(!iconOffsets||iconOffsets.length===0){return matchesFuzzy(query,text2,enableSeparateSubstringMatching)}const wordToMatchAgainstWithoutIconsTrimmed=ltrim(text2," ");const leadingWhitespaceOffset=text2.length-wordToMatchAgainstWithoutIconsTrimmed.length;const matches=matchesFuzzy(query,wordToMatchAgainstWithoutIconsTrimmed,enableSeparateSubstringMatching);if(matches){for(const match2 of matches){const iconOffset=iconOffsets[match2.start+leadingWhitespaceOffset]+leadingWhitespaceOffset;match2.start+=iconOffset;match2.end+=iconOffset}}return matches}var iconStartMarker,iconsRegex,escapeIconsRegex,markdownEscapedIconsRegex,stripIconsRegex,_parseIconsRegex;var init_iconLabels=__esm({"node_modules/monaco-editor/esm/vs/base/common/iconLabels.js"(){init_filters();init_strings();init_themables();iconStartMarker="$(";iconsRegex=new RegExp(`\\$\\(${ThemeIcon.iconNameExpression}(?:${ThemeIcon.iconModifierExpression})?\\)`,"g");escapeIconsRegex=new RegExp(`(\\\\)?${iconsRegex.source}`,"g");markdownEscapedIconsRegex=new RegExp(`\\\\${iconsRegex.source}`,"g");stripIconsRegex=new RegExp(`(\\s)?(\\\\)?${iconsRegex.source}(\\s)?`,"g");_parseIconsRegex=new RegExp(`\\$\\(${ThemeIcon.iconNameCharacter}+\\)`,"g")}});function isEmptyMarkdownString(oneOrMany){if(isMarkdownString(oneOrMany)){return!oneOrMany.value}else if(Array.isArray(oneOrMany)){return oneOrMany.every(isEmptyMarkdownString)}else{return true}}function isMarkdownString(thing){if(thing instanceof MarkdownString){return true}else if(thing&&typeof thing==="object"){return typeof thing.value==="string"&&(typeof thing.isTrusted==="boolean"||typeof thing.isTrusted==="object"||thing.isTrusted===void 0)&&(typeof thing.supportThemeIcons==="boolean"||thing.supportThemeIcons===void 0)}return false}function markdownStringEqual(a,b){if(a===b){return true}else if(!a||!b){return false}else{return a.value===b.value&&a.isTrusted===b.isTrusted&&a.supportThemeIcons===b.supportThemeIcons&&a.supportHtml===b.supportHtml&&(a.baseUri===b.baseUri||!!a.baseUri&&!!b.baseUri&&isEqual(URI.from(a.baseUri),URI.from(b.baseUri)))}}function escapeMarkdownSyntaxTokens(text2){return text2.replace(/[\\`*_{}[\]()#+\-!~]/g,"\\$&")}function escapeDoubleQuotes(input){return input.replace(/"/g,"&quot;")}function removeMarkdownEscapes(text2){if(!text2){return text2}return text2.replace(/\\([\\`*_{}[\]()#+\-.!~])/g,"$1")}function parseHrefAndDimensions(href){const dimensions=[];const splitted=href.split("|").map((s=>s.trim()));href=splitted[0];const parameters=splitted[1];if(parameters){const heightFromParams=/height=(\d+)/.exec(parameters);const widthFromParams=/width=(\d+)/.exec(parameters);const height=heightFromParams?heightFromParams[1]:"";const width=widthFromParams?widthFromParams[1]:"";const widthIsFinite=isFinite(parseInt(width));const heightIsFinite=isFinite(parseInt(height));if(widthIsFinite){dimensions.push(`width="${width}"`)}if(heightIsFinite){dimensions.push(`height="${height}"`)}}return{href:href,dimensions:dimensions}}var MarkdownString;var init_htmlContent=__esm({"node_modules/monaco-editor/esm/vs/base/common/htmlContent.js"(){init_errors();init_iconLabels();init_resources();init_strings();init_uri();MarkdownString=class{constructor(value="",isTrustedOrOptions=false){var _a6,_b3,_c2;this.value=value;if(typeof this.value!=="string"){throw illegalArgument("value")}if(typeof isTrustedOrOptions==="boolean"){this.isTrusted=isTrustedOrOptions;this.supportThemeIcons=false;this.supportHtml=false}else{this.isTrusted=(_a6=isTrustedOrOptions.isTrusted)!==null&&_a6!==void 0?_a6:void 0;this.supportThemeIcons=(_b3=isTrustedOrOptions.supportThemeIcons)!==null&&_b3!==void 0?_b3:false;this.supportHtml=(_c2=isTrustedOrOptions.supportHtml)!==null&&_c2!==void 0?_c2:false}}appendText(value,newlineStyle=0){this.value+=escapeMarkdownSyntaxTokens(this.supportThemeIcons?escapeIcons(value):value).replace(/([ \t]+)/g,((_match,g1)=>"&nbsp;".repeat(g1.length))).replace(/\>/gm,"\\>").replace(/\n/g,newlineStyle===1?"\\\n":"\n\n");return this}appendMarkdown(value){this.value+=value;return this}appendCodeblock(langId,code){this.value+="\n```";this.value+=langId;this.value+="\n";this.value+=code;this.value+="\n```\n";return this}appendLink(target,label,title){this.value+="[";this.value+=this._escape(label,"]");this.value+="](";this.value+=this._escape(String(target),")");if(title){this.value+=` "${this._escape(this._escape(title,'"'),")")}"`}this.value+=")";return this}_escape(value,ch){const r=new RegExp(escapeRegExpCharacters(ch),"g");return value.replace(r,((match2,offset)=>{if(value.charAt(offset-1)!=="\\"){return`\\${match2}`}else{return match2}}))}}}});var init_25=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/media/diffEditor.css"(){}});var StableEditorScrollState;var init_stableEditorScroll=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/stableEditorScroll.js"(){StableEditorScrollState=class{static capture(editor2){if(editor2.getScrollTop()===0||editor2.hasPendingScrollAnimation()){return new StableEditorScrollState(editor2.getScrollTop(),editor2.getContentHeight(),null,0,null)}let visiblePosition=null;let visiblePositionScrollDelta=0;const visibleRanges=editor2.getVisibleRanges();if(visibleRanges.length>0){visiblePosition=visibleRanges[0].getStartPosition();const visiblePositionScrollTop=editor2.getTopForPosition(visiblePosition.lineNumber,visiblePosition.column);visiblePositionScrollDelta=editor2.getScrollTop()-visiblePositionScrollTop}return new StableEditorScrollState(editor2.getScrollTop(),editor2.getContentHeight(),visiblePosition,visiblePositionScrollDelta,editor2.getPosition())}constructor(_initialScrollTop,_initialContentHeight,_visiblePosition,_visiblePositionScrollDelta,_cursorPosition){this._initialScrollTop=_initialScrollTop;this._initialContentHeight=_initialContentHeight;this._visiblePosition=_visiblePosition;this._visiblePositionScrollDelta=_visiblePositionScrollDelta;this._cursorPosition=_cursorPosition}restore(editor2){if(this._initialContentHeight===editor2.getContentHeight()&&this._initialScrollTop===editor2.getScrollTop()){return}if(this._visiblePosition){const visiblePositionScrollTop=editor2.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);editor2.setScrollTop(visiblePositionScrollTop+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(editor2){if(this._initialContentHeight===editor2.getContentHeight()&&this._initialScrollTop===editor2.getScrollTop()){return}const currentCursorPosition=editor2.getPosition();if(!this._cursorPosition||!currentCursorPosition){return}const offset=editor2.getTopForLineNumber(currentCursorPosition.lineNumber)-editor2.getTopForLineNumber(this._cursorPosition.lineNumber);editor2.setScrollTop(editor2.getScrollTop()+offset)}}}});var DataTransfers;var init_dnd=__esm({"node_modules/monaco-editor/esm/vs/base/browser/dnd.js"(){init_mime();DataTransfers={RESOURCES:"ResourceURLs",DOWNLOAD_URL:"DownloadURL",FILES:"Files",TEXT:Mimes.text,INTERNAL_URI_LIST:"application/vnd.code.uri-list"}}});function setupNativeHover(htmlElement,tooltip){if(isString(tooltip)){htmlElement.title=stripIcons(tooltip)}else if(tooltip===null||tooltip===void 0?void 0:tooltip.markdownNotSupportedFallback){htmlElement.title=tooltip.markdownNotSupportedFallback}else{htmlElement.removeAttribute("title")}}function setupCustomHover(hoverDelegate,htmlElement,content,options2){let hoverPreparation;let hoverWidget;const hideHover=(disposeWidget,disposePreparation)=>{var _a6;const hadHover=hoverWidget!==void 0;if(disposeWidget){hoverWidget===null||hoverWidget===void 0?void 0:hoverWidget.dispose();hoverWidget=void 0}if(disposePreparation){hoverPreparation===null||hoverPreparation===void 0?void 0:hoverPreparation.dispose();hoverPreparation=void 0}if(hadHover){(_a6=hoverDelegate.onDidHideHover)===null||_a6===void 0?void 0:_a6.call(hoverDelegate)}};const triggerShowHover=(delay,focus,target)=>new TimeoutTimer((()=>__awaiter9(this,void 0,void 0,(function*(){if(!hoverWidget||hoverWidget.isDisposed){hoverWidget=new UpdatableHoverWidget(hoverDelegate,target||htmlElement,delay>0);yield hoverWidget.update(content,focus,options2)}}))),delay);const onMouseOver=()=>{if(hoverPreparation){return}const toDispose=new DisposableStore;const onMouseLeave=e=>hideHover(false,e.fromElement===htmlElement);toDispose.add(addDisposableListener(htmlElement,EventType.MOUSE_LEAVE,onMouseLeave,true));const onMouseDown=()=>hideHover(true,true);toDispose.add(addDisposableListener(htmlElement,EventType.MOUSE_DOWN,onMouseDown,true));const target={targetElements:[htmlElement],dispose:()=>{}};if(hoverDelegate.placement===void 0||hoverDelegate.placement==="mouse"){const onMouseMove=e=>{target.x=e.x+10;if(e.target instanceof HTMLElement&&e.target.classList.contains("action-label")){hideHover(true,true)}};toDispose.add(addDisposableListener(htmlElement,EventType.MOUSE_MOVE,onMouseMove,true))}toDispose.add(triggerShowHover(hoverDelegate.delay,false,target));hoverPreparation=toDispose};const mouseOverDomEmitter=addDisposableListener(htmlElement,EventType.MOUSE_OVER,onMouseOver,true);const hover={show:focus=>{hideHover(false,true);triggerShowHover(0,focus)},hide:()=>{hideHover(true,true)},update:(newContent,hoverOptions)=>__awaiter9(this,void 0,void 0,(function*(){content=newContent;yield hoverWidget===null||hoverWidget===void 0?void 0:hoverWidget.update(content,void 0,hoverOptions)})),dispose:()=>{mouseOverDomEmitter.dispose();hideHover(true,true)}};return hover}var __awaiter9,UpdatableHoverWidget;var init_iconLabelHover=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabelHover.js"(){init_dom();init_async();init_cancellation();init_htmlContent();init_iconLabels();init_lifecycle();init_types();init_nls();__awaiter9=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};UpdatableHoverWidget=class{constructor(hoverDelegate,target,fadeInAnimation){this.hoverDelegate=hoverDelegate;this.target=target;this.fadeInAnimation=fadeInAnimation}update(content,focus,options2){var _a6;return __awaiter9(this,void 0,void 0,(function*(){if(this._cancellationTokenSource){this._cancellationTokenSource.dispose(true);this._cancellationTokenSource=void 0}if(this.isDisposed){return}let resolvedContent;if(content===void 0||isString(content)||content instanceof HTMLElement){resolvedContent=content}else if(!isFunction(content.markdown)){resolvedContent=(_a6=content.markdown)!==null&&_a6!==void 0?_a6:content.markdownNotSupportedFallback}else{if(!this._hoverWidget){this.show(localize("iconLabel.loading","Loading..."),focus)}this._cancellationTokenSource=new CancellationTokenSource;const token=this._cancellationTokenSource.token;resolvedContent=yield content.markdown(token);if(resolvedContent===void 0){resolvedContent=content.markdownNotSupportedFallback}if(this.isDisposed||token.isCancellationRequested){return}}this.show(resolvedContent,focus,options2)}))}show(content,focus,options2){const oldHoverWidget=this._hoverWidget;if(this.hasContent(content)){const hoverOptions=Object.assign({content:content,target:this.target,showPointer:this.hoverDelegate.placement==="element",hoverPosition:2,skipFadeInAnimation:!this.fadeInAnimation||!!oldHoverWidget},options2);this._hoverWidget=this.hoverDelegate.showHover(hoverOptions,focus)}oldHoverWidget===null||oldHoverWidget===void 0?void 0:oldHoverWidget.dispose()}hasContent(content){if(!content){return false}if(isMarkdownString(content)){return!!content.value}return true}get isDisposed(){var _a6;return(_a6=this._hoverWidget)===null||_a6===void 0?void 0:_a6.isDisposed}dispose(){var _a6,_b3;(_a6=this._hoverWidget)===null||_a6===void 0?void 0:_a6.dispose();(_b3=this._cancellationTokenSource)===null||_b3===void 0?void 0:_b3.dispose(true);this._cancellationTokenSource=void 0}}}});function renderText(text2,options2={}){const element=createElement(options2);element.textContent=text2;return element}function renderFormattedText(formattedText,options2={}){const element=createElement(options2);_renderFormattedText(element,parseFormattedText(formattedText,!!options2.renderCodeSegments),options2.actionHandler,options2.renderCodeSegments);return element}function createElement(options2){const tagName=options2.inline?"span":"div";const element=document.createElement(tagName);if(options2.className){element.className=options2.className}return element}function _renderFormattedText(element,treeNode,actionHandler,renderCodeSegments){let child;if(treeNode.type===2){child=document.createTextNode(treeNode.content||"")}else if(treeNode.type===3){child=document.createElement("b")}else if(treeNode.type===4){child=document.createElement("i")}else if(treeNode.type===7&&renderCodeSegments){child=document.createElement("code")}else if(treeNode.type===5&&actionHandler){const a=document.createElement("a");actionHandler.disposables.add(addStandardDisposableListener(a,"click",(event=>{actionHandler.callback(String(treeNode.index),event)})));child=a}else if(treeNode.type===8){child=document.createElement("br")}else if(treeNode.type===1){child=element}if(child&&element!==child){element.appendChild(child)}if(child&&Array.isArray(treeNode.children)){treeNode.children.forEach((nodeChild=>{_renderFormattedText(child,nodeChild,actionHandler,renderCodeSegments)}))}}function parseFormattedText(content,parseCodeSegments){const root={type:1,children:[]};let actionViewItemIndex=0;let current=root;const stack=[];const stream=new StringStream(content);while(!stream.eos()){let next=stream.next();const isEscapedFormatType=next==="\\"&&formatTagType(stream.peek(),parseCodeSegments)!==0;if(isEscapedFormatType){next=stream.next()}if(!isEscapedFormatType&&isFormatTag(next,parseCodeSegments)&&next===stream.peek()){stream.advance();if(current.type===2){current=stack.pop()}const type=formatTagType(next,parseCodeSegments);if(current.type===type||current.type===5&&type===6){current=stack.pop()}else{const newCurrent={type:type,children:[]};if(type===5){newCurrent.index=actionViewItemIndex;actionViewItemIndex++}current.children.push(newCurrent);stack.push(current);current=newCurrent}}else if(next==="\n"){if(current.type===2){current=stack.pop()}current.children.push({type:8})}else{if(current.type!==2){const textCurrent={type:2,content:next};current.children.push(textCurrent);stack.push(current);current=textCurrent}else{current.content+=next}}}if(current.type===2){current=stack.pop()}if(stack.length){}return root}function isFormatTag(char,supportCodeSegments){return formatTagType(char,supportCodeSegments)!==0}function formatTagType(char,supportCodeSegments){switch(char){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;case"`":return supportCodeSegments?7:0;default:return 0}}var StringStream;var init_formattedTextRenderer=__esm({"node_modules/monaco-editor/esm/vs/base/browser/formattedTextRenderer.js"(){init_dom();StringStream=class{constructor(source){this.source=source;this.index=0}eos(){return this.index>=this.source.length}next(){const next=this.peek();this.advance();return next}peek(){return this.source[this.index]}advance(){this.index++}}}});function renderLabelWithIcons(text2){const elements=new Array;let match2;let textStart=0,textStop=0;while((match2=labelWithIconsRegex.exec(text2))!==null){textStop=match2.index||0;if(textStart<textStop){elements.push(text2.substring(textStart,textStop))}textStart=(match2.index||0)+match2[0].length;const[,escaped,codicon]=match2;elements.push(escaped?`$(${codicon})`:renderIcon({id:codicon}))}if(textStart<text2.length){elements.push(text2.substring(textStart))}return elements}function renderIcon(icon){const node=$(`span`);node.classList.add(...ThemeIcon.asClassNameArray(icon));return node}var labelWithIconsRegex;var init_iconLabels2=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabels.js"(){init_dom();init_themables();labelWithIconsRegex=new RegExp(`(\\\\)?\\$\\((${ThemeIcon.iconNameExpression}(?:${ThemeIcon.iconModifierExpression})?)\\)`,"g")}});var IdGenerator,defaultGenerator;var init_idGenerator=__esm({"node_modules/monaco-editor/esm/vs/base/common/idGenerator.js"(){IdGenerator=class{constructor(prefix){this._prefix=prefix;this._lastId=0}nextId(){return this._prefix+ ++this._lastId}};defaultGenerator=new IdGenerator("id#")}});var __marked_exports,Lexer,Parser3,Renderer,Slugger,TextRenderer,Tokenizer,getDefaults,lexer,marked,options,parse,parseInline,parser,setOptions,use,walkTokens;var init_marked=__esm({"node_modules/monaco-editor/esm/vs/base/common/marked/marked.js"(){__marked_exports={};(function(){function define2(deps,factory){factory(__marked_exports)}define2.amd=true;(function(global2,factory){typeof define2==="function"&&define2.amd?define2(["exports"],factory):typeof exports==="object"&&typeof module!=="undefined"?factory(exports):(global2=typeof globalThis!=="undefined"?globalThis:global2||self,factory(global2.marked={}))})(this,(function(exports2){"use strict";function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);Object.defineProperty(Constructor,"prototype",{writable:false});return Constructor}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _createForOfIteratorHelperLoose(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(it)return(it=it.call(o)).next.bind(it);if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;return function(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function getDefaults2(){return{async:false,baseUrl:null,breaks:false,extensions:null,gfm:true,headerIds:true,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:true,pedantic:false,renderer:null,sanitize:false,sanitizer:null,silent:false,smartLists:false,smartypants:false,tokenizer:null,walkTokens:null,xhtml:false}}exports2.defaults=getDefaults2();function changeDefaults(newDefaults){exports2.defaults=newDefaults}var escapeTest=/[&<>"']/;var escapeReplace=/[&<>"']/g;var escapeTestNoEncode=/[<>"']|&(?!#?\w+;)/;var escapeReplaceNoEncode=/[<>"']|&(?!#?\w+;)/g;var escapeReplacements={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};var getEscapeReplacement=function getEscapeReplacement2(ch){return escapeReplacements[ch]};function escape2(html2,encode){if(encode){if(escapeTest.test(html2)){return html2.replace(escapeReplace,getEscapeReplacement)}}else{if(escapeTestNoEncode.test(html2)){return html2.replace(escapeReplaceNoEncode,getEscapeReplacement)}}return html2}var unescapeTest=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function unescape(html2){return html2.replace(unescapeTest,(function(_,n){n=n.toLowerCase();if(n==="colon")return":";if(n.charAt(0)==="#"){return n.charAt(1)==="x"?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1))}return""}))}var caret=/(^|[^\[])\^/g;function edit(regex,opt){regex=typeof regex==="string"?regex:regex.source;opt=opt||"";var obj={replace:function replace(name,val){val=val.source||val;val=val.replace(caret,"$1");regex=regex.replace(name,val);return obj},getRegex:function getRegex(){return new RegExp(regex,opt)}};return obj}var nonWordAndColonTest=/[^\w:]/g;var originIndependentUrl=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function cleanUrl(sanitize3,base,href){if(sanitize3){var prot;try{prot=decodeURIComponent(unescape(href)).replace(nonWordAndColonTest,"").toLowerCase()}catch(e){return null}if(prot.indexOf("javascript:")===0||prot.indexOf("vbscript:")===0||prot.indexOf("data:")===0){return null}}if(base&&!originIndependentUrl.test(href)){href=resolveUrl(base,href)}try{href=encodeURI(href).replace(/%25/g,"%")}catch(e){return null}return href}var baseUrls={};var justDomain=/^[^:]+:\/*[^/]*$/;var protocol=/^([^:]+:)[\s\S]*$/;var domain=/^([^:]+:\/*[^/]*)[\s\S]*$/;function resolveUrl(base,href){if(!baseUrls[" "+base]){if(justDomain.test(base)){baseUrls[" "+base]=base+"/"}else{baseUrls[" "+base]=rtrim2(base,"/",true)}}base=baseUrls[" "+base];var relativeBase=base.indexOf(":")===-1;if(href.substring(0,2)==="//"){if(relativeBase){return href}return base.replace(protocol,"$1")+href}else if(href.charAt(0)==="/"){if(relativeBase){return href}return base.replace(domain,"$1")+href}else{return base+href}}var noopTest={exec:function noopTest2(){}};function merge(obj){var i=1,target,key;for(;i<arguments.length;i++){target=arguments[i];for(key in target){if(Object.prototype.hasOwnProperty.call(target,key)){obj[key]=target[key]}}}return obj}function splitCells(tableRow,count){var row=tableRow.replace(/\|/g,(function(match2,offset,str){var escaped=false,curr=offset;while(--curr>=0&&str[curr]==="\\"){escaped=!escaped}if(escaped){return"|"}else{return" |"}})),cells=row.split(/ \|/);var i=0;if(!cells[0].trim()){cells.shift()}if(cells.length>0&&!cells[cells.length-1].trim()){cells.pop()}if(cells.length>count){cells.splice(count)}else{while(cells.length<count){cells.push("")}}for(;i<cells.length;i++){cells[i]=cells[i].trim().replace(/\\\|/g,"|")}return cells}function rtrim2(str,c,invert){var l=str.length;if(l===0){return""}var suffLen=0;while(suffLen<l){var currChar=str.charAt(l-suffLen-1);if(currChar===c&&!invert){suffLen++}else if(currChar!==c&&invert){suffLen++}else{break}}return str.slice(0,l-suffLen)}function findClosingBracket(str,b){if(str.indexOf(b[1])===-1){return-1}var l=str.length;var level=0,i=0;for(;i<l;i++){if(str[i]==="\\"){i++}else if(str[i]===b[0]){level++}else if(str[i]===b[1]){level--;if(level<0){return i}}}return-1}function checkSanitizeDeprecation(opt){if(opt&&opt.sanitize&&!opt.silent){console.warn("marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options")}}function repeatString(pattern,count){if(count<1){return""}var result="";while(count>1){if(count&1){result+=pattern}count>>=1;pattern+=pattern}return result+pattern}function outputLink(cap,link,raw,lexer3){var href=link.href;var title=link.title?escape2(link.title):null;var text2=cap[1].replace(/\\([\[\]])/g,"$1");if(cap[0].charAt(0)!=="!"){lexer3.state.inLink=true;var token={type:"link",raw:raw,href:href,title:title,text:text2,tokens:lexer3.inlineTokens(text2)};lexer3.state.inLink=false;return token}return{type:"image",raw:raw,href:href,title:title,text:escape2(text2)}}function indentCodeCompensation(raw,text2){var matchIndentToCode=raw.match(/^(\s+)(?:```)/);if(matchIndentToCode===null){return text2}var indentToCode=matchIndentToCode[1];return text2.split("\n").map((function(node){var matchIndentInNode=node.match(/^\s+/);if(matchIndentInNode===null){return node}var indentInNode=matchIndentInNode[0];if(indentInNode.length>=indentToCode.length){return node.slice(indentToCode.length)}return node})).join("\n")}var Tokenizer2=function(){function Tokenizer3(options3){this.options=options3||exports2.defaults}var _proto=Tokenizer3.prototype;_proto.space=function space(src){var cap=this.rules.block.newline.exec(src);if(cap&&cap[0].length>0){return{type:"space",raw:cap[0]}}};_proto.code=function code(src){var cap=this.rules.block.code.exec(src);if(cap){var text2=cap[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:cap[0],codeBlockStyle:"indented",text:!this.options.pedantic?rtrim2(text2,"\n"):text2}}};_proto.fences=function fences(src){var cap=this.rules.block.fences.exec(src);if(cap){var raw=cap[0];var text2=indentCodeCompensation(raw,cap[3]||"");return{type:"code",raw:raw,lang:cap[2]?cap[2].trim():cap[2],text:text2}}};_proto.heading=function heading(src){var cap=this.rules.block.heading.exec(src);if(cap){var text2=cap[2].trim();if(/#$/.test(text2)){var trimmed=rtrim2(text2,"#");if(this.options.pedantic){text2=trimmed.trim()}else if(!trimmed||/ $/.test(trimmed)){text2=trimmed.trim()}}return{type:"heading",raw:cap[0],depth:cap[1].length,text:text2,tokens:this.lexer.inline(text2)}}};_proto.hr=function hr(src){var cap=this.rules.block.hr.exec(src);if(cap){return{type:"hr",raw:cap[0]}}};_proto.blockquote=function blockquote(src){var cap=this.rules.block.blockquote.exec(src);if(cap){var text2=cap[0].replace(/^ *>[ \t]?/gm,"");return{type:"blockquote",raw:cap[0],tokens:this.lexer.blockTokens(text2,[]),text:text2}}};_proto.list=function list(src){var cap=this.rules.block.list.exec(src);if(cap){var raw,istask,ischecked,indent,i,blankLine,endsWithBlankLine,line,nextLine,rawLine,itemContents,endEarly;var bull=cap[1].trim();var isordered=bull.length>1;var list2={type:"list",raw:"",ordered:isordered,start:isordered?+bull.slice(0,-1):"",loose:false,items:[]};bull=isordered?"\\d{1,9}\\"+bull.slice(-1):"\\"+bull;if(this.options.pedantic){bull=isordered?bull:"[*+-]"}var itemRegex=new RegExp("^( {0,3}"+bull+")((?:[\t ][^\\n]*)?(?:\\n|$))");while(src){endEarly=false;if(!(cap=itemRegex.exec(src))){break}if(this.rules.block.hr.test(src)){break}raw=cap[0];src=src.substring(raw.length);line=cap[2].split("\n",1)[0];nextLine=src.split("\n",1)[0];if(this.options.pedantic){indent=2;itemContents=line.trimLeft()}else{indent=cap[2].search(/[^ ]/);indent=indent>4?1:indent;itemContents=line.slice(indent);indent+=cap[1].length}blankLine=false;if(!line&&/^ *$/.test(nextLine)){raw+=nextLine+"\n";src=src.substring(nextLine.length+1);endEarly=true}if(!endEarly){var nextBulletRegex=new RegExp("^ {0,"+Math.min(3,indent-1)+"}(?:[*+-]|\\d{1,9}[.)])((?: [^\\n]*)?(?:\\n|$))");var hrRegex=new RegExp("^ {0,"+Math.min(3,indent-1)+"}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)");var fencesBeginRegex=new RegExp("^ {0,"+Math.min(3,indent-1)+"}(?:```|~~~)");var headingBeginRegex=new RegExp("^ {0,"+Math.min(3,indent-1)+"}#");while(src){rawLine=src.split("\n",1)[0];line=rawLine;if(this.options.pedantic){line=line.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")}if(fencesBeginRegex.test(line)){break}if(headingBeginRegex.test(line)){break}if(nextBulletRegex.test(line)){break}if(hrRegex.test(src)){break}if(line.search(/[^ ]/)>=indent||!line.trim()){itemContents+="\n"+line.slice(indent)}else if(!blankLine){itemContents+="\n"+line}else{break}if(!blankLine&&!line.trim()){blankLine=true}raw+=rawLine+"\n";src=src.substring(rawLine.length+1)}}if(!list2.loose){if(endsWithBlankLine){list2.loose=true}else if(/\n *\n *$/.test(raw)){endsWithBlankLine=true}}if(this.options.gfm){istask=/^\[[ xX]\] /.exec(itemContents);if(istask){ischecked=istask[0]!=="[ ] ";itemContents=itemContents.replace(/^\[[ xX]\] +/,"")}}list2.items.push({type:"list_item",raw:raw,task:!!istask,checked:ischecked,loose:false,text:itemContents});list2.raw+=raw}list2.items[list2.items.length-1].raw=raw.trimRight();list2.items[list2.items.length-1].text=itemContents.trimRight();list2.raw=list2.raw.trimRight();var l=list2.items.length;for(i=0;i<l;i++){this.lexer.state.top=false;list2.items[i].tokens=this.lexer.blockTokens(list2.items[i].text,[]);var spacers=list2.items[i].tokens.filter((function(t2){return t2.type==="space"}));var hasMultipleLineBreaks=spacers.every((function(t2){var chars=t2.raw.split("");var lineBreaks=0;for(var _iterator=_createForOfIteratorHelperLoose(chars),_step;!(_step=_iterator()).done;){var _char=_step.value;if(_char==="\n"){lineBreaks+=1}if(lineBreaks>1){return true}}return false}));if(!list2.loose&&spacers.length&&hasMultipleLineBreaks){list2.loose=true;list2.items[i].loose=true}}return list2}};_proto.html=function html2(src){var cap=this.rules.block.html.exec(src);if(cap){var token={type:"html",raw:cap[0],pre:!this.options.sanitizer&&(cap[1]==="pre"||cap[1]==="script"||cap[1]==="style"),text:cap[0]};if(this.options.sanitize){var text2=this.options.sanitizer?this.options.sanitizer(cap[0]):escape2(cap[0]);token.type="paragraph";token.text=text2;token.tokens=this.lexer.inline(text2)}return token}};_proto.def=function def(src){var cap=this.rules.block.def.exec(src);if(cap){if(cap[3])cap[3]=cap[3].substring(1,cap[3].length-1);var tag=cap[1].toLowerCase().replace(/\s+/g," ");return{type:"def",tag:tag,raw:cap[0],href:cap[2],title:cap[3]}}};_proto.table=function table(src){var cap=this.rules.block.table.exec(src);if(cap){var item={type:"table",header:splitCells(cap[1]).map((function(c){return{text:c}})),align:cap[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:cap[3]&&cap[3].trim()?cap[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(item.header.length===item.align.length){item.raw=cap[0];var l=item.align.length;var i,j,k,row;for(i=0;i<l;i++){if(/^ *-+: *$/.test(item.align[i])){item.align[i]="right"}else if(/^ *:-+: *$/.test(item.align[i])){item.align[i]="center"}else if(/^ *:-+ *$/.test(item.align[i])){item.align[i]="left"}else{item.align[i]=null}}l=item.rows.length;for(i=0;i<l;i++){item.rows[i]=splitCells(item.rows[i],item.header.length).map((function(c){return{text:c}}))}l=item.header.length;for(j=0;j<l;j++){item.header[j].tokens=this.lexer.inline(item.header[j].text)}l=item.rows.length;for(j=0;j<l;j++){row=item.rows[j];for(k=0;k<row.length;k++){row[k].tokens=this.lexer.inline(row[k].text)}}return item}}};_proto.lheading=function lheading(src){var cap=this.rules.block.lheading.exec(src);if(cap){return{type:"heading",raw:cap[0],depth:cap[2].charAt(0)==="="?1:2,text:cap[1],tokens:this.lexer.inline(cap[1])}}};_proto.paragraph=function paragraph(src){var cap=this.rules.block.paragraph.exec(src);if(cap){var text2=cap[1].charAt(cap[1].length-1)==="\n"?cap[1].slice(0,-1):cap[1];return{type:"paragraph",raw:cap[0],text:text2,tokens:this.lexer.inline(text2)}}};_proto.text=function text2(src){var cap=this.rules.block.text.exec(src);if(cap){return{type:"text",raw:cap[0],text:cap[0],tokens:this.lexer.inline(cap[0])}}};_proto.escape=function escape$1(src){var cap=this.rules.inline.escape.exec(src);if(cap){return{type:"escape",raw:cap[0],text:escape2(cap[1])}}};_proto.tag=function tag(src){var cap=this.rules.inline.tag.exec(src);if(cap){if(!this.lexer.state.inLink&&/^<a /i.test(cap[0])){this.lexer.state.inLink=true}else if(this.lexer.state.inLink&&/^<\/a>/i.test(cap[0])){this.lexer.state.inLink=false}if(!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(cap[0])){this.lexer.state.inRawBlock=true}else if(this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(cap[0])){this.lexer.state.inRawBlock=false}return{type:this.options.sanitize?"text":"html",raw:cap[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(cap[0]):escape2(cap[0]):cap[0]}}};_proto.link=function link(src){var cap=this.rules.inline.link.exec(src);if(cap){var trimmedUrl=cap[2].trim();if(!this.options.pedantic&&/^</.test(trimmedUrl)){if(!/>$/.test(trimmedUrl)){return}var rtrimSlash=rtrim2(trimmedUrl.slice(0,-1),"\\");if((trimmedUrl.length-rtrimSlash.length)%2===0){return}}else{var lastParenIndex=findClosingBracket(cap[2],"()");if(lastParenIndex>-1){var start=cap[0].indexOf("!")===0?5:4;var linkLen=start+cap[1].length+lastParenIndex;cap[2]=cap[2].substring(0,lastParenIndex);cap[0]=cap[0].substring(0,linkLen).trim();cap[3]=""}}var href=cap[2];var title="";if(this.options.pedantic){var link2=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(href);if(link2){href=link2[1];title=link2[3]}}else{title=cap[3]?cap[3].slice(1,-1):""}href=href.trim();if(/^</.test(href)){if(this.options.pedantic&&!/>$/.test(trimmedUrl)){href=href.slice(1)}else{href=href.slice(1,-1)}}return outputLink(cap,{href:href?href.replace(this.rules.inline._escapes,"$1"):href,title:title?title.replace(this.rules.inline._escapes,"$1"):title},cap[0],this.lexer)}};_proto.reflink=function reflink(src,links){var cap;if((cap=this.rules.inline.reflink.exec(src))||(cap=this.rules.inline.nolink.exec(src))){var link=(cap[2]||cap[1]).replace(/\s+/g," ");link=links[link.toLowerCase()];if(!link||!link.href){var text2=cap[0].charAt(0);return{type:"text",raw:text2,text:text2}}return outputLink(cap,link,cap[0],this.lexer)}};_proto.emStrong=function emStrong(src,maskedSrc,prevChar){if(prevChar===void 0){prevChar=""}var match2=this.rules.inline.emStrong.lDelim.exec(src);if(!match2)return;if(match2[3]&&prevChar.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))return;var nextChar=match2[1]||match2[2]||"";if(!nextChar||nextChar&&(prevChar===""||this.rules.inline.punctuation.exec(prevChar))){var lLength=match2[0].length-1;var rDelim,rLength,delimTotal=lLength,midDelimTotal=0;var endReg=match2[0][0]==="*"?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;endReg.lastIndex=0;maskedSrc=maskedSrc.slice(-1*src.length+lLength);while((match2=endReg.exec(maskedSrc))!=null){rDelim=match2[1]||match2[2]||match2[3]||match2[4]||match2[5]||match2[6];if(!rDelim)continue;rLength=rDelim.length;if(match2[3]||match2[4]){delimTotal+=rLength;continue}else if(match2[5]||match2[6]){if(lLength%3&&!((lLength+rLength)%3)){midDelimTotal+=rLength;continue}}delimTotal-=rLength;if(delimTotal>0)continue;rLength=Math.min(rLength,rLength+delimTotal+midDelimTotal);if(Math.min(lLength,rLength)%2){var _text=src.slice(1,lLength+match2.index+rLength);return{type:"em",raw:src.slice(0,lLength+match2.index+rLength+1),text:_text,tokens:this.lexer.inlineTokens(_text)}}var text2=src.slice(2,lLength+match2.index+rLength-1);return{type:"strong",raw:src.slice(0,lLength+match2.index+rLength+1),text:text2,tokens:this.lexer.inlineTokens(text2)}}}};_proto.codespan=function codespan(src){var cap=this.rules.inline.code.exec(src);if(cap){var text2=cap[2].replace(/\n/g," ");var hasNonSpaceChars=/[^ ]/.test(text2);var hasSpaceCharsOnBothEnds=/^ /.test(text2)&&/ $/.test(text2);if(hasNonSpaceChars&&hasSpaceCharsOnBothEnds){text2=text2.substring(1,text2.length-1)}text2=escape2(text2,true);return{type:"codespan",raw:cap[0],text:text2}}};_proto.br=function br(src){var cap=this.rules.inline.br.exec(src);if(cap){return{type:"br",raw:cap[0]}}};_proto.del=function del(src){var cap=this.rules.inline.del.exec(src);if(cap){return{type:"del",raw:cap[0],text:cap[2],tokens:this.lexer.inlineTokens(cap[2])}}};_proto.autolink=function autolink(src,mangle2){var cap=this.rules.inline.autolink.exec(src);if(cap){var text2,href;if(cap[2]==="@"){text2=escape2(this.options.mangle?mangle2(cap[1]):cap[1]);href="mailto:"+text2}else{text2=escape2(cap[1]);href=text2}return{type:"link",raw:cap[0],text:text2,href:href,tokens:[{type:"text",raw:text2,text:text2}]}}};_proto.url=function url(src,mangle2){var cap;if(cap=this.rules.inline.url.exec(src)){var text2,href;if(cap[2]==="@"){text2=escape2(this.options.mangle?mangle2(cap[0]):cap[0]);href="mailto:"+text2}else{var prevCapZero;do{prevCapZero=cap[0];cap[0]=this.rules.inline._backpedal.exec(cap[0])[0]}while(prevCapZero!==cap[0]);text2=escape2(cap[0]);if(cap[1]==="www."){href="http://"+text2}else{href=text2}}return{type:"link",raw:cap[0],text:text2,href:href,tokens:[{type:"text",raw:text2,text:text2}]}}};_proto.inlineText=function inlineText(src,smartypants2){var cap=this.rules.inline.text.exec(src);if(cap){var text2;if(this.lexer.state.inRawBlock){text2=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(cap[0]):escape2(cap[0]):cap[0]}else{text2=escape2(this.options.smartypants?smartypants2(cap[0]):cap[0])}return{type:"text",raw:cap[0],text:text2}}};return Tokenizer3}();var block={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?<?([^\s>]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:noopTest,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/};block._label=/(?!\s*\])(?:\\.|[^\[\]\\])+/;block._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/;block.def=edit(block.def).replace("label",block._label).replace("title",block._title).getRegex();block.bullet=/(?:[*+-]|\d{1,9}[.)])/;block.listItemStart=edit(/^( *)(bull) */).replace("bull",block.bullet).getRegex();block.list=edit(block.list).replace(/bull/g,block.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+block.def.source+")").getRegex();block._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul";block._comment=/<!--(?!-?>)[\s\S]*?(?:-->|$)/;block.html=edit(block.html,"i").replace("comment",block._comment).replace("tag",block._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();block.paragraph=edit(block._paragraph).replace("hr",block.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",block._tag).getRegex();block.blockquote=edit(block.blockquote).replace("paragraph",block.paragraph).getRegex();block.normal=merge({},block);block.gfm=merge({},block.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"});block.gfm.table=edit(block.gfm.table).replace("hr",block.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",block._tag).getRegex();block.gfm.paragraph=edit(block._paragraph).replace("hr",block.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",block.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",block._tag).getRegex();block.pedantic=merge({},block.normal,{html:edit(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",block._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:noopTest,paragraph:edit(block.normal._paragraph).replace("hr",block.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",block.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var inline={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:noopTest,tag:"^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[^*]+(?=[^*])|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:noopTest,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,punctuation:/^([\spunctuation])/};inline._punctuation="!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~";inline.punctuation=edit(inline.punctuation).replace(/punctuation/g,inline._punctuation).getRegex();inline.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g;inline.escapedEmSt=/\\\*|\\_/g;inline._comment=edit(block._comment).replace("(?:--\x3e|$)","--\x3e").getRegex();inline.emStrong.lDelim=edit(inline.emStrong.lDelim).replace(/punct/g,inline._punctuation).getRegex();inline.emStrong.rDelimAst=edit(inline.emStrong.rDelimAst,"g").replace(/punct/g,inline._punctuation).getRegex();inline.emStrong.rDelimUnd=edit(inline.emStrong.rDelimUnd,"g").replace(/punct/g,inline._punctuation).getRegex();inline._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g;inline._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;inline._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;inline.autolink=edit(inline.autolink).replace("scheme",inline._scheme).replace("email",inline._email).getRegex();inline._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/;inline.tag=edit(inline.tag).replace("comment",inline._comment).replace("attribute",inline._attribute).getRegex();inline._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/;inline._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/;inline._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/;inline.link=edit(inline.link).replace("label",inline._label).replace("href",inline._href).replace("title",inline._title).getRegex();inline.reflink=edit(inline.reflink).replace("label",inline._label).replace("ref",block._label).getRegex();inline.nolink=edit(inline.nolink).replace("ref",block._label).getRegex();inline.reflinkSearch=edit(inline.reflinkSearch,"g").replace("reflink",inline.reflink).replace("nolink",inline.nolink).getRegex();inline.normal=merge({},inline);inline.pedantic=merge({},inline.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:edit(/^!?\[(label)\]\((.*?)\)/).replace("label",inline._label).getRegex(),reflink:edit(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",inline._label).getRegex()});inline.gfm=merge({},inline.normal,{escape:edit(inline.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/});inline.gfm.url=edit(inline.gfm.url,"i").replace("email",inline.gfm._extended_email).getRegex();inline.breaks=merge({},inline.gfm,{br:edit(inline.br).replace("{2,}","*").getRegex(),text:edit(inline.gfm.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()});function smartypants(text2){return text2.replace(/---/g,"—").replace(/--/g,"").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1").replace(/'/g,"").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…")}function mangle(text2){var out="",i,ch;var l=text2.length;for(i=0;i<l;i++){ch=text2.charCodeAt(i);if(Math.random()>.5){ch="x"+ch.toString(16)}out+="&#"+ch+";"}return out}var Lexer2=function(){function Lexer3(options3){this.tokens=[];this.tokens.links=Object.create(null);this.options=options3||exports2.defaults;this.options.tokenizer=this.options.tokenizer||new Tokenizer2;this.tokenizer=this.options.tokenizer;this.tokenizer.options=this.options;this.tokenizer.lexer=this;this.inlineQueue=[];this.state={inLink:false,inRawBlock:false,top:true};var rules={block:block.normal,inline:inline.normal};if(this.options.pedantic){rules.block=block.pedantic;rules.inline=inline.pedantic}else if(this.options.gfm){rules.block=block.gfm;if(this.options.breaks){rules.inline=inline.breaks}else{rules.inline=inline.gfm}}this.tokenizer.rules=rules}Lexer3.lex=function lex(src,options3){var lexer3=new Lexer3(options3);return lexer3.lex(src)};Lexer3.lexInline=function lexInline(src,options3){var lexer3=new Lexer3(options3);return lexer3.inlineTokens(src)};var _proto=Lexer3.prototype;_proto.lex=function lex(src){src=src.replace(/\r\n|\r/g,"\n");this.blockTokens(src,this.tokens);var next;while(next=this.inlineQueue.shift()){this.inlineTokens(next.src,next.tokens)}return this.tokens};_proto.blockTokens=function blockTokens(src,tokens){var _this=this;if(tokens===void 0){tokens=[]}if(this.options.pedantic){src=src.replace(/\t/g," ").replace(/^ +$/gm,"")}else{src=src.replace(/^( *)(\t+)/gm,(function(_,leading,tabs){return leading+" ".repeat(tabs.length)}))}var token,lastToken,cutSrc,lastParagraphClipped;while(src){if(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some((function(extTokenizer){if(token=extTokenizer.call({lexer:_this},src,tokens)){src=src.substring(token.raw.length);tokens.push(token);return true}return false}))){continue}if(token=this.tokenizer.space(src)){src=src.substring(token.raw.length);if(token.raw.length===1&&tokens.length>0){tokens[tokens.length-1].raw+="\n"}else{tokens.push(token)}continue}if(token=this.tokenizer.code(src)){src=src.substring(token.raw.length);lastToken=tokens[tokens.length-1];if(lastToken&&(lastToken.type==="paragraph"||lastToken.type==="text")){lastToken.raw+="\n"+token.raw;lastToken.text+="\n"+token.text;this.inlineQueue[this.inlineQueue.length-1].src=lastToken.text}else{tokens.push(token)}continue}if(token=this.tokenizer.fences(src)){src=src.substring(token.raw.length);tokens.push(token);continue}if(token=this.tokenizer.heading(src)){src=src.substring(token.raw.length);tokens.push(token);continue}if(token=this.tokenizer.hr(src)){src=src.substring(token.raw.length);tokens.push(token);continue}if(token=this.tokenizer.blockquote(src)){src=src.substring(token.raw.length);tokens.push(token);continue}if(token=this.tokenizer.list(src)){src=src.substring(token.raw.length);tokens.push(token);continue}if(token=this.tokenizer.html(src)){src=src.substring(token.raw.length);tokens.push(token);continue}if(token=this.tokenizer.def(src)){src=src.substring(token.raw.length);lastToken=tokens[tokens.length-1];if(lastToken&&(lastToken.type==="paragraph"||lastToken.type==="text")){lastToken.raw+="\n"+token.raw;lastToken.text+="\n"+token.raw;this.inlineQueue[this.inlineQueue.length-1].src=lastToken.text}else if(!this.tokens.links[token.tag]){this.tokens.links[token.tag]={href:token.href,title:token.title}}continue}if(token=this.tokenizer.table(src)){src=src.substring(token.raw.length);tokens.push(token);continue}if(token=this.tokenizer.lheading(src)){src=src.substring(token.raw.length);tokens.push(token);continue}cutSrc=src;if(this.options.extensions&&this.options.extensions.startBlock){(function(){var startIndex=Infinity;var tempSrc=src.slice(1);var tempStart=void 0;_this.options.extensions.startBlock.forEach((function(getStartIndex){tempStart=getStartIndex.call({lexer:this},tempSrc);if(typeof tempStart==="number"&&tempStart>=0){startIndex=Math.min(startIndex,tempStart)}}));if(startIndex<Infinity&&startIndex>=0){cutSrc=src.substring(0,startIndex+1)}})()}if(this.state.top&&(token=this.tokenizer.paragraph(cutSrc))){lastToken=tokens[tokens.length-1];if(lastParagraphClipped&&lastToken.type==="paragraph"){lastToken.raw+="\n"+token.raw;lastToken.text+="\n"+token.text;this.inlineQueue.pop();this.inlineQueue[this.inlineQueue.length-1].src=lastToken.text}else{tokens.push(token)}lastParagraphClipped=cutSrc.length!==src.length;src=src.substring(token.raw.length);continue}if(token=this.tokenizer.text(src)){src=src.substring(token.raw.length);lastToken=tokens[tokens.length-1];if(lastToken&&lastToken.type==="text"){lastToken.raw+="\n"+token.raw;lastToken.text+="\n"+token.text;this.inlineQueue.pop();this.inlineQueue[this.inlineQueue.length-1].src=lastToken.text}else{tokens.push(token)}continue}if(src){var errMsg="Infinite loop on byte: "+src.charCodeAt(0);if(this.options.silent){console.error(errMsg);break}else{throw new Error(errMsg)}}}this.state.top=true;return tokens};_proto.inline=function inline2(src,tokens){if(tokens===void 0){tokens=[]}this.inlineQueue.push({src:src,tokens:tokens});return tokens};_proto.inlineTokens=function inlineTokens(src,tokens){var _this2=this;if(tokens===void 0){tokens=[]}var token,lastToken,cutSrc;var maskedSrc=src;var match2;var keepPrevChar,prevChar;if(this.tokens.links){var links=Object.keys(this.tokens.links);if(links.length>0){while((match2=this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc))!=null){if(links.includes(match2[0].slice(match2[0].lastIndexOf("[")+1,-1))){maskedSrc=maskedSrc.slice(0,match2.index)+"["+repeatString("a",match2[0].length-2)+"]"+maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex)}}}}while((match2=this.tokenizer.rules.inline.blockSkip.exec(maskedSrc))!=null){maskedSrc=maskedSrc.slice(0,match2.index)+"["+repeatString("a",match2[0].length-2)+"]"+maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex)}while((match2=this.tokenizer.rules.inline.escapedEmSt.exec(maskedSrc))!=null){maskedSrc=maskedSrc.slice(0,match2.index)+"++"+maskedSrc.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex)}while(src){if(!keepPrevChar){prevChar=""}keepPrevChar=false;if(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((function(extTokenizer){if(token=extTokenizer.call({lexer:_this2},src,tokens)){src=src.substring(token.raw.length);tokens.push(token);return true}return false}))){continue}if(token=this.tokenizer.escape(src)){src=src.substring(token.raw.length);tokens.push(token);continue}if(token=this.tokenizer.tag(src)){src=src.substring(token.raw.length);lastToken=tokens[tokens.length-1];if(lastToken&&token.type==="text"&&lastToken.type==="text"){lastToken.raw+=token.raw;lastToken.text+=token.text}else{tokens.push(token)}continue}if(token=this.tokenizer.link(src)){src=src.substring(token.raw.length);tokens.push(token);continue}if(token=this.tokenizer.reflink(src,this.tokens.links)){src=src.substring(token.raw.length);lastToken=tokens[tokens.length-1];if(lastToken&&token.type==="text"&&lastToken.type==="text"){lastToken.raw+=token.raw;lastToken.text+=token.text}else{tokens.push(token)}continue}if(token=this.tokenizer.emStrong(src,maskedSrc,prevChar)){src=src.substring(token.raw.length);tokens.push(token);continue}if(token=this.tokenizer.codespan(src)){src=src.substring(token.raw.length);tokens.push(token);continue}if(token=this.tokenizer.br(src)){src=src.substring(token.raw.length);tokens.push(token);continue}if(token=this.tokenizer.del(src)){src=src.substring(token.raw.length);tokens.push(token);continue}if(token=this.tokenizer.autolink(src,mangle)){src=src.substring(token.raw.length);tokens.push(token);continue}if(!this.state.inLink&&(token=this.tokenizer.url(src,mangle))){src=src.substring(token.raw.length);tokens.push(token);continue}cutSrc=src;if(this.options.extensions&&this.options.extensions.startInline){(function(){var startIndex=Infinity;var tempSrc=src.slice(1);var tempStart=void 0;_this2.options.extensions.startInline.forEach((function(getStartIndex){tempStart=getStartIndex.call({lexer:this},tempSrc);if(typeof tempStart==="number"&&tempStart>=0){startIndex=Math.min(startIndex,tempStart)}}));if(startIndex<Infinity&&startIndex>=0){cutSrc=src.substring(0,startIndex+1)}})()}if(token=this.tokenizer.inlineText(cutSrc,smartypants)){src=src.substring(token.raw.length);if(token.raw.slice(-1)!=="_"){prevChar=token.raw.slice(-1)}keepPrevChar=true;lastToken=tokens[tokens.length-1];if(lastToken&&lastToken.type==="text"){lastToken.raw+=token.raw;lastToken.text+=token.text}else{tokens.push(token)}continue}if(src){var errMsg="Infinite loop on byte: "+src.charCodeAt(0);if(this.options.silent){console.error(errMsg);break}else{throw new Error(errMsg)}}}return tokens};_createClass(Lexer3,null,[{key:"rules",get:function get(){return{block:block,inline:inline}}}]);return Lexer3}();var Renderer2=function(){function Renderer3(options3){this.options=options3||exports2.defaults}var _proto=Renderer3.prototype;_proto.code=function code(_code,infostring,escaped){var lang=(infostring||"").match(/\S*/)[0];if(this.options.highlight){var out=this.options.highlight(_code,lang);if(out!=null&&out!==_code){escaped=true;_code=out}}_code=_code.replace(/\n$/,"")+"\n";if(!lang){return"<pre><code>"+(escaped?_code:escape2(_code,true))+"</code></pre>\n"}return'<pre><code class="'+this.options.langPrefix+escape2(lang,true)+'">'+(escaped?_code:escape2(_code,true))+"</code></pre>\n"};_proto.blockquote=function blockquote(quote){return"<blockquote>\n"+quote+"</blockquote>\n"};_proto.html=function html2(_html){return _html};_proto.heading=function heading(text2,level,raw,slugger){if(this.options.headerIds){var id=this.options.headerPrefix+slugger.slug(raw);return"<h"+level+' id="'+id+'">'+text2+"</h"+level+">\n"}return"<h"+level+">"+text2+"</h"+level+">\n"};_proto.hr=function hr(){return this.options.xhtml?"<hr/>\n":"<hr>\n"};_proto.list=function list(body,ordered,start){var type=ordered?"ol":"ul",startatt=ordered&&start!==1?' start="'+start+'"':"";return"<"+type+startatt+">\n"+body+"</"+type+">\n"};_proto.listitem=function listitem(text2){return"<li>"+text2+"</li>\n"};_proto.checkbox=function checkbox(checked){return"<input "+(checked?'checked="" ':"")+'disabled="" type="checkbox"'+(this.options.xhtml?" /":"")+"> "};_proto.paragraph=function paragraph(text2){return"<p>"+text2+"</p>\n"};_proto.table=function table(header,body){if(body)body="<tbody>"+body+"</tbody>";return"<table>\n<thead>\n"+header+"</thead>\n"+body+"</table>\n"};_proto.tablerow=function tablerow(content){return"<tr>\n"+content+"</tr>\n"};_proto.tablecell=function tablecell(content,flags){var type=flags.header?"th":"td";var tag=flags.align?"<"+type+' align="'+flags.align+'">':"<"+type+">";return tag+content+("</"+type+">\n")};_proto.strong=function strong(text2){return"<strong>"+text2+"</strong>"};_proto.em=function em(text2){return"<em>"+text2+"</em>"};_proto.codespan=function codespan(text2){return"<code>"+text2+"</code>"};_proto.br=function br(){return this.options.xhtml?"<br/>":"<br>"};_proto.del=function del(text2){return"<del>"+text2+"</del>"};_proto.link=function link(href,title,text2){href=cleanUrl(this.options.sanitize,this.options.baseUrl,href);if(href===null){return text2}var out='<a href="'+escape2(href)+'"';if(title){out+=' title="'+title+'"'}out+=">"+text2+"</a>";return out};_proto.image=function image(href,title,text2){href=cleanUrl(this.options.sanitize,this.options.baseUrl,href);if(href===null){return text2}var out='<img src="'+href+'" alt="'+text2+'"';if(title){out+=' title="'+title+'"'}out+=this.options.xhtml?"/>":">";return out};_proto.text=function text2(_text){return _text};return Renderer3}();var TextRenderer2=function(){function TextRenderer3(){}var _proto=TextRenderer3.prototype;_proto.strong=function strong(text2){return text2};_proto.em=function em(text2){return text2};_proto.codespan=function codespan(text2){return text2};_proto.del=function del(text2){return text2};_proto.html=function html2(text2){return text2};_proto.text=function text2(_text){return _text};_proto.link=function link(href,title,text2){return""+text2};_proto.image=function image(href,title,text2){return""+text2};_proto.br=function br(){return""};return TextRenderer3}();var Slugger2=function(){function Slugger3(){this.seen={}}var _proto=Slugger3.prototype;_proto.serialize=function serialize(value){return value.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")};_proto.getNextSafeSlug=function getNextSafeSlug(originalSlug,isDryRun){var slug=originalSlug;var occurenceAccumulator=0;if(this.seen.hasOwnProperty(slug)){occurenceAccumulator=this.seen[originalSlug];do{occurenceAccumulator++;slug=originalSlug+"-"+occurenceAccumulator}while(this.seen.hasOwnProperty(slug))}if(!isDryRun){this.seen[originalSlug]=occurenceAccumulator;this.seen[slug]=0}return slug};_proto.slug=function slug(value,options3){if(options3===void 0){options3={}}var slug2=this.serialize(value);return this.getNextSafeSlug(slug2,options3.dryrun)};return Slugger3}();var Parser4=function(){function Parser5(options3){this.options=options3||exports2.defaults;this.options.renderer=this.options.renderer||new Renderer2;this.renderer=this.options.renderer;this.renderer.options=this.options;this.textRenderer=new TextRenderer2;this.slugger=new Slugger2}Parser5.parse=function parse5(tokens,options3){var parser3=new Parser5(options3);return parser3.parse(tokens)};Parser5.parseInline=function parseInline3(tokens,options3){var parser3=new Parser5(options3);return parser3.parseInline(tokens)};var _proto=Parser5.prototype;_proto.parse=function parse5(tokens,top){if(top===void 0){top=true}var out="",i,j,k,l2,l3,row,cell,header,body,token,ordered,start,loose,itemBody,item,checked,task,checkbox,ret;var l=tokens.length;for(i=0;i<l;i++){token=tokens[i];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[token.type]){ret=this.options.extensions.renderers[token.type].call({parser:this},token);if(ret!==false||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(token.type)){out+=ret||"";continue}}switch(token.type){case"space":{continue}case"hr":{out+=this.renderer.hr();continue}case"heading":{out+=this.renderer.heading(this.parseInline(token.tokens),token.depth,unescape(this.parseInline(token.tokens,this.textRenderer)),this.slugger);continue}case"code":{out+=this.renderer.code(token.text,token.lang,token.escaped);continue}case"table":{header="";cell="";l2=token.header.length;for(j=0;j<l2;j++){cell+=this.renderer.tablecell(this.parseInline(token.header[j].tokens),{header:true,align:token.align[j]})}header+=this.renderer.tablerow(cell);body="";l2=token.rows.length;for(j=0;j<l2;j++){row=token.rows[j];cell="";l3=row.length;for(k=0;k<l3;k++){cell+=this.renderer.tablecell(this.parseInline(row[k].tokens),{header:false,align:token.align[k]})}body+=this.renderer.tablerow(cell)}out+=this.renderer.table(header,body);continue}case"blockquote":{body=this.parse(token.tokens);out+=this.renderer.blockquote(body);continue}case"list":{ordered=token.ordered;start=token.start;loose=token.loose;l2=token.items.length;body="";for(j=0;j<l2;j++){item=token.items[j];checked=item.checked;task=item.task;itemBody="";if(item.task){checkbox=this.renderer.checkbox(checked);if(loose){if(item.tokens.length>0&&item.tokens[0].type==="paragraph"){item.tokens[0].text=checkbox+" "+item.tokens[0].text;if(item.tokens[0].tokens&&item.tokens[0].tokens.length>0&&item.tokens[0].tokens[0].type==="text"){item.tokens[0].tokens[0].text=checkbox+" "+item.tokens[0].tokens[0].text}}else{item.tokens.unshift({type:"text",text:checkbox})}}else{itemBody+=checkbox}}itemBody+=this.parse(item.tokens,loose);body+=this.renderer.listitem(itemBody,task,checked)}out+=this.renderer.list(body,ordered,start);continue}case"html":{out+=this.renderer.html(token.text);continue}case"paragraph":{out+=this.renderer.paragraph(this.parseInline(token.tokens));continue}case"text":{body=token.tokens?this.parseInline(token.tokens):token.text;while(i+1<l&&tokens[i+1].type==="text"){token=tokens[++i];body+="\n"+(token.tokens?this.parseInline(token.tokens):token.text)}out+=top?this.renderer.paragraph(body):body;continue}default:{var errMsg='Token with "'+token.type+'" type was not found.';if(this.options.silent){console.error(errMsg);return}else{throw new Error(errMsg)}}}}return out};_proto.parseInline=function parseInline3(tokens,renderer){renderer=renderer||this.renderer;var out="",i,token,ret;var l=tokens.length;for(i=0;i<l;i++){token=tokens[i];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[token.type]){ret=this.options.extensions.renderers[token.type].call({parser:this},token);if(ret!==false||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(token.type)){out+=ret||"";continue}}switch(token.type){case"escape":{out+=renderer.text(token.text);break}case"html":{out+=renderer.html(token.text);break}case"link":{out+=renderer.link(token.href,token.title,this.parseInline(token.tokens,renderer));break}case"image":{out+=renderer.image(token.href,token.title,token.text);break}case"strong":{out+=renderer.strong(this.parseInline(token.tokens,renderer));break}case"em":{out+=renderer.em(this.parseInline(token.tokens,renderer));break}case"codespan":{out+=renderer.codespan(token.text);break}case"br":{out+=renderer.br();break}case"del":{out+=renderer.del(this.parseInline(token.tokens,renderer));break}case"text":{out+=renderer.text(token.text);break}default:{var errMsg='Token with "'+token.type+'" type was not found.';if(this.options.silent){console.error(errMsg);return}else{throw new Error(errMsg)}}}}return out};return Parser5}();function marked2(src,opt,callback){if(typeof src==="undefined"||src===null){throw new Error("marked(): input parameter is undefined or null")}if(typeof src!=="string"){throw new Error("marked(): input parameter is of type "+Object.prototype.toString.call(src)+", string expected")}if(typeof opt==="function"){callback=opt;opt=null}opt=merge({},marked2.defaults,opt||{});checkSanitizeDeprecation(opt);if(callback){var highlight=opt.highlight;var tokens;try{tokens=Lexer2.lex(src,opt)}catch(e){return callback(e)}var done=function done2(err){var out;if(!err){try{if(opt.walkTokens){marked2.walkTokens(tokens,opt.walkTokens)}out=Parser4.parse(tokens,opt)}catch(e){err=e}}opt.highlight=highlight;return err?callback(err):callback(null,out)};if(!highlight||highlight.length<3){return done()}delete opt.highlight;if(!tokens.length)return done();var pending=0;marked2.walkTokens(tokens,(function(token){if(token.type==="code"){pending++;setTimeout((function(){highlight(token.text,token.lang,(function(err,code){if(err){return done(err)}if(code!=null&&code!==token.text){token.text=code;token.escaped=true}pending--;if(pending===0){done()}}))}),0)}}));if(pending===0){done()}return}function onError(e){e.message+="\nPlease report this to https://github.com/markedjs/marked.";if(opt.silent){return"<p>An error occurred:</p><pre>"+escape2(e.message+"",true)+"</pre>"}throw e}try{var _tokens=Lexer2.lex(src,opt);if(opt.walkTokens){if(opt.async){return Promise.all(marked2.walkTokens(_tokens,opt.walkTokens)).then((function(){return Parser4.parse(_tokens,opt)}))["catch"](onError)}marked2.walkTokens(_tokens,opt.walkTokens)}return Parser4.parse(_tokens,opt)}catch(e){onError(e)}}marked2.options=marked2.setOptions=function(opt){merge(marked2.defaults,opt);changeDefaults(marked2.defaults);return marked2};marked2.getDefaults=getDefaults2;marked2.defaults=exports2.defaults;marked2.use=function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}var opts=merge.apply(void 0,[{}].concat(args));var extensions=marked2.defaults.extensions||{renderers:{},childTokens:{}};var hasExtensions;args.forEach((function(pack){if(pack.extensions){hasExtensions=true;pack.extensions.forEach((function(ext){if(!ext.name){throw new Error("extension name required")}if(ext.renderer){var prevRenderer=extensions.renderers?extensions.renderers[ext.name]:null;if(prevRenderer){extensions.renderers[ext.name]=function(){for(var _len2=arguments.length,args2=new Array(_len2),_key2=0;_key2<_len2;_key2++){args2[_key2]=arguments[_key2]}var ret=ext.renderer.apply(this,args2);if(ret===false){ret=prevRenderer.apply(this,args2)}return ret}}else{extensions.renderers[ext.name]=ext.renderer}}if(ext.tokenizer){if(!ext.level||ext.level!=="block"&&ext.level!=="inline"){throw new Error("extension level must be 'block' or 'inline'")}if(extensions[ext.level]){extensions[ext.level].unshift(ext.tokenizer)}else{extensions[ext.level]=[ext.tokenizer]}if(ext.start){if(ext.level==="block"){if(extensions.startBlock){extensions.startBlock.push(ext.start)}else{extensions.startBlock=[ext.start]}}else if(ext.level==="inline"){if(extensions.startInline){extensions.startInline.push(ext.start)}else{extensions.startInline=[ext.start]}}}}if(ext.childTokens){extensions.childTokens[ext.name]=ext.childTokens}}))}if(pack.renderer){(function(){var renderer=marked2.defaults.renderer||new Renderer2;var _loop=function _loop2(prop2){var prevRenderer=renderer[prop2];renderer[prop2]=function(){for(var _len3=arguments.length,args2=new Array(_len3),_key3=0;_key3<_len3;_key3++){args2[_key3]=arguments[_key3]}var ret=pack.renderer[prop2].apply(renderer,args2);if(ret===false){ret=prevRenderer.apply(renderer,args2)}return ret}};for(var prop in pack.renderer){_loop(prop)}opts.renderer=renderer})()}if(pack.tokenizer){(function(){var tokenizer=marked2.defaults.tokenizer||new Tokenizer2;var _loop2=function _loop22(prop2){var prevTokenizer=tokenizer[prop2];tokenizer[prop2]=function(){for(var _len4=arguments.length,args2=new Array(_len4),_key4=0;_key4<_len4;_key4++){args2[_key4]=arguments[_key4]}var ret=pack.tokenizer[prop2].apply(tokenizer,args2);if(ret===false){ret=prevTokenizer.apply(tokenizer,args2)}return ret}};for(var prop in pack.tokenizer){_loop2(prop)}opts.tokenizer=tokenizer})()}if(pack.walkTokens){var _walkTokens=marked2.defaults.walkTokens;opts.walkTokens=function(token){var values=[];values.push(pack.walkTokens.call(this,token));if(_walkTokens){values=values.concat(_walkTokens.call(this,token))}return values}}if(hasExtensions){opts.extensions=extensions}marked2.setOptions(opts)}))};marked2.walkTokens=function(tokens,callback){var values=[];var _loop3=function _loop32(){var token=_step.value;values=values.concat(callback.call(marked2,token));switch(token.type){case"table":{for(var _iterator2=_createForOfIteratorHelperLoose(token.header),_step2;!(_step2=_iterator2()).done;){var cell=_step2.value;values=values.concat(marked2.walkTokens(cell.tokens,callback))}for(var _iterator3=_createForOfIteratorHelperLoose(token.rows),_step3;!(_step3=_iterator3()).done;){var row=_step3.value;for(var _iterator4=_createForOfIteratorHelperLoose(row),_step4;!(_step4=_iterator4()).done;){var _cell=_step4.value;values=values.concat(marked2.walkTokens(_cell.tokens,callback))}}break}case"list":{values=values.concat(marked2.walkTokens(token.items,callback));break}default:{if(marked2.defaults.extensions&&marked2.defaults.extensions.childTokens&&marked2.defaults.extensions.childTokens[token.type]){marked2.defaults.extensions.childTokens[token.type].forEach((function(childTokens){values=values.concat(marked2.walkTokens(token[childTokens],callback))}))}else if(token.tokens){values=values.concat(marked2.walkTokens(token.tokens,callback))}}}};for(var _iterator=_createForOfIteratorHelperLoose(tokens),_step;!(_step=_iterator()).done;){_loop3()}return values};marked2.parseInline=function(src,opt){if(typeof src==="undefined"||src===null){throw new Error("marked.parseInline(): input parameter is undefined or null")}if(typeof src!=="string"){throw new Error("marked.parseInline(): input parameter is of type "+Object.prototype.toString.call(src)+", string expected")}opt=merge({},marked2.defaults,opt||{});checkSanitizeDeprecation(opt);try{var tokens=Lexer2.lexInline(src,opt);if(opt.walkTokens){marked2.walkTokens(tokens,opt.walkTokens)}return Parser4.parseInline(tokens,opt)}catch(e){e.message+="\nPlease report this to https://github.com/markedjs/marked.";if(opt.silent){return"<p>An error occurred:</p><pre>"+escape2(e.message+"",true)+"</pre>"}throw e}};marked2.Parser=Parser4;marked2.parser=Parser4.parse;marked2.Renderer=Renderer2;marked2.TextRenderer=TextRenderer2;marked2.Lexer=Lexer2;marked2.lexer=Lexer2.lex;marked2.Tokenizer=Tokenizer2;marked2.Slugger=Slugger2;marked2.parse=marked2;var options2=marked2.options;var setOptions2=marked2.setOptions;var use2=marked2.use;var walkTokens2=marked2.walkTokens;var parseInline2=marked2.parseInline;var parse4=marked2;var parser2=Parser4.parse;var lexer2=Lexer2.lex;exports2.Lexer=Lexer2;exports2.Parser=Parser4;exports2.Renderer=Renderer2;exports2.Slugger=Slugger2;exports2.TextRenderer=TextRenderer2;exports2.Tokenizer=Tokenizer2;exports2.getDefaults=getDefaults2;exports2.lexer=lexer2;exports2.marked=marked2;exports2.options=options2;exports2.parse=parse4;exports2.parseInline=parseInline2;exports2.parser=parser2;exports2.setOptions=setOptions2;exports2.use=use2;exports2.walkTokens=walkTokens2;Object.defineProperty(exports2,"__esModule",{value:true})}))})();Lexer=__marked_exports.Lexer||exports.Lexer;Parser3=__marked_exports.Parser||exports.Parser;Renderer=__marked_exports.Renderer||exports.Renderer;Slugger=__marked_exports.Slugger||exports.Slugger;TextRenderer=__marked_exports.TextRenderer||exports.TextRenderer;Tokenizer=__marked_exports.Tokenizer||exports.Tokenizer;getDefaults=__marked_exports.getDefaults||exports.getDefaults;lexer=__marked_exports.lexer||exports.lexer;marked=__marked_exports.marked||exports.marked;options=__marked_exports.options||exports.options;parse=__marked_exports.parse||exports.parse;parseInline=__marked_exports.parseInline||exports.parseInline;parser=__marked_exports.parser||exports.parser;setOptions=__marked_exports.setOptions||exports.setOptions;use=__marked_exports.use||exports.use;walkTokens=__marked_exports.walkTokens||exports.walkTokens}});function stringify(obj){return JSON.stringify(obj,replacer)}function parse2(text2){let data=JSON.parse(text2);data=revive(data);return data}function replacer(key,value){if(value instanceof RegExp){return{$mid:2,source:value.source,flags:value.flags}}return value}function revive(obj,depth=0){if(!obj||depth>200){return obj}if(typeof obj==="object"){switch(obj.$mid){case 1:return URI.revive(obj);case 2:return new RegExp(obj.source,obj.flags);case 16:return new Date(obj.source)}if(obj instanceof VSBuffer||obj instanceof Uint8Array){return obj}if(Array.isArray(obj)){for(let i=0;i<obj.length;++i){obj[i]=revive(obj[i],depth+1)}}else{for(const key in obj){if(Object.hasOwnProperty.call(obj,key)){obj[key]=revive(obj[key],depth+1)}}}}return obj}var init_marshalling=__esm({"node_modules/monaco-editor/esm/vs/base/common/marshalling.js"(){init_buffer();init_uri()}});function renderMarkdown(markdown,options2={},markedOptions={}){var _a6,_b3;const disposables=new DisposableStore;let isDisposed=false;const element=createElement(options2);const _uriMassage=function(part){let data;try{data=parse2(decodeURIComponent(part))}catch(e){}if(!data){return part}data=cloneAndChange(data,(value2=>{if(markdown.uris&&markdown.uris[value2]){return URI.revive(markdown.uris[value2])}else{return void 0}}));return encodeURIComponent(JSON.stringify(data))};const _href=function(href,isDomUri){const data=markdown.uris&&markdown.uris[href];let uri=URI.revive(data);if(isDomUri){if(href.startsWith(Schemas.data+":")){return href}if(!uri){uri=URI.parse(href)}return FileAccess.uriToBrowserUri(uri).toString(true)}if(!uri){return href}if(URI.parse(href).toString()===uri.toString()){return href}if(uri.query){uri=uri.with({query:_uriMassage(uri.query)})}return uri.toString()};const renderer=new marked.Renderer;renderer.image=defaultMarkedRenderers.image;renderer.link=defaultMarkedRenderers.link;renderer.paragraph=defaultMarkedRenderers.paragraph;const codeBlocks=[];const syncCodeBlocks=[];if(options2.codeBlockRendererSync){renderer.code=(code,lang)=>{const id=defaultGenerator.nextId();const value2=options2.codeBlockRendererSync(postProcessCodeBlockLanguageId(lang),code);syncCodeBlocks.push([id,value2]);return`<div class="code" data-code="${id}">${escape(code)}</div>`}}else if(options2.codeBlockRenderer){renderer.code=(code,lang)=>{const id=defaultGenerator.nextId();const value2=options2.codeBlockRenderer(postProcessCodeBlockLanguageId(lang),code);codeBlocks.push(value2.then((element2=>[id,element2])));return`<div class="code" data-code="${id}">${escape(code)}</div>`}}if(options2.actionHandler){const _activateLink=function(event){let target=event.target;if(target.tagName!=="A"){target=target.parentElement;if(!target||target.tagName!=="A"){return}}try{let href=target.dataset["href"];if(href){if(markdown.baseUri){href=resolveWithBaseUri(URI.from(markdown.baseUri),href)}options2.actionHandler.callback(href,event)}}catch(err){onUnexpectedError(err)}finally{event.preventDefault()}};const onClick=options2.actionHandler.disposables.add(new DomEmitter(element,"click"));const onAuxClick=options2.actionHandler.disposables.add(new DomEmitter(element,"auxclick"));options2.actionHandler.disposables.add(Event.any(onClick.event,onAuxClick.event)((e=>{const mouseEvent=new StandardMouseEvent(e);if(!mouseEvent.leftButton&&!mouseEvent.middleButton){return}_activateLink(mouseEvent)})));options2.actionHandler.disposables.add(addDisposableListener(element,"keydown",(e=>{const keyboardEvent=new StandardKeyboardEvent(e);if(!keyboardEvent.equals(10)&&!keyboardEvent.equals(3)){return}_activateLink(keyboardEvent)})))}if(!markdown.supportHtml){markedOptions.sanitizer=html2=>{const match2=markdown.isTrusted?html2.match(/^(<span[^>]+>)|(<\/\s*span>)$/):void 0;return match2?html2:""};markedOptions.sanitize=true;markedOptions.silent=true}markedOptions.renderer=renderer;let value=(_a6=markdown.value)!==null&&_a6!==void 0?_a6:"";if(value.length>1e5){value=`${value.substr(0,1e5)}…`}if(markdown.supportThemeIcons){value=markdownEscapeEscapedIcons(value)}let renderedMarkdown;if(options2.fillInIncompleteTokens){const opts=Object.assign(Object.assign({},marked.defaults),markedOptions);const tokens=marked.lexer(value,opts);const newTokens=fillInIncompleteTokens(tokens);renderedMarkdown=marked.parser(newTokens,opts)}else{renderedMarkdown=marked.parse(value,markedOptions)}if(markdown.supportThemeIcons){const elements=renderLabelWithIcons(renderedMarkdown);renderedMarkdown=elements.map((e=>typeof e==="string"?e:e.outerHTML)).join("")}const htmlParser=new DOMParser;const markdownHtmlDoc=htmlParser.parseFromString(sanitizeRenderedMarkdown(markdown,renderedMarkdown),"text/html");markdownHtmlDoc.body.querySelectorAll("img").forEach((img=>{const src=img.getAttribute("src");if(src){let href=src;try{if(markdown.baseUri){href=resolveWithBaseUri(URI.from(markdown.baseUri),href)}}catch(err){}img.src=_href(href,true)}}));markdownHtmlDoc.body.querySelectorAll("a").forEach((a=>{const href=a.getAttribute("href");a.setAttribute("href","");if(!href||/^data:|javascript:/i.test(href)||/^command:/i.test(href)&&!markdown.isTrusted||/^command:(\/\/\/)?_workbench\.downloadResource/i.test(href)){a.replaceWith(...a.childNodes)}else{let resolvedHref=_href(href,false);if(markdown.baseUri){resolvedHref=resolveWithBaseUri(URI.from(markdown.baseUri),href)}a.dataset.href=resolvedHref}}));element.innerHTML=sanitizeRenderedMarkdown(markdown,markdownHtmlDoc.body.innerHTML);if(codeBlocks.length>0){Promise.all(codeBlocks).then((tuples=>{var _a7,_b4;if(isDisposed){return}const renderedElements=new Map(tuples);const placeholderElements=element.querySelectorAll(`div[data-code]`);for(const placeholderElement of placeholderElements){const renderedElement=renderedElements.get((_a7=placeholderElement.dataset["code"])!==null&&_a7!==void 0?_a7:"");if(renderedElement){reset(placeholderElement,renderedElement)}}(_b4=options2.asyncRenderCallback)===null||_b4===void 0?void 0:_b4.call(options2)}))}else if(syncCodeBlocks.length>0){const renderedElements=new Map(syncCodeBlocks);const placeholderElements=element.querySelectorAll(`div[data-code]`);for(const placeholderElement of placeholderElements){const renderedElement=renderedElements.get((_b3=placeholderElement.dataset["code"])!==null&&_b3!==void 0?_b3:"");if(renderedElement){reset(placeholderElement,renderedElement)}}}if(options2.asyncRenderCallback){for(const img of element.getElementsByTagName("img")){const listener=disposables.add(addDisposableListener(img,"load",(()=>{listener.dispose();options2.asyncRenderCallback()})))}}return{element:element,dispose:()=>{isDisposed=true;disposables.dispose()}}}function postProcessCodeBlockLanguageId(lang){if(!lang){return""}const parts=lang.split(/[\s+|:|,|\{|\?]/,1);if(parts.length){return parts[0]}return lang}function resolveWithBaseUri(baseUri,href){const hasScheme=/^\w[\w\d+.-]*:/.test(href);if(hasScheme){return href}if(baseUri.path.endsWith("/")){return resolvePath(baseUri,href).toString()}else{return resolvePath(dirname2(baseUri),href).toString()}}function sanitizeRenderedMarkdown(options2,renderedMarkdown){const{config:config,allowedSchemes:allowedSchemes}=getSanitizerOptions(options2);addHook("uponSanitizeAttribute",((element,e)=>{if(e.attrName==="style"||e.attrName==="class"){if(element.tagName==="SPAN"){if(e.attrName==="style"){e.keepAttr=/^(color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z]+)+\));)?(background-color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z]+)+\));)?$/.test(e.attrValue);return}else if(e.attrName==="class"){e.keepAttr=/^codicon codicon-[a-z\-]+( codicon-modifier-[a-z\-]+)?$/.test(e.attrValue);return}}e.keepAttr=false;return}}));const hook=hookDomPurifyHrefAndSrcSanitizer(allowedSchemes);try{return sanitize2(renderedMarkdown,Object.assign(Object.assign({},config),{RETURN_TRUSTED_TYPE:true}))}finally{removeHook("uponSanitizeAttribute");hook.dispose()}}function getSanitizerOptions(options2){const allowedSchemes=[Schemas.http,Schemas.https,Schemas.mailto,Schemas.data,Schemas.file,Schemas.vscodeFileResource,Schemas.vscodeRemote,Schemas.vscodeRemoteResource];if(options2.isTrusted){allowedSchemes.push(Schemas.command)}return{config:{ALLOWED_TAGS:[...basicMarkupHtmlTags],ALLOWED_ATTR:allowedMarkdownAttr,ALLOW_UNKNOWN_PROTOCOLS:true},allowedSchemes:allowedSchemes}}function renderStringAsPlaintext(string2){return typeof string2==="string"?string2:renderMarkdownAsPlaintext(string2)}function renderMarkdownAsPlaintext(markdown){var _a6;let value=(_a6=markdown.value)!==null&&_a6!==void 0?_a6:"";if(value.length>1e5){value=`${value.substr(0,1e5)}…`}const html2=marked.parse(value,{renderer:plainTextRenderer.value}).replace(/&(#\d+|[a-zA-Z]+);/g,(m=>{var _a7;return(_a7=unescapeInfo.get(m))!==null&&_a7!==void 0?_a7:m}));return sanitizeRenderedMarkdown({isTrusted:false},html2).toString()}function mergeRawTokenText(tokens){let mergedTokenText="";tokens.forEach((token=>{mergedTokenText+=token.raw}));return mergedTokenText}function completeSingleLinePattern(token){for(const subtoken of token.tokens){if(subtoken.type==="text"){const lines=subtoken.raw.split("\n");const lastLine=lines[lines.length-1];if(lastLine.includes("`")){return completeCodespan(token)}else if(lastLine.includes("**")){return completeDoublestar(token)}else if(lastLine.match(/\*\w/)){return completeStar(token)}else if(lastLine.match(/(^|\s)__\w/)){return completeDoubleUnderscore(token)}else if(lastLine.match(/(^|\s)_\w/)){return completeUnderscore(token)}else if(lastLine.match(/(^|\s)\[.*\]\(\w*/)){return completeLinkTarget(token)}else if(lastLine.match(/(^|\s)\[\w/)){return completeLinkText(token)}}}return void 0}function fillInIncompleteTokens(tokens){let i;let newTokens;for(i=0;i<tokens.length;i++){const token=tokens[i];if(token.type==="paragraph"&&token.raw.match(/(\n|^)```/)){newTokens=completeCodeBlock(tokens.slice(i));break}if(token.type==="paragraph"&&token.raw.match(/(\n|^)\|/)){newTokens=completeTable(tokens.slice(i));break}if(i===tokens.length-1&&token.type==="paragraph"){const newToken=completeSingleLinePattern(token);if(newToken){newTokens=[newToken];break}}}if(newTokens){const newTokensList=[...tokens.slice(0,i),...newTokens];newTokensList.links=tokens.links;return newTokensList}return tokens}function completeCodeBlock(tokens){const mergedRawText=mergeRawTokenText(tokens);return marked.lexer(mergedRawText+"\n```")}function completeCodespan(token){return completeWithString(token,"`")}function completeStar(tokens){return completeWithString(tokens,"*")}function completeUnderscore(tokens){return completeWithString(tokens,"_")}function completeLinkTarget(tokens){return completeWithString(tokens,")")}function completeLinkText(tokens){return completeWithString(tokens,"](about:blank)")}function completeDoublestar(tokens){return completeWithString(tokens,"**")}function completeDoubleUnderscore(tokens){return completeWithString(tokens,"__")}function completeWithString(tokens,closingString){const mergedRawText=mergeRawTokenText(Array.isArray(tokens)?tokens:[tokens]);return marked.lexer(mergedRawText+closingString)[0]}function completeTable(tokens){const mergedRawText=mergeRawTokenText(tokens);const lines=mergedRawText.split("\n");let numCols;let hasSeparatorRow=false;for(let i=0;i<lines.length;i++){const line=lines[i].trim();if(typeof numCols==="undefined"&&line.match(/^\s*\|/)){const line1Matches=line.match(/(\|[^\|]+)(?=\||$)/g);if(line1Matches){numCols=line1Matches.length}}else if(typeof numCols==="number"){if(line.match(/^\s*\|/)){if(i!==lines.length-1){return void 0}hasSeparatorRow=true}else{return void 0}}}if(typeof numCols==="number"&&numCols>0){const prefixText=hasSeparatorRow?lines.slice(0,-1).join("\n"):mergedRawText;const line1EndsInPipe=!!prefixText.match(/\|\s*$/);const newRawText=prefixText+(line1EndsInPipe?"":"|")+`\n|${" --- |".repeat(numCols)}`;return marked.lexer(newRawText)}return void 0}var defaultMarkedRenderers,allowedMarkdownAttr,unescapeInfo,plainTextRenderer;var init_markdownRenderer=__esm({"node_modules/monaco-editor/esm/vs/base/browser/markdownRenderer.js"(){init_dom();init_dompurify();init_event2();init_formattedTextRenderer();init_keyboardEvent();init_mouseEvent();init_iconLabels2();init_errors();init_event();init_htmlContent();init_iconLabels();init_idGenerator();init_lazy();init_lifecycle();init_marked();init_marshalling();init_network();init_objects();init_resources();init_strings();init_uri();defaultMarkedRenderers=Object.freeze({image:(href,title,text2)=>{let dimensions=[];let attributes=[];if(href){({href:href,dimensions:dimensions}=parseHrefAndDimensions(href));attributes.push(`src="${escapeDoubleQuotes(href)}"`)}if(text2){attributes.push(`alt="${escapeDoubleQuotes(text2)}"`)}if(title){attributes.push(`title="${escapeDoubleQuotes(title)}"`)}if(dimensions.length){attributes=attributes.concat(dimensions)}return"<img "+attributes.join(" ")+">"},paragraph:text2=>`<p>${text2}</p>`,link:(href,title,text2)=>{if(typeof href!=="string"){return""}if(href===text2){text2=removeMarkdownEscapes(text2)}title=typeof title==="string"?escapeDoubleQuotes(removeMarkdownEscapes(title)):"";href=removeMarkdownEscapes(href);href=href.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;");return`<a href="${href}" title="${title||href}">${text2}</a>`}});allowedMarkdownAttr=["align","autoplay","alt","class","controls","data-code","data-href","height","href","loop","muted","playsinline","poster","src","style","target","title","width","start"];unescapeInfo=new Map([["&quot;",'"'],["&nbsp;"," "],["&amp;","&"],["&#39;","'"],["&lt;","<"],["&gt;",">"]]);plainTextRenderer=new Lazy((()=>{const renderer=new marked.Renderer;renderer.code=code=>code;renderer.blockquote=quote=>quote;renderer.html=_html=>"";renderer.heading=(text2,_level,_raw)=>text2+"\n";renderer.hr=()=>"";renderer.list=(body,_ordered)=>body;renderer.listitem=text2=>text2+"\n";renderer.paragraph=text2=>text2+"\n";renderer.table=(header,body)=>header+body+"\n";renderer.tablerow=content=>content;renderer.tablecell=(content,_flags)=>content+" ";renderer.strong=text2=>text2;renderer.em=text2=>text2;renderer.codespan=code=>code;renderer.br=()=>"\n";renderer.del=text2=>text2;renderer.image=(_href,_title,_text)=>"";renderer.text=text2=>text2;renderer.link=(_href,_title,text2)=>text2;return renderer}))}});var CombinedSpliceable;var init_splice=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/list/splice.js"(){CombinedSpliceable=class{constructor(spliceables){this.spliceables=spliceables}splice(start,deleteCount,elements){this.spliceables.forEach((s=>s.splice(start,deleteCount,elements)))}}}});function clamp(value,min,max){return Math.min(Math.max(value,min),max)}var MovingAverage,SlidingWindowAverage;var init_numbers=__esm({"node_modules/monaco-editor/esm/vs/base/common/numbers.js"(){MovingAverage=class{constructor(){this._n=1;this._val=0}update(value){this._val=this._val+(value-this._val)/this._n;this._n+=1;return this._val}get value(){return this._val}};SlidingWindowAverage=class{constructor(size2){this._n=0;this._val=0;this._values=[];this._index=0;this._sum=0;this._values=new Array(size2);this._values.fill(0,0,size2)}update(value){const oldValue=this._values[this._index];this._values[this._index]=value;this._index=(this._index+1)%this._values.length;this._sum-=oldValue;this._sum+=value;if(this._n<this._values.length){this._n+=1}this._val=this._sum/this._n;return this._val}get value(){return this._val}}}});var init_26=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.css"(){}});var ListError;var init_list=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/list/list.js"(){ListError=class extends Error{constructor(user,message){super(`ListError [${user}] ${message}`)}}}});var Range2;var init_range2=__esm({"node_modules/monaco-editor/esm/vs/base/common/range.js"(){(function(Range7){function intersect(one,other){if(one.start>=other.end||other.start>=one.end){return{start:0,end:0}}const start=Math.max(one.start,other.start);const end=Math.min(one.end,other.end);if(end-start<=0){return{start:0,end:0}}return{start:start,end:end}}Range7.intersect=intersect;function isEmpty(range2){return range2.end-range2.start<=0}Range7.isEmpty=isEmpty;function intersects2(one,other){return!isEmpty(intersect(one,other))}Range7.intersects=intersects2;function relativeComplement2(one,other){const result=[];const first2={start:one.start,end:Math.min(other.start,one.end)};const second={start:Math.max(other.end,one.start),end:one.end};if(!isEmpty(first2)){result.push(first2)}if(!isEmpty(second)){result.push(second)}return result}Range7.relativeComplement=relativeComplement2})(Range2||(Range2={}))}});function groupIntersect(range2,groups){const result=[];for(const r of groups){if(range2.start>=r.range.end){continue}if(range2.end<r.range.start){break}const intersection=Range2.intersect(range2,r.range);if(Range2.isEmpty(intersection)){continue}result.push({range:intersection,size:r.size})}return result}function shift({start:start,end:end},much){return{start:start+much,end:end+much}}function consolidate(groups){const result=[];let previousGroup=null;for(const group3 of groups){const start=group3.range.start;const end=group3.range.end;const size2=group3.size;if(previousGroup&&size2===previousGroup.size){previousGroup.range.end=end;continue}previousGroup={range:{start:start,end:end},size:size2};result.push(previousGroup)}return result}function concat2(...groups){return consolidate(groups.reduce(((r,g)=>r.concat(g)),[]))}var RangeMap;var init_rangeMap=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/list/rangeMap.js"(){init_range2();RangeMap=class{get paddingTop(){return this._paddingTop}set paddingTop(paddingTop){this._size=this._size+paddingTop-this._paddingTop;this._paddingTop=paddingTop}constructor(topPadding){this.groups=[];this._size=0;this._paddingTop=0;this._paddingTop=topPadding!==null&&topPadding!==void 0?topPadding:0;this._size=this._paddingTop}splice(index,deleteCount,items=[]){const diff=items.length-deleteCount;const before=groupIntersect({start:0,end:index},this.groups);const after=groupIntersect({start:index+deleteCount,end:Number.POSITIVE_INFINITY},this.groups).map((g=>({range:shift(g.range,diff),size:g.size})));const middle=items.map(((item,i)=>({range:{start:index+i,end:index+i+1},size:item.size})));this.groups=concat2(before,middle,after);this._size=this._paddingTop+this.groups.reduce(((t2,g)=>t2+g.size*(g.range.end-g.range.start)),0)}get count(){const len=this.groups.length;if(!len){return 0}return this.groups[len-1].range.end}get size(){return this._size}indexAt(position){if(position<0){return-1}if(position<this._paddingTop){return 0}let index=0;let size2=this._paddingTop;for(const group3 of this.groups){const count=group3.range.end-group3.range.start;const newSize=size2+count*group3.size;if(position<newSize){return index+Math.floor((position-size2)/group3.size)}index+=count;size2=newSize}return index}indexAfter(position){return Math.min(this.indexAt(position)+1,this.count)}positionAt(index){if(index<0){return-1}let position=0;let count=0;for(const group3 of this.groups){const groupCount=group3.range.end-group3.range.start;const newCount=count+groupCount;if(index<newCount){return this._paddingTop+position+(index-count)*group3.size}position+=groupCount*group3.size;count=newCount}return-1}}}});function removeFromParent(element){var _a6;try{(_a6=element.parentElement)===null||_a6===void 0?void 0:_a6.removeChild(element)}catch(e){}}var RowCache;var init_rowCache=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/list/rowCache.js"(){init_dom();RowCache=class{constructor(renderers){this.renderers=renderers;this.cache=new Map;this.transactionNodesPendingRemoval=new Set;this.inTransaction=false}alloc(templateId){let result=this.getTemplateCache(templateId).pop();let isStale=false;if(result){isStale=this.transactionNodesPendingRemoval.has(result.domNode);if(isStale){this.transactionNodesPendingRemoval.delete(result.domNode)}}else{const domNode=$(".monaco-list-row");const renderer=this.getRenderer(templateId);const templateData=renderer.renderTemplate(domNode);result={domNode:domNode,templateId:templateId,templateData:templateData}}return{row:result,isReusingConnectedDomNode:isStale}}release(row){if(!row){return}this.releaseRow(row)}transact(makeChanges){if(this.inTransaction){throw new Error("Already in transaction")}this.inTransaction=true;try{makeChanges()}finally{for(const domNode of this.transactionNodesPendingRemoval){this.doRemoveNode(domNode)}this.transactionNodesPendingRemoval.clear();this.inTransaction=false}}releaseRow(row){const{domNode:domNode,templateId:templateId}=row;if(domNode){if(this.inTransaction){this.transactionNodesPendingRemoval.add(domNode)}else{this.doRemoveNode(domNode)}}const cache=this.getTemplateCache(templateId);cache.push(row)}doRemoveNode(domNode){domNode.classList.remove("scrolling");removeFromParent(domNode)}getTemplateCache(templateId){let result=this.cache.get(templateId);if(!result){result=[];this.cache.set(templateId,result)}return result}dispose(){this.cache.forEach(((cachedRows,templateId)=>{for(const cachedRow of cachedRows){const renderer=this.getRenderer(templateId);renderer.disposeTemplate(cachedRow.templateData);cachedRow.templateData=null}}));this.cache.clear();this.transactionNodesPendingRemoval.clear()}getRenderer(templateId){const renderer=this.renderers.get(templateId);if(!renderer){throw new Error(`No renderer found for ${templateId}`)}return renderer}}}});function equalsDragFeedback(f1,f2){if(Array.isArray(f1)&&Array.isArray(f2)){return equals(f1,f2)}return f1===f2}var __decorate15,StaticDND,DefaultOptions,ElementsDragAndDropData,ExternalElementsDragAndDropData,NativeDragAndDropData,ListViewAccessibilityProvider,ListView;var init_listView=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/list/listView.js"(){init_dnd();init_dom();init_event2();init_touch();init_scrollableElement();init_arrays();init_async();init_decorators();init_event();init_lifecycle();init_range2();init_scrollable();init_rangeMap();init_rowCache();init_errors();__decorate15=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};StaticDND={CurrentDragAndDropData:void 0};DefaultOptions={useShadows:true,verticalScrollMode:1,setRowLineHeight:true,setRowHeight:true,supportDynamicHeights:false,dnd:{getDragElements(e){return[e]},getDragURI(){return null},onDragStart(){},onDragOver(){return false},drop(){}},horizontalScrolling:false,transformOptimization:true,alwaysConsumeMouseWheel:true};ElementsDragAndDropData=class{constructor(elements){this.elements=elements}update(){}getData(){return this.elements}};ExternalElementsDragAndDropData=class{constructor(elements){this.elements=elements}update(){}getData(){return this.elements}};NativeDragAndDropData=class{constructor(){this.types=[];this.files=[]}update(dataTransfer){if(dataTransfer.types){this.types.splice(0,this.types.length,...dataTransfer.types)}if(dataTransfer.files){this.files.splice(0,this.files.length);for(let i=0;i<dataTransfer.files.length;i++){const file=dataTransfer.files.item(i);if(file&&(file.size||file.type)){this.files.push(file)}}}}getData(){return{types:this.types,files:this.files}}};ListViewAccessibilityProvider=class{constructor(accessibilityProvider){if(accessibilityProvider===null||accessibilityProvider===void 0?void 0:accessibilityProvider.getSetSize){this.getSetSize=accessibilityProvider.getSetSize.bind(accessibilityProvider)}else{this.getSetSize=(e,i,l)=>l}if(accessibilityProvider===null||accessibilityProvider===void 0?void 0:accessibilityProvider.getPosInSet){this.getPosInSet=accessibilityProvider.getPosInSet.bind(accessibilityProvider)}else{this.getPosInSet=(e,i)=>i+1}if(accessibilityProvider===null||accessibilityProvider===void 0?void 0:accessibilityProvider.getRole){this.getRole=accessibilityProvider.getRole.bind(accessibilityProvider)}else{this.getRole=_=>"listitem"}if(accessibilityProvider===null||accessibilityProvider===void 0?void 0:accessibilityProvider.isChecked){this.isChecked=accessibilityProvider.isChecked.bind(accessibilityProvider)}else{this.isChecked=_=>void 0}}};ListView=class{get contentHeight(){return this.rangeMap.size}get onDidScroll(){return this.scrollableElement.onScroll}get horizontalScrolling(){return this._horizontalScrolling}set horizontalScrolling(value){if(value===this._horizontalScrolling){return}if(value&&this.supportDynamicHeights){throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously")}this._horizontalScrolling=value;this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling);if(this._horizontalScrolling){for(const item of this.items){this.measureItemWidth(item)}this.updateScrollWidth();this.scrollableElement.setScrollDimensions({width:getContentWidth(this.domNode)});this.rowsContainer.style.width=`${Math.max(this.scrollWidth||0,this.renderWidth)}px`}else{this.scrollableElementWidthDelayer.cancel();this.scrollableElement.setScrollDimensions({width:this.renderWidth,scrollWidth:this.renderWidth});this.rowsContainer.style.width=""}}constructor(container,virtualDelegate,renderers,options2=DefaultOptions){var _a6,_b3,_c2,_d2,_e2,_f2,_g2,_h2,_j,_k,_l,_m,_o;this.virtualDelegate=virtualDelegate;this.domId=`list_id_${++ListView.InstanceCount}`;this.renderers=new Map;this.renderWidth=0;this._scrollHeight=0;this.scrollableElementUpdateDisposable=null;this.scrollableElementWidthDelayer=new Delayer(50);this.splicing=false;this.dragOverAnimationStopDisposable=Disposable.None;this.dragOverMouseY=0;this.canDrop=false;this.currentDragFeedbackDisposable=Disposable.None;this.onDragLeaveTimeout=Disposable.None;this.disposables=new DisposableStore;this._onDidChangeContentHeight=new Emitter;this._onDidChangeContentWidth=new Emitter;this._horizontalScrolling=false;if(options2.horizontalScrolling&&options2.supportDynamicHeights){throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously")}this.items=[];this.itemId=0;this.rangeMap=new RangeMap((_a6=options2.paddingTop)!==null&&_a6!==void 0?_a6:0);for(const renderer of renderers){this.renderers.set(renderer.templateId,renderer)}this.cache=this.disposables.add(new RowCache(this.renderers));this.lastRenderTop=0;this.lastRenderHeight=0;this.domNode=document.createElement("div");this.domNode.className="monaco-list";this.domNode.classList.add(this.domId);this.domNode.tabIndex=0;this.domNode.classList.toggle("mouse-support",typeof options2.mouseSupport==="boolean"?options2.mouseSupport:true);this._horizontalScrolling=(_b3=options2.horizontalScrolling)!==null&&_b3!==void 0?_b3:DefaultOptions.horizontalScrolling;this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling);this.paddingBottom=typeof options2.paddingBottom==="undefined"?0:options2.paddingBottom;this.accessibilityProvider=new ListViewAccessibilityProvider(options2.accessibilityProvider);this.rowsContainer=document.createElement("div");this.rowsContainer.className="monaco-list-rows";const transformOptimization=(_c2=options2.transformOptimization)!==null&&_c2!==void 0?_c2:DefaultOptions.transformOptimization;if(transformOptimization){this.rowsContainer.style.transform="translate3d(0px, 0px, 0px)";this.rowsContainer.style.overflow="hidden";this.rowsContainer.style.contain="strict"}this.disposables.add(Gesture.addTarget(this.rowsContainer));this.scrollable=new Scrollable({forceIntegerValues:true,smoothScrollDuration:((_d2=options2.smoothScrolling)!==null&&_d2!==void 0?_d2:false)?125:0,scheduleAtNextAnimationFrame:cb=>scheduleAtNextAnimationFrame(cb)});this.scrollableElement=this.disposables.add(new SmoothScrollableElement(this.rowsContainer,{alwaysConsumeMouseWheel:(_e2=options2.alwaysConsumeMouseWheel)!==null&&_e2!==void 0?_e2:DefaultOptions.alwaysConsumeMouseWheel,horizontal:1,vertical:(_f2=options2.verticalScrollMode)!==null&&_f2!==void 0?_f2:DefaultOptions.verticalScrollMode,useShadows:(_g2=options2.useShadows)!==null&&_g2!==void 0?_g2:DefaultOptions.useShadows,mouseWheelScrollSensitivity:options2.mouseWheelScrollSensitivity,fastScrollSensitivity:options2.fastScrollSensitivity,scrollByPage:options2.scrollByPage},this.scrollable));this.domNode.appendChild(this.scrollableElement.getDomNode());container.appendChild(this.domNode);this.scrollableElement.onScroll(this.onScroll,this,this.disposables);this.disposables.add(addDisposableListener(this.rowsContainer,EventType2.Change,(e=>this.onTouchChange(e))));this.disposables.add(addDisposableListener(this.scrollableElement.getDomNode(),"scroll",(e=>e.target.scrollTop=0)));this.disposables.add(addDisposableListener(this.domNode,"dragover",(e=>this.onDragOver(this.toDragEvent(e)))));this.disposables.add(addDisposableListener(this.domNode,"drop",(e=>this.onDrop(this.toDragEvent(e)))));this.disposables.add(addDisposableListener(this.domNode,"dragleave",(e=>this.onDragLeave(this.toDragEvent(e)))));this.disposables.add(addDisposableListener(this.domNode,"dragend",(e=>this.onDragEnd(e))));this.setRowLineHeight=(_h2=options2.setRowLineHeight)!==null&&_h2!==void 0?_h2:DefaultOptions.setRowLineHeight;this.setRowHeight=(_j=options2.setRowHeight)!==null&&_j!==void 0?_j:DefaultOptions.setRowHeight;this.supportDynamicHeights=(_k=options2.supportDynamicHeights)!==null&&_k!==void 0?_k:DefaultOptions.supportDynamicHeights;this.dnd=(_l=options2.dnd)!==null&&_l!==void 0?_l:DefaultOptions.dnd;this.layout((_m=options2.initialSize)===null||_m===void 0?void 0:_m.height,(_o=options2.initialSize)===null||_o===void 0?void 0:_o.width)}updateOptions(options2){if(options2.paddingBottom!==void 0){this.paddingBottom=options2.paddingBottom;this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})}if(options2.smoothScrolling!==void 0){this.scrollable.setSmoothScrollDuration(options2.smoothScrolling?125:0)}if(options2.horizontalScrolling!==void 0){this.horizontalScrolling=options2.horizontalScrolling}let scrollableOptions;if(options2.scrollByPage!==void 0){scrollableOptions=Object.assign(Object.assign({},scrollableOptions!==null&&scrollableOptions!==void 0?scrollableOptions:{}),{scrollByPage:options2.scrollByPage})}if(options2.mouseWheelScrollSensitivity!==void 0){scrollableOptions=Object.assign(Object.assign({},scrollableOptions!==null&&scrollableOptions!==void 0?scrollableOptions:{}),{mouseWheelScrollSensitivity:options2.mouseWheelScrollSensitivity})}if(options2.fastScrollSensitivity!==void 0){scrollableOptions=Object.assign(Object.assign({},scrollableOptions!==null&&scrollableOptions!==void 0?scrollableOptions:{}),{fastScrollSensitivity:options2.fastScrollSensitivity})}if(scrollableOptions){this.scrollableElement.updateOptions(scrollableOptions)}if(options2.paddingTop!==void 0&&options2.paddingTop!==this.rangeMap.paddingTop){const lastRenderRange=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);const offset=options2.paddingTop-this.rangeMap.paddingTop;this.rangeMap.paddingTop=options2.paddingTop;this.render(lastRenderRange,Math.max(0,this.lastRenderTop+offset),this.lastRenderHeight,void 0,void 0,true);this.setScrollTop(this.lastRenderTop);this.eventuallyUpdateScrollDimensions();if(this.supportDynamicHeights){this._rerender(this.lastRenderTop,this.lastRenderHeight)}}}splice(start,deleteCount,elements=[]){if(this.splicing){throw new Error("Can't run recursive splices.")}this.splicing=true;try{return this._splice(start,deleteCount,elements)}finally{this.splicing=false;this._onDidChangeContentHeight.fire(this.contentHeight)}}_splice(start,deleteCount,elements=[]){const previousRenderRange=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);const deleteRange={start:start,end:start+deleteCount};const removeRange=Range2.intersect(previousRenderRange,deleteRange);const rowsToDispose=new Map;for(let i=removeRange.end-1;i>=removeRange.start;i--){const item=this.items[i];item.dragStartDisposable.dispose();item.checkedDisposable.dispose();if(item.row){let rows=rowsToDispose.get(item.templateId);if(!rows){rows=[];rowsToDispose.set(item.templateId,rows)}const renderer=this.renderers.get(item.templateId);if(renderer&&renderer.disposeElement){renderer.disposeElement(item.element,i,item.row.templateData,item.size)}rows.push(item.row)}item.row=null}const previousRestRange={start:start+deleteCount,end:this.items.length};const previousRenderedRestRange=Range2.intersect(previousRestRange,previousRenderRange);const previousUnrenderedRestRanges=Range2.relativeComplement(previousRestRange,previousRenderRange);const inserted=elements.map((element=>({id:String(this.itemId++),element:element,templateId:this.virtualDelegate.getTemplateId(element),size:this.virtualDelegate.getHeight(element),width:void 0,hasDynamicHeight:!!this.virtualDelegate.hasDynamicHeight&&this.virtualDelegate.hasDynamicHeight(element),lastDynamicHeightWidth:void 0,row:null,uri:void 0,dropTarget:false,dragStartDisposable:Disposable.None,checkedDisposable:Disposable.None})));let deleted;if(start===0&&deleteCount>=this.items.length){this.rangeMap=new RangeMap(this.rangeMap.paddingTop);this.rangeMap.splice(0,0,inserted);deleted=this.items;this.items=inserted}else{this.rangeMap.splice(start,deleteCount,inserted);deleted=this.items.splice(start,deleteCount,...inserted)}const delta=elements.length-deleteCount;const renderRange=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);const renderedRestRange=shift(previousRenderedRestRange,delta);const updateRange=Range2.intersect(renderRange,renderedRestRange);for(let i=updateRange.start;i<updateRange.end;i++){this.updateItemInDOM(this.items[i],i)}const removeRanges=Range2.relativeComplement(renderedRestRange,renderRange);for(const range2 of removeRanges){for(let i=range2.start;i<range2.end;i++){this.removeItemFromDOM(i)}}const unrenderedRestRanges=previousUnrenderedRestRanges.map((r=>shift(r,delta)));const elementsRange={start:start,end:start+elements.length};const insertRanges=[elementsRange,...unrenderedRestRanges].map((r=>Range2.intersect(renderRange,r)));const beforeElement=this.getNextToLastElement(insertRanges);for(const range2 of insertRanges){for(let i=range2.start;i<range2.end;i++){const item=this.items[i];const rows=rowsToDispose.get(item.templateId);const row=rows===null||rows===void 0?void 0:rows.pop();this.insertItemInDOM(i,beforeElement,row)}}for(const rows of rowsToDispose.values()){for(const row of rows){this.cache.release(row)}}this.eventuallyUpdateScrollDimensions();if(this.supportDynamicHeights){this._rerender(this.scrollTop,this.renderHeight)}return deleted.map((i=>i.element))}eventuallyUpdateScrollDimensions(){this._scrollHeight=this.contentHeight;this.rowsContainer.style.height=`${this._scrollHeight}px`;if(!this.scrollableElementUpdateDisposable){this.scrollableElementUpdateDisposable=scheduleAtNextAnimationFrame((()=>{this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight});this.updateScrollWidth();this.scrollableElementUpdateDisposable=null}))}}eventuallyUpdateScrollWidth(){if(!this.horizontalScrolling){this.scrollableElementWidthDelayer.cancel();return}this.scrollableElementWidthDelayer.trigger((()=>this.updateScrollWidth()))}updateScrollWidth(){if(!this.horizontalScrolling){return}let scrollWidth=0;for(const item of this.items){if(typeof item.width!=="undefined"){scrollWidth=Math.max(scrollWidth,item.width)}}this.scrollWidth=scrollWidth;this.scrollableElement.setScrollDimensions({scrollWidth:scrollWidth===0?0:scrollWidth+10});this._onDidChangeContentWidth.fire(this.scrollWidth)}rerender(){if(!this.supportDynamicHeights){return}for(const item of this.items){item.lastDynamicHeightWidth=void 0}this._rerender(this.lastRenderTop,this.lastRenderHeight)}get length(){return this.items.length}get renderHeight(){const scrollDimensions=this.scrollableElement.getScrollDimensions();return scrollDimensions.height}get firstVisibleIndex(){const range2=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);const firstElTop=this.rangeMap.positionAt(range2.start);const nextElTop=this.rangeMap.positionAt(range2.start+1);if(nextElTop!==-1){const firstElMidpoint=(nextElTop-firstElTop)/2+firstElTop;if(firstElMidpoint<this.scrollTop){return range2.start+1}}return range2.start}element(index){return this.items[index].element}domElement(index){const row=this.items[index].row;return row&&row.domNode}elementHeight(index){return this.items[index].size}elementTop(index){return this.rangeMap.positionAt(index)}indexAt(position){return this.rangeMap.indexAt(position)}indexAfter(position){return this.rangeMap.indexAfter(position)}layout(height,width){const scrollDimensions={height:typeof height==="number"?height:getContentHeight(this.domNode)};if(this.scrollableElementUpdateDisposable){this.scrollableElementUpdateDisposable.dispose();this.scrollableElementUpdateDisposable=null;scrollDimensions.scrollHeight=this.scrollHeight}this.scrollableElement.setScrollDimensions(scrollDimensions);if(typeof width!=="undefined"){this.renderWidth=width;if(this.supportDynamicHeights){this._rerender(this.scrollTop,this.renderHeight)}}if(this.horizontalScrolling){this.scrollableElement.setScrollDimensions({width:typeof width==="number"?width:getContentWidth(this.domNode)})}}render(previousRenderRange,renderTop,renderHeight,renderLeft,scrollWidth,updateItemsInDOM=false){const renderRange=this.getRenderRange(renderTop,renderHeight);const rangesToInsert=Range2.relativeComplement(renderRange,previousRenderRange);const rangesToRemove=Range2.relativeComplement(previousRenderRange,renderRange);const beforeElement=this.getNextToLastElement(rangesToInsert);if(updateItemsInDOM){const rangesToUpdate=Range2.intersect(previousRenderRange,renderRange);for(let i=rangesToUpdate.start;i<rangesToUpdate.end;i++){this.updateItemInDOM(this.items[i],i)}}this.cache.transact((()=>{for(const range2 of rangesToRemove){for(let i=range2.start;i<range2.end;i++){this.removeItemFromDOM(i)}}for(const range2 of rangesToInsert){for(let i=range2.start;i<range2.end;i++){this.insertItemInDOM(i,beforeElement)}}}));if(renderLeft!==void 0){this.rowsContainer.style.left=`-${renderLeft}px`}this.rowsContainer.style.top=`-${renderTop}px`;if(this.horizontalScrolling&&scrollWidth!==void 0){this.rowsContainer.style.width=`${Math.max(scrollWidth,this.renderWidth)}px`}this.lastRenderTop=renderTop;this.lastRenderHeight=renderHeight}insertItemInDOM(index,beforeElement,row){const item=this.items[index];let isStale=false;if(!item.row){if(row){item.row=row}else{const result=this.cache.alloc(item.templateId);item.row=result.row;isStale=result.isReusingConnectedDomNode}}const role=this.accessibilityProvider.getRole(item.element)||"listitem";item.row.domNode.setAttribute("role",role);const checked=this.accessibilityProvider.isChecked(item.element);if(typeof checked==="boolean"){item.row.domNode.setAttribute("aria-checked",String(!!checked))}else if(checked){const update=checked2=>item.row.domNode.setAttribute("aria-checked",String(!!checked2));update(checked.value);item.checkedDisposable=checked.onDidChange(update)}if(isStale||!item.row.domNode.parentElement){if(beforeElement){this.rowsContainer.insertBefore(item.row.domNode,beforeElement)}else{this.rowsContainer.appendChild(item.row.domNode)}}this.updateItemInDOM(item,index);const renderer=this.renderers.get(item.templateId);if(!renderer){throw new Error(`No renderer found for template id ${item.templateId}`)}renderer===null||renderer===void 0?void 0:renderer.renderElement(item.element,index,item.row.templateData,item.size);const uri=this.dnd.getDragURI(item.element);item.dragStartDisposable.dispose();item.row.domNode.draggable=!!uri;if(uri){item.dragStartDisposable=addDisposableListener(item.row.domNode,"dragstart",(event=>this.onDragStart(item.element,uri,event)))}if(this.horizontalScrolling){this.measureItemWidth(item);this.eventuallyUpdateScrollWidth()}}measureItemWidth(item){if(!item.row||!item.row.domNode){return}item.row.domNode.style.width="fit-content";item.width=getContentWidth(item.row.domNode);const style=window.getComputedStyle(item.row.domNode);if(style.paddingLeft){item.width+=parseFloat(style.paddingLeft)}if(style.paddingRight){item.width+=parseFloat(style.paddingRight)}item.row.domNode.style.width=""}updateItemInDOM(item,index){item.row.domNode.style.top=`${this.elementTop(index)}px`;if(this.setRowHeight){item.row.domNode.style.height=`${item.size}px`}if(this.setRowLineHeight){item.row.domNode.style.lineHeight=`${item.size}px`}item.row.domNode.setAttribute("data-index",`${index}`);item.row.domNode.setAttribute("data-last-element",index===this.length-1?"true":"false");item.row.domNode.setAttribute("data-parity",index%2===0?"even":"odd");item.row.domNode.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(item.element,index,this.length)));item.row.domNode.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(item.element,index)));item.row.domNode.setAttribute("id",this.getElementDomId(index));item.row.domNode.classList.toggle("drop-target",item.dropTarget)}removeItemFromDOM(index){const item=this.items[index];item.dragStartDisposable.dispose();item.checkedDisposable.dispose();if(item.row){const renderer=this.renderers.get(item.templateId);if(renderer&&renderer.disposeElement){renderer.disposeElement(item.element,index,item.row.templateData,item.size)}this.cache.release(item.row);item.row=null}if(this.horizontalScrolling){this.eventuallyUpdateScrollWidth()}}getScrollTop(){const scrollPosition=this.scrollableElement.getScrollPosition();return scrollPosition.scrollTop}setScrollTop(scrollTop,reuseAnimation){if(this.scrollableElementUpdateDisposable){this.scrollableElementUpdateDisposable.dispose();this.scrollableElementUpdateDisposable=null;this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})}this.scrollableElement.setScrollPosition({scrollTop:scrollTop,reuseAnimation:reuseAnimation})}get scrollTop(){return this.getScrollTop()}set scrollTop(scrollTop){this.setScrollTop(scrollTop)}get scrollHeight(){return this._scrollHeight+(this.horizontalScrolling?10:0)+this.paddingBottom}get onMouseClick(){return Event.map(this.disposables.add(new DomEmitter(this.domNode,"click")).event,(e=>this.toMouseEvent(e)),this.disposables)}get onMouseDblClick(){return Event.map(this.disposables.add(new DomEmitter(this.domNode,"dblclick")).event,(e=>this.toMouseEvent(e)),this.disposables)}get onMouseMiddleClick(){return Event.filter(Event.map(this.disposables.add(new DomEmitter(this.domNode,"auxclick")).event,(e=>this.toMouseEvent(e)),this.disposables),(e=>e.browserEvent.button===1),this.disposables)}get onMouseDown(){return Event.map(this.disposables.add(new DomEmitter(this.domNode,"mousedown")).event,(e=>this.toMouseEvent(e)),this.disposables)}get onMouseOver(){return Event.map(this.disposables.add(new DomEmitter(this.domNode,"mouseover")).event,(e=>this.toMouseEvent(e)),this.disposables)}get onMouseOut(){return Event.map(this.disposables.add(new DomEmitter(this.domNode,"mouseout")).event,(e=>this.toMouseEvent(e)),this.disposables)}get onContextMenu(){return Event.any(Event.map(this.disposables.add(new DomEmitter(this.domNode,"contextmenu")).event,(e=>this.toMouseEvent(e)),this.disposables),Event.map(this.disposables.add(new DomEmitter(this.domNode,EventType2.Contextmenu)).event,(e=>this.toGestureEvent(e)),this.disposables))}get onTouchStart(){return Event.map(this.disposables.add(new DomEmitter(this.domNode,"touchstart")).event,(e=>this.toTouchEvent(e)),this.disposables)}get onTap(){return Event.map(this.disposables.add(new DomEmitter(this.rowsContainer,EventType2.Tap)).event,(e=>this.toGestureEvent(e)),this.disposables)}toMouseEvent(browserEvent){const index=this.getItemIndexFromEventTarget(browserEvent.target||null);const item=typeof index==="undefined"?void 0:this.items[index];const element=item&&item.element;return{browserEvent:browserEvent,index:index,element:element}}toTouchEvent(browserEvent){const index=this.getItemIndexFromEventTarget(browserEvent.target||null);const item=typeof index==="undefined"?void 0:this.items[index];const element=item&&item.element;return{browserEvent:browserEvent,index:index,element:element}}toGestureEvent(browserEvent){const index=this.getItemIndexFromEventTarget(browserEvent.initialTarget||null);const item=typeof index==="undefined"?void 0:this.items[index];const element=item&&item.element;return{browserEvent:browserEvent,index:index,element:element}}toDragEvent(browserEvent){const index=this.getItemIndexFromEventTarget(browserEvent.target||null);const item=typeof index==="undefined"?void 0:this.items[index];const element=item&&item.element;return{browserEvent:browserEvent,index:index,element:element}}onScroll(e){try{const previousRenderRange=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);this.render(previousRenderRange,e.scrollTop,e.height,e.scrollLeft,e.scrollWidth);if(this.supportDynamicHeights){this._rerender(e.scrollTop,e.height,e.inSmoothScrolling)}}catch(err){console.error("Got bad scroll event:",e);throw err}}onTouchChange(event){event.preventDefault();event.stopPropagation();this.scrollTop-=event.translationY}onDragStart(element,uri,event){var _a6,_b3;if(!event.dataTransfer){return}const elements=this.dnd.getDragElements(element);event.dataTransfer.effectAllowed="copyMove";event.dataTransfer.setData(DataTransfers.TEXT,uri);if(event.dataTransfer.setDragImage){let label;if(this.dnd.getDragLabel){label=this.dnd.getDragLabel(elements,event)}if(typeof label==="undefined"){label=String(elements.length)}const dragImage=$(".monaco-drag-image");dragImage.textContent=label;const getDragImageContainer=e=>{while(e&&!e.classList.contains("monaco-workbench")){e=e.parentElement}return e||document.body};const container=getDragImageContainer(this.domNode);container.appendChild(dragImage);event.dataTransfer.setDragImage(dragImage,-10,-10);setTimeout((()=>container.removeChild(dragImage)),0)}this.domNode.classList.add("dragging");this.currentDragData=new ElementsDragAndDropData(elements);StaticDND.CurrentDragAndDropData=new ExternalElementsDragAndDropData(elements);(_b3=(_a6=this.dnd).onDragStart)===null||_b3===void 0?void 0:_b3.call(_a6,this.currentDragData,event)}onDragOver(event){var _a6;event.browserEvent.preventDefault();this.onDragLeaveTimeout.dispose();if(StaticDND.CurrentDragAndDropData&&StaticDND.CurrentDragAndDropData.getData()==="vscode-ui"){return false}this.setupDragAndDropScrollTopAnimation(event.browserEvent);if(!event.browserEvent.dataTransfer){return false}if(!this.currentDragData){if(StaticDND.CurrentDragAndDropData){this.currentDragData=StaticDND.CurrentDragAndDropData}else{if(!event.browserEvent.dataTransfer.types){return false}this.currentDragData=new NativeDragAndDropData}}const result=this.dnd.onDragOver(this.currentDragData,event.element,event.index,event.browserEvent);this.canDrop=typeof result==="boolean"?result:result.accept;if(!this.canDrop){this.currentDragFeedback=void 0;this.currentDragFeedbackDisposable.dispose();return false}event.browserEvent.dataTransfer.dropEffect=typeof result!=="boolean"&&result.effect===0?"copy":"move";let feedback;if(typeof result!=="boolean"&&result.feedback){feedback=result.feedback}else{if(typeof event.index==="undefined"){feedback=[-1]}else{feedback=[event.index]}}feedback=distinct(feedback).filter((i=>i>=-1&&i<this.length)).sort(((a,b)=>a-b));feedback=feedback[0]===-1?[-1]:feedback;if(equalsDragFeedback(this.currentDragFeedback,feedback)){return true}this.currentDragFeedback=feedback;this.currentDragFeedbackDisposable.dispose();if(feedback[0]===-1){this.domNode.classList.add("drop-target");this.rowsContainer.classList.add("drop-target");this.currentDragFeedbackDisposable=toDisposable((()=>{this.domNode.classList.remove("drop-target");this.rowsContainer.classList.remove("drop-target")}))}else{for(const index of feedback){const item=this.items[index];item.dropTarget=true;(_a6=item.row)===null||_a6===void 0?void 0:_a6.domNode.classList.add("drop-target")}this.currentDragFeedbackDisposable=toDisposable((()=>{var _a7;for(const index of feedback){const item=this.items[index];item.dropTarget=false;(_a7=item.row)===null||_a7===void 0?void 0:_a7.domNode.classList.remove("drop-target")}}))}return true}onDragLeave(event){var _a6,_b3;this.onDragLeaveTimeout.dispose();this.onDragLeaveTimeout=disposableTimeout((()=>this.clearDragOverFeedback()),100);if(this.currentDragData){(_b3=(_a6=this.dnd).onDragLeave)===null||_b3===void 0?void 0:_b3.call(_a6,this.currentDragData,event.element,event.index,event.browserEvent)}}onDrop(event){if(!this.canDrop){return}const dragData=this.currentDragData;this.teardownDragAndDropScrollTopAnimation();this.clearDragOverFeedback();this.domNode.classList.remove("dragging");this.currentDragData=void 0;StaticDND.CurrentDragAndDropData=void 0;if(!dragData||!event.browserEvent.dataTransfer){return}event.browserEvent.preventDefault();dragData.update(event.browserEvent.dataTransfer);this.dnd.drop(dragData,event.element,event.index,event.browserEvent)}onDragEnd(event){var _a6,_b3;this.canDrop=false;this.teardownDragAndDropScrollTopAnimation();this.clearDragOverFeedback();this.domNode.classList.remove("dragging");this.currentDragData=void 0;StaticDND.CurrentDragAndDropData=void 0;(_b3=(_a6=this.dnd).onDragEnd)===null||_b3===void 0?void 0:_b3.call(_a6,event)}clearDragOverFeedback(){this.currentDragFeedback=void 0;this.currentDragFeedbackDisposable.dispose();this.currentDragFeedbackDisposable=Disposable.None}setupDragAndDropScrollTopAnimation(event){if(!this.dragOverAnimationDisposable){const viewTop=getTopLeftOffset(this.domNode).top;this.dragOverAnimationDisposable=animate(this.animateDragAndDropScrollTop.bind(this,viewTop))}this.dragOverAnimationStopDisposable.dispose();this.dragOverAnimationStopDisposable=disposableTimeout((()=>{if(this.dragOverAnimationDisposable){this.dragOverAnimationDisposable.dispose();this.dragOverAnimationDisposable=void 0}}),1e3);this.dragOverMouseY=event.pageY}animateDragAndDropScrollTop(viewTop){if(this.dragOverMouseY===void 0){return}const diff=this.dragOverMouseY-viewTop;const upperLimit=this.renderHeight-35;if(diff<35){this.scrollTop+=Math.max(-14,Math.floor(.3*(diff-35)))}else if(diff>upperLimit){this.scrollTop+=Math.min(14,Math.floor(.3*(diff-upperLimit)))}}teardownDragAndDropScrollTopAnimation(){this.dragOverAnimationStopDisposable.dispose();if(this.dragOverAnimationDisposable){this.dragOverAnimationDisposable.dispose();this.dragOverAnimationDisposable=void 0}}getItemIndexFromEventTarget(target){const scrollableElement=this.scrollableElement.getDomNode();let element=target;while(element instanceof HTMLElement&&element!==this.rowsContainer&&scrollableElement.contains(element)){const rawIndex=element.getAttribute("data-index");if(rawIndex){const index=Number(rawIndex);if(!isNaN(index)){return index}}element=element.parentElement}return void 0}getRenderRange(renderTop,renderHeight){return{start:this.rangeMap.indexAt(renderTop),end:this.rangeMap.indexAfter(renderTop+renderHeight-1)}}_rerender(renderTop,renderHeight,inSmoothScrolling){const previousRenderRange=this.getRenderRange(renderTop,renderHeight);let anchorElementIndex;let anchorElementTopDelta;if(renderTop===this.elementTop(previousRenderRange.start)){anchorElementIndex=previousRenderRange.start;anchorElementTopDelta=0}else if(previousRenderRange.end-previousRenderRange.start>1){anchorElementIndex=previousRenderRange.start+1;anchorElementTopDelta=this.elementTop(anchorElementIndex)-renderTop}let heightDiff2=0;while(true){const renderRange=this.getRenderRange(renderTop,renderHeight);let didChange=false;for(let i=renderRange.start;i<renderRange.end;i++){const diff=this.probeDynamicHeight(i);if(diff!==0){this.rangeMap.splice(i,1,[this.items[i]])}heightDiff2+=diff;didChange=didChange||diff!==0}if(!didChange){if(heightDiff2!==0){this.eventuallyUpdateScrollDimensions()}const unrenderRanges=Range2.relativeComplement(previousRenderRange,renderRange);for(const range2 of unrenderRanges){for(let i=range2.start;i<range2.end;i++){if(this.items[i].row){this.removeItemFromDOM(i)}}}const renderRanges=Range2.relativeComplement(renderRange,previousRenderRange);for(const range2 of renderRanges){for(let i=range2.start;i<range2.end;i++){const afterIndex=i+1;const beforeRow=afterIndex<this.items.length?this.items[afterIndex].row:null;const beforeElement=beforeRow?beforeRow.domNode:null;this.insertItemInDOM(i,beforeElement)}}for(let i=renderRange.start;i<renderRange.end;i++){if(this.items[i].row){this.updateItemInDOM(this.items[i],i)}}if(typeof anchorElementIndex==="number"){const deltaScrollTop=this.scrollable.getFutureScrollPosition().scrollTop-renderTop;const newScrollTop=this.elementTop(anchorElementIndex)-anchorElementTopDelta+deltaScrollTop;this.setScrollTop(newScrollTop,inSmoothScrolling)}this._onDidChangeContentHeight.fire(this.contentHeight);return}}}probeDynamicHeight(index){var _a6,_b3,_c2;const item=this.items[index];if(!!this.virtualDelegate.getDynamicHeight){const newSize=this.virtualDelegate.getDynamicHeight(item.element);if(newSize!==null){const size3=item.size;item.size=newSize;item.lastDynamicHeightWidth=this.renderWidth;return newSize-size3}}if(!item.hasDynamicHeight||item.lastDynamicHeightWidth===this.renderWidth){return 0}if(!!this.virtualDelegate.hasDynamicHeight&&!this.virtualDelegate.hasDynamicHeight(item.element)){return 0}const size2=item.size;if(item.row){item.row.domNode.style.height="";item.size=item.row.domNode.offsetHeight;item.lastDynamicHeightWidth=this.renderWidth;return item.size-size2}const{row:row}=this.cache.alloc(item.templateId);row.domNode.style.height="";this.rowsContainer.appendChild(row.domNode);const renderer=this.renderers.get(item.templateId);if(!renderer){throw new BugIndicatingError("Missing renderer for templateId: "+item.templateId)}renderer.renderElement(item.element,index,row.templateData,void 0);item.size=row.domNode.offsetHeight;(_a6=renderer.disposeElement)===null||_a6===void 0?void 0:_a6.call(renderer,item.element,index,row.templateData,void 0);(_c2=(_b3=this.virtualDelegate).setDynamicHeight)===null||_c2===void 0?void 0:_c2.call(_b3,item.element,item.size);item.lastDynamicHeightWidth=this.renderWidth;this.rowsContainer.removeChild(row.domNode);this.cache.release(row);return item.size-size2}getNextToLastElement(ranges){const lastRange=ranges[ranges.length-1];if(!lastRange){return null}const nextToLastItem=this.items[lastRange.end];if(!nextToLastItem){return null}if(!nextToLastItem.row){return null}return nextToLastItem.row.domNode}getElementDomId(index){return`${this.domId}_${index}`}dispose(){var _a6;if(this.items){for(const item of this.items){if(item.row){const renderer=this.renderers.get(item.row.templateId);if(renderer){(_a6=renderer.disposeElement)===null||_a6===void 0?void 0:_a6.call(renderer,item.element,-1,item.row.templateData,void 0);renderer.disposeTemplate(item.row.templateData)}}}this.items=[]}if(this.domNode&&this.domNode.parentNode){this.domNode.parentNode.removeChild(this.domNode)}dispose(this.disposables)}};ListView.InstanceCount=0;__decorate15([memoize],ListView.prototype,"onMouseClick",null);__decorate15([memoize],ListView.prototype,"onMouseDblClick",null);__decorate15([memoize],ListView.prototype,"onMouseMiddleClick",null);__decorate15([memoize],ListView.prototype,"onMouseDown",null);__decorate15([memoize],ListView.prototype,"onMouseOver",null);__decorate15([memoize],ListView.prototype,"onMouseOut",null);__decorate15([memoize],ListView.prototype,"onContextMenu",null);__decorate15([memoize],ListView.prototype,"onTouchStart",null);__decorate15([memoize],ListView.prototype,"onTap",null)}});function isInputElement(e){return e.tagName==="INPUT"||e.tagName==="TEXTAREA"}function isMonacoEditor(e){if(e.classList.contains("monaco-editor")){return true}if(e.classList.contains("monaco-list")){return false}if(!e.parentElement){return false}return isMonacoEditor(e.parentElement)}function isButton(e){if(e.tagName==="A"&&e.classList.contains("monaco-button")||e.tagName==="DIV"&&e.classList.contains("monaco-button-dropdown")){return true}if(e.classList.contains("monaco-list")){return false}if(!e.parentElement){return false}return isButton(e.parentElement)}function isSelectionSingleChangeEvent(event){return isMacintosh?event.browserEvent.metaKey:event.browserEvent.ctrlKey}function isSelectionRangeChangeEvent(event){return event.browserEvent.shiftKey}function isMouseRightClick(event){return event instanceof MouseEvent&&event.button===2}function getContiguousRangeContaining(range2,value){const index=range2.indexOf(value);if(index===-1){return[]}const result=[];let i=index-1;while(i>=0&&range2[i]===value-(index-i)){result.push(range2[i--])}result.reverse();i=index;while(i<range2.length&&range2[i]===value+(i-index)){result.push(range2[i++])}return result}function disjunction(one,other){const result=[];let i=0,j=0;while(i<one.length||j<other.length){if(i>=one.length){result.push(other[j++])}else if(j>=other.length){result.push(one[i++])}else if(one[i]===other[j]){result.push(one[i]);i++;j++;continue}else if(one[i]<other[j]){result.push(one[i++])}else{result.push(other[j++])}}return result}function relativeComplement(one,other){const result=[];let i=0,j=0;while(i<one.length||j<other.length){if(i>=one.length){result.push(other[j++])}else if(j>=other.length){result.push(one[i++])}else if(one[i]===other[j]){i++;j++;continue}else if(one[i]<other[j]){result.push(one[i++])}else{j++}}return result}var __decorate16,__awaiter10,TraitRenderer,Trait,SelectionTrait,TraitSpliceable,KeyboardController,TypeNavigationMode,TypeNavigationControllerState,DefaultKeyboardNavigationDelegate,TypeNavigationController,DOMFocusController,DefaultMultipleSelectionController,MouseController,DefaultStyleController,unthemedListStyles,DefaultOptions2,numericSort,PipelineRenderer,AccessibiltyRenderer,ListViewDragAndDrop,List;var init_listWidget=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/list/listWidget.js"(){init_dom();init_event2();init_keyboardEvent();init_touch();init_aria();init_splice();init_arrays();init_async();init_color();init_decorators();init_event();init_filters();init_lifecycle();init_numbers();init_platform();init_types();init_26();init_list();init_listView();init_mouseEvent();__decorate16=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__awaiter10=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};TraitRenderer=class{constructor(trait){this.trait=trait;this.renderedElements=[]}get templateId(){return`template:${this.trait.name}`}renderTemplate(container){return container}renderElement(element,index,templateData){const renderedElementIndex=this.renderedElements.findIndex((el=>el.templateData===templateData));if(renderedElementIndex>=0){const rendered=this.renderedElements[renderedElementIndex];this.trait.unrender(templateData);rendered.index=index}else{const rendered={index:index,templateData:templateData};this.renderedElements.push(rendered)}this.trait.renderIndex(index,templateData)}splice(start,deleteCount,insertCount){const rendered=[];for(const renderedElement of this.renderedElements){if(renderedElement.index<start){rendered.push(renderedElement)}else if(renderedElement.index>=start+deleteCount){rendered.push({index:renderedElement.index+insertCount-deleteCount,templateData:renderedElement.templateData})}}this.renderedElements=rendered}renderIndexes(indexes){for(const{index:index,templateData:templateData}of this.renderedElements){if(indexes.indexOf(index)>-1){this.trait.renderIndex(index,templateData)}}}disposeTemplate(templateData){const index=this.renderedElements.findIndex((el=>el.templateData===templateData));if(index<0){return}this.renderedElements.splice(index,1)}};Trait=class{get name(){return this._trait}get renderer(){return new TraitRenderer(this)}constructor(_trait){this._trait=_trait;this.length=0;this.indexes=[];this.sortedIndexes=[];this._onChange=new Emitter;this.onChange=this._onChange.event}splice(start,deleteCount,elements){var _a6;deleteCount=Math.max(0,Math.min(deleteCount,this.length-start));const diff=elements.length-deleteCount;const end=start+deleteCount;const sortedIndexes=[];let i=0;while(i<this.sortedIndexes.length&&this.sortedIndexes[i]<start){sortedIndexes.push(this.sortedIndexes[i++])}for(let j=0;j<elements.length;j++){if(elements[j]){sortedIndexes.push(j+start)}}while(i<this.sortedIndexes.length&&this.sortedIndexes[i]>=end){sortedIndexes.push(this.sortedIndexes[i++]+diff)}const length2=this.length+diff;if(this.sortedIndexes.length>0&&sortedIndexes.length===0&&length2>0){const first2=(_a6=this.sortedIndexes.find((index=>index>=start)))!==null&&_a6!==void 0?_a6:length2-1;sortedIndexes.push(Math.min(first2,length2-1))}this.renderer.splice(start,deleteCount,elements.length);this._set(sortedIndexes,sortedIndexes);this.length=length2}renderIndex(index,container){container.classList.toggle(this._trait,this.contains(index))}unrender(container){container.classList.remove(this._trait)}set(indexes,browserEvent){return this._set(indexes,[...indexes].sort(numericSort),browserEvent)}_set(indexes,sortedIndexes,browserEvent){const result=this.indexes;const sortedResult=this.sortedIndexes;this.indexes=indexes;this.sortedIndexes=sortedIndexes;const toRender=disjunction(sortedResult,indexes);this.renderer.renderIndexes(toRender);this._onChange.fire({indexes:indexes,browserEvent:browserEvent});return result}get(){return this.indexes}contains(index){return binarySearch(this.sortedIndexes,index,numericSort)>=0}dispose(){dispose(this._onChange)}};__decorate16([memoize],Trait.prototype,"renderer",null);SelectionTrait=class extends Trait{constructor(setAriaSelected){super("selected");this.setAriaSelected=setAriaSelected}renderIndex(index,container){super.renderIndex(index,container);if(this.setAriaSelected){if(this.contains(index)){container.setAttribute("aria-selected","true")}else{container.setAttribute("aria-selected","false")}}}};TraitSpliceable=class{constructor(trait,view,identityProvider){this.trait=trait;this.view=view;this.identityProvider=identityProvider}splice(start,deleteCount,elements){if(!this.identityProvider){return this.trait.splice(start,deleteCount,new Array(elements.length).fill(false))}const pastElementsWithTrait=this.trait.get().map((i=>this.identityProvider.getId(this.view.element(i)).toString()));if(pastElementsWithTrait.length===0){return this.trait.splice(start,deleteCount,new Array(elements.length).fill(false))}const pastElementsWithTraitSet=new Set(pastElementsWithTrait);const elementsWithTrait=elements.map((e=>pastElementsWithTraitSet.has(this.identityProvider.getId(e).toString())));this.trait.splice(start,deleteCount,elementsWithTrait)}};KeyboardController=class{get onKeyDown(){return this.disposables.add(Event.chain(this.disposables.add(new DomEmitter(this.view.domNode,"keydown")).event).filter((e=>!isInputElement(e.target))).map((e=>new StandardKeyboardEvent(e))))}constructor(list,view,options2){this.list=list;this.view=view;this.disposables=new DisposableStore;this.multipleSelectionDisposables=new DisposableStore;this.onKeyDown.filter((e=>e.keyCode===3)).on(this.onEnter,this,this.disposables);this.onKeyDown.filter((e=>e.keyCode===16)).on(this.onUpArrow,this,this.disposables);this.onKeyDown.filter((e=>e.keyCode===18)).on(this.onDownArrow,this,this.disposables);this.onKeyDown.filter((e=>e.keyCode===11)).on(this.onPageUpArrow,this,this.disposables);this.onKeyDown.filter((e=>e.keyCode===12)).on(this.onPageDownArrow,this,this.disposables);this.onKeyDown.filter((e=>e.keyCode===9)).on(this.onEscape,this,this.disposables);if(options2.multipleSelectionSupport!==false){this.onKeyDown.filter((e=>(isMacintosh?e.metaKey:e.ctrlKey)&&e.keyCode===31)).on(this.onCtrlA,this,this.multipleSelectionDisposables)}}updateOptions(optionsUpdate){if(optionsUpdate.multipleSelectionSupport!==void 0){this.multipleSelectionDisposables.clear();if(optionsUpdate.multipleSelectionSupport){this.onKeyDown.filter((e=>(isMacintosh?e.metaKey:e.ctrlKey)&&e.keyCode===31)).on(this.onCtrlA,this,this.multipleSelectionDisposables)}}}onEnter(e){e.preventDefault();e.stopPropagation();this.list.setSelection(this.list.getFocus(),e.browserEvent)}onUpArrow(e){e.preventDefault();e.stopPropagation();this.list.focusPrevious(1,false,e.browserEvent);const el=this.list.getFocus()[0];this.list.setAnchor(el);this.list.reveal(el);this.view.domNode.focus()}onDownArrow(e){e.preventDefault();e.stopPropagation();this.list.focusNext(1,false,e.browserEvent);const el=this.list.getFocus()[0];this.list.setAnchor(el);this.list.reveal(el);this.view.domNode.focus()}onPageUpArrow(e){e.preventDefault();e.stopPropagation();this.list.focusPreviousPage(e.browserEvent);const el=this.list.getFocus()[0];this.list.setAnchor(el);this.list.reveal(el);this.view.domNode.focus()}onPageDownArrow(e){e.preventDefault();e.stopPropagation();this.list.focusNextPage(e.browserEvent);const el=this.list.getFocus()[0];this.list.setAnchor(el);this.list.reveal(el);this.view.domNode.focus()}onCtrlA(e){e.preventDefault();e.stopPropagation();this.list.setSelection(range(this.list.length),e.browserEvent);this.list.setAnchor(void 0);this.view.domNode.focus()}onEscape(e){if(this.list.getSelection().length){e.preventDefault();e.stopPropagation();this.list.setSelection([],e.browserEvent);this.list.setAnchor(void 0);this.view.domNode.focus()}}dispose(){this.disposables.dispose();this.multipleSelectionDisposables.dispose()}};__decorate16([memoize],KeyboardController.prototype,"onKeyDown",null);(function(TypeNavigationMode2){TypeNavigationMode2[TypeNavigationMode2["Automatic"]=0]="Automatic";TypeNavigationMode2[TypeNavigationMode2["Trigger"]=1]="Trigger"})(TypeNavigationMode||(TypeNavigationMode={}));(function(TypeNavigationControllerState2){TypeNavigationControllerState2[TypeNavigationControllerState2["Idle"]=0]="Idle";TypeNavigationControllerState2[TypeNavigationControllerState2["Typing"]=1]="Typing"})(TypeNavigationControllerState||(TypeNavigationControllerState={}));DefaultKeyboardNavigationDelegate=new class{mightProducePrintableCharacter(event){if(event.ctrlKey||event.metaKey||event.altKey){return false}return event.keyCode>=31&&event.keyCode<=56||event.keyCode>=21&&event.keyCode<=30||event.keyCode>=98&&event.keyCode<=107||event.keyCode>=85&&event.keyCode<=95}};TypeNavigationController=class{constructor(list,view,keyboardNavigationLabelProvider,keyboardNavigationEventFilter,delegate){this.list=list;this.view=view;this.keyboardNavigationLabelProvider=keyboardNavigationLabelProvider;this.keyboardNavigationEventFilter=keyboardNavigationEventFilter;this.delegate=delegate;this.enabled=false;this.state=TypeNavigationControllerState.Idle;this.mode=TypeNavigationMode.Automatic;this.triggered=false;this.previouslyFocused=-1;this.enabledDisposables=new DisposableStore;this.disposables=new DisposableStore;this.updateOptions(list.options)}updateOptions(options2){var _a6,_b3;if((_a6=options2.typeNavigationEnabled)!==null&&_a6!==void 0?_a6:true){this.enable()}else{this.disable()}this.mode=(_b3=options2.typeNavigationMode)!==null&&_b3!==void 0?_b3:TypeNavigationMode.Automatic}enable(){if(this.enabled){return}let typing=false;const onChar=this.enabledDisposables.add(Event.chain(this.enabledDisposables.add(new DomEmitter(this.view.domNode,"keydown")).event)).filter((e=>!isInputElement(e.target))).filter((()=>this.mode===TypeNavigationMode.Automatic||this.triggered)).map((event=>new StandardKeyboardEvent(event))).filter((e=>typing||this.keyboardNavigationEventFilter(e))).filter((e=>this.delegate.mightProducePrintableCharacter(e))).forEach((e=>EventHelper.stop(e,true))).map((event=>event.browserEvent.key)).event;const onClear=Event.debounce(onChar,(()=>null),800,void 0,void 0,void 0,this.enabledDisposables);const onInput=Event.reduce(Event.any(onChar,onClear),((r,i)=>i===null?null:(r||"")+i),void 0,this.enabledDisposables);onInput(this.onInput,this,this.enabledDisposables);onClear(this.onClear,this,this.enabledDisposables);onChar((()=>typing=true),void 0,this.enabledDisposables);onClear((()=>typing=false),void 0,this.enabledDisposables);this.enabled=true;this.triggered=false}disable(){if(!this.enabled){return}this.enabledDisposables.clear();this.enabled=false;this.triggered=false}onClear(){var _a6;const focus=this.list.getFocus();if(focus.length>0&&focus[0]===this.previouslyFocused){const ariaLabel=(_a6=this.list.options.accessibilityProvider)===null||_a6===void 0?void 0:_a6.getAriaLabel(this.list.element(focus[0]));if(ariaLabel){alert(ariaLabel)}}this.previouslyFocused=-1}onInput(word){if(!word){this.state=TypeNavigationControllerState.Idle;this.triggered=false;return}const focus=this.list.getFocus();const start=focus.length>0?focus[0]:0;const delta=this.state===TypeNavigationControllerState.Idle?1:0;this.state=TypeNavigationControllerState.Typing;for(let i=0;i<this.list.length;i++){const index=(start+i+delta)%this.list.length;const label=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(this.view.element(index));const labelStr=label&&label.toString();if(this.list.options.typeNavigationEnabled){if(typeof labelStr!=="undefined"){const prefix=matchesPrefix(word,labelStr);const fuzzy=matchesFuzzy2(word,labelStr);if(fuzzy){const fuzzyScore2=fuzzy[0].end-fuzzy[0].start;if(prefix||fuzzyScore2>1&&fuzzy.length===1){this.previouslyFocused=start;this.list.setFocus([index]);this.list.reveal(index);return}}}}else{if(typeof labelStr==="undefined"||matchesPrefix(word,labelStr)){this.previouslyFocused=start;this.list.setFocus([index]);this.list.reveal(index);return}}}}dispose(){this.disable();this.enabledDisposables.dispose();this.disposables.dispose()}};DOMFocusController=class{constructor(list,view){this.list=list;this.view=view;this.disposables=new DisposableStore;const onKeyDown=this.disposables.add(Event.chain(this.disposables.add(new DomEmitter(view.domNode,"keydown")).event)).filter((e=>!isInputElement(e.target))).map((e=>new StandardKeyboardEvent(e)));onKeyDown.filter((e=>e.keyCode===2&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.altKey)).on(this.onTab,this,this.disposables)}onTab(e){if(e.target!==this.view.domNode){return}const focus=this.list.getFocus();if(focus.length===0){return}const focusedDomElement=this.view.domElement(focus[0]);if(!focusedDomElement){return}const tabIndexElement=focusedDomElement.querySelector("[tabIndex]");if(!tabIndexElement||!(tabIndexElement instanceof HTMLElement)||tabIndexElement.tabIndex===-1){return}const style=window.getComputedStyle(tabIndexElement);if(style.visibility==="hidden"||style.display==="none"){return}e.preventDefault();e.stopPropagation();tabIndexElement.focus()}dispose(){this.disposables.dispose()}};DefaultMultipleSelectionController={isSelectionSingleChangeEvent:isSelectionSingleChangeEvent,isSelectionRangeChangeEvent:isSelectionRangeChangeEvent};MouseController=class{constructor(list){this.list=list;this.disposables=new DisposableStore;this._onPointer=new Emitter;this.onPointer=this._onPointer.event;if(list.options.multipleSelectionSupport!==false){this.multipleSelectionController=this.list.options.multipleSelectionController||DefaultMultipleSelectionController}this.mouseSupport=typeof list.options.mouseSupport==="undefined"||!!list.options.mouseSupport;if(this.mouseSupport){list.onMouseDown(this.onMouseDown,this,this.disposables);list.onContextMenu(this.onContextMenu,this,this.disposables);list.onMouseDblClick(this.onDoubleClick,this,this.disposables);list.onTouchStart(this.onMouseDown,this,this.disposables);this.disposables.add(Gesture.addTarget(list.getHTMLElement()))}Event.any(list.onMouseClick,list.onMouseMiddleClick,list.onTap)(this.onViewPointer,this,this.disposables)}updateOptions(optionsUpdate){if(optionsUpdate.multipleSelectionSupport!==void 0){this.multipleSelectionController=void 0;if(optionsUpdate.multipleSelectionSupport){this.multipleSelectionController=this.list.options.multipleSelectionController||DefaultMultipleSelectionController}}}isSelectionSingleChangeEvent(event){if(!this.multipleSelectionController){return false}return this.multipleSelectionController.isSelectionSingleChangeEvent(event)}isSelectionRangeChangeEvent(event){if(!this.multipleSelectionController){return false}return this.multipleSelectionController.isSelectionRangeChangeEvent(event)}isSelectionChangeEvent(event){return this.isSelectionSingleChangeEvent(event)||this.isSelectionRangeChangeEvent(event)}onMouseDown(e){if(isMonacoEditor(e.browserEvent.target)){return}if(document.activeElement!==e.browserEvent.target){this.list.domFocus()}}onContextMenu(e){if(isInputElement(e.browserEvent.target)||isMonacoEditor(e.browserEvent.target)){return}const focus=typeof e.index==="undefined"?[]:[e.index];this.list.setFocus(focus,e.browserEvent)}onViewPointer(e){if(!this.mouseSupport){return}if(isInputElement(e.browserEvent.target)||isMonacoEditor(e.browserEvent.target)){return}if(e.browserEvent.isHandledByList){return}e.browserEvent.isHandledByList=true;const focus=e.index;if(typeof focus==="undefined"){this.list.setFocus([],e.browserEvent);this.list.setSelection([],e.browserEvent);this.list.setAnchor(void 0);return}if(this.isSelectionChangeEvent(e)){return this.changeSelection(e)}this.list.setFocus([focus],e.browserEvent);this.list.setAnchor(focus);if(!isMouseRightClick(e.browserEvent)){this.list.setSelection([focus],e.browserEvent)}this._onPointer.fire(e)}onDoubleClick(e){if(isInputElement(e.browserEvent.target)||isMonacoEditor(e.browserEvent.target)){return}if(this.isSelectionChangeEvent(e)){return}if(e.browserEvent.isHandledByList){return}e.browserEvent.isHandledByList=true;const focus=this.list.getFocus();this.list.setSelection(focus,e.browserEvent)}changeSelection(e){const focus=e.index;let anchor=this.list.getAnchor();if(this.isSelectionRangeChangeEvent(e)){if(typeof anchor==="undefined"){const currentFocus=this.list.getFocus()[0];anchor=currentFocus!==null&&currentFocus!==void 0?currentFocus:focus;this.list.setAnchor(anchor)}const min=Math.min(anchor,focus);const max=Math.max(anchor,focus);const rangeSelection=range(min,max+1);const selection=this.list.getSelection();const contiguousRange=getContiguousRangeContaining(disjunction(selection,[anchor]),anchor);if(contiguousRange.length===0){return}const newSelection=disjunction(rangeSelection,relativeComplement(selection,contiguousRange));this.list.setSelection(newSelection,e.browserEvent);this.list.setFocus([focus],e.browserEvent)}else if(this.isSelectionSingleChangeEvent(e)){const selection=this.list.getSelection();const newSelection=selection.filter((i=>i!==focus));this.list.setFocus([focus]);this.list.setAnchor(focus);if(selection.length===newSelection.length){this.list.setSelection([...newSelection,focus],e.browserEvent)}else{this.list.setSelection(newSelection,e.browserEvent)}}}dispose(){this.disposables.dispose()}};DefaultStyleController=class{constructor(styleElement,selectorSuffix){this.styleElement=styleElement;this.selectorSuffix=selectorSuffix}style(styles){var _a6,_b3;const suffix=this.selectorSuffix&&`.${this.selectorSuffix}`;const content=[];if(styles.listBackground){content.push(`.monaco-list${suffix} .monaco-list-rows { background: ${styles.listBackground}; }`)}if(styles.listFocusBackground){content.push(`.monaco-list${suffix}:focus .monaco-list-row.focused { background-color: ${styles.listFocusBackground}; }`);content.push(`.monaco-list${suffix}:focus .monaco-list-row.focused:hover { background-color: ${styles.listFocusBackground}; }`)}if(styles.listFocusForeground){content.push(`.monaco-list${suffix}:focus .monaco-list-row.focused { color: ${styles.listFocusForeground}; }`)}if(styles.listActiveSelectionBackground){content.push(`.monaco-list${suffix}:focus .monaco-list-row.selected { background-color: ${styles.listActiveSelectionBackground}; }`);content.push(`.monaco-list${suffix}:focus .monaco-list-row.selected:hover { background-color: ${styles.listActiveSelectionBackground}; }`)}if(styles.listActiveSelectionForeground){content.push(`.monaco-list${suffix}:focus .monaco-list-row.selected { color: ${styles.listActiveSelectionForeground}; }`)}if(styles.listActiveSelectionIconForeground){content.push(`.monaco-list${suffix}:focus .monaco-list-row.selected .codicon { color: ${styles.listActiveSelectionIconForeground}; }`)}if(styles.listFocusAndSelectionBackground){content.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${suffix}:focus .monaco-list-row.selected.focused { background-color: ${styles.listFocusAndSelectionBackground}; }\n\t\t\t`)}if(styles.listFocusAndSelectionForeground){content.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${suffix}:focus .monaco-list-row.selected.focused { color: ${styles.listFocusAndSelectionForeground}; }\n\t\t\t`)}if(styles.listInactiveFocusForeground){content.push(`.monaco-list${suffix} .monaco-list-row.focused { color: ${styles.listInactiveFocusForeground}; }`);content.push(`.monaco-list${suffix} .monaco-list-row.focused:hover { color: ${styles.listInactiveFocusForeground}; }`)}if(styles.listInactiveSelectionIconForeground){content.push(`.monaco-list${suffix} .monaco-list-row.focused .codicon { color: ${styles.listInactiveSelectionIconForeground}; }`)}if(styles.listInactiveFocusBackground){content.push(`.monaco-list${suffix} .monaco-list-row.focused { background-color: ${styles.listInactiveFocusBackground}; }`);content.push(`.monaco-list${suffix} .monaco-list-row.focused:hover { background-color: ${styles.listInactiveFocusBackground}; }`)}if(styles.listInactiveSelectionBackground){content.push(`.monaco-list${suffix} .monaco-list-row.selected { background-color: ${styles.listInactiveSelectionBackground}; }`);content.push(`.monaco-list${suffix} .monaco-list-row.selected:hover { background-color: ${styles.listInactiveSelectionBackground}; }`)}if(styles.listInactiveSelectionForeground){content.push(`.monaco-list${suffix} .monaco-list-row.selected { color: ${styles.listInactiveSelectionForeground}; }`)}if(styles.listHoverBackground){content.push(`.monaco-list${suffix}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${styles.listHoverBackground}; }`)}if(styles.listHoverForeground){content.push(`.monaco-list${suffix}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { color: ${styles.listHoverForeground}; }`)}const focusAndSelectionOutline=asCssValueWithDefault(styles.listFocusAndSelectionOutline,asCssValueWithDefault(styles.listSelectionOutline,(_a6=styles.listFocusOutline)!==null&&_a6!==void 0?_a6:""));if(focusAndSelectionOutline){content.push(`.monaco-list${suffix}:focus .monaco-list-row.focused.selected { outline: 1px solid ${focusAndSelectionOutline}; outline-offset: -1px;}`)}if(styles.listFocusOutline){content.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${suffix}:focus .monaco-list-row.focused { outline: 1px solid ${styles.listFocusOutline}; outline-offset: -1px; }\n\t\t\t\t.monaco-workbench.context-menu-visible .monaco-list${suffix}.last-focused .monaco-list-row.focused { outline: 1px solid ${styles.listFocusOutline}; outline-offset: -1px; }\n\t\t\t`)}const inactiveFocusAndSelectionOutline=asCssValueWithDefault(styles.listSelectionOutline,(_b3=styles.listInactiveFocusOutline)!==null&&_b3!==void 0?_b3:"");if(inactiveFocusAndSelectionOutline){content.push(`.monaco-list${suffix} .monaco-list-row.focused.selected { outline: 1px dotted ${inactiveFocusAndSelectionOutline}; outline-offset: -1px; }`)}if(styles.listSelectionOutline){content.push(`.monaco-list${suffix} .monaco-list-row.selected { outline: 1px dotted ${styles.listSelectionOutline}; outline-offset: -1px; }`)}if(styles.listInactiveFocusOutline){content.push(`.monaco-list${suffix} .monaco-list-row.focused { outline: 1px dotted ${styles.listInactiveFocusOutline}; outline-offset: -1px; }`)}if(styles.listHoverOutline){content.push(`.monaco-list${suffix} .monaco-list-row:hover { outline: 1px dashed ${styles.listHoverOutline}; outline-offset: -1px; }`)}if(styles.listDropBackground){content.push(`\n\t\t\t\t.monaco-list${suffix}.drop-target,\n\t\t\t\t.monaco-list${suffix} .monaco-list-rows.drop-target,\n\t\t\t\t.monaco-list${suffix} .monaco-list-row.drop-target { background-color: ${styles.listDropBackground} !important; color: inherit !important; }\n\t\t\t`)}if(styles.tableColumnsBorder){content.push(`\n\t\t\t\t.monaco-table > .monaco-split-view2,\n\t\t\t\t.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\t\t\tborder-color: ${styles.tableColumnsBorder};\n\t\t\t\t}\n\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\t\t\tborder-color: transparent;\n\t\t\t\t}\n\t\t\t`)}if(styles.tableOddRowsBackgroundColor){content.push(`\n\t\t\t\t.monaco-table .monaco-list-row[data-parity=odd]:not(.focused):not(.selected):not(:hover) .monaco-table-tr,\n\t\t\t\t.monaco-table .monaco-list:not(:focus) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr,\n\t\t\t\t.monaco-table .monaco-list:not(.focused) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr {\n\t\t\t\t\tbackground-color: ${styles.tableOddRowsBackgroundColor};\n\t\t\t\t}\n\t\t\t`)}this.styleElement.textContent=content.join("\n")}};unthemedListStyles={listFocusBackground:"#7FB0D0",listActiveSelectionBackground:"#0E639C",listActiveSelectionForeground:"#FFFFFF",listActiveSelectionIconForeground:"#FFFFFF",listFocusAndSelectionOutline:"#90C2F9",listFocusAndSelectionBackground:"#094771",listFocusAndSelectionForeground:"#FFFFFF",listInactiveSelectionBackground:"#3F3F46",listInactiveSelectionIconForeground:"#FFFFFF",listHoverBackground:"#2A2D2E",listDropBackground:"#383B3D",treeIndentGuidesStroke:"#a9a9a9",treeInactiveIndentGuidesStroke:Color.fromHex("#a9a9a9").transparent(.4).toString(),tableColumnsBorder:Color.fromHex("#cccccc").transparent(.2).toString(),tableOddRowsBackgroundColor:Color.fromHex("#cccccc").transparent(.04).toString(),listBackground:void 0,listFocusForeground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusForeground:void 0,listInactiveFocusBackground:void 0,listHoverForeground:void 0,listFocusOutline:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listHoverOutline:void 0};DefaultOptions2={keyboardSupport:true,mouseSupport:true,multipleSelectionSupport:true,dnd:{getDragURI(){return null},onDragStart(){},onDragOver(){return false},drop(){}}};numericSort=(a,b)=>a-b;PipelineRenderer=class{constructor(_templateId,renderers){this._templateId=_templateId;this.renderers=renderers}get templateId(){return this._templateId}renderTemplate(container){return this.renderers.map((r=>r.renderTemplate(container)))}renderElement(element,index,templateData,height){let i=0;for(const renderer of this.renderers){renderer.renderElement(element,index,templateData[i++],height)}}disposeElement(element,index,templateData,height){var _a6;let i=0;for(const renderer of this.renderers){(_a6=renderer.disposeElement)===null||_a6===void 0?void 0:_a6.call(renderer,element,index,templateData[i],height);i+=1}}disposeTemplate(templateData){let i=0;for(const renderer of this.renderers){renderer.disposeTemplate(templateData[i++])}}};AccessibiltyRenderer=class{constructor(accessibilityProvider){this.accessibilityProvider=accessibilityProvider;this.templateId="a18n"}renderTemplate(container){return container}renderElement(element,index,container){const ariaLabel=this.accessibilityProvider.getAriaLabel(element);if(ariaLabel){container.setAttribute("aria-label",ariaLabel)}else{container.removeAttribute("aria-label")}const ariaLevel=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(element);if(typeof ariaLevel==="number"){container.setAttribute("aria-level",`${ariaLevel}`)}else{container.removeAttribute("aria-level")}}disposeTemplate(templateData){}};ListViewDragAndDrop=class{constructor(list,dnd){this.list=list;this.dnd=dnd}getDragElements(element){const selection=this.list.getSelectedElements();const elements=selection.indexOf(element)>-1?selection:[element];return elements}getDragURI(element){return this.dnd.getDragURI(element)}getDragLabel(elements,originalEvent){if(this.dnd.getDragLabel){return this.dnd.getDragLabel(elements,originalEvent)}return void 0}onDragStart(data,originalEvent){var _a6,_b3;(_b3=(_a6=this.dnd).onDragStart)===null||_b3===void 0?void 0:_b3.call(_a6,data,originalEvent)}onDragOver(data,targetElement,targetIndex,originalEvent){return this.dnd.onDragOver(data,targetElement,targetIndex,originalEvent)}onDragLeave(data,targetElement,targetIndex,originalEvent){var _a6,_b3;(_b3=(_a6=this.dnd).onDragLeave)===null||_b3===void 0?void 0:_b3.call(_a6,data,targetElement,targetIndex,originalEvent)}onDragEnd(originalEvent){var _a6,_b3;(_b3=(_a6=this.dnd).onDragEnd)===null||_b3===void 0?void 0:_b3.call(_a6,originalEvent)}drop(data,targetElement,targetIndex,originalEvent){this.dnd.drop(data,targetElement,targetIndex,originalEvent)}};List=class{get onDidChangeFocus(){return Event.map(this.eventBufferer.wrapEvent(this.focus.onChange),(e=>this.toListEvent(e)),this.disposables)}get onDidChangeSelection(){return Event.map(this.eventBufferer.wrapEvent(this.selection.onChange),(e=>this.toListEvent(e)),this.disposables)}get domId(){return this.view.domId}get onDidScroll(){return this.view.onDidScroll}get onMouseClick(){return this.view.onMouseClick}get onMouseDblClick(){return this.view.onMouseDblClick}get onMouseMiddleClick(){return this.view.onMouseMiddleClick}get onPointer(){return this.mouseController.onPointer}get onMouseDown(){return this.view.onMouseDown}get onMouseOver(){return this.view.onMouseOver}get onMouseOut(){return this.view.onMouseOut}get onTouchStart(){return this.view.onTouchStart}get onTap(){return this.view.onTap}get onContextMenu(){let didJustPressContextMenuKey=false;const fromKeyDown=this.disposables.add(Event.chain(this.disposables.add(new DomEmitter(this.view.domNode,"keydown")).event)).map((e=>new StandardKeyboardEvent(e))).filter((e=>didJustPressContextMenuKey=e.keyCode===58||e.shiftKey&&e.keyCode===68)).map((e=>EventHelper.stop(e,true))).filter((()=>false)).event;const fromKeyUp=this.disposables.add(Event.chain(this.disposables.add(new DomEmitter(this.view.domNode,"keyup")).event)).forEach((()=>didJustPressContextMenuKey=false)).map((e=>new StandardKeyboardEvent(e))).filter((e=>e.keyCode===58||e.shiftKey&&e.keyCode===68)).map((e=>EventHelper.stop(e,true))).map((({browserEvent:browserEvent})=>{const focus=this.getFocus();const index=focus.length?focus[0]:void 0;const element=typeof index!=="undefined"?this.view.element(index):void 0;const anchor=typeof index!=="undefined"?this.view.domElement(index):this.view.domNode;return{index:index,element:element,anchor:anchor,browserEvent:browserEvent}})).event;const fromMouse=this.disposables.add(Event.chain(this.view.onContextMenu)).filter((_=>!didJustPressContextMenuKey)).map((({element:element,index:index,browserEvent:browserEvent})=>({element:element,index:index,anchor:new StandardMouseEvent(browserEvent),browserEvent:browserEvent}))).event;return Event.any(fromKeyDown,fromKeyUp,fromMouse)}get onKeyDown(){return this.disposables.add(new DomEmitter(this.view.domNode,"keydown")).event}get onDidFocus(){return Event.signal(this.disposables.add(new DomEmitter(this.view.domNode,"focus",true)).event)}constructor(user,container,virtualDelegate,renderers,_options=DefaultOptions2){var _a6,_b3,_c2,_d2;this.user=user;this._options=_options;this.focus=new Trait("focused");this.anchor=new Trait("anchor");this.eventBufferer=new EventBufferer;this._ariaLabel="";this.disposables=new DisposableStore;this._onDidDispose=new Emitter;this.onDidDispose=this._onDidDispose.event;const role=this._options.accessibilityProvider&&this._options.accessibilityProvider.getWidgetRole?(_a6=this._options.accessibilityProvider)===null||_a6===void 0?void 0:_a6.getWidgetRole():"list";this.selection=new SelectionTrait(role!=="listbox");const baseRenderers=[this.focus.renderer,this.selection.renderer];this.accessibilityProvider=_options.accessibilityProvider;if(this.accessibilityProvider){baseRenderers.push(new AccessibiltyRenderer(this.accessibilityProvider));(_c2=(_b3=this.accessibilityProvider).onDidChangeActiveDescendant)===null||_c2===void 0?void 0:_c2.call(_b3,this.onDidChangeActiveDescendant,this,this.disposables)}renderers=renderers.map((r=>new PipelineRenderer(r.templateId,[...baseRenderers,r])));const viewOptions=Object.assign(Object.assign({},_options),{dnd:_options.dnd&&new ListViewDragAndDrop(this,_options.dnd)});this.view=this.createListView(container,virtualDelegate,renderers,viewOptions);this.view.domNode.setAttribute("role",role);if(_options.styleController){this.styleController=_options.styleController(this.view.domId)}else{const styleElement=createStyleSheet(this.view.domNode);this.styleController=new DefaultStyleController(styleElement,this.view.domId)}this.spliceable=new CombinedSpliceable([new TraitSpliceable(this.focus,this.view,_options.identityProvider),new TraitSpliceable(this.selection,this.view,_options.identityProvider),new TraitSpliceable(this.anchor,this.view,_options.identityProvider),this.view]);this.disposables.add(this.focus);this.disposables.add(this.selection);this.disposables.add(this.anchor);this.disposables.add(this.view);this.disposables.add(this._onDidDispose);this.disposables.add(new DOMFocusController(this,this.view));if(typeof _options.keyboardSupport!=="boolean"||_options.keyboardSupport){this.keyboardController=new KeyboardController(this,this.view,_options);this.disposables.add(this.keyboardController)}if(_options.keyboardNavigationLabelProvider){const delegate=_options.keyboardNavigationDelegate||DefaultKeyboardNavigationDelegate;this.typeNavigationController=new TypeNavigationController(this,this.view,_options.keyboardNavigationLabelProvider,(_d2=_options.keyboardNavigationEventFilter)!==null&&_d2!==void 0?_d2:()=>true,delegate);this.disposables.add(this.typeNavigationController)}this.mouseController=this.createMouseController(_options);this.disposables.add(this.mouseController);this.onDidChangeFocus(this._onFocusChange,this,this.disposables);this.onDidChangeSelection(this._onSelectionChange,this,this.disposables);if(this.accessibilityProvider){this.ariaLabel=this.accessibilityProvider.getWidgetAriaLabel()}if(this._options.multipleSelectionSupport!==false){this.view.domNode.setAttribute("aria-multiselectable","true")}}createListView(container,virtualDelegate,renderers,viewOptions){return new ListView(container,virtualDelegate,renderers,viewOptions)}createMouseController(options2){return new MouseController(this)}updateOptions(optionsUpdate={}){var _a6,_b3;this._options=Object.assign(Object.assign({},this._options),optionsUpdate);(_a6=this.typeNavigationController)===null||_a6===void 0?void 0:_a6.updateOptions(this._options);if(this._options.multipleSelectionController!==void 0){if(this._options.multipleSelectionSupport){this.view.domNode.setAttribute("aria-multiselectable","true")}else{this.view.domNode.removeAttribute("aria-multiselectable")}}this.mouseController.updateOptions(optionsUpdate);(_b3=this.keyboardController)===null||_b3===void 0?void 0:_b3.updateOptions(optionsUpdate);this.view.updateOptions(optionsUpdate)}get options(){return this._options}splice(start,deleteCount,elements=[]){if(start<0||start>this.view.length){throw new ListError(this.user,`Invalid start index: ${start}`)}if(deleteCount<0){throw new ListError(this.user,`Invalid delete count: ${deleteCount}`)}if(deleteCount===0&&elements.length===0){return}this.eventBufferer.bufferEvents((()=>this.spliceable.splice(start,deleteCount,elements)))}rerender(){this.view.rerender()}element(index){return this.view.element(index)}get length(){return this.view.length}get contentHeight(){return this.view.contentHeight}get scrollTop(){return this.view.getScrollTop()}set scrollTop(scrollTop){this.view.setScrollTop(scrollTop)}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get firstVisibleIndex(){return this.view.firstVisibleIndex}get ariaLabel(){return this._ariaLabel}set ariaLabel(value){this._ariaLabel=value;this.view.domNode.setAttribute("aria-label",value)}domFocus(){this.view.domNode.focus({preventScroll:true})}layout(height,width){this.view.layout(height,width)}setSelection(indexes,browserEvent){for(const index of indexes){if(index<0||index>=this.length){throw new ListError(this.user,`Invalid index ${index}`)}}this.selection.set(indexes,browserEvent)}getSelection(){return this.selection.get()}getSelectedElements(){return this.getSelection().map((i=>this.view.element(i)))}setAnchor(index){if(typeof index==="undefined"){this.anchor.set([]);return}if(index<0||index>=this.length){throw new ListError(this.user,`Invalid index ${index}`)}this.anchor.set([index])}getAnchor(){return firstOrDefault(this.anchor.get(),void 0)}getAnchorElement(){const anchor=this.getAnchor();return typeof anchor==="undefined"?void 0:this.element(anchor)}setFocus(indexes,browserEvent){for(const index of indexes){if(index<0||index>=this.length){throw new ListError(this.user,`Invalid index ${index}`)}}this.focus.set(indexes,browserEvent)}focusNext(n=1,loop=false,browserEvent,filter){if(this.length===0){return}const focus=this.focus.get();const index=this.findNextIndex(focus.length>0?focus[0]+n:0,loop,filter);if(index>-1){this.setFocus([index],browserEvent)}}focusPrevious(n=1,loop=false,browserEvent,filter){if(this.length===0){return}const focus=this.focus.get();const index=this.findPreviousIndex(focus.length>0?focus[0]-n:0,loop,filter);if(index>-1){this.setFocus([index],browserEvent)}}focusNextPage(browserEvent,filter){return __awaiter10(this,void 0,void 0,(function*(){let lastPageIndex=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);lastPageIndex=lastPageIndex===0?0:lastPageIndex-1;const currentlyFocusedElementIndex=this.getFocus()[0];if(currentlyFocusedElementIndex!==lastPageIndex&&(currentlyFocusedElementIndex===void 0||lastPageIndex>currentlyFocusedElementIndex)){const lastGoodPageIndex=this.findPreviousIndex(lastPageIndex,false,filter);if(lastGoodPageIndex>-1&&currentlyFocusedElementIndex!==lastGoodPageIndex){this.setFocus([lastGoodPageIndex],browserEvent)}else{this.setFocus([lastPageIndex],browserEvent)}}else{const previousScrollTop=this.view.getScrollTop();let nextpageScrollTop=previousScrollTop+this.view.renderHeight;if(lastPageIndex>currentlyFocusedElementIndex){nextpageScrollTop-=this.view.elementHeight(lastPageIndex)}this.view.setScrollTop(nextpageScrollTop);if(this.view.getScrollTop()!==previousScrollTop){this.setFocus([]);yield timeout(0);yield this.focusNextPage(browserEvent,filter)}}}))}focusPreviousPage(browserEvent,filter){return __awaiter10(this,void 0,void 0,(function*(){let firstPageIndex;const scrollTop=this.view.getScrollTop();if(scrollTop===0){firstPageIndex=this.view.indexAt(scrollTop)}else{firstPageIndex=this.view.indexAfter(scrollTop-1)}const currentlyFocusedElementIndex=this.getFocus()[0];if(currentlyFocusedElementIndex!==firstPageIndex&&(currentlyFocusedElementIndex===void 0||currentlyFocusedElementIndex>=firstPageIndex)){const firstGoodPageIndex=this.findNextIndex(firstPageIndex,false,filter);if(firstGoodPageIndex>-1&&currentlyFocusedElementIndex!==firstGoodPageIndex){this.setFocus([firstGoodPageIndex],browserEvent)}else{this.setFocus([firstPageIndex],browserEvent)}}else{const previousScrollTop=scrollTop;this.view.setScrollTop(scrollTop-this.view.renderHeight);if(this.view.getScrollTop()!==previousScrollTop){this.setFocus([]);yield timeout(0);yield this.focusPreviousPage(browserEvent,filter)}}}))}focusLast(browserEvent,filter){if(this.length===0){return}const index=this.findPreviousIndex(this.length-1,false,filter);if(index>-1){this.setFocus([index],browserEvent)}}focusFirst(browserEvent,filter){this.focusNth(0,browserEvent,filter)}focusNth(n,browserEvent,filter){if(this.length===0){return}const index=this.findNextIndex(n,false,filter);if(index>-1){this.setFocus([index],browserEvent)}}findNextIndex(index,loop=false,filter){for(let i=0;i<this.length;i++){if(index>=this.length&&!loop){return-1}index=index%this.length;if(!filter||filter(this.element(index))){return index}index++}return-1}findPreviousIndex(index,loop=false,filter){for(let i=0;i<this.length;i++){if(index<0&&!loop){return-1}index=(this.length+index%this.length)%this.length;if(!filter||filter(this.element(index))){return index}index--}return-1}getFocus(){return this.focus.get()}getFocusedElements(){return this.getFocus().map((i=>this.view.element(i)))}reveal(index,relativeTop){if(index<0||index>=this.length){throw new ListError(this.user,`Invalid index ${index}`)}const scrollTop=this.view.getScrollTop();const elementTop=this.view.elementTop(index);const elementHeight=this.view.elementHeight(index);if(isNumber(relativeTop)){const m=elementHeight-this.view.renderHeight;this.view.setScrollTop(m*clamp(relativeTop,0,1)+elementTop)}else{const viewItemBottom=elementTop+elementHeight;const scrollBottom=scrollTop+this.view.renderHeight;if(elementTop<scrollTop&&viewItemBottom>=scrollBottom){}else if(elementTop<scrollTop||viewItemBottom>=scrollBottom&&elementHeight>=this.view.renderHeight){this.view.setScrollTop(elementTop)}else if(viewItemBottom>=scrollBottom){this.view.setScrollTop(viewItemBottom-this.view.renderHeight)}}}getHTMLElement(){return this.view.domNode}getElementID(index){return this.view.getElementDomId(index)}style(styles){this.styleController.style(styles)}toListEvent({indexes:indexes,browserEvent:browserEvent}){return{indexes:indexes,elements:indexes.map((i=>this.view.element(i))),browserEvent:browserEvent}}_onFocusChange(){const focus=this.focus.get();this.view.domNode.classList.toggle("element-focused",focus.length>0);this.onDidChangeActiveDescendant()}onDidChangeActiveDescendant(){var _a6;const focus=this.focus.get();if(focus.length>0){let id;if((_a6=this.accessibilityProvider)===null||_a6===void 0?void 0:_a6.getActiveDescendantId){id=this.accessibilityProvider.getActiveDescendantId(this.view.element(focus[0]))}this.view.domNode.setAttribute("aria-activedescendant",id||this.view.getElementDomId(focus[0]))}else{this.view.domNode.removeAttribute("aria-activedescendant")}}_onSelectionChange(){const selection=this.selection.get();this.view.domNode.classList.toggle("selection-none",selection.length===0);this.view.domNode.classList.toggle("selection-single",selection.length===1);this.view.domNode.classList.toggle("selection-multiple",selection.length>1)}dispose(){this._onDidDispose.fire();this.disposables.dispose();this._onDidDispose.dispose()}};__decorate16([memoize],List.prototype,"onDidChangeFocus",null);__decorate16([memoize],List.prototype,"onDidChangeSelection",null);__decorate16([memoize],List.prototype,"onContextMenu",null);__decorate16([memoize],List.prototype,"onKeyDown",null);__decorate16([memoize],List.prototype,"onDidFocus",null)}});var init_27=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBoxCustom.css"(){}});var $2,SELECT_OPTION_ENTRY_TEMPLATE_ID,SelectListRenderer,SelectBoxList;var init_selectBoxCustom=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBoxCustom.js"(){init_dom();init_event2();init_keyboardEvent();init_markdownRenderer();init_listWidget();init_arrays();init_event();init_keyCodes();init_lifecycle();init_platform();init_27();init_nls();$2=$;SELECT_OPTION_ENTRY_TEMPLATE_ID="selectOption.entry.template";SelectListRenderer=class{get templateId(){return SELECT_OPTION_ENTRY_TEMPLATE_ID}renderTemplate(container){const data=Object.create(null);data.root=container;data.text=append(container,$2(".option-text"));data.detail=append(container,$2(".option-detail"));data.decoratorRight=append(container,$2(".option-decorator-right"));return data}renderElement(element,index,templateData){const data=templateData;const text2=element.text;const detail=element.detail;const decoratorRight=element.decoratorRight;const isDisabled=element.isDisabled;data.text.textContent=text2;data.detail.textContent=!!detail?detail:"";data.decoratorRight.innerText=!!decoratorRight?decoratorRight:"";if(isDisabled){data.root.classList.add("option-disabled")}else{data.root.classList.remove("option-disabled")}}disposeTemplate(_templateData){}};SelectBoxList=class extends Disposable{constructor(options2,selected,contextViewProvider,styles,selectBoxOptions){super();this.options=[];this._currentSelection=0;this._hasDetails=false;this._skipLayout=false;this._sticky=false;this._isVisible=false;this.styles=styles;this.selectBoxOptions=selectBoxOptions||Object.create(null);if(typeof this.selectBoxOptions.minBottomMargin!=="number"){this.selectBoxOptions.minBottomMargin=SelectBoxList.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN}else if(this.selectBoxOptions.minBottomMargin<0){this.selectBoxOptions.minBottomMargin=0}this.selectElement=document.createElement("select");this.selectElement.className="monaco-select-box monaco-select-box-dropdown-padding";if(typeof this.selectBoxOptions.ariaLabel==="string"){this.selectElement.setAttribute("aria-label",this.selectBoxOptions.ariaLabel)}if(typeof this.selectBoxOptions.ariaDescription==="string"){this.selectElement.setAttribute("aria-description",this.selectBoxOptions.ariaDescription)}this._onDidSelect=new Emitter;this._register(this._onDidSelect);this.registerListeners();this.constructSelectDropDown(contextViewProvider);this.selected=selected||0;if(options2){this.setOptions(options2,selected)}this.initStyleSheet()}getHeight(){return 22}getTemplateId(){return SELECT_OPTION_ENTRY_TEMPLATE_ID}constructSelectDropDown(contextViewProvider){this.contextViewProvider=contextViewProvider;this.selectDropDownContainer=$(".monaco-select-box-dropdown-container");this.selectDropDownContainer.classList.add("monaco-select-box-dropdown-padding");this.selectionDetailsPane=append(this.selectDropDownContainer,$2(".select-box-details-pane"));const widthControlOuterDiv=append(this.selectDropDownContainer,$2(".select-box-dropdown-container-width-control"));const widthControlInnerDiv=append(widthControlOuterDiv,$2(".width-control-div"));this.widthControlElement=document.createElement("span");this.widthControlElement.className="option-text-width-control";append(widthControlInnerDiv,this.widthControlElement);this._dropDownPosition=0;this.styleElement=createStyleSheet(this.selectDropDownContainer);this.selectDropDownContainer.setAttribute("draggable","true");this._register(addDisposableListener(this.selectDropDownContainer,EventType.DRAG_START,(e=>{EventHelper.stop(e,true)})))}registerListeners(){this._register(addStandardDisposableListener(this.selectElement,"change",(e=>{this.selected=e.target.selectedIndex;this._onDidSelect.fire({index:e.target.selectedIndex,selected:e.target.value});if(!!this.options[this.selected]&&!!this.options[this.selected].text){this.selectElement.title=this.options[this.selected].text}})));this._register(addDisposableListener(this.selectElement,EventType.CLICK,(e=>{EventHelper.stop(e);if(this._isVisible){this.hideSelectDropDown(true)}else{this.showSelectDropDown()}})));this._register(addDisposableListener(this.selectElement,EventType.MOUSE_DOWN,(e=>{EventHelper.stop(e)})));let listIsVisibleOnTouchStart;this._register(addDisposableListener(this.selectElement,"touchstart",(e=>{listIsVisibleOnTouchStart=this._isVisible})));this._register(addDisposableListener(this.selectElement,"touchend",(e=>{EventHelper.stop(e);if(listIsVisibleOnTouchStart){this.hideSelectDropDown(true)}else{this.showSelectDropDown()}})));this._register(addDisposableListener(this.selectElement,EventType.KEY_DOWN,(e=>{const event=new StandardKeyboardEvent(e);let showDropDown=false;if(isMacintosh){if(event.keyCode===18||event.keyCode===16||event.keyCode===10||event.keyCode===3){showDropDown=true}}else{if(event.keyCode===18&&event.altKey||event.keyCode===16&&event.altKey||event.keyCode===10||event.keyCode===3){showDropDown=true}}if(showDropDown){this.showSelectDropDown();EventHelper.stop(e,true)}})))}get onDidSelect(){return this._onDidSelect.event}setOptions(options2,selected){if(!equals(this.options,options2)){this.options=options2;this.selectElement.options.length=0;this._hasDetails=false;this._cachedMaxDetailsHeight=void 0;this.options.forEach(((option,index)=>{this.selectElement.add(this.createOption(option.text,index,option.isDisabled));if(typeof option.description==="string"){this._hasDetails=true}}))}if(selected!==void 0){this.select(selected);this._currentSelection=this.selected}}setOptionsList(){var _a6;(_a6=this.selectList)===null||_a6===void 0?void 0:_a6.splice(0,this.selectList.length,this.options)}select(index){if(index>=0&&index<this.options.length){this.selected=index}else if(index>this.options.length-1){this.select(this.options.length-1)}else if(this.selected<0){this.selected=0}this.selectElement.selectedIndex=this.selected;if(!!this.options[this.selected]&&!!this.options[this.selected].text){this.selectElement.title=this.options[this.selected].text}}focus(){if(this.selectElement){this.selectElement.tabIndex=0;this.selectElement.focus()}}blur(){if(this.selectElement){this.selectElement.tabIndex=-1;this.selectElement.blur()}}setFocusable(focusable){this.selectElement.tabIndex=focusable?0:-1}render(container){this.container=container;container.classList.add("select-container");container.appendChild(this.selectElement);this.styleSelectElement()}initStyleSheet(){const content=[];if(this.styles.listFocusBackground){content.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { background-color: ${this.styles.listFocusBackground} !important; }`)}if(this.styles.listFocusForeground){content.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { color: ${this.styles.listFocusForeground} !important; }`)}if(this.styles.decoratorRightForeground){content.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.focused) .option-decorator-right { color: ${this.styles.decoratorRightForeground}; }`)}if(this.styles.selectBackground&&this.styles.selectBorder&&this.styles.selectBorder!==this.styles.selectBackground){content.push(`.monaco-select-box-dropdown-container { border: 1px solid ${this.styles.selectBorder} } `);content.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectBorder} } `);content.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectBorder} } `)}else if(this.styles.selectListBorder){content.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectListBorder} } `);content.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectListBorder} } `)}if(this.styles.listHoverForeground){content.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { color: ${this.styles.listHoverForeground} !important; }`)}if(this.styles.listHoverBackground){content.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { background-color: ${this.styles.listHoverBackground} !important; }`)}if(this.styles.listFocusOutline){content.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { outline: 1.6px dotted ${this.styles.listFocusOutline} !important; outline-offset: -1.6px !important; }`)}if(this.styles.listHoverOutline){content.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { outline: 1.6px dashed ${this.styles.listHoverOutline} !important; outline-offset: -1.6px !important; }`)}content.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled.focused { background-color: transparent !important; color: inherit !important; outline: none !important; }`);content.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled:hover { background-color: transparent !important; color: inherit !important; outline: none !important; }`);this.styleElement.textContent=content.join("\n")}styleSelectElement(){var _a6,_b3,_c2;const background=(_a6=this.styles.selectBackground)!==null&&_a6!==void 0?_a6:"";const foreground2=(_b3=this.styles.selectForeground)!==null&&_b3!==void 0?_b3:"";const border=(_c2=this.styles.selectBorder)!==null&&_c2!==void 0?_c2:"";this.selectElement.style.backgroundColor=background;this.selectElement.style.color=foreground2;this.selectElement.style.borderColor=border}styleList(){var _a6,_b3;const background=(_a6=this.styles.selectBackground)!==null&&_a6!==void 0?_a6:"";const listBackground=asCssValueWithDefault(this.styles.selectListBackground,background);this.selectDropDownListContainer.style.backgroundColor=listBackground;this.selectionDetailsPane.style.backgroundColor=listBackground;const optionsBorder=(_b3=this.styles.focusBorder)!==null&&_b3!==void 0?_b3:"";this.selectDropDownContainer.style.outlineColor=optionsBorder;this.selectDropDownContainer.style.outlineOffset="-1px";this.selectList.style(this.styles)}createOption(value,index,disabled){const option=document.createElement("option");option.value=value;option.text=value;option.disabled=!!disabled;return option}showSelectDropDown(){this.selectionDetailsPane.innerText="";if(!this.contextViewProvider||this._isVisible){return}this.createSelectList(this.selectDropDownContainer);this.setOptionsList();this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:container=>this.renderSelectDropDown(container,true),layout:()=>{this.layoutSelectDropDown()},onHide:()=>{this.selectDropDownContainer.classList.remove("visible");this.selectElement.classList.remove("synthetic-focus")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0);this._isVisible=true;this.hideSelectDropDown(false);this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:container=>this.renderSelectDropDown(container),layout:()=>this.layoutSelectDropDown(),onHide:()=>{this.selectDropDownContainer.classList.remove("visible");this.selectElement.classList.remove("synthetic-focus")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0);this._currentSelection=this.selected;this._isVisible=true;this.selectElement.setAttribute("aria-expanded","true")}hideSelectDropDown(focusSelect){if(!this.contextViewProvider||!this._isVisible){return}this._isVisible=false;this.selectElement.setAttribute("aria-expanded","false");if(focusSelect){this.selectElement.focus()}this.contextViewProvider.hideContextView()}renderSelectDropDown(container,preLayoutPosition){container.appendChild(this.selectDropDownContainer);this.layoutSelectDropDown(preLayoutPosition);return{dispose:()=>{try{container.removeChild(this.selectDropDownContainer)}catch(error){}}}}measureMaxDetailsHeight(){let maxDetailsPaneHeight=0;this.options.forEach(((_option,index)=>{this.updateDetail(index);if(this.selectionDetailsPane.offsetHeight>maxDetailsPaneHeight){maxDetailsPaneHeight=this.selectionDetailsPane.offsetHeight}}));return maxDetailsPaneHeight}layoutSelectDropDown(preLayoutPosition){if(this._skipLayout){return false}if(this.selectList){this.selectDropDownContainer.classList.add("visible");const selectPosition=getDomNodePagePosition(this.selectElement);const styles=getComputedStyle(this.selectElement);const verticalPadding=parseFloat(styles.getPropertyValue("--dropdown-padding-top"))+parseFloat(styles.getPropertyValue("--dropdown-padding-bottom"));const maxSelectDropDownHeightBelow=window.innerHeight-selectPosition.top-selectPosition.height-(this.selectBoxOptions.minBottomMargin||0);const maxSelectDropDownHeightAbove=selectPosition.top-SelectBoxList.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN;const selectWidth=this.selectElement.offsetWidth;const selectMinWidth=this.setWidthControlElement(this.widthControlElement);const selectOptimalWidth=Math.max(selectMinWidth,Math.round(selectWidth)).toString()+"px";this.selectDropDownContainer.style.width=selectOptimalWidth;this.selectList.getHTMLElement().style.height="";this.selectList.layout();let listHeight=this.selectList.contentHeight;if(this._hasDetails&&this._cachedMaxDetailsHeight===void 0){this._cachedMaxDetailsHeight=this.measureMaxDetailsHeight()}const maxDetailsPaneHeight=this._hasDetails?this._cachedMaxDetailsHeight:0;const minRequiredDropDownHeight=listHeight+verticalPadding+maxDetailsPaneHeight;const maxVisibleOptionsBelow=Math.floor((maxSelectDropDownHeightBelow-verticalPadding-maxDetailsPaneHeight)/this.getHeight());const maxVisibleOptionsAbove=Math.floor((maxSelectDropDownHeightAbove-verticalPadding-maxDetailsPaneHeight)/this.getHeight());if(preLayoutPosition){if(selectPosition.top+selectPosition.height>window.innerHeight-22||selectPosition.top<SelectBoxList.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN||maxVisibleOptionsBelow<1&&maxVisibleOptionsAbove<1){return false}if(maxVisibleOptionsBelow<SelectBoxList.DEFAULT_MINIMUM_VISIBLE_OPTIONS&&maxVisibleOptionsAbove>maxVisibleOptionsBelow&&this.options.length>maxVisibleOptionsBelow){this._dropDownPosition=1;this.selectDropDownContainer.removeChild(this.selectDropDownListContainer);this.selectDropDownContainer.removeChild(this.selectionDetailsPane);this.selectDropDownContainer.appendChild(this.selectionDetailsPane);this.selectDropDownContainer.appendChild(this.selectDropDownListContainer);this.selectionDetailsPane.classList.remove("border-top");this.selectionDetailsPane.classList.add("border-bottom")}else{this._dropDownPosition=0;this.selectDropDownContainer.removeChild(this.selectDropDownListContainer);this.selectDropDownContainer.removeChild(this.selectionDetailsPane);this.selectDropDownContainer.appendChild(this.selectDropDownListContainer);this.selectDropDownContainer.appendChild(this.selectionDetailsPane);this.selectionDetailsPane.classList.remove("border-bottom");this.selectionDetailsPane.classList.add("border-top")}return true}if(selectPosition.top+selectPosition.height>window.innerHeight-22||selectPosition.top<SelectBoxList.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN||this._dropDownPosition===0&&maxVisibleOptionsBelow<1||this._dropDownPosition===1&&maxVisibleOptionsAbove<1){this.hideSelectDropDown(true);return false}if(this._dropDownPosition===0){if(this._isVisible&&maxVisibleOptionsBelow+maxVisibleOptionsAbove<1){this.hideSelectDropDown(true);return false}if(minRequiredDropDownHeight>maxSelectDropDownHeightBelow){listHeight=maxVisibleOptionsBelow*this.getHeight()}}else{if(minRequiredDropDownHeight>maxSelectDropDownHeightAbove){listHeight=maxVisibleOptionsAbove*this.getHeight()}}this.selectList.layout(listHeight);this.selectList.domFocus();if(this.selectList.length>0){this.selectList.setFocus([this.selected||0]);this.selectList.reveal(this.selectList.getFocus()[0]||0)}if(this._hasDetails){this.selectList.getHTMLElement().style.height=listHeight+verticalPadding+"px";this.selectDropDownContainer.style.height=""}else{this.selectDropDownContainer.style.height=listHeight+verticalPadding+"px"}this.updateDetail(this.selected);this.selectDropDownContainer.style.width=selectOptimalWidth;this.selectDropDownListContainer.setAttribute("tabindex","0");this.selectElement.classList.add("synthetic-focus");this.selectDropDownContainer.classList.add("synthetic-focus");return true}else{return false}}setWidthControlElement(container){let elementWidth=0;if(container){let longest=0;let longestLength=0;this.options.forEach(((option,index)=>{const detailLength=!!option.detail?option.detail.length:0;const rightDecoratorLength=!!option.decoratorRight?option.decoratorRight.length:0;const len=option.text.length+detailLength+rightDecoratorLength;if(len>longestLength){longest=index;longestLength=len}}));container.textContent=this.options[longest].text+(!!this.options[longest].decoratorRight?this.options[longest].decoratorRight+" ":"");elementWidth=getTotalWidth(container)}return elementWidth}createSelectList(parent){if(this.selectList){return}this.selectDropDownListContainer=append(parent,$2(".select-box-dropdown-list-container"));this.listRenderer=new SelectListRenderer;this.selectList=new List("SelectBoxCustom",this.selectDropDownListContainer,this,[this.listRenderer],{useShadows:false,verticalScrollMode:3,keyboardSupport:false,mouseSupport:false,accessibilityProvider:{getAriaLabel:element=>{let label=element.text;if(element.detail){label+=`. ${element.detail}`}if(element.decoratorRight){label+=`. ${element.decoratorRight}`}if(element.description){label+=`. ${element.description}`}return label},getWidgetAriaLabel:()=>localize({key:"selectBox",comment:["Behave like native select dropdown element."]},"Select Box"),getRole:()=>isMacintosh?"":"option",getWidgetRole:()=>"listbox"}});if(this.selectBoxOptions.ariaLabel){this.selectList.ariaLabel=this.selectBoxOptions.ariaLabel}const onKeyDown=this._register(new DomEmitter(this.selectDropDownListContainer,"keydown"));const onSelectDropDownKeyDown=Event.chain(onKeyDown.event).filter((()=>this.selectList.length>0)).map((e=>new StandardKeyboardEvent(e)));this._register(onSelectDropDownKeyDown.filter((e=>e.keyCode===3)).on((e=>this.onEnter(e)),this));this._register(onSelectDropDownKeyDown.filter((e=>e.keyCode===2)).on((e=>this.onEnter(e)),this));this._register(onSelectDropDownKeyDown.filter((e=>e.keyCode===9)).on((e=>this.onEscape(e)),this));this._register(onSelectDropDownKeyDown.filter((e=>e.keyCode===16)).on((e=>this.onUpArrow(e)),this));this._register(onSelectDropDownKeyDown.filter((e=>e.keyCode===18)).on((e=>this.onDownArrow(e)),this));this._register(onSelectDropDownKeyDown.filter((e=>e.keyCode===12)).on(this.onPageDown,this));this._register(onSelectDropDownKeyDown.filter((e=>e.keyCode===11)).on(this.onPageUp,this));this._register(onSelectDropDownKeyDown.filter((e=>e.keyCode===14)).on(this.onHome,this));this._register(onSelectDropDownKeyDown.filter((e=>e.keyCode===13)).on(this.onEnd,this));this._register(onSelectDropDownKeyDown.filter((e=>e.keyCode>=21&&e.keyCode<=56||e.keyCode>=85&&e.keyCode<=113)).on(this.onCharacter,this));this._register(addDisposableListener(this.selectList.getHTMLElement(),EventType.POINTER_UP,(e=>this.onPointerUp(e))));this._register(this.selectList.onMouseOver((e=>typeof e.index!=="undefined"&&this.selectList.setFocus([e.index]))));this._register(this.selectList.onDidChangeFocus((e=>this.onListFocus(e))));this._register(addDisposableListener(this.selectDropDownContainer,EventType.FOCUS_OUT,(e=>{if(!this._isVisible||isAncestor(e.relatedTarget,this.selectDropDownContainer)){return}this.onListBlur()})));this.selectList.getHTMLElement().setAttribute("aria-label",this.selectBoxOptions.ariaLabel||"");this.selectList.getHTMLElement().setAttribute("aria-expanded","true");this.styleList()}onPointerUp(e){if(!this.selectList.length){return}EventHelper.stop(e);const target=e.target;if(!target){return}if(target.classList.contains("slider")){return}const listRowElement=target.closest(".monaco-list-row");if(!listRowElement){return}const index=Number(listRowElement.getAttribute("data-index"));const disabled=listRowElement.classList.contains("option-disabled");if(index>=0&&index<this.options.length&&!disabled){this.selected=index;this.select(this.selected);this.selectList.setFocus([this.selected]);this.selectList.reveal(this.selectList.getFocus()[0]);if(this.selected!==this._currentSelection){this._currentSelection=this.selected;this._onDidSelect.fire({index:this.selectElement.selectedIndex,selected:this.options[this.selected].text});if(!!this.options[this.selected]&&!!this.options[this.selected].text){this.selectElement.title=this.options[this.selected].text}}this.hideSelectDropDown(true)}}onListBlur(){if(this._sticky){return}if(this.selected!==this._currentSelection){this.select(this._currentSelection)}this.hideSelectDropDown(false)}renderDescriptionMarkdown(text2,actionHandler){const cleanRenderedMarkdown=element=>{for(let i=0;i<element.childNodes.length;i++){const child=element.childNodes.item(i);const tagName=child.tagName&&child.tagName.toLowerCase();if(tagName==="img"){element.removeChild(child)}else{cleanRenderedMarkdown(child)}}};const rendered=renderMarkdown({value:text2,supportThemeIcons:true},{actionHandler:actionHandler});rendered.element.classList.add("select-box-description-markdown");cleanRenderedMarkdown(rendered.element);return rendered.element}onListFocus(e){if(!this._isVisible||!this._hasDetails){return}this.updateDetail(e.indexes[0])}updateDetail(selectedIndex){var _a6,_b3;this.selectionDetailsPane.innerText="";const option=this.options[selectedIndex];const description=(_a6=option===null||option===void 0?void 0:option.description)!==null&&_a6!==void 0?_a6:"";const descriptionIsMarkdown=(_b3=option===null||option===void 0?void 0:option.descriptionIsMarkdown)!==null&&_b3!==void 0?_b3:false;if(description){if(descriptionIsMarkdown){const actionHandler=option.descriptionMarkdownActionHandler;this.selectionDetailsPane.appendChild(this.renderDescriptionMarkdown(description,actionHandler))}else{this.selectionDetailsPane.innerText=description}this.selectionDetailsPane.style.display="block"}else{this.selectionDetailsPane.style.display="none"}this._skipLayout=true;this.contextViewProvider.layout();this._skipLayout=false}onEscape(e){EventHelper.stop(e);this.select(this._currentSelection);this.hideSelectDropDown(true)}onEnter(e){EventHelper.stop(e);if(this.selected!==this._currentSelection){this._currentSelection=this.selected;this._onDidSelect.fire({index:this.selectElement.selectedIndex,selected:this.options[this.selected].text});if(!!this.options[this.selected]&&!!this.options[this.selected].text){this.selectElement.title=this.options[this.selected].text}}this.hideSelectDropDown(true)}onDownArrow(e){if(this.selected<this.options.length-1){EventHelper.stop(e,true);const nextOptionDisabled=this.options[this.selected+1].isDisabled;if(nextOptionDisabled&&this.options.length>this.selected+2){this.selected+=2}else if(nextOptionDisabled){return}else{this.selected++}this.select(this.selected);this.selectList.setFocus([this.selected]);this.selectList.reveal(this.selectList.getFocus()[0])}}onUpArrow(e){if(this.selected>0){EventHelper.stop(e,true);const previousOptionDisabled=this.options[this.selected-1].isDisabled;if(previousOptionDisabled&&this.selected>1){this.selected-=2}else{this.selected--}this.select(this.selected);this.selectList.setFocus([this.selected]);this.selectList.reveal(this.selectList.getFocus()[0])}}onPageUp(e){EventHelper.stop(e);this.selectList.focusPreviousPage();setTimeout((()=>{this.selected=this.selectList.getFocus()[0];if(this.options[this.selected].isDisabled&&this.selected<this.options.length-1){this.selected++;this.selectList.setFocus([this.selected])}this.selectList.reveal(this.selected);this.select(this.selected)}),1)}onPageDown(e){EventHelper.stop(e);this.selectList.focusNextPage();setTimeout((()=>{this.selected=this.selectList.getFocus()[0];if(this.options[this.selected].isDisabled&&this.selected>0){this.selected--;this.selectList.setFocus([this.selected])}this.selectList.reveal(this.selected);this.select(this.selected)}),1)}onHome(e){EventHelper.stop(e);if(this.options.length<2){return}this.selected=0;if(this.options[this.selected].isDisabled&&this.selected>1){this.selected++}this.selectList.setFocus([this.selected]);this.selectList.reveal(this.selected);this.select(this.selected)}onEnd(e){EventHelper.stop(e);if(this.options.length<2){return}this.selected=this.options.length-1;if(this.options[this.selected].isDisabled&&this.selected>1){this.selected--}this.selectList.setFocus([this.selected]);this.selectList.reveal(this.selected);this.select(this.selected)}onCharacter(e){const ch=KeyCodeUtils.toString(e.keyCode);let optionIndex=-1;for(let i=0;i<this.options.length-1;i++){optionIndex=(i+this.selected+1)%this.options.length;if(this.options[optionIndex].text.charAt(0).toUpperCase()===ch&&!this.options[optionIndex].isDisabled){this.select(optionIndex);this.selectList.setFocus([optionIndex]);this.selectList.reveal(this.selectList.getFocus()[0]);EventHelper.stop(e);break}}}dispose(){this.hideSelectDropDown(false);super.dispose()}};SelectBoxList.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN=32;SelectBoxList.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN=2;SelectBoxList.DEFAULT_MINIMUM_VISIBLE_OPTIONS=3}});var SelectBoxNative;var init_selectBoxNative=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBoxNative.js"(){init_dom();init_touch();init_arrays();init_event();init_lifecycle();init_platform();SelectBoxNative=class extends Disposable{constructor(options2,selected,styles,selectBoxOptions){super();this.selected=0;this.selectBoxOptions=selectBoxOptions||Object.create(null);this.options=[];this.selectElement=document.createElement("select");this.selectElement.className="monaco-select-box";if(typeof this.selectBoxOptions.ariaLabel==="string"){this.selectElement.setAttribute("aria-label",this.selectBoxOptions.ariaLabel)}if(typeof this.selectBoxOptions.ariaDescription==="string"){this.selectElement.setAttribute("aria-description",this.selectBoxOptions.ariaDescription)}this._onDidSelect=this._register(new Emitter);this.styles=styles;this.registerListeners();this.setOptions(options2,selected)}registerListeners(){this._register(Gesture.addTarget(this.selectElement));[EventType2.Tap].forEach((eventType=>{this._register(addDisposableListener(this.selectElement,eventType,(e=>{this.selectElement.focus()})))}));this._register(addStandardDisposableListener(this.selectElement,"click",(e=>{EventHelper.stop(e,true)})));this._register(addStandardDisposableListener(this.selectElement,"change",(e=>{this.selectElement.title=e.target.value;this._onDidSelect.fire({index:e.target.selectedIndex,selected:e.target.value})})));this._register(addStandardDisposableListener(this.selectElement,"keydown",(e=>{let showSelect=false;if(isMacintosh){if(e.keyCode===18||e.keyCode===16||e.keyCode===10){showSelect=true}}else{if(e.keyCode===18&&e.altKey||e.keyCode===10||e.keyCode===3){showSelect=true}}if(showSelect){e.stopPropagation()}})))}get onDidSelect(){return this._onDidSelect.event}setOptions(options2,selected){if(!this.options||!equals(this.options,options2)){this.options=options2;this.selectElement.options.length=0;this.options.forEach(((option,index)=>{this.selectElement.add(this.createOption(option.text,index,option.isDisabled))}))}if(selected!==void 0){this.select(selected)}}select(index){if(this.options.length===0){this.selected=0}else if(index>=0&&index<this.options.length){this.selected=index}else if(index>this.options.length-1){this.select(this.options.length-1)}else if(this.selected<0){this.selected=0}this.selectElement.selectedIndex=this.selected;if(this.selected<this.options.length&&typeof this.options[this.selected].text==="string"){this.selectElement.title=this.options[this.selected].text}else{this.selectElement.title=""}}focus(){if(this.selectElement){this.selectElement.tabIndex=0;this.selectElement.focus()}}blur(){if(this.selectElement){this.selectElement.tabIndex=-1;this.selectElement.blur()}}setFocusable(focusable){this.selectElement.tabIndex=focusable?0:-1}render(container){container.classList.add("select-container");container.appendChild(this.selectElement);this.setOptions(this.options,this.selected);this.applyStyles()}applyStyles(){var _a6,_b3,_c2;if(this.selectElement){this.selectElement.style.backgroundColor=(_a6=this.styles.selectBackground)!==null&&_a6!==void 0?_a6:"";this.selectElement.style.color=(_b3=this.styles.selectForeground)!==null&&_b3!==void 0?_b3:"";this.selectElement.style.borderColor=(_c2=this.styles.selectBorder)!==null&&_c2!==void 0?_c2:""}}createOption(value,index,disabled){const option=document.createElement("option");option.value=value;option.text=value;option.disabled=!!disabled;return option}}}});var init_28=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBox.css"(){}});var SelectBox;var init_selectBox=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/selectBox/selectBox.js"(){init_selectBoxCustom();init_selectBoxNative();init_widget();init_platform();init_28();SelectBox=class extends Widget{constructor(options2,selected,contextViewProvider,styles,selectBoxOptions){super();if(isMacintosh&&!(selectBoxOptions===null||selectBoxOptions===void 0?void 0:selectBoxOptions.useCustomDrawn)){this.selectBoxDelegate=new SelectBoxNative(options2,selected,styles,selectBoxOptions)}else{this.selectBoxDelegate=new SelectBoxList(options2,selected,contextViewProvider,styles,selectBoxOptions)}this._register(this.selectBoxDelegate)}get onDidSelect(){return this.selectBoxDelegate.onDidSelect}setOptions(options2,selected){this.selectBoxDelegate.setOptions(options2,selected)}select(index){this.selectBoxDelegate.select(index)}focus(){this.selectBoxDelegate.focus()}blur(){this.selectBoxDelegate.blur()}setFocusable(focusable){this.selectBoxDelegate.setFocusable(focusable)}render(container){this.selectBoxDelegate.render(container)}}}});var init_29=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.css"(){}});var BaseActionViewItem,ActionViewItem,SelectActionViewItem;var init_actionViewItems=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionViewItems.js"(){init_browser();init_dnd();init_dom();init_touch();init_iconLabelHover();init_selectBox();init_actions();init_lifecycle();init_platform();init_types();init_29();init_nls();BaseActionViewItem=class extends Disposable{get action(){return this._action}constructor(context,action,options2={}){super();this.options=options2;this._context=context||this;this._action=action;if(action instanceof Action){this._register(action.onDidChange((event=>{if(!this.element){return}this.handleActionChangeEvent(event)})))}}handleActionChangeEvent(event){if(event.enabled!==void 0){this.updateEnabled()}if(event.checked!==void 0){this.updateChecked()}if(event.class!==void 0){this.updateClass()}if(event.label!==void 0){this.updateLabel();this.updateTooltip()}if(event.tooltip!==void 0){this.updateTooltip()}}get actionRunner(){if(!this._actionRunner){this._actionRunner=this._register(new ActionRunner)}return this._actionRunner}set actionRunner(actionRunner){this._actionRunner=actionRunner}isEnabled(){return this._action.enabled}setActionContext(newContext){this._context=newContext}render(container){const element=this.element=container;this._register(Gesture.addTarget(container));const enableDragging=this.options&&this.options.draggable;if(enableDragging){container.draggable=true;if(isFirefox2){this._register(addDisposableListener(container,EventType.DRAG_START,(e=>{var _a6;return(_a6=e.dataTransfer)===null||_a6===void 0?void 0:_a6.setData(DataTransfers.TEXT,this._action.label)})))}}this._register(addDisposableListener(element,EventType2.Tap,(e=>this.onClick(e,true))));this._register(addDisposableListener(element,EventType.MOUSE_DOWN,(e=>{if(!enableDragging){EventHelper.stop(e,true)}if(this._action.enabled&&e.button===0){element.classList.add("active")}})));if(isMacintosh){this._register(addDisposableListener(element,EventType.CONTEXT_MENU,(e=>{if(e.button===0&&e.ctrlKey===true){this.onClick(e)}})))}this._register(addDisposableListener(element,EventType.CLICK,(e=>{EventHelper.stop(e,true);if(!(this.options&&this.options.isMenu)){this.onClick(e)}})));this._register(addDisposableListener(element,EventType.DBLCLICK,(e=>{EventHelper.stop(e,true)})));[EventType.MOUSE_UP,EventType.MOUSE_OUT].forEach((event=>{this._register(addDisposableListener(element,event,(e=>{EventHelper.stop(e);element.classList.remove("active")})))}))}onClick(event,preserveFocus=false){var _a6;EventHelper.stop(event,true);const context=isUndefinedOrNull(this._context)?((_a6=this.options)===null||_a6===void 0?void 0:_a6.useEventAsContext)?event:{preserveFocus:preserveFocus}:this._context;this.actionRunner.run(this._action,context)}focus(){if(this.element){this.element.tabIndex=0;this.element.focus();this.element.classList.add("focused")}}blur(){if(this.element){this.element.blur();this.element.tabIndex=-1;this.element.classList.remove("focused")}}setFocusable(focusable){if(this.element){this.element.tabIndex=focusable?0:-1}}get trapsArrowNavigation(){return false}updateEnabled(){}updateLabel(){}getTooltip(){return this.action.tooltip}updateTooltip(){var _a6;if(!this.element){return}const title=(_a6=this.getTooltip())!==null&&_a6!==void 0?_a6:"";this.updateAriaLabel();if(!this.options.hoverDelegate){this.element.title=title}else{this.element.title="";if(!this.customHover){this.customHover=setupCustomHover(this.options.hoverDelegate,this.element,title);this._store.add(this.customHover)}else{this.customHover.update(title)}}}updateAriaLabel(){var _a6;if(this.element){const title=(_a6=this.getTooltip())!==null&&_a6!==void 0?_a6:"";this.element.setAttribute("aria-label",title)}}updateClass(){}updateChecked(){}dispose(){if(this.element){this.element.remove();this.element=void 0}this._context=void 0;super.dispose()}};ActionViewItem=class extends BaseActionViewItem{constructor(context,action,options2){super(context,action,options2);this.options=options2;this.options.icon=options2.icon!==void 0?options2.icon:false;this.options.label=options2.label!==void 0?options2.label:true;this.cssClass=""}render(container){super.render(container);if(this.element){this.label=append(this.element,$("a.action-label"))}if(this.label){this.label.setAttribute("role",this.getDefaultAriaRole())}if(this.options.label&&this.options.keybinding&&this.element){append(this.element,$("span.keybinding")).textContent=this.options.keybinding}this.updateClass();this.updateLabel();this.updateTooltip();this.updateEnabled();this.updateChecked()}getDefaultAriaRole(){if(this._action.id===Separator.ID){return"presentation"}else{if(this.options.isMenu){return"menuitem"}else{return"button"}}}focus(){if(this.label){this.label.tabIndex=0;this.label.focus()}}blur(){if(this.label){this.label.tabIndex=-1}}setFocusable(focusable){if(this.label){this.label.tabIndex=focusable?0:-1}}updateLabel(){if(this.options.label&&this.label){this.label.textContent=this.action.label}}getTooltip(){let title=null;if(this.action.tooltip){title=this.action.tooltip}else if(!this.options.label&&this.action.label&&this.options.icon){title=this.action.label;if(this.options.keybinding){title=localize({key:"titleLabel",comment:["action title","action keybinding"]},"{0} ({1})",title,this.options.keybinding)}}return title!==null&&title!==void 0?title:void 0}updateClass(){var _a6;if(this.cssClass&&this.label){this.label.classList.remove(...this.cssClass.split(" "))}if(this.options.icon){this.cssClass=this.action.class;if(this.label){this.label.classList.add("codicon");if(this.cssClass){this.label.classList.add(...this.cssClass.split(" "))}}this.updateEnabled()}else{(_a6=this.label)===null||_a6===void 0?void 0:_a6.classList.remove("codicon")}}updateEnabled(){var _a6,_b3;if(this.action.enabled){if(this.label){this.label.removeAttribute("aria-disabled");this.label.classList.remove("disabled")}(_a6=this.element)===null||_a6===void 0?void 0:_a6.classList.remove("disabled")}else{if(this.label){this.label.setAttribute("aria-disabled","true");this.label.classList.add("disabled")}(_b3=this.element)===null||_b3===void 0?void 0:_b3.classList.add("disabled")}}updateAriaLabel(){var _a6;if(this.label){const title=(_a6=this.getTooltip())!==null&&_a6!==void 0?_a6:"";this.label.setAttribute("aria-label",title)}}updateChecked(){if(this.label){if(this.action.checked!==void 0){this.label.classList.toggle("checked",this.action.checked);this.label.setAttribute("aria-checked",this.action.checked?"true":"false");this.label.setAttribute("role","checkbox")}else{this.label.classList.remove("checked");this.label.setAttribute("aria-checked","");this.label.setAttribute("role",this.getDefaultAriaRole())}}}};SelectActionViewItem=class extends BaseActionViewItem{constructor(ctx,action,options2,selected,contextViewProvider,styles,selectBoxOptions){super(ctx,action);this.selectBox=new SelectBox(options2,selected,contextViewProvider,styles,selectBoxOptions);this.selectBox.setFocusable(false);this._register(this.selectBox);this.registerListeners()}select(index){this.selectBox.select(index)}registerListeners(){this._register(this.selectBox.onDidSelect((e=>this.runAction(e.selected,e.index))))}runAction(option,index){this.actionRunner.run(this._action,this.getActionContext(option,index))}getActionContext(option,index){return option}setFocusable(focusable){this.selectBox.setFocusable(focusable)}focus(){var _a6;(_a6=this.selectBox)===null||_a6===void 0?void 0:_a6.focus()}blur(){var _a6;(_a6=this.selectBox)===null||_a6===void 0?void 0:_a6.blur()}render(container){this.selectBox.render(container)}}}});var __awaiter11,ActionBar;var init_actionbar=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.js"(){init_dom();init_keyboardEvent();init_actionViewItems();init_actions();init_event();init_lifecycle();init_types();init_29();__awaiter11=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};ActionBar=class extends Disposable{constructor(container,options2={}){var _a6,_b3,_c2,_d2,_e2,_f2;super();this._actionRunnerDisposables=this._register(new DisposableStore);this.viewItemDisposables=this._register(new DisposableMap);this.triggerKeyDown=false;this.focusable=true;this._onDidBlur=this._register(new Emitter);this.onDidBlur=this._onDidBlur.event;this._onDidCancel=this._register(new Emitter({onWillAddFirstListener:()=>this.cancelHasListener=true}));this.onDidCancel=this._onDidCancel.event;this.cancelHasListener=false;this._onDidRun=this._register(new Emitter);this.onDidRun=this._onDidRun.event;this._onWillRun=this._register(new Emitter);this.onWillRun=this._onWillRun.event;this.options=options2;this._context=(_a6=options2.context)!==null&&_a6!==void 0?_a6:null;this._orientation=(_b3=this.options.orientation)!==null&&_b3!==void 0?_b3:0;this._triggerKeys={keyDown:(_d2=(_c2=this.options.triggerKeys)===null||_c2===void 0?void 0:_c2.keyDown)!==null&&_d2!==void 0?_d2:false,keys:(_f2=(_e2=this.options.triggerKeys)===null||_e2===void 0?void 0:_e2.keys)!==null&&_f2!==void 0?_f2:[3,10]};if(this.options.actionRunner){this._actionRunner=this.options.actionRunner}else{this._actionRunner=new ActionRunner;this._actionRunnerDisposables.add(this._actionRunner)}this._actionRunnerDisposables.add(this._actionRunner.onDidRun((e=>this._onDidRun.fire(e))));this._actionRunnerDisposables.add(this._actionRunner.onWillRun((e=>this._onWillRun.fire(e))));this.viewItems=[];this.focusedItem=void 0;this.domNode=document.createElement("div");this.domNode.className="monaco-action-bar";if(options2.animated!==false){this.domNode.classList.add("animated")}let previousKeys;let nextKeys;switch(this._orientation){case 0:previousKeys=[15];nextKeys=[17];break;case 1:previousKeys=[16];nextKeys=[18];this.domNode.className+=" vertical";break}this._register(addDisposableListener(this.domNode,EventType.KEY_DOWN,(e=>{const event=new StandardKeyboardEvent(e);let eventHandled=true;const focusedItem=typeof this.focusedItem==="number"?this.viewItems[this.focusedItem]:void 0;if(previousKeys&&(event.equals(previousKeys[0])||event.equals(previousKeys[1]))){eventHandled=this.focusPrevious()}else if(nextKeys&&(event.equals(nextKeys[0])||event.equals(nextKeys[1]))){eventHandled=this.focusNext()}else if(event.equals(9)&&this.cancelHasListener){this._onDidCancel.fire()}else if(event.equals(14)){eventHandled=this.focusFirst()}else if(event.equals(13)){eventHandled=this.focusLast()}else if(event.equals(2)&&focusedItem instanceof BaseActionViewItem&&focusedItem.trapsArrowNavigation){eventHandled=this.focusNext()}else if(this.isTriggerKeyEvent(event)){if(this._triggerKeys.keyDown){this.doTrigger(event)}else{this.triggerKeyDown=true}}else{eventHandled=false}if(eventHandled){event.preventDefault();event.stopPropagation()}})));this._register(addDisposableListener(this.domNode,EventType.KEY_UP,(e=>{const event=new StandardKeyboardEvent(e);if(this.isTriggerKeyEvent(event)){if(!this._triggerKeys.keyDown&&this.triggerKeyDown){this.triggerKeyDown=false;this.doTrigger(event)}event.preventDefault();event.stopPropagation()}else if(event.equals(2)||event.equals(1024|2)){this.updateFocusedItem()}})));this.focusTracker=this._register(trackFocus(this.domNode));this._register(this.focusTracker.onDidBlur((()=>{if(getActiveElement()===this.domNode||!isAncestor(getActiveElement(),this.domNode)){this._onDidBlur.fire();this.previouslyFocusedItem=this.focusedItem;this.focusedItem=void 0;this.triggerKeyDown=false}})));this._register(this.focusTracker.onDidFocus((()=>this.updateFocusedItem())));this.actionsList=document.createElement("ul");this.actionsList.className="actions-container";if(this.options.highlightToggledItems){this.actionsList.classList.add("highlight-toggled")}this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar");if(this.options.ariaLabel){this.actionsList.setAttribute("aria-label",this.options.ariaLabel)}this.domNode.appendChild(this.actionsList);container.appendChild(this.domNode)}refreshRole(){if(this.length()>=2){this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar")}else{this.actionsList.setAttribute("role","presentation")}}setFocusable(focusable){this.focusable=focusable;if(this.focusable){const firstEnabled=this.viewItems.find((vi=>vi instanceof BaseActionViewItem&&vi.isEnabled()));if(firstEnabled instanceof BaseActionViewItem){firstEnabled.setFocusable(true)}}else{this.viewItems.forEach((vi=>{if(vi instanceof BaseActionViewItem){vi.setFocusable(false)}}))}}isTriggerKeyEvent(event){let ret=false;this._triggerKeys.keys.forEach((keyCode=>{ret=ret||event.equals(keyCode)}));return ret}updateFocusedItem(){for(let i=0;i<this.actionsList.children.length;i++){const elem=this.actionsList.children[i];if(isAncestor(getActiveElement(),elem)){this.focusedItem=i;break}}}get context(){return this._context}set context(context){this._context=context;this.viewItems.forEach((i=>i.setActionContext(context)))}get actionRunner(){return this._actionRunner}set actionRunner(actionRunner){this._actionRunner=actionRunner;this._actionRunnerDisposables.clear();this._actionRunnerDisposables.add(this._actionRunner.onDidRun((e=>this._onDidRun.fire(e))));this._actionRunnerDisposables.add(this._actionRunner.onWillRun((e=>this._onWillRun.fire(e))));this.viewItems.forEach((item=>item.actionRunner=actionRunner))}getContainer(){return this.domNode}getAction(indexOrElement){var _a6;if(typeof indexOrElement==="number"){return(_a6=this.viewItems[indexOrElement])===null||_a6===void 0?void 0:_a6.action}if(indexOrElement instanceof HTMLElement){while(indexOrElement.parentElement!==this.actionsList){if(!indexOrElement.parentElement){return void 0}indexOrElement=indexOrElement.parentElement}for(let i=0;i<this.actionsList.childNodes.length;i++){if(this.actionsList.childNodes[i]===indexOrElement){return this.viewItems[i].action}}}return void 0}push(arg,options2={}){const actions=Array.isArray(arg)?arg:[arg];let index=isNumber(options2.index)?options2.index:null;actions.forEach((action=>{const actionViewItemElement=document.createElement("li");actionViewItemElement.className="action-item";actionViewItemElement.setAttribute("role","presentation");let item;const viewItemOptions=Object.assign({hoverDelegate:this.options.hoverDelegate},options2);if(this.options.actionViewItemProvider){item=this.options.actionViewItemProvider(action,viewItemOptions)}if(!item){item=new ActionViewItem(this.context,action,viewItemOptions)}if(!this.options.allowContextMenu){this.viewItemDisposables.set(item,addDisposableListener(actionViewItemElement,EventType.CONTEXT_MENU,(e=>{EventHelper.stop(e,true)})))}item.actionRunner=this._actionRunner;item.setActionContext(this.context);item.render(actionViewItemElement);if(this.focusable&&item instanceof BaseActionViewItem&&this.viewItems.length===0){item.setFocusable(true)}if(index===null||index<0||index>=this.actionsList.children.length){this.actionsList.appendChild(actionViewItemElement);this.viewItems.push(item)}else{this.actionsList.insertBefore(actionViewItemElement,this.actionsList.children[index]);this.viewItems.splice(index,0,item);index++}}));if(typeof this.focusedItem==="number"){this.focus(this.focusedItem)}this.refreshRole()}clear(){if(this.isEmpty()){return}this.viewItems=dispose(this.viewItems);this.viewItemDisposables.clearAndDisposeAll();clearNode(this.actionsList);this.refreshRole()}length(){return this.viewItems.length}isEmpty(){return this.viewItems.length===0}focus(arg){let selectFirst=false;let index=void 0;if(arg===void 0){selectFirst=true}else if(typeof arg==="number"){index=arg}else if(typeof arg==="boolean"){selectFirst=arg}if(selectFirst&&typeof this.focusedItem==="undefined"){const firstEnabled=this.viewItems.findIndex((item=>item.isEnabled()));this.focusedItem=firstEnabled===-1?void 0:firstEnabled;this.updateFocus(void 0,void 0,true)}else{if(index!==void 0){this.focusedItem=index}this.updateFocus(void 0,void 0,true)}}focusFirst(){this.focusedItem=this.length()-1;return this.focusNext(true)}focusLast(){this.focusedItem=0;return this.focusPrevious(true)}focusNext(forceLoop){if(typeof this.focusedItem==="undefined"){this.focusedItem=this.viewItems.length-1}else if(this.viewItems.length<=1){return false}const startIndex=this.focusedItem;let item;do{if(!forceLoop&&this.options.preventLoopNavigation&&this.focusedItem+1>=this.viewItems.length){this.focusedItem=startIndex;return false}this.focusedItem=(this.focusedItem+1)%this.viewItems.length;item=this.viewItems[this.focusedItem]}while(this.focusedItem!==startIndex&&(this.options.focusOnlyEnabledItems&&!item.isEnabled()||item.action.id===Separator.ID));this.updateFocus();return true}focusPrevious(forceLoop){if(typeof this.focusedItem==="undefined"){this.focusedItem=0}else if(this.viewItems.length<=1){return false}const startIndex=this.focusedItem;let item;do{this.focusedItem=this.focusedItem-1;if(this.focusedItem<0){if(!forceLoop&&this.options.preventLoopNavigation){this.focusedItem=startIndex;return false}this.focusedItem=this.viewItems.length-1}item=this.viewItems[this.focusedItem]}while(this.focusedItem!==startIndex&&(this.options.focusOnlyEnabledItems&&!item.isEnabled()||item.action.id===Separator.ID));this.updateFocus(true);return true}updateFocus(fromRight,preventScroll,forceFocus=false){var _a6;if(typeof this.focusedItem==="undefined"){this.actionsList.focus({preventScroll:preventScroll})}if(this.previouslyFocusedItem!==void 0&&this.previouslyFocusedItem!==this.focusedItem){(_a6=this.viewItems[this.previouslyFocusedItem])===null||_a6===void 0?void 0:_a6.blur()}const actionViewItem=this.focusedItem!==void 0&&this.viewItems[this.focusedItem];if(actionViewItem){let focusItem=true;if(!isFunction(actionViewItem.focus)){focusItem=false}if(this.options.focusOnlyEnabledItems&&isFunction(actionViewItem.isEnabled)&&!actionViewItem.isEnabled()){focusItem=false}if(actionViewItem.action.id===Separator.ID){focusItem=false}if(!focusItem){this.actionsList.focus({preventScroll:preventScroll});this.previouslyFocusedItem=void 0}else if(forceFocus||this.previouslyFocusedItem!==this.focusedItem){actionViewItem.focus(fromRight);this.previouslyFocusedItem=this.focusedItem}}}doTrigger(event){if(typeof this.focusedItem==="undefined"){return}const actionViewItem=this.viewItems[this.focusedItem];if(actionViewItem instanceof BaseActionViewItem){const context=actionViewItem._context===null||actionViewItem._context===void 0?event:actionViewItem._context;this.run(actionViewItem._action,context)}}run(action,context){return __awaiter11(this,void 0,void 0,(function*(){yield this._actionRunner.run(action,context)}))}dispose(){this._context=void 0;this.viewItems=dispose(this.viewItems);this.getContainer().remove();super.dispose()}}}});var init_30=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/media/diffReview.css"(){}});function registerIcon(id,defaults,description,deprecationMessage){return iconRegistry.registerIcon(id,defaults,description,deprecationMessage)}function getIconRegistry(){return iconRegistry}function initialize(){const codiconFontCharacters=getCodiconFontCharacters();for(const icon in codiconFontCharacters){const fontCharacter="\\"+codiconFontCharacters[icon].toString(16);iconRegistry.registerIcon(icon,{fontCharacter:fontCharacter})}}var Extensions8,IconContribution,IconFontDefinition,IconRegistry,iconRegistry,iconsSchemaId,schemaRegistry2,delayer2,widgetClose,gotoPreviousLocation,gotoNextLocation,syncing,spinningLoading;var init_iconRegistry=__esm({"node_modules/monaco-editor/esm/vs/platform/theme/common/iconRegistry.js"(){init_async();init_codicons();init_themables();init_event();init_types();init_uri();init_nls();init_jsonContributionRegistry();init_platform2();Extensions8={IconContribution:"base.contributions.icons"};(function(IconContribution2){function getDefinition(contribution,registry){let definition=contribution.defaults;while(ThemeIcon.isThemeIcon(definition)){const c=iconRegistry.getIcon(definition.id);if(!c){return void 0}definition=c.defaults}return definition}IconContribution2.getDefinition=getDefinition})(IconContribution||(IconContribution={}));(function(IconFontDefinition2){function toJSONObject(iconFont){return{weight:iconFont.weight,style:iconFont.style,src:iconFont.src.map((s=>({format:s.format,location:s.location.toString()})))}}IconFontDefinition2.toJSONObject=toJSONObject;function fromJSONObject(json){const stringOrUndef=s=>isString(s)?s:void 0;if(json&&Array.isArray(json.src)&&json.src.every((s=>isString(s.format)&&isString(s.location)))){return{weight:stringOrUndef(json.weight),style:stringOrUndef(json.style),src:json.src.map((s=>({format:s.format,location:URI.parse(s.location)})))}}return void 0}IconFontDefinition2.fromJSONObject=fromJSONObject})(IconFontDefinition||(IconFontDefinition={}));IconRegistry=class{constructor(){this._onDidChange=new Emitter;this.onDidChange=this._onDidChange.event;this.iconSchema={definitions:{icons:{type:"object",properties:{fontId:{type:"string",description:localize("iconDefinition.fontId","The id of the font to use. If not set, the font that is defined first is used.")},fontCharacter:{type:"string",description:localize("iconDefinition.fontCharacter","The font character associated with the icon definition.")}},additionalProperties:false,defaultSnippets:[{body:{fontCharacter:"\\\\e030"}}]}},type:"object",properties:{}};this.iconReferenceSchema={type:"string",pattern:`^${ThemeIcon.iconNameExpression}$`,enum:[],enumDescriptions:[]};this.iconsById={};this.iconFontsById={}}registerIcon(id,defaults,description,deprecationMessage){const existing=this.iconsById[id];if(existing){if(description&&!existing.description){existing.description=description;this.iconSchema.properties[id].markdownDescription=`${description} $(${id})`;const enumIndex=this.iconReferenceSchema.enum.indexOf(id);if(enumIndex!==-1){this.iconReferenceSchema.enumDescriptions[enumIndex]=description}this._onDidChange.fire()}return existing}const iconContribution={id:id,description:description,defaults:defaults,deprecationMessage:deprecationMessage};this.iconsById[id]=iconContribution;const propertySchema={$ref:"#/definitions/icons"};if(deprecationMessage){propertySchema.deprecationMessage=deprecationMessage}if(description){propertySchema.markdownDescription=`${description}: $(${id})`}this.iconSchema.properties[id]=propertySchema;this.iconReferenceSchema.enum.push(id);this.iconReferenceSchema.enumDescriptions.push(description||"");this._onDidChange.fire();return{id:id}}getIcons(){return Object.keys(this.iconsById).map((id=>this.iconsById[id]))}getIcon(id){return this.iconsById[id]}getIconSchema(){return this.iconSchema}toString(){const sorter2=(i1,i2)=>i1.id.localeCompare(i2.id);const classNames=i=>{while(ThemeIcon.isThemeIcon(i.defaults)){i=this.iconsById[i.defaults.id]}return`codicon codicon-${i?i.id:""}`};const reference=[];reference.push(`| preview | identifier | default codicon ID | description`);reference.push(`| ----------- | --------------------------------- | --------------------------------- | --------------------------------- |`);const contributions=Object.keys(this.iconsById).map((key=>this.iconsById[key]));for(const i of contributions.filter((i2=>!!i2.description)).sort(sorter2)){reference.push(`|<i class="${classNames(i)}"></i>|${i.id}|${ThemeIcon.isThemeIcon(i.defaults)?i.defaults.id:i.id}|${i.description||""}|`)}reference.push(`| preview | identifier `);reference.push(`| ----------- | --------------------------------- |`);for(const i of contributions.filter((i2=>!ThemeIcon.isThemeIcon(i2.defaults))).sort(sorter2)){reference.push(`|<i class="${classNames(i)}"></i>|${i.id}|`)}return reference.join("\n")}};iconRegistry=new IconRegistry;Registry.add(Extensions8.IconContribution,iconRegistry);initialize();iconsSchemaId="vscode://schemas/icons";schemaRegistry2=Registry.as(Extensions.JSONContribution);schemaRegistry2.registerSchema(iconsSchemaId,iconRegistry.getIconSchema());delayer2=new RunOnceScheduler((()=>schemaRegistry2.notifySchemaChanged(iconsSchemaId)),200);iconRegistry.onDidChange((()=>{if(!delayer2.isScheduled()){delayer2.schedule()}}));widgetClose=registerIcon("widget-close",Codicon.close,localize("widgetClose","Icon for the close action in widgets."));gotoPreviousLocation=registerIcon("goto-previous-location",Codicon.arrowUp,localize("previousChangeIcon","Icon for goto previous editor location."));gotoNextLocation=registerIcon("goto-next-location",Codicon.arrowDown,localize("nextChangeIcon","Icon for goto next editor location."));syncing=ThemeIcon.modify(Codicon.sync,"spin");spinningLoading=ThemeIcon.modify(Codicon.loading,"spin")}});var __decorate17,__param13,__awaiter12,DiffReview_1,DIFF_LINES_PADDING,DiffEntry,Diff,diffReviewInsertIcon,diffReviewRemoveIcon,diffReviewCloseIcon,DiffReview;var init_diffReview=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/diffReview.js"(){init_dom();init_fastDomNode();init_trustedTypes();init_actionbar();init_scrollableElement();init_actions();init_codicons();init_lifecycle();init_themables();init_30();init_domFontInfo();init_editorOptions();init_position();init_language();init_lineTokens();init_viewLineRenderer();init_viewModel();init_nls();init_audioCueService();init_configuration();init_iconRegistry();__decorate17=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param13=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};__awaiter12=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};DIFF_LINES_PADDING=3;DiffEntry=class{constructor(originalLineStart,originalLineEnd,modifiedLineStart,modifiedLineEnd){this.originalLineStart=originalLineStart;this.originalLineEnd=originalLineEnd;this.modifiedLineStart=modifiedLineStart;this.modifiedLineEnd=modifiedLineEnd}getType(){if(this.originalLineStart===0){return 1}if(this.modifiedLineStart===0){return 2}return 0}};Diff=class{constructor(entries2){this.entries=entries2}};diffReviewInsertIcon=registerIcon("diff-review-insert",Codicon.add,localize("diffReviewInsertIcon","Icon for 'Insert' in diff review."));diffReviewRemoveIcon=registerIcon("diff-review-remove",Codicon.remove,localize("diffReviewRemoveIcon","Icon for 'Remove' in diff review."));diffReviewCloseIcon=registerIcon("diff-review-close",Codicon.close,localize("diffReviewCloseIcon","Icon for 'Close' in diff review."));DiffReview=DiffReview_1=class DiffReview2 extends Disposable{constructor(diffEditor,_languageService,_audioCueService,_configurationService){super();this._languageService=_languageService;this._audioCueService=_audioCueService;this._configurationService=_configurationService;this._width=0;this._diffEditor=diffEditor;this._isVisible=false;this.shadow=createFastDomNode(document.createElement("div"));this.shadow.setClassName("diff-review-shadow");this.actionBarContainer=createFastDomNode(document.createElement("div"));this.actionBarContainer.setClassName("diff-review-actions");this._actionBar=this._register(new ActionBar(this.actionBarContainer.domNode));this._actionBar.push(new Action("diffreview.close",localize("label.close","Close"),"close-diff-review "+ThemeIcon.asClassName(diffReviewCloseIcon),true,(()=>__awaiter12(this,void 0,void 0,(function*(){return this.hide()})))),{label:false,icon:true});this.domNode=createFastDomNode(document.createElement("div"));this.domNode.setClassName("diff-review monaco-editor-background");this._content=createFastDomNode(document.createElement("div"));this._content.setClassName("diff-review-content");this._content.setAttribute("role","code");this.scrollbar=this._register(new DomScrollableElement(this._content.domNode,{}));this.domNode.domNode.appendChild(this.scrollbar.getDomNode());this._register(diffEditor.onDidUpdateDiff((()=>{if(!this._isVisible){return}this._diffs=this._compute();this._render()})));this._register(diffEditor.getModifiedEditor().onDidChangeCursorPosition((()=>{if(!this._isVisible){return}this._render()})));this._register(addStandardDisposableListener(this.domNode.domNode,"click",(e=>{e.preventDefault();const row=findParentWithClass(e.target,"diff-review-row");if(row){this._goToRow(row)}})));this._register(addStandardDisposableListener(this.domNode.domNode,"keydown",(e=>{if(e.equals(18)||e.equals(2048|18)||e.equals(512|18)){e.preventDefault();this._goToRow(this._getNextRow(),"next")}if(e.equals(16)||e.equals(2048|16)||e.equals(512|16)){e.preventDefault();this._goToRow(this._getPrevRow(),"previous")}if(e.equals(9)||e.equals(2048|9)||e.equals(512|9)||e.equals(1024|9)||e.equals(10)||e.equals(3)){e.preventDefault();this.accept()}})));this._register(this._configurationService.onDidChangeConfiguration((e=>{if(e.affectsConfiguration("accessibility.verbosity.diffEditor")){this._diffEditor.updateOptions({accessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.diffEditor")})}})));this._diffs=[];this._currentDiff=null}prev(){let index=0;if(!this._isVisible){this._diffs=this._compute()}if(this._isVisible){let currentIndex=-1;for(let i=0,len=this._diffs.length;i<len;i++){if(this._diffs[i]===this._currentDiff){currentIndex=i;break}}index=this._diffs.length+currentIndex-1}else{index=this._findDiffIndex(this._diffEditor.getPosition())}if(this._diffs.length===0){return}index=index%this._diffs.length;const entries2=this._diffs[index].entries;this._diffEditor.setPosition(new Position(entries2[0].modifiedLineStart,1));this._diffEditor.setSelection({startColumn:1,startLineNumber:entries2[0].modifiedLineStart,endColumn:1073741824,endLineNumber:entries2[entries2.length-1].modifiedLineEnd});this._isVisible=true;this._diffEditor.doLayout();this._render();this._goToRow(this._getPrevRow(),"previous")}next(){let index=0;if(!this._isVisible){this._diffs=this._compute()}if(this._isVisible){let currentIndex=-1;for(let i=0,len=this._diffs.length;i<len;i++){if(this._diffs[i]===this._currentDiff){currentIndex=i;break}}index=currentIndex+1}else{index=this._findDiffIndex(this._diffEditor.getPosition())}if(this._diffs.length===0){return}index=index%this._diffs.length;const entries2=this._diffs[index].entries;this._diffEditor.setPosition(new Position(entries2[0].modifiedLineStart,1));this._diffEditor.setSelection({startColumn:1,startLineNumber:entries2[0].modifiedLineStart,endColumn:1073741824,endLineNumber:entries2[entries2.length-1].modifiedLineEnd});this._isVisible=true;this._diffEditor.doLayout();this._render();this._goToRow(this._getNextRow(),"next")}accept(){let jumpToLineNumber=-1;const current=this._getCurrentFocusedRow();if(current){const lineNumber=parseInt(current.getAttribute("data-line"),10);if(!isNaN(lineNumber)){jumpToLineNumber=lineNumber}}this.hide();if(jumpToLineNumber!==-1){this._diffEditor.setPosition(new Position(jumpToLineNumber,1));this._diffEditor.revealPosition(new Position(jumpToLineNumber,1),1)}}hide(){this._isVisible=false;this._diffEditor.updateOptions({readOnly:false});this._diffEditor.focus();this._diffEditor.doLayout();this._render()}_getPrevRow(){const current=this._getCurrentFocusedRow();if(!current){return this._getFirstRow()}if(current.previousElementSibling){return current.previousElementSibling}return current}_getNextRow(){const current=this._getCurrentFocusedRow();if(!current){return this._getFirstRow()}if(current.nextElementSibling){return current.nextElementSibling}return current}_getFirstRow(){return this.domNode.domNode.querySelector(".diff-review-row")}_getCurrentFocusedRow(){const result=document.activeElement;if(result&&/diff-review-row/.test(result.className)){return result}return null}_goToRow(row,type){const current=this._getCurrentFocusedRow();row.tabIndex=0;row.focus();if(current&&current!==row){current.tabIndex=-1}const element=!type?current:type==="next"?current===null||current===void 0?void 0:current.nextElementSibling:current===null||current===void 0?void 0:current.previousElementSibling;if(element===null||element===void 0?void 0:element.classList.contains("line-insert")){this._audioCueService.playAudioCue(AudioCue.diffLineInserted,{allowManyInParallel:true})}else if(element===null||element===void 0?void 0:element.classList.contains("line-delete")){this._audioCueService.playAudioCue(AudioCue.diffLineDeleted,{allowManyInParallel:true})}this.scrollbar.scanDomNode()}isVisible(){return this._isVisible}layout(top,width,height){this._width=width;this.shadow.setTop(top-6);this.shadow.setWidth(width);this.shadow.setHeight(this._isVisible?6:0);this.domNode.setTop(top);this.domNode.setWidth(width);this.domNode.setHeight(height);this._content.setHeight(height);this._content.setWidth(width);if(this._isVisible){this.actionBarContainer.setAttribute("aria-hidden","false");this.actionBarContainer.setDisplay("block")}else{this.actionBarContainer.setAttribute("aria-hidden","true");this.actionBarContainer.setDisplay("none")}}_compute(){const lineChanges=this._diffEditor.getLineChanges();if(!lineChanges||lineChanges.length===0){return[]}const originalModel=this._diffEditor.getOriginalEditor().getModel();const modifiedModel=this._diffEditor.getModifiedEditor().getModel();if(!originalModel||!modifiedModel){return[]}return DiffReview_1._mergeAdjacent(lineChanges,originalModel.getLineCount(),modifiedModel.getLineCount())}static _mergeAdjacent(lineChanges,originalLineCount,modifiedLineCount){if(!lineChanges||lineChanges.length===0){return[]}const diffs=[];let diffsLength=0;for(let i=0,len=lineChanges.length;i<len;i++){const lineChange=lineChanges[i];const originalStart=lineChange.originalStartLineNumber;const originalEnd=lineChange.originalEndLineNumber;const modifiedStart=lineChange.modifiedStartLineNumber;const modifiedEnd=lineChange.modifiedEndLineNumber;const r2=[];let rLength2=0;{const originalEqualAbove=originalEnd===0?originalStart:originalStart-1;const modifiedEqualAbove=modifiedEnd===0?modifiedStart:modifiedStart-1;let minOriginal=1;let minModified=1;if(i>0){const prevLineChange=lineChanges[i-1];if(prevLineChange.originalEndLineNumber===0){minOriginal=prevLineChange.originalStartLineNumber+1}else{minOriginal=prevLineChange.originalEndLineNumber+1}if(prevLineChange.modifiedEndLineNumber===0){minModified=prevLineChange.modifiedStartLineNumber+1}else{minModified=prevLineChange.modifiedEndLineNumber+1}}let fromOriginal=originalEqualAbove-DIFF_LINES_PADDING+1;let fromModified=modifiedEqualAbove-DIFF_LINES_PADDING+1;if(fromOriginal<minOriginal){const delta=minOriginal-fromOriginal;fromOriginal=fromOriginal+delta;fromModified=fromModified+delta}if(fromModified<minModified){const delta=minModified-fromModified;fromOriginal=fromOriginal+delta;fromModified=fromModified+delta}r2[rLength2++]=new DiffEntry(fromOriginal,originalEqualAbove,fromModified,modifiedEqualAbove)}{if(originalEnd!==0){r2[rLength2++]=new DiffEntry(originalStart,originalEnd,0,0)}}{if(modifiedEnd!==0){r2[rLength2++]=new DiffEntry(0,0,modifiedStart,modifiedEnd)}}{const originalEqualBelow=originalEnd===0?originalStart+1:originalEnd+1;const modifiedEqualBelow=modifiedEnd===0?modifiedStart+1:modifiedEnd+1;let maxOriginal=originalLineCount;let maxModified=modifiedLineCount;if(i+1<len){const nextLineChange=lineChanges[i+1];if(nextLineChange.originalEndLineNumber===0){maxOriginal=nextLineChange.originalStartLineNumber}else{maxOriginal=nextLineChange.originalStartLineNumber-1}if(nextLineChange.modifiedEndLineNumber===0){maxModified=nextLineChange.modifiedStartLineNumber}else{maxModified=nextLineChange.modifiedStartLineNumber-1}}let toOriginal=originalEqualBelow+DIFF_LINES_PADDING-1;let toModified=modifiedEqualBelow+DIFF_LINES_PADDING-1;if(toOriginal>maxOriginal){const delta=maxOriginal-toOriginal;toOriginal=toOriginal+delta;toModified=toModified+delta}if(toModified>maxModified){const delta=maxModified-toModified;toOriginal=toOriginal+delta;toModified=toModified+delta}r2[rLength2++]=new DiffEntry(originalEqualBelow,toOriginal,modifiedEqualBelow,toModified)}diffs[diffsLength++]=new Diff(r2)}let curr=diffs[0].entries;const r=[];let rLength=0;for(let i=1,len=diffs.length;i<len;i++){const thisDiff=diffs[i].entries;const currLast=curr[curr.length-1];const thisFirst=thisDiff[0];if(currLast.getType()===0&&thisFirst.getType()===0&&thisFirst.originalLineStart<=currLast.originalLineEnd){curr[curr.length-1]=new DiffEntry(currLast.originalLineStart,thisFirst.originalLineEnd,currLast.modifiedLineStart,thisFirst.modifiedLineEnd);curr=curr.concat(thisDiff.slice(1));continue}r[rLength++]=new Diff(curr);curr=thisDiff}r[rLength++]=new Diff(curr);return r}_findDiffIndex(pos){const lineNumber=pos.lineNumber;for(let i=0,len=this._diffs.length;i<len;i++){const diff=this._diffs[i].entries;const lastModifiedLine=diff[diff.length-1].modifiedLineEnd;if(lineNumber<=lastModifiedLine){return i}}return 0}_render(){const originalOptions=this._diffEditor.getOriginalEditor().getOptions();const modifiedOptions=this._diffEditor.getModifiedEditor().getOptions();const originalModel=this._diffEditor.getOriginalEditor().getModel();const modifiedModel=this._diffEditor.getModifiedEditor().getModel();const originalModelOpts=originalModel.getOptions();const modifiedModelOpts=modifiedModel.getOptions();if(!this._isVisible||!originalModel||!modifiedModel){clearNode(this._content.domNode);this._currentDiff=null;this.scrollbar.scanDomNode();return}this._diffEditor.updateOptions({readOnly:true});const diffIndex=this._findDiffIndex(this._diffEditor.getPosition());if(this._diffs[diffIndex]===this._currentDiff){return}this._currentDiff=this._diffs[diffIndex];const diffs=this._diffs[diffIndex].entries;const container=document.createElement("div");container.className="diff-review-table";container.setAttribute("role","list");container.setAttribute("aria-label",'Difference review. Use "Stage | Unstage | Revert Selected Ranges" commands');applyFontInfo(container,modifiedOptions.get(49));let minOriginalLine=0;let maxOriginalLine=0;let minModifiedLine=0;let maxModifiedLine=0;for(let i=0,len=diffs.length;i<len;i++){const diffEntry=diffs[i];const originalLineStart=diffEntry.originalLineStart;const originalLineEnd=diffEntry.originalLineEnd;const modifiedLineStart=diffEntry.modifiedLineStart;const modifiedLineEnd=diffEntry.modifiedLineEnd;if(originalLineStart!==0&&(minOriginalLine===0||originalLineStart<minOriginalLine)){minOriginalLine=originalLineStart}if(originalLineEnd!==0&&(maxOriginalLine===0||originalLineEnd>maxOriginalLine)){maxOriginalLine=originalLineEnd}if(modifiedLineStart!==0&&(minModifiedLine===0||modifiedLineStart<minModifiedLine)){minModifiedLine=modifiedLineStart}if(modifiedLineEnd!==0&&(maxModifiedLine===0||modifiedLineEnd>maxModifiedLine)){maxModifiedLine=modifiedLineEnd}}const header=document.createElement("div");header.className="diff-review-row";const cell=document.createElement("div");cell.className="diff-review-cell diff-review-summary";const originalChangedLinesCnt=maxOriginalLine-minOriginalLine+1;const modifiedChangedLinesCnt=maxModifiedLine-minModifiedLine+1;cell.appendChild(document.createTextNode(`${diffIndex+1}/${this._diffs.length}: @@ -${minOriginalLine},${originalChangedLinesCnt} +${minModifiedLine},${modifiedChangedLinesCnt} @@`));header.setAttribute("data-line",String(minModifiedLine));const getAriaLines=lines=>{if(lines===0){return localize("no_lines_changed","no lines changed")}else if(lines===1){return localize("one_line_changed","1 line changed")}else{return localize("more_lines_changed","{0} lines changed",lines)}};const originalChangedLinesCntAria=getAriaLines(originalChangedLinesCnt);const modifiedChangedLinesCntAria=getAriaLines(modifiedChangedLinesCnt);header.setAttribute("aria-label",localize({key:"header",comment:["This is the ARIA label for a git diff header.","A git diff header looks like this: @@ -154,12 +159,39 @@.","That encodes that at original line 154 (which is now line 159), 12 lines were removed/changed with 39 lines.","Variables 0 and 1 refer to the diff index out of total number of diffs.","Variables 2 and 4 will be numbers (a line number).",'Variables 3 and 5 will be "no lines changed", "1 line changed" or "X lines changed", localized separately.']},"Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}",diffIndex+1,this._diffs.length,minOriginalLine,originalChangedLinesCntAria,minModifiedLine,modifiedChangedLinesCntAria));header.appendChild(cell);header.setAttribute("role","listitem");container.appendChild(header);const lineHeight=modifiedOptions.get(65);let modLine=minModifiedLine;for(let i=0,len=diffs.length;i<len;i++){const diffEntry=diffs[i];DiffReview_1._renderSection(container,diffEntry,modLine,lineHeight,this._width,originalOptions,originalModel,originalModelOpts,modifiedOptions,modifiedModel,modifiedModelOpts,this._languageService.languageIdCodec);if(diffEntry.modifiedLineStart!==0){modLine=diffEntry.modifiedLineEnd}}clearNode(this._content.domNode);this._content.domNode.appendChild(container);this.scrollbar.scanDomNode()}static _renderSection(dest,diffEntry,modLine,lineHeight,width,originalOptions,originalModel,originalModelOpts,modifiedOptions,modifiedModel,modifiedModelOpts,languageIdCodec){const type=diffEntry.getType();let rowClassName="diff-review-row";let lineNumbersExtraClassName="";const spacerClassName="diff-review-spacer";let spacerIcon=null;switch(type){case 1:rowClassName="diff-review-row line-insert";lineNumbersExtraClassName=" char-insert";spacerIcon=diffReviewInsertIcon;break;case 2:rowClassName="diff-review-row line-delete";lineNumbersExtraClassName=" char-delete";spacerIcon=diffReviewRemoveIcon;break}const originalLineStart=diffEntry.originalLineStart;const originalLineEnd=diffEntry.originalLineEnd;const modifiedLineStart=diffEntry.modifiedLineStart;const modifiedLineEnd=diffEntry.modifiedLineEnd;const cnt=Math.max(modifiedLineEnd-modifiedLineStart,originalLineEnd-originalLineStart);const originalLayoutInfo=originalOptions.get(142);const originalLineNumbersWidth=originalLayoutInfo.glyphMarginWidth+originalLayoutInfo.lineNumbersWidth;const modifiedLayoutInfo=modifiedOptions.get(142);const modifiedLineNumbersWidth=10+modifiedLayoutInfo.glyphMarginWidth+modifiedLayoutInfo.lineNumbersWidth;for(let i=0;i<=cnt;i++){const originalLine=originalLineStart===0?0:originalLineStart+i;const modifiedLine=modifiedLineStart===0?0:modifiedLineStart+i;const row=document.createElement("div");row.style.minWidth=width+"px";row.className=rowClassName;row.setAttribute("role","listitem");if(modifiedLine!==0){modLine=modifiedLine}row.setAttribute("data-line",String(modLine));const cell=document.createElement("div");cell.className="diff-review-cell";cell.style.height=`${lineHeight}px`;row.appendChild(cell);const originalLineNumber=document.createElement("span");originalLineNumber.style.width=originalLineNumbersWidth+"px";originalLineNumber.style.minWidth=originalLineNumbersWidth+"px";originalLineNumber.className="diff-review-line-number"+lineNumbersExtraClassName;if(originalLine!==0){originalLineNumber.appendChild(document.createTextNode(String(originalLine)))}else{originalLineNumber.innerText=" "}cell.appendChild(originalLineNumber);const modifiedLineNumber=document.createElement("span");modifiedLineNumber.style.width=modifiedLineNumbersWidth+"px";modifiedLineNumber.style.minWidth=modifiedLineNumbersWidth+"px";modifiedLineNumber.style.paddingRight="10px";modifiedLineNumber.className="diff-review-line-number"+lineNumbersExtraClassName;if(modifiedLine!==0){modifiedLineNumber.appendChild(document.createTextNode(String(modifiedLine)))}else{modifiedLineNumber.innerText=" "}cell.appendChild(modifiedLineNumber);const spacer=document.createElement("span");spacer.className=spacerClassName;if(spacerIcon){const spacerCodicon=document.createElement("span");spacerCodicon.className=ThemeIcon.asClassName(spacerIcon);spacerCodicon.innerText="  ";spacer.appendChild(spacerCodicon)}else{spacer.innerText="  "}cell.appendChild(spacer);let lineContent;if(modifiedLine!==0){let html2=this._renderLine(modifiedModel,modifiedOptions,modifiedModelOpts.tabSize,modifiedLine,languageIdCodec);if(DiffReview_1._ttPolicy){html2=DiffReview_1._ttPolicy.createHTML(html2)}cell.insertAdjacentHTML("beforeend",html2);lineContent=modifiedModel.getLineContent(modifiedLine)}else{let html2=this._renderLine(originalModel,originalOptions,originalModelOpts.tabSize,originalLine,languageIdCodec);if(DiffReview_1._ttPolicy){html2=DiffReview_1._ttPolicy.createHTML(html2)}cell.insertAdjacentHTML("beforeend",html2);lineContent=originalModel.getLineContent(originalLine)}if(lineContent.length===0){lineContent=localize("blankLine","blank")}let ariaLabel="";switch(type){case 0:if(originalLine===modifiedLine){ariaLabel=localize({key:"unchangedLine",comment:["The placeholders are contents of the line and should not be translated."]},"{0} unchanged line {1}",lineContent,originalLine)}else{ariaLabel=localize("equalLine","{0} original line {1} modified line {2}",lineContent,originalLine,modifiedLine)}break;case 1:ariaLabel=localize("insertLine","+ {0} modified line {1}",lineContent,modifiedLine);break;case 2:ariaLabel=localize("deleteLine","- {0} original line {1}",lineContent,originalLine);break}row.setAttribute("aria-label",ariaLabel);dest.appendChild(row)}}static _renderLine(model,options2,tabSize,lineNumber,languageIdCodec){const lineContent=model.getLineContent(lineNumber);const fontInfo=options2.get(49);const lineTokens=LineTokens.createEmpty(lineContent,languageIdCodec);const isBasicASCII2=ViewLineRenderingData.isBasicASCII(lineContent,model.mightContainNonBasicASCII());const containsRTL2=ViewLineRenderingData.containsRTL(lineContent,isBasicASCII2,model.mightContainRTL());const r=renderViewLine2(new RenderLineInput(fontInfo.isMonospace&&!options2.get(32),fontInfo.canUseHalfwidthRightwardsArrow,lineContent,false,isBasicASCII2,containsRTL2,0,lineTokens,[],tabSize,0,fontInfo.spaceWidth,fontInfo.middotWidth,fontInfo.wsmiddotWidth,options2.get(115),options2.get(97),options2.get(92),options2.get(50)!==EditorFontLigatures.OFF,null));return r.html}};DiffReview._ttPolicy=createTrustedTypesPolicy("diffReview",{createHTML:value=>value});DiffReview=DiffReview_1=__decorate17([__param13(1,ILanguageService),__param13(2,IAudioCueService),__param13(3,IConfigurationService)],DiffReview)}});var __awaiter13,InlineDiffMargin;var init_inlineDiffMargin=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/inlineDiffMargin.js"(){init_nls();init_dom();init_actions();init_lifecycle();init_range();init_codicons();init_themables();init_platform();__awaiter13=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};InlineDiffMargin=class extends Disposable{get visibility(){return this._visibility}set visibility(_visibility){if(this._visibility!==_visibility){this._visibility=_visibility;if(_visibility){this._diffActions.style.visibility="visible"}else{this._diffActions.style.visibility="hidden"}}}constructor(_viewZoneId,_marginDomNode,editor2,diff,_contextMenuService,_clipboardService){super();this._viewZoneId=_viewZoneId;this._marginDomNode=_marginDomNode;this.editor=editor2;this.diff=diff;this._contextMenuService=_contextMenuService;this._clipboardService=_clipboardService;this._visibility=false;this._marginDomNode.style.zIndex="10";this._diffActions=document.createElement("div");this._diffActions.className=ThemeIcon.asClassName(Codicon.lightBulb)+" lightbulb-glyph";this._diffActions.style.position="absolute";const lineHeight=editor2.getOption(65);const lineFeed=editor2.getModel().getEOL();this._diffActions.style.right="0px";this._diffActions.style.visibility="hidden";this._diffActions.style.height=`${lineHeight}px`;this._diffActions.style.lineHeight=`${lineHeight}px`;this._marginDomNode.appendChild(this._diffActions);const actions=[];const isDeletion=diff.modifiedEndLineNumber===0;actions.push(new Action("diff.clipboard.copyDeletedContent",isDeletion?diff.originalEndLineNumber>diff.modifiedStartLineNumber?localize("diff.clipboard.copyDeletedLinesContent.label","Copy deleted lines"):localize("diff.clipboard.copyDeletedLinesContent.single.label","Copy deleted line"):diff.originalEndLineNumber>diff.modifiedStartLineNumber?localize("diff.clipboard.copyChangedLinesContent.label","Copy changed lines"):localize("diff.clipboard.copyChangedLinesContent.single.label","Copy changed line"),void 0,true,(()=>__awaiter13(this,void 0,void 0,(function*(){const range2=new Range(diff.originalStartLineNumber,1,diff.originalEndLineNumber+1,1);const deletedText=diff.originalModel.getValueInRange(range2);yield this._clipboardService.writeText(deletedText)})))));let currentLineNumberOffset=0;let copyLineAction=void 0;if(diff.originalEndLineNumber>diff.modifiedStartLineNumber){copyLineAction=new Action("diff.clipboard.copyDeletedLineContent",isDeletion?localize("diff.clipboard.copyDeletedLineContent.label","Copy deleted line ({0})",diff.originalStartLineNumber):localize("diff.clipboard.copyChangedLineContent.label","Copy changed line ({0})",diff.originalStartLineNumber),void 0,true,(()=>__awaiter13(this,void 0,void 0,(function*(){const lineContent=diff.originalModel.getLineContent(diff.originalStartLineNumber+currentLineNumberOffset);if(lineContent===""){const eof=diff.originalModel.getEndOfLineSequence();yield this._clipboardService.writeText(eof===0?"\n":"\r\n")}else{yield this._clipboardService.writeText(lineContent)}}))));actions.push(copyLineAction)}const readOnly=editor2.getOption(89);if(!readOnly){actions.push(new Action("diff.inline.revertChange",localize("diff.inline.revertChange.label","Revert this change"),void 0,true,(()=>__awaiter13(this,void 0,void 0,(function*(){const range2=new Range(diff.originalStartLineNumber,1,diff.originalEndLineNumber,diff.originalModel.getLineMaxColumn(diff.originalEndLineNumber));const deletedText=diff.originalModel.getValueInRange(range2);if(diff.modifiedEndLineNumber===0){const column=editor2.getModel().getLineMaxColumn(diff.modifiedStartLineNumber);editor2.executeEdits("diffEditor",[{range:new Range(diff.modifiedStartLineNumber,column,diff.modifiedStartLineNumber,column),text:lineFeed+deletedText}])}else{const column=editor2.getModel().getLineMaxColumn(diff.modifiedEndLineNumber);editor2.executeEdits("diffEditor",[{range:new Range(diff.modifiedStartLineNumber,1,diff.modifiedEndLineNumber,column),text:deletedText}])}})))))}const useShadowDOM=editor2.getOption(125)&&!isIOS;const showContextMenu=(x,y)=>{var _a6;this._contextMenuService.showContextMenu({domForShadowRoot:useShadowDOM?(_a6=editor2.getDomNode())!==null&&_a6!==void 0?_a6:void 0:void 0,getAnchor:()=>({x:x,y:y}),getActions:()=>{if(copyLineAction){copyLineAction.label=isDeletion?localize("diff.clipboard.copyDeletedLineContent.label","Copy deleted line ({0})",diff.originalStartLineNumber+currentLineNumberOffset):localize("diff.clipboard.copyChangedLineContent.label","Copy changed line ({0})",diff.originalStartLineNumber+currentLineNumberOffset)}return actions},autoSelectFirstItem:true})};this._register(addStandardDisposableListener(this._diffActions,"mousedown",(e=>{const{top:top,height:height}=getDomNodePagePosition(this._diffActions);const pad=Math.floor(lineHeight/3);e.preventDefault();showContextMenu(e.posx,top+height+pad)})));this._register(editor2.onMouseMove((e=>{if(e.target.type===8||e.target.type===5){const viewZoneId=e.target.detail.viewZoneId;if(viewZoneId===this._viewZoneId){this.visibility=true;currentLineNumberOffset=this._updateLightBulbPosition(this._marginDomNode,e.event.browserEvent.y,lineHeight)}else{this.visibility=false}}else{this.visibility=false}})));this._register(editor2.onMouseDown((e=>{if(!e.event.rightButton){return}if(e.target.type===8||e.target.type===5){const viewZoneId=e.target.detail.viewZoneId;if(viewZoneId===this._viewZoneId){e.event.preventDefault();currentLineNumberOffset=this._updateLightBulbPosition(this._marginDomNode,e.event.browserEvent.y,lineHeight);showContextMenu(e.event.posx,e.event.posy+lineHeight)}}})))}_updateLightBulbPosition(marginDomNode,y,lineHeight){const{top:top}=getDomNodePagePosition(marginDomNode);const offset=y-top;const lineNumberOffset=Math.floor(offset/lineHeight);const newTop=lineNumberOffset*lineHeight;this._diffActions.style.top=`${newTop}px`;if(this.diff.viewLineCounts){let acc=0;for(let i=0;i<this.diff.viewLineCounts.length;i++){acc+=this.diff.viewLineCounts[i];if(lineNumberOffset<acc){return i}}}return lineNumberOffset}}}});var IEditorWorkerService;var init_editorWorker=__esm({"node_modules/monaco-editor/esm/vs/editor/common/services/editorWorker.js"(){init_instantiation();IEditorWorkerService=createDecorator("editorWorkerService")}});var __decorate18,__param14,__awaiter14,WorkerBasedDocumentDiffProvider_1,WorkerBasedDocumentDiffProvider;var init_workerBasedDocumentDiffProvider=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/workerBasedDocumentDiffProvider.js"(){init_event();init_stopwatch();init_lineRange();init_linesDiffComputer();init_editorWorker();init_telemetry();__decorate18=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param14=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};__awaiter14=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};WorkerBasedDocumentDiffProvider=WorkerBasedDocumentDiffProvider_1=class WorkerBasedDocumentDiffProvider2{constructor(options2,editorWorkerService,telemetryService){this.editorWorkerService=editorWorkerService;this.telemetryService=telemetryService;this.onDidChangeEventEmitter=new Emitter;this.onDidChange=this.onDidChangeEventEmitter.event;this.diffAlgorithm="advanced";this.diffAlgorithmOnDidChangeSubscription=void 0;this.setOptions(options2)}dispose(){var _a6;(_a6=this.diffAlgorithmOnDidChangeSubscription)===null||_a6===void 0?void 0:_a6.dispose()}computeDiff(original,modified,options2,cancellationToken){var _a6,_b3;return __awaiter14(this,void 0,void 0,(function*(){if(typeof this.diffAlgorithm!=="string"){return this.diffAlgorithm.computeDiff(original,modified,options2,cancellationToken)}if(original.getLineCount()===1&&original.getLineMaxColumn(1)===1){if(modified.getLineCount()===1&&modified.getLineMaxColumn(1)===1){return{changes:[],identical:true,quitEarly:false,moves:[]}}return{changes:[new LineRangeMapping(new LineRange(1,2),new LineRange(1,modified.getLineCount()+1),[new RangeMapping(original.getFullModelRange(),modified.getFullModelRange())])],identical:false,quitEarly:false,moves:[]}}const uriKey=JSON.stringify([original.uri.toString(),modified.uri.toString()]);const context=JSON.stringify([original.id,modified.id,original.getAlternativeVersionId(),modified.getAlternativeVersionId(),JSON.stringify(options2)]);const c=WorkerBasedDocumentDiffProvider_1.diffCache.get(uriKey);if(c&&c.context===context){return c.result}const sw=StopWatch.create();const result=yield this.editorWorkerService.computeDiff(original.uri,modified.uri,options2,this.diffAlgorithm);const timeMs=sw.elapsed();this.telemetryService.publicLog2("diffEditor.computeDiff",{timeMs:timeMs,timedOut:(_a6=result===null||result===void 0?void 0:result.quitEarly)!==null&&_a6!==void 0?_a6:true,detectedMoves:options2.computeMoves?(_b3=result===null||result===void 0?void 0:result.moves.length)!==null&&_b3!==void 0?_b3:0:-1});if(cancellationToken.isCancellationRequested){return{changes:[],identical:false,quitEarly:true,moves:[]}}if(!result){throw new Error("no diff result available")}if(WorkerBasedDocumentDiffProvider_1.diffCache.size>10){WorkerBasedDocumentDiffProvider_1.diffCache.delete(WorkerBasedDocumentDiffProvider_1.diffCache.keys().next().value)}WorkerBasedDocumentDiffProvider_1.diffCache.set(uriKey,{result:result,context:context});return result}))}setOptions(newOptions){var _a6;let didChange=false;if(newOptions.diffAlgorithm){if(this.diffAlgorithm!==newOptions.diffAlgorithm){(_a6=this.diffAlgorithmOnDidChangeSubscription)===null||_a6===void 0?void 0:_a6.dispose();this.diffAlgorithmOnDidChangeSubscription=void 0;this.diffAlgorithm=newOptions.diffAlgorithm;if(typeof newOptions.diffAlgorithm!=="string"){this.diffAlgorithmOnDidChangeSubscription=newOptions.diffAlgorithm.onDidChange((()=>this.onDidChangeEventEmitter.fire()))}didChange=true}}if(didChange){this.onDidChangeEventEmitter.fire()}}};WorkerBasedDocumentDiffProvider.diffCache=new Map;WorkerBasedDocumentDiffProvider=WorkerBasedDocumentDiffProvider_1=__decorate18([__param14(1,IEditorWorkerService),__param14(2,ITelemetryService)],WorkerBasedDocumentDiffProvider)}});var IClipboardService;var init_clipboardService=__esm({"node_modules/monaco-editor/esm/vs/platform/clipboard/common/clipboardService.js"(){init_instantiation();IClipboardService=createDecorator("clipboardService")}});var IContextViewService,IContextMenuService;var init_contextView=__esm({"node_modules/monaco-editor/esm/vs/platform/contextview/browser/contextView.js"(){init_instantiation();IContextViewService=createDecorator("contextViewService");IContextMenuService=createDecorator("contextMenuService")}});var IProgressService,emptyProgressRunner,Progress,IEditorProgressService;var init_progress=__esm({"node_modules/monaco-editor/esm/vs/platform/progress/common/progress.js"(){init_instantiation();IProgressService=createDecorator("progressService");emptyProgressRunner=Object.freeze({total(){},worked(){},done(){}});Progress=class{constructor(callback,opts){this.callback=callback;this.report=(opts===null||opts===void 0?void 0:opts.async)?this._reportAsync.bind(this):this._reportSync.bind(this)}_reportSync(item){this._value=item;this.callback(this._value)}_reportAsync(item){Promise.resolve(this._lastTask).finally((()=>{this._value=item;const r=this.callback(this._value);this._lastTask=Promise.resolve(r).finally((()=>this._lastTask=void 0))}))}};Progress.None=Object.freeze({report(){}});IEditorProgressService=createDecorator("editorProgressService")}});function createDecoration(startLineNumber,startColumn,endLineNumber,endColumn,options2){return{range:new Range(startLineNumber,startColumn,endLineNumber,endColumn),options:options2}}function validateDiffWordWrap(value,defaultValue){return stringSet(value,defaultValue,["off","on","inherit"])}function isChangeOrInsert(lineChange){return lineChange.modifiedEndLineNumber>0}function isChangeOrDelete(lineChange){return lineChange.originalEndLineNumber>0}function isCharChangeOrInsert(charChange){if(charChange.modifiedStartLineNumber===charChange.modifiedEndLineNumber){return charChange.modifiedEndColumn-charChange.modifiedStartColumn>0}return charChange.modifiedEndLineNumber-charChange.modifiedStartLineNumber>0}function isCharChangeOrDelete(charChange){if(charChange.originalStartLineNumber===charChange.originalEndLineNumber){return charChange.originalEndColumn-charChange.originalStartColumn>0}return charChange.originalEndLineNumber-charChange.originalStartLineNumber>0}function createFakeLinesDiv(){const r=document.createElement("div");r.className="diagonal-fill";return r}function createViewZoneMarginArrow(){const arrow=document.createElement("div");arrow.className="arrow-revert-change "+ThemeIcon.asClassName(Codicon.arrowRight);return $("div",{},arrow)}function getViewRange(model,viewModel,startLineNumber,endLineNumber){const lineCount=model.getLineCount();startLineNumber=Math.min(lineCount,Math.max(1,startLineNumber));endLineNumber=Math.min(lineCount,Math.max(1,endLineNumber));return viewModel.coordinatesConverter.convertModelRangeToViewRange(new Range(startLineNumber,model.getLineMinColumn(startLineNumber),endLineNumber,model.getLineMaxColumn(endLineNumber)))}function validateDiffEditorOptions(options2,defaults){return{enableSplitViewResizing:boolean(options2.enableSplitViewResizing,defaults.enableSplitViewResizing),splitViewDefaultRatio:clampedFloat(options2.splitViewDefaultRatio,.5,.1,.9),renderSideBySide:boolean(options2.renderSideBySide,defaults.renderSideBySide),renderMarginRevertIcon:boolean(options2.renderMarginRevertIcon,defaults.renderMarginRevertIcon),maxComputationTime:clampedInt(options2.maxComputationTime,defaults.maxComputationTime,0,1073741824),maxFileSize:clampedInt(options2.maxFileSize,defaults.maxFileSize,0,1073741824),ignoreTrimWhitespace:boolean(options2.ignoreTrimWhitespace,defaults.ignoreTrimWhitespace),renderIndicators:boolean(options2.renderIndicators,defaults.renderIndicators),originalEditable:boolean(options2.originalEditable,defaults.originalEditable),diffCodeLens:boolean(options2.diffCodeLens,defaults.diffCodeLens),renderOverviewRuler:boolean(options2.renderOverviewRuler,defaults.renderOverviewRuler),diffWordWrap:validateDiffWordWrap(options2.diffWordWrap,defaults.diffWordWrap),diffAlgorithm:stringSet(options2.diffAlgorithm,defaults.diffAlgorithm,["legacy","advanced"],{smart:"legacy",experimental:"advanced"}),accessibilityVerbose:boolean(options2.accessibilityVerbose,defaults.accessibilityVerbose),hideUnchangedRegions:{enabled:false,contextLineCount:0,minimumLineCount:0,revealLineCount:0},experimental:{showEmptyDecorations:false,showMoves:false},isInEmbeddedEditor:boolean(options2.isInEmbeddedEditor,defaults.isInEmbeddedEditor),onlyShowAccessibleDiffViewer:false,renderSideBySideInlineBreakpoint:0,useInlineViewWhenSpaceIsLimited:false}}function changedDiffEditorOptions(a,b){return{enableSplitViewResizing:a.enableSplitViewResizing!==b.enableSplitViewResizing,renderSideBySide:a.renderSideBySide!==b.renderSideBySide,renderMarginRevertIcon:a.renderMarginRevertIcon!==b.renderMarginRevertIcon,maxComputationTime:a.maxComputationTime!==b.maxComputationTime,maxFileSize:a.maxFileSize!==b.maxFileSize,ignoreTrimWhitespace:a.ignoreTrimWhitespace!==b.ignoreTrimWhitespace,renderIndicators:a.renderIndicators!==b.renderIndicators,originalEditable:a.originalEditable!==b.originalEditable,diffCodeLens:a.diffCodeLens!==b.diffCodeLens,renderOverviewRuler:a.renderOverviewRuler!==b.renderOverviewRuler,diffWordWrap:a.diffWordWrap!==b.diffWordWrap,diffAlgorithm:a.diffAlgorithm!==b.diffAlgorithm,accessibilityVerbose:a.accessibilityVerbose!==b.accessibilityVerbose}}var __decorate19,__param15,__awaiter15,DiffEditorWidget_1,VisualEditorState,DIFF_EDITOR_ID,diffInsertIcon,diffRemoveIcon,diffEditorWidgetTtPolicy,ariaNavigationTip,DiffEditorWidget,DiffEditorWidgetStyle,ForeignViewZonesIterator,ViewZonesComputer,DECORATIONS,DiffEditorWidgetSideBySide,SideBySideViewZonesComputer,DiffEditorWidgetInline,InlineViewZonesComputer;var init_diffEditorWidget=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditorWidget.js"(){init_dom();init_fastDomNode();init_trustedTypes();init_mouseCursor();init_sash();init_assert();init_async();init_cancellation();init_codicons();init_errors();init_event();init_htmlContent();init_lifecycle();init_themables();init_25();init_domFontInfo();init_elementSizeObserver();init_editorExtensions();init_codeEditorService();init_stableEditorScroll();init_codeEditorWidget();init_diffNavigator();init_diffReview();init_inlineDiffMargin();init_workerBasedDocumentDiffProvider();init_editorOptions();init_position();init_range();init_stringBuilder();init_editorCommon();init_editorContextKeys();init_textModel();init_lineDecorations();init_viewLineRenderer();init_viewModel();init_overviewZoneManager();init_nls();init_clipboardService();init_contextkey();init_contextView();init_instantiation();init_serviceCollection();init_notification();init_progress();init_colorRegistry();init_iconRegistry();init_themeService();__decorate19=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param15=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};__awaiter15=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};VisualEditorState=class{constructor(_contextMenuService,_clipboardService){this._contextMenuService=_contextMenuService;this._clipboardService=_clipboardService;this._zones=[];this._inlineDiffMargins=[];this._zonesMap={};this._decorations=[]}getForeignViewZones(allViewZones){return allViewZones.filter((z=>!this._zonesMap[String(z.id)]))}clean(editor2){if(this._zones.length>0){editor2.changeViewZones((viewChangeAccessor=>{for(const zoneId of this._zones){viewChangeAccessor.removeZone(zoneId)}}))}this._zones=[];this._zonesMap={};editor2.changeDecorations((changeAccessor=>{this._decorations=changeAccessor.deltaDecorations(this._decorations,[])}))}apply(editor2,overviewRuler,newDecorations,restoreScrollState){const scrollState=restoreScrollState?StableEditorScrollState.capture(editor2):null;editor2.changeViewZones((viewChangeAccessor=>{var _a6;for(const zoneId of this._zones){viewChangeAccessor.removeZone(zoneId)}for(const inlineDiffMargin of this._inlineDiffMargins){inlineDiffMargin.dispose()}this._zones=[];this._zonesMap={};this._inlineDiffMargins=[];for(let i=0,length2=newDecorations.zones.length;i<length2;i++){const viewZone=newDecorations.zones[i];viewZone.suppressMouseDown=true;viewZone.showInHiddenAreas=true;const zoneId=viewChangeAccessor.addZone(viewZone);this._zones.push(zoneId);this._zonesMap[String(zoneId)]=true;if(newDecorations.zones[i].diff&&viewZone.marginDomNode){viewZone.suppressMouseDown=false;if(((_a6=newDecorations.zones[i].diff)===null||_a6===void 0?void 0:_a6.originalModel.getValueLength())!==0){this._inlineDiffMargins.push(new InlineDiffMargin(zoneId,viewZone.marginDomNode,editor2,newDecorations.zones[i].diff,this._contextMenuService,this._clipboardService))}}}}));scrollState===null||scrollState===void 0?void 0:scrollState.restore(editor2);editor2.changeDecorations((changeAccessor=>{this._decorations=changeAccessor.deltaDecorations(this._decorations,newDecorations.decorations)}));overviewRuler===null||overviewRuler===void 0?void 0:overviewRuler.setZones(newDecorations.overviewZones)}};DIFF_EDITOR_ID=0;diffInsertIcon=registerIcon("diff-insert",Codicon.add,localize("diffInsertIcon","Line decoration for inserts in the diff editor."));diffRemoveIcon=registerIcon("diff-remove",Codicon.remove,localize("diffRemoveIcon","Line decoration for removals in the diff editor."));diffEditorWidgetTtPolicy=createTrustedTypesPolicy("diffEditorWidget",{createHTML:value=>value});ariaNavigationTip=localize("diff-aria-navigation-tip"," use Shift + F7 to navigate changes");DiffEditorWidget=DiffEditorWidget_1=class DiffEditorWidget2 extends Disposable{constructor(domElement,options2,codeEditorWidgetOptions,clipboardService,contextKeyService,instantiationService,codeEditorService,themeService,notificationService,contextMenuService,_editorProgressService){super();this._editorProgressService=_editorProgressService;this._onDidDispose=this._register(new Emitter);this.onDidDispose=this._onDidDispose.event;this._onDidChangeModel=this._register(new Emitter);this.onDidChangeModel=this._onDidChangeModel.event;this._onDidUpdateDiff=this._register(new Emitter);this.onDidUpdateDiff=this._onDidUpdateDiff.event;this._onDidContentSizeChange=this._register(new Emitter);this._lastOriginalWarning=null;this._lastModifiedWarning=null;codeEditorService.willCreateDiffEditor();this._documentDiffProvider=this._register(instantiationService.createInstance(WorkerBasedDocumentDiffProvider,options2));this._register(this._documentDiffProvider.onDidChange((e=>this._beginUpdateDecorationsSoon())));this._codeEditorService=codeEditorService;this._contextKeyService=this._register(contextKeyService.createScoped(domElement));this._instantiationService=instantiationService.createChild(new ServiceCollection([IContextKeyService,this._contextKeyService]));this._contextKeyService.createKey("isInDiffEditor",true);this._themeService=themeService;this._notificationService=notificationService;this._id=++DIFF_EDITOR_ID;this._state=0;this._updatingDiffProgress=null;this._domElement=domElement;options2=options2||{};this._options=validateDiffEditorOptions(options2,{enableSplitViewResizing:true,splitViewDefaultRatio:.5,renderSideBySide:true,renderMarginRevertIcon:true,maxComputationTime:5e3,maxFileSize:50,ignoreTrimWhitespace:true,renderIndicators:true,originalEditable:false,diffCodeLens:false,renderOverviewRuler:true,diffWordWrap:"inherit",diffAlgorithm:"advanced",accessibilityVerbose:false,experimental:{showEmptyDecorations:false,showMoves:false},hideUnchangedRegions:{enabled:false,contextLineCount:0,minimumLineCount:0,revealLineCount:0},isInEmbeddedEditor:false,onlyShowAccessibleDiffViewer:false,renderSideBySideInlineBreakpoint:0,useInlineViewWhenSpaceIsLimited:false});this.isEmbeddedDiffEditorKey=EditorContextKeys.isEmbeddedDiffEditor.bindTo(this._contextKeyService);this.isEmbeddedDiffEditorKey.set(typeof options2.isInEmbeddedEditor!=="undefined"?options2.isInEmbeddedEditor:false);this._updateDecorationsRunner=this._register(new RunOnceScheduler((()=>this._updateDecorations()),0));this._containerDomElement=document.createElement("div");this._containerDomElement.className=DiffEditorWidget_1._getClassName(this._themeService.getColorTheme(),this._options.renderSideBySide);this._containerDomElement.style.position="relative";this._containerDomElement.style.height="100%";this._domElement.appendChild(this._containerDomElement);this._overviewViewportDomElement=createFastDomNode(document.createElement("div"));this._overviewViewportDomElement.setClassName("diffViewport");this._overviewViewportDomElement.setPosition("absolute");this._overviewDomElement=document.createElement("div");this._overviewDomElement.className="diffOverview";this._overviewDomElement.style.position="absolute";this._overviewDomElement.appendChild(this._overviewViewportDomElement.domNode);this._register(addStandardDisposableListener(this._overviewDomElement,EventType.POINTER_DOWN,(e=>{this._modifiedEditor.delegateVerticalScrollbarPointerDown(e)})));this._register(addDisposableListener(this._overviewDomElement,EventType.MOUSE_WHEEL,(e=>{this._modifiedEditor.delegateScrollFromMouseWheelEvent(e)}),{passive:false}));if(this._options.renderOverviewRuler){this._containerDomElement.appendChild(this._overviewDomElement)}this._originalDomNode=document.createElement("div");this._originalDomNode.className="editor original";this._originalDomNode.style.position="absolute";this._originalDomNode.style.height="100%";this._containerDomElement.appendChild(this._originalDomNode);this._modifiedDomNode=document.createElement("div");this._modifiedDomNode.className="editor modified";this._modifiedDomNode.style.position="absolute";this._modifiedDomNode.style.height="100%";this._containerDomElement.appendChild(this._modifiedDomNode);this._beginUpdateDecorationsTimeout=-1;this._currentlyChangingViewZones=false;this._diffComputationToken=0;this._originalEditorState=new VisualEditorState(contextMenuService,clipboardService);this._modifiedEditorState=new VisualEditorState(contextMenuService,clipboardService);this._isVisible=true;this._isHandlingScrollEvent=false;this._elementSizeObserver=this._register(new ElementSizeObserver(this._containerDomElement,options2.dimension));this._register(this._elementSizeObserver.onDidChange((()=>this._onDidContainerSizeChanged())));if(options2.automaticLayout){this._elementSizeObserver.startObserving()}this._diffComputationResult=null;this._originalEditor=this._createLeftHandSideEditor(options2,codeEditorWidgetOptions.originalEditor||{});this._modifiedEditor=this._createRightHandSideEditor(options2,codeEditorWidgetOptions.modifiedEditor||{});this._originalOverviewRuler=null;this._modifiedOverviewRuler=null;this._reviewPane=instantiationService.createInstance(DiffReview,this);this._containerDomElement.appendChild(this._reviewPane.domNode.domNode);this._containerDomElement.appendChild(this._reviewPane.shadow.domNode);this._containerDomElement.appendChild(this._reviewPane.actionBarContainer.domNode);if(this._options.renderSideBySide){this._setStrategy(new DiffEditorWidgetSideBySide(this._createDataSource(),this._options.enableSplitViewResizing,this._options.splitViewDefaultRatio))}else{this._setStrategy(new DiffEditorWidgetInline(this._createDataSource(),this._options.enableSplitViewResizing))}this._register(themeService.onDidColorThemeChange((t2=>{if(this._strategy&&this._strategy.applyColors(t2)){this._updateDecorationsRunner.schedule()}this._containerDomElement.className=DiffEditorWidget_1._getClassName(this._themeService.getColorTheme(),this._options.renderSideBySide)})));const contributions=EditorExtensionsRegistry.getDiffEditorContributions();for(const desc of contributions){try{this._register(instantiationService.createInstance(desc.ctor,this))}catch(err){onUnexpectedError(err)}}this._codeEditorService.addDiffEditor(this)}_setState(newState){if(this._state===newState){return}this._state=newState;if(this._updatingDiffProgress){this._updatingDiffProgress.done();this._updatingDiffProgress=null}if(this._state===1){this._updatingDiffProgress=this._editorProgressService.show(true,1e3)}}accessibleDiffViewerNext(){this._reviewPane.next()}accessibleDiffViewerPrev(){this._reviewPane.prev()}static _getClassName(theme,renderSideBySide){let result="monaco-diff-editor monaco-editor-background ";if(renderSideBySide){result+="side-by-side "}result+=getThemeTypeSelector(theme.type);return result}_disposeOverviewRulers(){if(this._originalOverviewRuler){this._overviewDomElement.removeChild(this._originalOverviewRuler.getDomNode());this._originalOverviewRuler.dispose();this._originalOverviewRuler=null}if(this._modifiedOverviewRuler){this._overviewDomElement.removeChild(this._modifiedOverviewRuler.getDomNode());this._modifiedOverviewRuler.dispose();this._modifiedOverviewRuler=null}}_createOverviewRulers(){if(!this._options.renderOverviewRuler){return}ok(!this._originalOverviewRuler&&!this._modifiedOverviewRuler);if(this._originalEditor.hasModel()){this._originalOverviewRuler=this._originalEditor.createOverviewRuler("original diffOverviewRuler");this._overviewDomElement.appendChild(this._originalOverviewRuler.getDomNode())}if(this._modifiedEditor.hasModel()){this._modifiedOverviewRuler=this._modifiedEditor.createOverviewRuler("modified diffOverviewRuler");this._overviewDomElement.appendChild(this._modifiedOverviewRuler.getDomNode())}this._layoutOverviewRulers()}_createLeftHandSideEditor(options2,codeEditorWidgetOptions){const editor2=this._createInnerEditor(this._instantiationService,this._originalDomNode,this._adjustOptionsForLeftHandSide(options2),codeEditorWidgetOptions);this._register(editor2.onDidScrollChange((e=>{if(this._isHandlingScrollEvent){return}if(!e.scrollTopChanged&&!e.scrollLeftChanged&&!e.scrollHeightChanged){return}this._isHandlingScrollEvent=true;this._modifiedEditor.setScrollPosition({scrollLeft:e.scrollLeft,scrollTop:e.scrollTop});this._isHandlingScrollEvent=false;this._layoutOverviewViewport()})));this._register(editor2.onDidChangeViewZones((()=>{this._onViewZonesChanged()})));this._register(editor2.onDidChangeConfiguration((e=>{if(!editor2.getModel()){return}if(e.hasChanged(49)){this._updateDecorationsRunner.schedule()}if(e.hasChanged(143)){this._updateDecorationsRunner.cancel();this._updateDecorations()}})));this._register(editor2.onDidChangeHiddenAreas((()=>{this._updateDecorationsRunner.cancel();this._updateDecorations()})));this._register(editor2.onDidChangeModelContent((()=>{if(this._isVisible){this._beginUpdateDecorationsSoon()}})));const isInDiffLeftEditorKey=this._contextKeyService.createKey("isInDiffLeftEditor",editor2.hasWidgetFocus());this._register(editor2.onDidFocusEditorWidget((()=>isInDiffLeftEditorKey.set(true))));this._register(editor2.onDidBlurEditorWidget((()=>isInDiffLeftEditorKey.set(false))));this._register(editor2.onDidContentSizeChange((e=>{const width=this._originalEditor.getContentWidth()+this._modifiedEditor.getContentWidth()+DiffEditorWidget_1.ONE_OVERVIEW_WIDTH;const height=Math.max(this._modifiedEditor.getContentHeight(),this._originalEditor.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:height,contentWidth:width,contentHeightChanged:e.contentHeightChanged,contentWidthChanged:e.contentWidthChanged})})));return editor2}_createRightHandSideEditor(options2,codeEditorWidgetOptions){const editor2=this._createInnerEditor(this._instantiationService,this._modifiedDomNode,this._adjustOptionsForRightHandSide(options2),codeEditorWidgetOptions);this._register(editor2.onDidScrollChange((e=>{if(this._isHandlingScrollEvent){return}if(!e.scrollTopChanged&&!e.scrollLeftChanged&&!e.scrollHeightChanged){return}this._isHandlingScrollEvent=true;this._originalEditor.setScrollPosition({scrollLeft:e.scrollLeft,scrollTop:e.scrollTop});this._isHandlingScrollEvent=false;this._layoutOverviewViewport()})));this._register(editor2.onDidChangeViewZones((()=>{this._onViewZonesChanged()})));this._register(editor2.onDidChangeConfiguration((e=>{if(!editor2.getModel()){return}if(e.hasChanged(49)){this._updateDecorationsRunner.schedule()}if(e.hasChanged(143)){this._updateDecorationsRunner.cancel();this._updateDecorations()}})));this._register(editor2.onDidChangeHiddenAreas((()=>{this._updateDecorationsRunner.cancel();this._updateDecorations()})));this._register(editor2.onDidChangeModelContent((()=>{if(this._isVisible){this._beginUpdateDecorationsSoon()}})));this._register(editor2.onDidChangeModelOptions((e=>{if(e.tabSize){this._updateDecorationsRunner.schedule()}})));const isInDiffRightEditorKey=this._contextKeyService.createKey("isInDiffRightEditor",editor2.hasWidgetFocus());this._register(editor2.onDidFocusEditorWidget((()=>isInDiffRightEditorKey.set(true))));this._register(editor2.onDidBlurEditorWidget((()=>isInDiffRightEditorKey.set(false))));this._register(editor2.onDidContentSizeChange((e=>{const width=this._originalEditor.getContentWidth()+this._modifiedEditor.getContentWidth()+DiffEditorWidget_1.ONE_OVERVIEW_WIDTH;const height=Math.max(this._modifiedEditor.getContentHeight(),this._originalEditor.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:height,contentWidth:width,contentHeightChanged:e.contentHeightChanged,contentWidthChanged:e.contentWidthChanged})})));this._register(editor2.onMouseDown((event=>{var _a6,_b3;if(!event.event.rightButton&&event.target.position&&((_a6=event.target.element)===null||_a6===void 0?void 0:_a6.className.includes("arrow-revert-change"))){const lineNumber=event.target.position.lineNumber;const viewZone=event.target;const change=(_b3=this._diffComputationResult)===null||_b3===void 0?void 0:_b3.changes.find((c=>(viewZone===null||viewZone===void 0?void 0:viewZone.detail.afterLineNumber)===c.modifiedStartLineNumber||c.modifiedEndLineNumber>0&&c.modifiedStartLineNumber===lineNumber));if(change){this.revertChange(change)}event.event.stopPropagation();this._updateDecorations();return}})));return editor2}revertChange(change){const editor2=this._modifiedEditor;const original=this._originalEditor.getModel();const modified=this._modifiedEditor.getModel();if(!original||!modified||!editor2){return}const originalRange=change.originalEndLineNumber>0?new Range(change.originalStartLineNumber,1,change.originalEndLineNumber,original.getLineMaxColumn(change.originalEndLineNumber)):null;const originalContent=originalRange?original.getValueInRange(originalRange):null;const newRange=change.modifiedEndLineNumber>0?new Range(change.modifiedStartLineNumber,1,change.modifiedEndLineNumber,modified.getLineMaxColumn(change.modifiedEndLineNumber)):null;const eol=modified.getEOL();if(change.originalEndLineNumber===0&&newRange){let range2=newRange;if(change.modifiedStartLineNumber>1){range2=newRange.setStartPosition(change.modifiedStartLineNumber-1,modified.getLineMaxColumn(change.modifiedStartLineNumber-1))}else if(change.modifiedEndLineNumber<modified.getLineCount()){range2=newRange.setEndPosition(change.modifiedEndLineNumber+1,1)}editor2.executeEdits("diffEditor",[{range:range2,text:""}])}else if(change.modifiedEndLineNumber===0&&originalContent!==null){const insertAt=change.modifiedStartLineNumber<modified.getLineCount()?new Position(change.modifiedStartLineNumber+1,1):new Position(change.modifiedStartLineNumber,modified.getLineMaxColumn(change.modifiedStartLineNumber));editor2.executeEdits("diffEditor",[{range:Range.fromPositions(insertAt,insertAt),text:change.modifiedStartLineNumber<modified.getLineCount()?originalContent+eol:eol+originalContent}])}else if(newRange&&originalContent!==null){editor2.executeEdits("diffEditor",[{range:newRange,text:originalContent}])}}_createInnerEditor(instantiationService,container,options2,editorWidgetOptions){return instantiationService.createInstance(CodeEditorWidget,container,options2,editorWidgetOptions)}dispose(){this._codeEditorService.removeDiffEditor(this);if(this._beginUpdateDecorationsTimeout!==-1){window.clearTimeout(this._beginUpdateDecorationsTimeout);this._beginUpdateDecorationsTimeout=-1}this._cleanViewZonesAndDecorations();if(this._originalOverviewRuler){this._overviewDomElement.removeChild(this._originalOverviewRuler.getDomNode());this._originalOverviewRuler.dispose()}if(this._modifiedOverviewRuler){this._overviewDomElement.removeChild(this._modifiedOverviewRuler.getDomNode());this._modifiedOverviewRuler.dispose()}this._overviewDomElement.removeChild(this._overviewViewportDomElement.domNode);if(this._options.renderOverviewRuler){this._containerDomElement.removeChild(this._overviewDomElement)}this._containerDomElement.removeChild(this._originalDomNode);this._originalEditor.dispose();this._containerDomElement.removeChild(this._modifiedDomNode);this._modifiedEditor.dispose();this._strategy.dispose();this._containerDomElement.removeChild(this._reviewPane.domNode.domNode);this._containerDomElement.removeChild(this._reviewPane.shadow.domNode);this._containerDomElement.removeChild(this._reviewPane.actionBarContainer.domNode);this._reviewPane.dispose();this._domElement.removeChild(this._containerDomElement);this._onDidDispose.fire();super.dispose()}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return EditorType.IDiffEditor}getLineChanges(){if(!this._diffComputationResult){return null}return this._diffComputationResult.changes}getOriginalEditor(){return this._originalEditor}getModifiedEditor(){return this._modifiedEditor}updateOptions(_newOptions){const newOptions=validateDiffEditorOptions(_newOptions,this._options);const changed=changedDiffEditorOptions(this._options,newOptions);this._options=newOptions;this.isEmbeddedDiffEditorKey.set(typeof _newOptions.isInEmbeddedEditor!=="undefined"?_newOptions.isInEmbeddedEditor:false);const beginUpdateDecorations=changed.ignoreTrimWhitespace||changed.renderIndicators||changed.renderMarginRevertIcon;const beginUpdateDecorationsSoon=this._isVisible&&(changed.maxComputationTime||changed.maxFileSize);this._documentDiffProvider.setOptions(newOptions);if(beginUpdateDecorations){this._beginUpdateDecorations()}else if(beginUpdateDecorationsSoon){this._beginUpdateDecorationsSoon()}this._modifiedEditor.updateOptions(this._adjustOptionsForRightHandSide(_newOptions));this._originalEditor.updateOptions(this._adjustOptionsForLeftHandSide(_newOptions));this._strategy.setEnableSplitViewResizing(this._options.enableSplitViewResizing,this._options.splitViewDefaultRatio);if(changed.renderSideBySide){if(this._options.renderSideBySide){this._setStrategy(new DiffEditorWidgetSideBySide(this._createDataSource(),this._options.enableSplitViewResizing,this._options.splitViewDefaultRatio))}else{this._setStrategy(new DiffEditorWidgetInline(this._createDataSource(),this._options.enableSplitViewResizing))}this._containerDomElement.className=DiffEditorWidget_1._getClassName(this._themeService.getColorTheme(),this._options.renderSideBySide)}if(changed.renderOverviewRuler){if(this._options.renderOverviewRuler){this._containerDomElement.appendChild(this._overviewDomElement)}else{this._containerDomElement.removeChild(this._overviewDomElement)}}}getModel(){return{original:this._originalEditor.getModel(),modified:this._modifiedEditor.getModel()}}createViewModel(model){return{model:model,waitForDiff(){return __awaiter15(this,void 0,void 0,(function*(){}))}}}setModel(model){if(model&&"model"in model){model=model.model}if(model&&(!model.original||!model.modified)){throw new Error(!model.original?"DiffEditorWidget.setModel: Original model is null":"DiffEditorWidget.setModel: Modified model is null")}this._cleanViewZonesAndDecorations();this._disposeOverviewRulers();this._originalEditor.setModel(model?model.original:null);this._modifiedEditor.setModel(model?model.modified:null);this._updateDecorationsRunner.cancel();if(model){this._originalEditor.setScrollTop(0);this._modifiedEditor.setScrollTop(0)}this._diffComputationResult=null;this._diffComputationToken++;this._setState(0);if(model){this._createOverviewRulers();this._beginUpdateDecorations()}this._layoutOverviewViewport();this._onDidChangeModel.fire();this._diffNavigator=this._register(this._instantiationService.createInstance(DiffNavigator,this,{alwaysRevealFirst:false,findResultLoop:this.getModifiedEditor().getOption(40).loop}))}getContainerDomNode(){return this._domElement}getVisibleColumnFromPosition(position){return this._modifiedEditor.getVisibleColumnFromPosition(position)}getPosition(){return this._modifiedEditor.getPosition()}setPosition(position,source="api"){this._modifiedEditor.setPosition(position,source)}revealLine(lineNumber,scrollType=0){this._modifiedEditor.revealLine(lineNumber,scrollType)}revealLineInCenter(lineNumber,scrollType=0){this._modifiedEditor.revealLineInCenter(lineNumber,scrollType)}revealLineInCenterIfOutsideViewport(lineNumber,scrollType=0){this._modifiedEditor.revealLineInCenterIfOutsideViewport(lineNumber,scrollType)}revealLineNearTop(lineNumber,scrollType=0){this._modifiedEditor.revealLineNearTop(lineNumber,scrollType)}revealPosition(position,scrollType=0){this._modifiedEditor.revealPosition(position,scrollType)}revealPositionInCenter(position,scrollType=0){this._modifiedEditor.revealPositionInCenter(position,scrollType)}revealPositionInCenterIfOutsideViewport(position,scrollType=0){this._modifiedEditor.revealPositionInCenterIfOutsideViewport(position,scrollType)}revealPositionNearTop(position,scrollType=0){this._modifiedEditor.revealPositionNearTop(position,scrollType)}getSelection(){return this._modifiedEditor.getSelection()}getSelections(){return this._modifiedEditor.getSelections()}setSelection(something,source="api"){this._modifiedEditor.setSelection(something,source)}setSelections(ranges,source="api"){this._modifiedEditor.setSelections(ranges,source)}revealLines(startLineNumber,endLineNumber,scrollType=0){this._modifiedEditor.revealLines(startLineNumber,endLineNumber,scrollType)}revealLinesInCenter(startLineNumber,endLineNumber,scrollType=0){this._modifiedEditor.revealLinesInCenter(startLineNumber,endLineNumber,scrollType)}revealLinesInCenterIfOutsideViewport(startLineNumber,endLineNumber,scrollType=0){this._modifiedEditor.revealLinesInCenterIfOutsideViewport(startLineNumber,endLineNumber,scrollType)}revealLinesNearTop(startLineNumber,endLineNumber,scrollType=0){this._modifiedEditor.revealLinesNearTop(startLineNumber,endLineNumber,scrollType)}revealRange(range2,scrollType=0,revealVerticalInCenter=false,revealHorizontal=true){this._modifiedEditor.revealRange(range2,scrollType,revealVerticalInCenter,revealHorizontal)}revealRangeInCenter(range2,scrollType=0){this._modifiedEditor.revealRangeInCenter(range2,scrollType)}revealRangeInCenterIfOutsideViewport(range2,scrollType=0){this._modifiedEditor.revealRangeInCenterIfOutsideViewport(range2,scrollType)}revealRangeNearTop(range2,scrollType=0){this._modifiedEditor.revealRangeNearTop(range2,scrollType)}revealRangeNearTopIfOutsideViewport(range2,scrollType=0){this._modifiedEditor.revealRangeNearTopIfOutsideViewport(range2,scrollType)}revealRangeAtTop(range2,scrollType=0){this._modifiedEditor.revealRangeAtTop(range2,scrollType)}getSupportedActions(){return this._modifiedEditor.getSupportedActions()}focus(){this._modifiedEditor.focus()}trigger(source,handlerId,payload){this._modifiedEditor.trigger(source,handlerId,payload)}createDecorationsCollection(decorations){return this._modifiedEditor.createDecorationsCollection(decorations)}changeDecorations(callback){return this._modifiedEditor.changeDecorations(callback)}saveViewState(){const originalViewState=this._originalEditor.saveViewState();const modifiedViewState=this._modifiedEditor.saveViewState();return{original:originalViewState,modified:modifiedViewState}}restoreViewState(s){if(s&&s.original&&s.modified){const diffEditorState=s;this._originalEditor.restoreViewState(diffEditorState.original);this._modifiedEditor.restoreViewState(diffEditorState.modified)}}layout(dimension){this._elementSizeObserver.observe(dimension)}hasTextFocus(){return this._originalEditor.hasTextFocus()||this._modifiedEditor.hasTextFocus()}_onDidContainerSizeChanged(){this._doLayout()}_getReviewHeight(){return this._reviewPane.isVisible()?this._elementSizeObserver.getHeight():0}_layoutOverviewRulers(){if(!this._options.renderOverviewRuler){return}if(!this._originalOverviewRuler||!this._modifiedOverviewRuler){return}const height=this._elementSizeObserver.getHeight();const reviewHeight=this._getReviewHeight();const freeSpace=DiffEditorWidget_1.ENTIRE_DIFF_OVERVIEW_WIDTH-2*DiffEditorWidget_1.ONE_OVERVIEW_WIDTH;const layoutInfo=this._modifiedEditor.getLayoutInfo();if(layoutInfo){this._originalOverviewRuler.setLayout({top:0,width:DiffEditorWidget_1.ONE_OVERVIEW_WIDTH,right:freeSpace+DiffEditorWidget_1.ONE_OVERVIEW_WIDTH,height:height-reviewHeight});this._modifiedOverviewRuler.setLayout({top:0,right:0,width:DiffEditorWidget_1.ONE_OVERVIEW_WIDTH,height:height-reviewHeight})}}_onViewZonesChanged(){if(this._currentlyChangingViewZones){return}this._updateDecorationsRunner.schedule()}_beginUpdateDecorationsSoon(){if(this._beginUpdateDecorationsTimeout!==-1){window.clearTimeout(this._beginUpdateDecorationsTimeout);this._beginUpdateDecorationsTimeout=-1}this._beginUpdateDecorationsTimeout=window.setTimeout((()=>this._beginUpdateDecorations()),DiffEditorWidget_1.UPDATE_DIFF_DECORATIONS_DELAY)}static _equals(a,b){if(!a&&!b){return true}if(!a||!b){return false}return a.toString()===b.toString()}_beginUpdateDecorations(){if(this._beginUpdateDecorationsTimeout!==-1){window.clearTimeout(this._beginUpdateDecorationsTimeout);this._beginUpdateDecorationsTimeout=-1}const currentOriginalModel=this._originalEditor.getModel();const currentModifiedModel=this._modifiedEditor.getModel();if(!currentOriginalModel||!currentModifiedModel){return}this._diffComputationToken++;const currentToken=this._diffComputationToken;const diffLimit=this._options.maxFileSize*1024*1024;const canSyncModelForDiff=model=>{const bufferTextLength=model.getValueLength();return diffLimit===0||bufferTextLength<=diffLimit};if(!canSyncModelForDiff(currentOriginalModel)||!canSyncModelForDiff(currentModifiedModel)){if(!DiffEditorWidget_1._equals(currentOriginalModel.uri,this._lastOriginalWarning)||!DiffEditorWidget_1._equals(currentModifiedModel.uri,this._lastModifiedWarning)){this._lastOriginalWarning=currentOriginalModel.uri;this._lastModifiedWarning=currentModifiedModel.uri;this._notificationService.warn(localize("diff.tooLarge","Cannot compare files because one file is too large."))}return}this._setState(1);this._documentDiffProvider.computeDiff(currentOriginalModel,currentModifiedModel,{ignoreTrimWhitespace:this._options.ignoreTrimWhitespace,maxComputationTimeMs:this._options.maxComputationTime,computeMoves:false},CancellationToken.None).then((result=>{if(currentToken===this._diffComputationToken&&currentOriginalModel===this._originalEditor.getModel()&&currentModifiedModel===this._modifiedEditor.getModel()){this._setState(2);this._diffComputationResult={identical:result.identical,quitEarly:result.quitEarly,changes2:result.changes,changes:result.changes.map((m=>{let originalStartLineNumber;let originalEndLineNumber;let modifiedStartLineNumber;let modifiedEndLineNumber;let innerChanges=m.innerChanges;if(m.originalRange.isEmpty){originalStartLineNumber=m.originalRange.startLineNumber-1;originalEndLineNumber=0;innerChanges=void 0}else{originalStartLineNumber=m.originalRange.startLineNumber;originalEndLineNumber=m.originalRange.endLineNumberExclusive-1}if(m.modifiedRange.isEmpty){modifiedStartLineNumber=m.modifiedRange.startLineNumber-1;modifiedEndLineNumber=0;innerChanges=void 0}else{modifiedStartLineNumber=m.modifiedRange.startLineNumber;modifiedEndLineNumber=m.modifiedRange.endLineNumberExclusive-1}return{originalStartLineNumber:originalStartLineNumber,originalEndLineNumber:originalEndLineNumber,modifiedStartLineNumber:modifiedStartLineNumber,modifiedEndLineNumber:modifiedEndLineNumber,charChanges:innerChanges===null||innerChanges===void 0?void 0:innerChanges.map((m2=>({originalStartLineNumber:m2.originalRange.startLineNumber,originalStartColumn:m2.originalRange.startColumn,originalEndLineNumber:m2.originalRange.endLineNumber,originalEndColumn:m2.originalRange.endColumn,modifiedStartLineNumber:m2.modifiedRange.startLineNumber,modifiedStartColumn:m2.modifiedRange.startColumn,modifiedEndLineNumber:m2.modifiedRange.endLineNumber,modifiedEndColumn:m2.modifiedRange.endColumn})))}}))};this._updateDecorationsRunner.schedule();this._onDidUpdateDiff.fire()}}),(error=>{if(currentToken===this._diffComputationToken&&currentOriginalModel===this._originalEditor.getModel()&&currentModifiedModel===this._modifiedEditor.getModel()){this._setState(2);this._diffComputationResult=null;this._updateDecorationsRunner.schedule()}}))}_cleanViewZonesAndDecorations(){this._originalEditorState.clean(this._originalEditor);this._modifiedEditorState.clean(this._modifiedEditor)}_updateDecorations(){if(!this._originalEditor.getModel()||!this._modifiedEditor.getModel()){return}const lineChanges=this._diffComputationResult?this._diffComputationResult.changes:[];const foreignOriginal=this._originalEditorState.getForeignViewZones(this._originalEditor.getWhitespaces());const foreignModified=this._modifiedEditorState.getForeignViewZones(this._modifiedEditor.getWhitespaces());const renderMarginRevertIcon=this._options.renderMarginRevertIcon&&!this._modifiedEditor.getOption(89);const diffDecorations=this._strategy.getEditorsDiffDecorations(lineChanges,this._options.ignoreTrimWhitespace,this._options.renderIndicators,renderMarginRevertIcon,foreignOriginal,foreignModified);try{this._currentlyChangingViewZones=true;this._originalEditorState.apply(this._originalEditor,this._originalOverviewRuler,diffDecorations.original,false);this._modifiedEditorState.apply(this._modifiedEditor,this._modifiedOverviewRuler,diffDecorations.modified,true)}finally{this._currentlyChangingViewZones=false}}_adjustOptionsForSubEditor(options2){const clonedOptions=Object.assign({},options2);clonedOptions.inDiffEditor=true;clonedOptions.automaticLayout=false;clonedOptions.scrollbar=Object.assign({},clonedOptions.scrollbar||{});clonedOptions.scrollbar.vertical="visible";clonedOptions.folding=false;clonedOptions.codeLens=this._options.diffCodeLens;clonedOptions.fixedOverflowWidgets=true;clonedOptions.minimap=Object.assign({},clonedOptions.minimap||{});clonedOptions.minimap.enabled=false;return clonedOptions}_adjustOptionsForLeftHandSide(options2){const result=this._adjustOptionsForSubEditor(options2);if(!this._options.renderSideBySide){result.wordWrapOverride1="off";result.wordWrapOverride2="off";result.stickyScroll={enabled:false}}else{result.wordWrapOverride1=this._options.diffWordWrap}if(options2.originalAriaLabel){result.ariaLabel=options2.originalAriaLabel}this._updateAriaLabel(result);result.readOnly=!this._options.originalEditable;result.dropIntoEditor={enabled:!result.readOnly};result.extraEditorClassName="original-in-monaco-diff-editor";return Object.assign(Object.assign({},result),{dimension:{height:0,width:0}})}_updateAriaLabel(options2){var _a6;let ariaLabel=(_a6=options2.ariaLabel)!==null&&_a6!==void 0?_a6:"";if(this._options.accessibilityVerbose){ariaLabel+=ariaNavigationTip}else if(ariaLabel){ariaLabel=ariaLabel.replaceAll(ariaNavigationTip,"")}options2.ariaLabel=ariaLabel}_adjustOptionsForRightHandSide(options2){const result=this._adjustOptionsForSubEditor(options2);if(options2.modifiedAriaLabel){result.ariaLabel=options2.modifiedAriaLabel}this._updateAriaLabel(result);result.wordWrapOverride1=this._options.diffWordWrap;result.revealHorizontalRightPadding=EditorOptions.revealHorizontalRightPadding.defaultValue+DiffEditorWidget_1.ENTIRE_DIFF_OVERVIEW_WIDTH;result.scrollbar.verticalHasArrows=false;result.extraEditorClassName="modified-in-monaco-diff-editor";return Object.assign(Object.assign({},result),{dimension:{height:0,width:0}})}doLayout(){this._elementSizeObserver.observe();this._doLayout()}_doLayout(){const width=this._elementSizeObserver.getWidth();const height=this._elementSizeObserver.getHeight();const reviewHeight=this._getReviewHeight();const splitPoint=this._strategy.layout();this._originalDomNode.style.width=splitPoint+"px";this._originalDomNode.style.left="0px";this._modifiedDomNode.style.width=width-splitPoint-DiffEditorWidget_1.ENTIRE_DIFF_OVERVIEW_WIDTH+"px";this._modifiedDomNode.style.left=splitPoint+"px";this._overviewDomElement.style.top="0px";this._overviewDomElement.style.height=height-reviewHeight+"px";this._overviewDomElement.style.width=DiffEditorWidget_1.ENTIRE_DIFF_OVERVIEW_WIDTH+"px";this._overviewDomElement.style.left=width-DiffEditorWidget_1.ENTIRE_DIFF_OVERVIEW_WIDTH+"px";this._overviewViewportDomElement.setWidth(DiffEditorWidget_1.ENTIRE_DIFF_OVERVIEW_WIDTH);this._overviewViewportDomElement.setHeight(30);this._originalEditor.layout({width:splitPoint,height:height-reviewHeight});this._modifiedEditor.layout({width:width-splitPoint-(this._options.renderOverviewRuler?DiffEditorWidget_1.ENTIRE_DIFF_OVERVIEW_WIDTH:0),height:height-reviewHeight});if(this._originalOverviewRuler||this._modifiedOverviewRuler){this._layoutOverviewRulers()}this._reviewPane.layout(height-reviewHeight,width,reviewHeight);this._layoutOverviewViewport()}_layoutOverviewViewport(){const layout2=this._computeOverviewViewport();if(!layout2){this._overviewViewportDomElement.setTop(0);this._overviewViewportDomElement.setHeight(0)}else{this._overviewViewportDomElement.setTop(layout2.top);this._overviewViewportDomElement.setHeight(layout2.height)}}_computeOverviewViewport(){const layoutInfo=this._modifiedEditor.getLayoutInfo();if(!layoutInfo){return null}const scrollTop=this._modifiedEditor.getScrollTop();const scrollHeight=this._modifiedEditor.getScrollHeight();const computedAvailableSize=Math.max(0,layoutInfo.height);const computedRepresentableSize=Math.max(0,computedAvailableSize-2*0);const computedRatio=scrollHeight>0?computedRepresentableSize/scrollHeight:0;const computedSliderSize=Math.max(0,Math.floor(layoutInfo.height*computedRatio));const computedSliderPosition=Math.floor(scrollTop*computedRatio);return{height:computedSliderSize,top:computedSliderPosition}}_createDataSource(){return{getWidth:()=>this._elementSizeObserver.getWidth(),getHeight:()=>this._elementSizeObserver.getHeight()-this._getReviewHeight(),getOptions:()=>({renderOverviewRuler:this._options.renderOverviewRuler}),getContainerDomNode:()=>this._containerDomElement,relayoutEditors:()=>{this._doLayout()},getOriginalEditor:()=>this._originalEditor,getModifiedEditor:()=>this._modifiedEditor}}_setStrategy(newStrategy){var _a6;(_a6=this._strategy)===null||_a6===void 0?void 0:_a6.dispose();this._strategy=newStrategy;if(this._boundarySashes){newStrategy.setBoundarySashes(this._boundarySashes)}newStrategy.applyColors(this._themeService.getColorTheme());if(this._diffComputationResult){this._updateDecorations()}this._doLayout()}};DiffEditorWidget.ONE_OVERVIEW_WIDTH=15;DiffEditorWidget.ENTIRE_DIFF_OVERVIEW_WIDTH=30;DiffEditorWidget.UPDATE_DIFF_DECORATIONS_DELAY=200;DiffEditorWidget=DiffEditorWidget_1=__decorate19([__param15(3,IClipboardService),__param15(4,IContextKeyService),__param15(5,IInstantiationService),__param15(6,ICodeEditorService),__param15(7,IThemeService),__param15(8,INotificationService),__param15(9,IContextMenuService),__param15(10,IEditorProgressService)],DiffEditorWidget);DiffEditorWidgetStyle=class extends Disposable{constructor(dataSource){super();this._dataSource=dataSource;this._insertColor=null;this._removeColor=null}applyColors(theme){const newInsertColor=theme.getColor(diffOverviewRulerInserted)||(theme.getColor(diffInserted)||defaultInsertColor).transparent(2);const newRemoveColor=theme.getColor(diffOverviewRulerRemoved)||(theme.getColor(diffRemoved)||defaultRemoveColor).transparent(2);const hasChanges=!newInsertColor.equals(this._insertColor)||!newRemoveColor.equals(this._removeColor);this._insertColor=newInsertColor;this._removeColor=newRemoveColor;return hasChanges}getEditorsDiffDecorations(lineChanges,ignoreTrimWhitespace,renderIndicators,renderMarginRevertIcon,originalWhitespaces,modifiedWhitespaces){modifiedWhitespaces=modifiedWhitespaces.sort(((a,b)=>a.afterLineNumber-b.afterLineNumber));originalWhitespaces=originalWhitespaces.sort(((a,b)=>a.afterLineNumber-b.afterLineNumber));const zones=this._getViewZones(lineChanges,originalWhitespaces,modifiedWhitespaces,renderIndicators);const originalDecorations=this._getOriginalEditorDecorations(zones,lineChanges,ignoreTrimWhitespace,renderIndicators);const modifiedDecorations=this._getModifiedEditorDecorations(zones,lineChanges,ignoreTrimWhitespace,renderIndicators,renderMarginRevertIcon);return{original:{decorations:originalDecorations.decorations,overviewZones:originalDecorations.overviewZones,zones:zones.original},modified:{decorations:modifiedDecorations.decorations,overviewZones:modifiedDecorations.overviewZones,zones:zones.modified}}}setBoundarySashes(_sashes){}};ForeignViewZonesIterator=class{constructor(source){this._source=source;this._index=-1;this.current=null;this.advance()}advance(){this._index++;if(this._index<this._source.length){this.current=this._source[this._index]}else{this.current=null}}};ViewZonesComputer=class{constructor(_lineChanges,_originalForeignVZ,_modifiedForeignVZ,_originalEditor,_modifiedEditor){this._lineChanges=_lineChanges;this._originalForeignVZ=_originalForeignVZ;this._modifiedForeignVZ=_modifiedForeignVZ;this._originalEditor=_originalEditor;this._modifiedEditor=_modifiedEditor}static _getViewLineCount(editor2,startLineNumber,endLineNumber){const model=editor2.getModel();const viewModel=editor2._getViewModel();if(model&&viewModel){const viewRange=getViewRange(model,viewModel,startLineNumber,endLineNumber);return viewRange.endLineNumber-viewRange.startLineNumber+1}return endLineNumber-startLineNumber+1}getViewZones(){const originalLineHeight=this._originalEditor.getOption(65);const modifiedLineHeight=this._modifiedEditor.getOption(65);const originalHasWrapping=this._originalEditor.getOption(143).wrappingColumn!==-1;const modifiedHasWrapping=this._modifiedEditor.getOption(143).wrappingColumn!==-1;const hasWrapping=originalHasWrapping||modifiedHasWrapping;const originalModel=this._originalEditor.getModel();const originalCoordinatesConverter=this._originalEditor._getViewModel().coordinatesConverter;const modifiedCoordinatesConverter=this._modifiedEditor._getViewModel().coordinatesConverter;const result={original:[],modified:[]};let lineChangeModifiedLength=0;let lineChangeOriginalLength=0;let originalEquivalentLineNumber=0;let modifiedEquivalentLineNumber=0;let originalEndEquivalentLineNumber=0;let modifiedEndEquivalentLineNumber=0;const sortMyViewZones=(a,b)=>a.afterLineNumber-b.afterLineNumber;const addAndCombineIfPossible=(destination,item)=>{if(item.domNode===null&&destination.length>0){const lastItem=destination[destination.length-1];if(lastItem.afterLineNumber===item.afterLineNumber&&lastItem.domNode===null){lastItem.heightInLines+=item.heightInLines;return}}destination.push(item)};const modifiedForeignVZ=new ForeignViewZonesIterator(this._modifiedForeignVZ);const originalForeignVZ=new ForeignViewZonesIterator(this._originalForeignVZ);let lastOriginalLineNumber=1;let lastModifiedLineNumber=1;for(let i=0,length2=this._lineChanges.length;i<=length2;i++){const lineChange=i<length2?this._lineChanges[i]:null;if(lineChange!==null){originalEquivalentLineNumber=lineChange.originalStartLineNumber+(lineChange.originalEndLineNumber>0?-1:0);modifiedEquivalentLineNumber=lineChange.modifiedStartLineNumber+(lineChange.modifiedEndLineNumber>0?-1:0);lineChangeOriginalLength=lineChange.originalEndLineNumber>0?ViewZonesComputer._getViewLineCount(this._originalEditor,lineChange.originalStartLineNumber,lineChange.originalEndLineNumber):0;lineChangeModifiedLength=lineChange.modifiedEndLineNumber>0?ViewZonesComputer._getViewLineCount(this._modifiedEditor,lineChange.modifiedStartLineNumber,lineChange.modifiedEndLineNumber):0;originalEndEquivalentLineNumber=Math.max(lineChange.originalStartLineNumber,lineChange.originalEndLineNumber);modifiedEndEquivalentLineNumber=Math.max(lineChange.modifiedStartLineNumber,lineChange.modifiedEndLineNumber)}else{originalEquivalentLineNumber+=1e7+lineChangeOriginalLength;modifiedEquivalentLineNumber+=1e7+lineChangeModifiedLength;originalEndEquivalentLineNumber=originalEquivalentLineNumber;modifiedEndEquivalentLineNumber=modifiedEquivalentLineNumber}let stepOriginal=[];let stepModified=[];if(hasWrapping){let count;if(lineChange){if(lineChange.originalEndLineNumber>0){count=lineChange.originalStartLineNumber-lastOriginalLineNumber}else{count=lineChange.modifiedStartLineNumber-lastModifiedLineNumber}}else{count=originalModel.getLineCount()-lastOriginalLineNumber+1}for(let i2=0;i2<count;i2++){const originalLineNumber=lastOriginalLineNumber+i2;const modifiedLineNumber=lastModifiedLineNumber+i2;const originalViewLineCount=originalCoordinatesConverter.getModelLineViewLineCount(originalLineNumber);const modifiedViewLineCount=modifiedCoordinatesConverter.getModelLineViewLineCount(modifiedLineNumber);if(originalViewLineCount<modifiedViewLineCount){stepOriginal.push({afterLineNumber:originalLineNumber,heightInLines:modifiedViewLineCount-originalViewLineCount,domNode:null,marginDomNode:null})}else if(originalViewLineCount>modifiedViewLineCount){stepModified.push({afterLineNumber:modifiedLineNumber,heightInLines:originalViewLineCount-modifiedViewLineCount,domNode:null,marginDomNode:null})}}if(lineChange){lastOriginalLineNumber=(lineChange.originalEndLineNumber>0?lineChange.originalEndLineNumber:lineChange.originalStartLineNumber)+1;lastModifiedLineNumber=(lineChange.modifiedEndLineNumber>0?lineChange.modifiedEndLineNumber:lineChange.modifiedStartLineNumber)+1}}while(modifiedForeignVZ.current&&modifiedForeignVZ.current.afterLineNumber<=modifiedEndEquivalentLineNumber){let viewZoneLineNumber;if(modifiedForeignVZ.current.afterLineNumber<=modifiedEquivalentLineNumber){viewZoneLineNumber=originalEquivalentLineNumber-modifiedEquivalentLineNumber+modifiedForeignVZ.current.afterLineNumber}else{viewZoneLineNumber=originalEndEquivalentLineNumber}let marginDomNode=null;if(lineChange&&lineChange.modifiedStartLineNumber<=modifiedForeignVZ.current.afterLineNumber&&modifiedForeignVZ.current.afterLineNumber<=lineChange.modifiedEndLineNumber){marginDomNode=this._createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion()}stepOriginal.push({afterLineNumber:viewZoneLineNumber,heightInLines:modifiedForeignVZ.current.height/modifiedLineHeight,domNode:null,marginDomNode:marginDomNode});modifiedForeignVZ.advance()}while(originalForeignVZ.current&&originalForeignVZ.current.afterLineNumber<=originalEndEquivalentLineNumber){let viewZoneLineNumber;if(originalForeignVZ.current.afterLineNumber<=originalEquivalentLineNumber){viewZoneLineNumber=modifiedEquivalentLineNumber-originalEquivalentLineNumber+originalForeignVZ.current.afterLineNumber}else{viewZoneLineNumber=modifiedEndEquivalentLineNumber}stepModified.push({afterLineNumber:viewZoneLineNumber,heightInLines:originalForeignVZ.current.height/originalLineHeight,domNode:null});originalForeignVZ.advance()}if(lineChange!==null&&isChangeOrInsert(lineChange)){const r=this._produceOriginalFromDiff(lineChange,lineChangeOriginalLength,lineChangeModifiedLength);if(r){stepOriginal.push(r)}}if(lineChange!==null&&isChangeOrDelete(lineChange)){const r=this._produceModifiedFromDiff(lineChange,lineChangeOriginalLength,lineChangeModifiedLength);if(r){stepModified.push(r)}}let stepOriginalIndex=0;let stepModifiedIndex=0;stepOriginal=stepOriginal.sort(sortMyViewZones);stepModified=stepModified.sort(sortMyViewZones);while(stepOriginalIndex<stepOriginal.length&&stepModifiedIndex<stepModified.length){const original=stepOriginal[stepOriginalIndex];const modified=stepModified[stepModifiedIndex];const originalDelta=original.afterLineNumber-originalEquivalentLineNumber;const modifiedDelta=modified.afterLineNumber-modifiedEquivalentLineNumber;if(originalDelta<modifiedDelta){addAndCombineIfPossible(result.original,original);stepOriginalIndex++}else if(modifiedDelta<originalDelta){addAndCombineIfPossible(result.modified,modified);stepModifiedIndex++}else if(original.shouldNotShrink){addAndCombineIfPossible(result.original,original);stepOriginalIndex++}else if(modified.shouldNotShrink){addAndCombineIfPossible(result.modified,modified);stepModifiedIndex++}else{if(original.heightInLines>=modified.heightInLines){original.heightInLines-=modified.heightInLines;stepModifiedIndex++}else{modified.heightInLines-=original.heightInLines;stepOriginalIndex++}}}while(stepOriginalIndex<stepOriginal.length){addAndCombineIfPossible(result.original,stepOriginal[stepOriginalIndex]);stepOriginalIndex++}while(stepModifiedIndex<stepModified.length){addAndCombineIfPossible(result.modified,stepModified[stepModifiedIndex]);stepModifiedIndex++}}return{original:ViewZonesComputer._ensureDomNodes(result.original),modified:ViewZonesComputer._ensureDomNodes(result.modified)}}static _ensureDomNodes(zones){return zones.map((z=>{if(!z.domNode){z.domNode=createFakeLinesDiv()}return z}))}};DECORATIONS={arrowRevertChange:ModelDecorationOptions.register({description:"diff-editor-arrow-revert-change",glyphMarginHoverMessage:new MarkdownString(void 0,{isTrusted:true,supportThemeIcons:true}).appendMarkdown(localize("revertChangeHoverMessage","Click to revert change")),glyphMarginClassName:"arrow-revert-change "+ThemeIcon.asClassName(Codicon.arrowRight),zIndex:10001}),charDelete:ModelDecorationOptions.register({description:"diff-editor-char-delete",className:"char-delete"}),charDeleteWholeLine:ModelDecorationOptions.register({description:"diff-editor-char-delete-whole-line",className:"char-delete",isWholeLine:true}),charInsert:ModelDecorationOptions.register({description:"diff-editor-char-insert",className:"char-insert"}),charInsertWholeLine:ModelDecorationOptions.register({description:"diff-editor-char-insert-whole-line",className:"char-insert",isWholeLine:true}),lineInsert:ModelDecorationOptions.register({description:"diff-editor-line-insert",className:"line-insert",marginClassName:"gutter-insert",isWholeLine:true}),lineInsertWithSign:ModelDecorationOptions.register({description:"diff-editor-line-insert-with-sign",className:"line-insert",linesDecorationsClassName:"insert-sign "+ThemeIcon.asClassName(diffInsertIcon),marginClassName:"gutter-insert",isWholeLine:true}),lineDelete:ModelDecorationOptions.register({description:"diff-editor-line-delete",className:"line-delete",marginClassName:"gutter-delete",isWholeLine:true}),lineDeleteWithSign:ModelDecorationOptions.register({description:"diff-editor-line-delete-with-sign",className:"line-delete",linesDecorationsClassName:"delete-sign "+ThemeIcon.asClassName(diffRemoveIcon),marginClassName:"gutter-delete",isWholeLine:true}),lineDeleteMargin:ModelDecorationOptions.register({description:"diff-editor-line-delete-margin",marginClassName:"gutter-delete"})};DiffEditorWidgetSideBySide=class extends DiffEditorWidgetStyle{constructor(dataSource,enableSplitViewResizing,defaultSashRatio){super(dataSource);this._disableSash=enableSplitViewResizing===false;this._defaultRatio=defaultSashRatio;this._sashRatio=null;this._sashPosition=null;this._startSashPosition=null;this._sash=this._register(new Sash(this._dataSource.getContainerDomNode(),this,{orientation:0}));if(this._disableSash){this._sash.state=0}this._sash.onDidStart((()=>this._onSashDragStart()));this._sash.onDidChange((e=>this._onSashDrag(e)));this._sash.onDidEnd((()=>this._onSashDragEnd()));this._sash.onDidReset((()=>this._onSashReset()))}setEnableSplitViewResizing(enableSplitViewResizing,defaultRatio){this._defaultRatio=defaultRatio;const newDisableSash=enableSplitViewResizing===false;if(this._disableSash!==newDisableSash){this._disableSash=newDisableSash;this._sash.state=this._disableSash?0:3}}layout(sashRatio=this._sashRatio||this._defaultRatio){const w=this._dataSource.getWidth();const contentWidth=w-(this._dataSource.getOptions().renderOverviewRuler?DiffEditorWidget.ENTIRE_DIFF_OVERVIEW_WIDTH:0);let sashPosition=Math.floor((sashRatio||this._defaultRatio)*contentWidth);const midPoint=Math.floor(this._defaultRatio*contentWidth);sashPosition=this._disableSash?midPoint:sashPosition||midPoint;if(contentWidth>DiffEditorWidgetSideBySide.MINIMUM_EDITOR_WIDTH*2){if(sashPosition<DiffEditorWidgetSideBySide.MINIMUM_EDITOR_WIDTH){sashPosition=DiffEditorWidgetSideBySide.MINIMUM_EDITOR_WIDTH}if(sashPosition>contentWidth-DiffEditorWidgetSideBySide.MINIMUM_EDITOR_WIDTH){sashPosition=contentWidth-DiffEditorWidgetSideBySide.MINIMUM_EDITOR_WIDTH}}else{sashPosition=midPoint}if(this._sashPosition!==sashPosition){this._sashPosition=sashPosition}this._sash.layout();return this._sashPosition}_onSashDragStart(){this._startSashPosition=this._sashPosition}_onSashDrag(e){const w=this._dataSource.getWidth();const contentWidth=w-(this._dataSource.getOptions().renderOverviewRuler?DiffEditorWidget.ENTIRE_DIFF_OVERVIEW_WIDTH:0);const sashPosition=this.layout((this._startSashPosition+(e.currentX-e.startX))/contentWidth);this._sashRatio=sashPosition/contentWidth;this._dataSource.relayoutEditors()}_onSashDragEnd(){this._sash.layout()}_onSashReset(){this._sashRatio=this._defaultRatio;this._dataSource.relayoutEditors();this._sash.layout()}getVerticalSashTop(sash){return 0}getVerticalSashLeft(sash){return this._sashPosition}getVerticalSashHeight(sash){return this._dataSource.getHeight()}setBoundarySashes(sashes){this._sash.orthogonalEndSash=sashes.bottom}_getViewZones(lineChanges,originalForeignVZ,modifiedForeignVZ){const originalEditor=this._dataSource.getOriginalEditor();const modifiedEditor=this._dataSource.getModifiedEditor();const c=new SideBySideViewZonesComputer(lineChanges,originalForeignVZ,modifiedForeignVZ,originalEditor,modifiedEditor);return c.getViewZones()}_getOriginalEditorDecorations(zones,lineChanges,ignoreTrimWhitespace,renderIndicators){const originalEditor=this._dataSource.getOriginalEditor();const overviewZoneColor=String(this._removeColor);const result={decorations:[],overviewZones:[]};const originalModel=originalEditor.getModel();const originalViewModel=originalEditor._getViewModel();for(const lineChange of lineChanges){if(isChangeOrDelete(lineChange)){result.decorations.push({range:new Range(lineChange.originalStartLineNumber,1,lineChange.originalEndLineNumber,1073741824),options:renderIndicators?DECORATIONS.lineDeleteWithSign:DECORATIONS.lineDelete});if(!isChangeOrInsert(lineChange)||!lineChange.charChanges){result.decorations.push(createDecoration(lineChange.originalStartLineNumber,1,lineChange.originalEndLineNumber,1073741824,DECORATIONS.charDeleteWholeLine))}const viewRange=getViewRange(originalModel,originalViewModel,lineChange.originalStartLineNumber,lineChange.originalEndLineNumber);result.overviewZones.push(new OverviewRulerZone(viewRange.startLineNumber,viewRange.endLineNumber,0,overviewZoneColor));if(lineChange.charChanges){for(const charChange of lineChange.charChanges){if(isCharChangeOrDelete(charChange)){if(ignoreTrimWhitespace){for(let lineNumber=charChange.originalStartLineNumber;lineNumber<=charChange.originalEndLineNumber;lineNumber++){let startColumn;let endColumn;if(lineNumber===charChange.originalStartLineNumber){startColumn=charChange.originalStartColumn}else{startColumn=originalModel.getLineFirstNonWhitespaceColumn(lineNumber)}if(lineNumber===charChange.originalEndLineNumber){endColumn=charChange.originalEndColumn}else{endColumn=originalModel.getLineLastNonWhitespaceColumn(lineNumber)}result.decorations.push(createDecoration(lineNumber,startColumn,lineNumber,endColumn,DECORATIONS.charDelete))}}else{result.decorations.push(createDecoration(charChange.originalStartLineNumber,charChange.originalStartColumn,charChange.originalEndLineNumber,charChange.originalEndColumn,DECORATIONS.charDelete))}}}}}}return result}_getModifiedEditorDecorations(zones,lineChanges,ignoreTrimWhitespace,renderIndicators,renderMarginRevertIcon){const modifiedEditor=this._dataSource.getModifiedEditor();const overviewZoneColor=String(this._insertColor);const result={decorations:[],overviewZones:[]};const modifiedModel=modifiedEditor.getModel();const modifiedViewModel=modifiedEditor._getViewModel();for(const lineChange of lineChanges){if(renderMarginRevertIcon){if(lineChange.modifiedEndLineNumber>0){result.decorations.push({range:new Range(lineChange.modifiedStartLineNumber,1,lineChange.modifiedStartLineNumber,1),options:DECORATIONS.arrowRevertChange})}else{const viewZone=zones.modified.find((z=>z.afterLineNumber===lineChange.modifiedStartLineNumber));if(viewZone){viewZone.marginDomNode=createViewZoneMarginArrow()}}}if(isChangeOrInsert(lineChange)){result.decorations.push({range:new Range(lineChange.modifiedStartLineNumber,1,lineChange.modifiedEndLineNumber,1073741824),options:renderIndicators?DECORATIONS.lineInsertWithSign:DECORATIONS.lineInsert});if(!isChangeOrDelete(lineChange)||!lineChange.charChanges){result.decorations.push(createDecoration(lineChange.modifiedStartLineNumber,1,lineChange.modifiedEndLineNumber,1073741824,DECORATIONS.charInsertWholeLine))}const viewRange=getViewRange(modifiedModel,modifiedViewModel,lineChange.modifiedStartLineNumber,lineChange.modifiedEndLineNumber);result.overviewZones.push(new OverviewRulerZone(viewRange.startLineNumber,viewRange.endLineNumber,0,overviewZoneColor));if(lineChange.charChanges){for(const charChange of lineChange.charChanges){if(isCharChangeOrInsert(charChange)){if(ignoreTrimWhitespace){for(let lineNumber=charChange.modifiedStartLineNumber;lineNumber<=charChange.modifiedEndLineNumber;lineNumber++){let startColumn;let endColumn;if(lineNumber===charChange.modifiedStartLineNumber){startColumn=charChange.modifiedStartColumn}else{startColumn=modifiedModel.getLineFirstNonWhitespaceColumn(lineNumber)}if(lineNumber===charChange.modifiedEndLineNumber){endColumn=charChange.modifiedEndColumn}else{endColumn=modifiedModel.getLineLastNonWhitespaceColumn(lineNumber)}result.decorations.push(createDecoration(lineNumber,startColumn,lineNumber,endColumn,DECORATIONS.charInsert))}}else{result.decorations.push(createDecoration(charChange.modifiedStartLineNumber,charChange.modifiedStartColumn,charChange.modifiedEndLineNumber,charChange.modifiedEndColumn,DECORATIONS.charInsert))}}}}}}return result}};DiffEditorWidgetSideBySide.MINIMUM_EDITOR_WIDTH=100;SideBySideViewZonesComputer=class extends ViewZonesComputer{constructor(lineChanges,originalForeignVZ,modifiedForeignVZ,originalEditor,modifiedEditor){super(lineChanges,originalForeignVZ,modifiedForeignVZ,originalEditor,modifiedEditor)}_createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion(){return null}_produceOriginalFromDiff(lineChange,lineChangeOriginalLength,lineChangeModifiedLength){if(lineChangeModifiedLength>lineChangeOriginalLength){return{afterLineNumber:Math.max(lineChange.originalStartLineNumber,lineChange.originalEndLineNumber),heightInLines:lineChangeModifiedLength-lineChangeOriginalLength,domNode:null}}return null}_produceModifiedFromDiff(lineChange,lineChangeOriginalLength,lineChangeModifiedLength){if(lineChangeOriginalLength>lineChangeModifiedLength){return{afterLineNumber:Math.max(lineChange.modifiedStartLineNumber,lineChange.modifiedEndLineNumber),heightInLines:lineChangeOriginalLength-lineChangeModifiedLength,domNode:null}}return null}};DiffEditorWidgetInline=class extends DiffEditorWidgetStyle{constructor(dataSource,enableSplitViewResizing){super(dataSource);this._decorationsLeft=dataSource.getOriginalEditor().getLayoutInfo().decorationsLeft;this._register(dataSource.getOriginalEditor().onDidLayoutChange((layoutInfo=>{if(this._decorationsLeft!==layoutInfo.decorationsLeft){this._decorationsLeft=layoutInfo.decorationsLeft;dataSource.relayoutEditors()}})))}setEnableSplitViewResizing(enableSplitViewResizing){}_getViewZones(lineChanges,originalForeignVZ,modifiedForeignVZ,renderIndicators){const originalEditor=this._dataSource.getOriginalEditor();const modifiedEditor=this._dataSource.getModifiedEditor();const computer=new InlineViewZonesComputer(lineChanges,originalForeignVZ,modifiedForeignVZ,originalEditor,modifiedEditor,renderIndicators);return computer.getViewZones()}_getOriginalEditorDecorations(zones,lineChanges,ignoreTrimWhitespace,renderIndicators){const overviewZoneColor=String(this._removeColor);const result={decorations:[],overviewZones:[]};const originalEditor=this._dataSource.getOriginalEditor();const originalModel=originalEditor.getModel();const originalViewModel=originalEditor._getViewModel();let zoneIndex=0;for(const lineChange of lineChanges){if(isChangeOrDelete(lineChange)){result.decorations.push({range:new Range(lineChange.originalStartLineNumber,1,lineChange.originalEndLineNumber,1073741824),options:DECORATIONS.lineDeleteMargin});while(zoneIndex<zones.modified.length){const zone=zones.modified[zoneIndex];if(zone.diff&&zone.diff.originalStartLineNumber>=lineChange.originalStartLineNumber){break}zoneIndex++}let zoneHeightInLines=0;if(zoneIndex<zones.modified.length){const zone=zones.modified[zoneIndex];if(zone.diff&&zone.diff.originalStartLineNumber===lineChange.originalStartLineNumber&&zone.diff.originalEndLineNumber===lineChange.originalEndLineNumber&&zone.diff.modifiedStartLineNumber===lineChange.modifiedStartLineNumber&&zone.diff.modifiedEndLineNumber===lineChange.modifiedEndLineNumber){zoneHeightInLines=zone.heightInLines}}const viewRange=getViewRange(originalModel,originalViewModel,lineChange.originalStartLineNumber,lineChange.originalEndLineNumber);result.overviewZones.push(new OverviewRulerZone(viewRange.startLineNumber,viewRange.endLineNumber,zoneHeightInLines,overviewZoneColor))}}return result}_getModifiedEditorDecorations(zones,lineChanges,ignoreTrimWhitespace,renderIndicators,renderMarginRevertIcon){const modifiedEditor=this._dataSource.getModifiedEditor();const overviewZoneColor=String(this._insertColor);const result={decorations:[],overviewZones:[]};const modifiedModel=modifiedEditor.getModel();const modifiedViewModel=modifiedEditor._getViewModel();for(const lineChange of lineChanges){if(isChangeOrInsert(lineChange)){result.decorations.push({range:new Range(lineChange.modifiedStartLineNumber,1,lineChange.modifiedEndLineNumber,1073741824),options:renderIndicators?DECORATIONS.lineInsertWithSign:DECORATIONS.lineInsert});const viewRange=getViewRange(modifiedModel,modifiedViewModel,lineChange.modifiedStartLineNumber,lineChange.modifiedEndLineNumber);result.overviewZones.push(new OverviewRulerZone(viewRange.startLineNumber,viewRange.endLineNumber,0,overviewZoneColor));if(lineChange.charChanges){for(const charChange of lineChange.charChanges){if(isCharChangeOrInsert(charChange)){if(ignoreTrimWhitespace){for(let lineNumber=charChange.modifiedStartLineNumber;lineNumber<=charChange.modifiedEndLineNumber;lineNumber++){let startColumn;let endColumn;if(lineNumber===charChange.modifiedStartLineNumber){startColumn=charChange.modifiedStartColumn}else{startColumn=modifiedModel.getLineFirstNonWhitespaceColumn(lineNumber)}if(lineNumber===charChange.modifiedEndLineNumber){endColumn=charChange.modifiedEndColumn}else{endColumn=modifiedModel.getLineLastNonWhitespaceColumn(lineNumber)}result.decorations.push(createDecoration(lineNumber,startColumn,lineNumber,endColumn,DECORATIONS.charInsert))}}else{result.decorations.push(createDecoration(charChange.modifiedStartLineNumber,charChange.modifiedStartColumn,charChange.modifiedEndLineNumber,charChange.modifiedEndColumn,DECORATIONS.charInsert))}}}}else{result.decorations.push(createDecoration(lineChange.modifiedStartLineNumber,1,lineChange.modifiedEndLineNumber,1073741824,DECORATIONS.charInsertWholeLine))}}}return result}layout(){return Math.max(5,this._decorationsLeft)}};InlineViewZonesComputer=class extends ViewZonesComputer{constructor(lineChanges,originalForeignVZ,modifiedForeignVZ,originalEditor,modifiedEditor,renderIndicators){super(lineChanges,originalForeignVZ,modifiedForeignVZ,originalEditor,modifiedEditor);this._originalModel=originalEditor.getModel();this._renderIndicators=renderIndicators;this._pendingLineChange=[];this._pendingViewZones=[];this._lineBreaksComputer=this._modifiedEditor._getViewModel().createLineBreaksComputer()}getViewZones(){const result=super.getViewZones();this._finalize(result);return result}_createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion(){const result=document.createElement("div");result.className="inline-added-margin-view-zone";return result}_produceOriginalFromDiff(lineChange,lineChangeOriginalLength,lineChangeModifiedLength){const marginDomNode=document.createElement("div");marginDomNode.className="inline-added-margin-view-zone";return{afterLineNumber:Math.max(lineChange.originalStartLineNumber,lineChange.originalEndLineNumber),heightInLines:lineChangeModifiedLength,domNode:document.createElement("div"),marginDomNode:marginDomNode}}_produceModifiedFromDiff(lineChange,lineChangeOriginalLength,lineChangeModifiedLength){const domNode=document.createElement("div");domNode.className=`view-lines line-delete ${MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`;const marginDomNode=document.createElement("div");marginDomNode.className="inline-deleted-margin-view-zone";const viewZone={shouldNotShrink:true,afterLineNumber:lineChange.modifiedEndLineNumber===0?lineChange.modifiedStartLineNumber:lineChange.modifiedStartLineNumber-1,heightInLines:lineChangeOriginalLength,minWidthInPx:0,domNode:domNode,marginDomNode:marginDomNode,diff:{originalStartLineNumber:lineChange.originalStartLineNumber,originalEndLineNumber:lineChange.originalEndLineNumber,modifiedStartLineNumber:lineChange.modifiedStartLineNumber,modifiedEndLineNumber:lineChange.modifiedEndLineNumber,originalModel:this._originalModel,viewLineCounts:null}};for(let lineNumber=lineChange.originalStartLineNumber;lineNumber<=lineChange.originalEndLineNumber;lineNumber++){this._lineBreaksComputer.addRequest(this._originalModel.getLineContent(lineNumber),null,null)}this._pendingLineChange.push(lineChange);this._pendingViewZones.push(viewZone);return viewZone}_finalize(result){const modifiedEditorOptions=this._modifiedEditor.getOptions();const tabSize=this._modifiedEditor.getModel().getOptions().tabSize;const fontInfo=modifiedEditorOptions.get(49);const disableMonospaceOptimizations=modifiedEditorOptions.get(32);const typicalHalfwidthCharacterWidth=fontInfo.typicalHalfwidthCharacterWidth;const scrollBeyondLastColumn=modifiedEditorOptions.get(102);const mightContainNonBasicASCII=this._originalModel.mightContainNonBasicASCII();const mightContainRTL=this._originalModel.mightContainRTL();const lineHeight=modifiedEditorOptions.get(65);const layoutInfo=modifiedEditorOptions.get(142);const lineDecorationsWidth=layoutInfo.decorationsWidth;const stopRenderingLineAfter=modifiedEditorOptions.get(115);const renderWhitespace=modifiedEditorOptions.get(97);const renderControlCharacters=modifiedEditorOptions.get(92);const fontLigatures=modifiedEditorOptions.get(50);const lineBreaks=this._lineBreaksComputer.finalize();let lineBreakIndex=0;for(let i=0;i<this._pendingLineChange.length;i++){const lineChange=this._pendingLineChange[i];const viewZone=this._pendingViewZones[i];const domNode=viewZone.domNode;applyFontInfo(domNode,fontInfo);const marginDomNode=viewZone.marginDomNode;applyFontInfo(marginDomNode,fontInfo);const decorations=[];if(lineChange.charChanges){for(const charChange of lineChange.charChanges){if(isCharChangeOrDelete(charChange)){decorations.push(new InlineDecoration(new Range(charChange.originalStartLineNumber,charChange.originalStartColumn,charChange.originalEndLineNumber,charChange.originalEndColumn),"char-delete",0))}}}const hasCharChanges=decorations.length>0;const sb=new StringBuilder(1e4);let maxCharsPerLine=0;let renderedLineCount=0;let viewLineCounts=null;for(let lineNumber=lineChange.originalStartLineNumber;lineNumber<=lineChange.originalEndLineNumber;lineNumber++){const lineIndex=lineNumber-lineChange.originalStartLineNumber;const lineTokens=this._originalModel.tokenization.getLineTokens(lineNumber);const lineContent=lineTokens.getLineContent();const lineBreakData=lineBreaks[lineBreakIndex++];const actualDecorations=LineDecoration.filter(decorations,lineNumber,1,lineContent.length+1);if(lineBreakData){let lastBreakOffset=0;for(const breakOffset of lineBreakData.breakOffsets){const viewLineTokens=lineTokens.sliceAndInflate(lastBreakOffset,breakOffset,0);const viewLineContent=lineContent.substring(lastBreakOffset,breakOffset);maxCharsPerLine=Math.max(maxCharsPerLine,this._renderOriginalLine(renderedLineCount++,viewLineContent,viewLineTokens,LineDecoration.extractWrapped(actualDecorations,lastBreakOffset,breakOffset),hasCharChanges,mightContainNonBasicASCII,mightContainRTL,fontInfo,disableMonospaceOptimizations,lineHeight,lineDecorationsWidth,stopRenderingLineAfter,renderWhitespace,renderControlCharacters,fontLigatures,tabSize,sb,marginDomNode));lastBreakOffset=breakOffset}if(!viewLineCounts){viewLineCounts=[]}while(viewLineCounts.length<lineIndex){viewLineCounts[viewLineCounts.length]=1}viewLineCounts[lineIndex]=lineBreakData.breakOffsets.length;viewZone.heightInLines+=lineBreakData.breakOffsets.length-1;const marginDomNode2=document.createElement("div");marginDomNode2.className="gutter-delete";result.original.push({afterLineNumber:lineNumber,afterColumn:0,heightInLines:lineBreakData.breakOffsets.length-1,domNode:createFakeLinesDiv(),marginDomNode:marginDomNode2})}else{maxCharsPerLine=Math.max(maxCharsPerLine,this._renderOriginalLine(renderedLineCount++,lineContent,lineTokens,actualDecorations,hasCharChanges,mightContainNonBasicASCII,mightContainRTL,fontInfo,disableMonospaceOptimizations,lineHeight,lineDecorationsWidth,stopRenderingLineAfter,renderWhitespace,renderControlCharacters,fontLigatures,tabSize,sb,marginDomNode))}}maxCharsPerLine+=scrollBeyondLastColumn;const html2=sb.build();const trustedhtml=diffEditorWidgetTtPolicy?diffEditorWidgetTtPolicy.createHTML(html2):html2;domNode.innerHTML=trustedhtml;viewZone.minWidthInPx=maxCharsPerLine*typicalHalfwidthCharacterWidth;if(viewLineCounts){const cnt=lineChange.originalEndLineNumber-lineChange.originalStartLineNumber;while(viewLineCounts.length<=cnt){viewLineCounts[viewLineCounts.length]=1}}viewZone.diff.viewLineCounts=viewLineCounts}result.original.sort(((a,b)=>a.afterLineNumber-b.afterLineNumber))}_renderOriginalLine(renderedLineCount,lineContent,lineTokens,decorations,hasCharChanges,mightContainNonBasicASCII,mightContainRTL,fontInfo,disableMonospaceOptimizations,lineHeight,lineDecorationsWidth,stopRenderingLineAfter,renderWhitespace,renderControlCharacters,fontLigatures,tabSize,sb,marginDomNode){sb.appendString('<div class="view-line');if(!hasCharChanges){sb.appendString(" char-delete")}sb.appendString('" style="top:');sb.appendString(String(renderedLineCount*lineHeight));sb.appendString('px;width:1000000px;">');const isBasicASCII2=ViewLineRenderingData.isBasicASCII(lineContent,mightContainNonBasicASCII);const containsRTL2=ViewLineRenderingData.containsRTL(lineContent,isBasicASCII2,mightContainRTL);const output=renderViewLine(new RenderLineInput(fontInfo.isMonospace&&!disableMonospaceOptimizations,fontInfo.canUseHalfwidthRightwardsArrow,lineContent,false,isBasicASCII2,containsRTL2,0,lineTokens,decorations,tabSize,0,fontInfo.spaceWidth,fontInfo.middotWidth,fontInfo.wsmiddotWidth,stopRenderingLineAfter,renderWhitespace,renderControlCharacters,fontLigatures!==EditorFontLigatures.OFF,null),sb);sb.appendString("</div>");if(this._renderIndicators){const marginElement=document.createElement("div");marginElement.className=`delete-sign ${ThemeIcon.asClassName(diffRemoveIcon)}`;marginElement.setAttribute("style",`position:absolute;top:${renderedLineCount*lineHeight}px;width:${lineDecorationsWidth}px;height:${lineHeight}px;right:0;`);marginDomNode.appendChild(marginElement)}return output.characterMapping.getHorizontalOffset(output.characterMapping.length)}};registerThemingParticipant(((theme,collector)=>{const diffDiagonalFillColor=theme.getColor(diffDiagonalFill);collector.addRule(`\n\t.monaco-editor .diagonal-fill {\n\t\tbackground-image: linear-gradient(\n\t\t\t-45deg,\n\t\t\t${diffDiagonalFillColor} 12.5%,\n\t\t\t#0000 12.5%, #0000 50%,\n\t\t\t${diffDiagonalFillColor} 50%, ${diffDiagonalFillColor} 62.5%,\n\t\t\t#0000 62.5%, #0000 100%\n\t\t);\n\t\tbackground-size: 8px 8px;\n\t}\n\t`)}))}});var __decorate20,__param16,__awaiter16,AbstractCodeEditorService;var init_abstractCodeEditorService=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/services/abstractCodeEditorService.js"(){init_event();init_lifecycle();init_linkedList();init_themeService();__decorate20=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param16=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};__awaiter16=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};AbstractCodeEditorService=class AbstractCodeEditorService2 extends Disposable{constructor(_themeService){super();this._themeService=_themeService;this._onWillCreateCodeEditor=this._register(new Emitter);this._onCodeEditorAdd=this._register(new Emitter);this.onCodeEditorAdd=this._onCodeEditorAdd.event;this._onCodeEditorRemove=this._register(new Emitter);this.onCodeEditorRemove=this._onCodeEditorRemove.event;this._onWillCreateDiffEditor=this._register(new Emitter);this._onDiffEditorAdd=this._register(new Emitter);this.onDiffEditorAdd=this._onDiffEditorAdd.event;this._onDiffEditorRemove=this._register(new Emitter);this.onDiffEditorRemove=this._onDiffEditorRemove.event;this._decorationOptionProviders=new Map;this._codeEditorOpenHandlers=new LinkedList;this._modelProperties=new Map;this._codeEditors=Object.create(null);this._diffEditors=Object.create(null);this._globalStyleSheet=null}willCreateCodeEditor(){this._onWillCreateCodeEditor.fire()}addCodeEditor(editor2){this._codeEditors[editor2.getId()]=editor2;this._onCodeEditorAdd.fire(editor2)}removeCodeEditor(editor2){if(delete this._codeEditors[editor2.getId()]){this._onCodeEditorRemove.fire(editor2)}}listCodeEditors(){return Object.keys(this._codeEditors).map((id=>this._codeEditors[id]))}willCreateDiffEditor(){this._onWillCreateDiffEditor.fire()}addDiffEditor(editor2){this._diffEditors[editor2.getId()]=editor2;this._onDiffEditorAdd.fire(editor2)}removeDiffEditor(editor2){if(delete this._diffEditors[editor2.getId()]){this._onDiffEditorRemove.fire(editor2)}}listDiffEditors(){return Object.keys(this._diffEditors).map((id=>this._diffEditors[id]))}getFocusedCodeEditor(){let editorWithWidgetFocus=null;const editors=this.listCodeEditors();for(const editor2 of editors){if(editor2.hasTextFocus()){return editor2}if(editor2.hasWidgetFocus()){editorWithWidgetFocus=editor2}}return editorWithWidgetFocus}removeDecorationType(key){const provider=this._decorationOptionProviders.get(key);if(provider){provider.refCount--;if(provider.refCount<=0){this._decorationOptionProviders.delete(key);provider.dispose();this.listCodeEditors().forEach((ed=>ed.removeDecorationsByType(key)))}}}setModelProperty(resource,key,value){const key1=resource.toString();let dest;if(this._modelProperties.has(key1)){dest=this._modelProperties.get(key1)}else{dest=new Map;this._modelProperties.set(key1,dest)}dest.set(key,value)}getModelProperty(resource,key){const key1=resource.toString();if(this._modelProperties.has(key1)){const innerMap=this._modelProperties.get(key1);return innerMap.get(key)}return void 0}openCodeEditor(input,source,sideBySide){return __awaiter16(this,void 0,void 0,(function*(){for(const handler of this._codeEditorOpenHandlers){const candidate=yield handler(input,source,sideBySide);if(candidate!==null){return candidate}}return null}))}registerCodeEditorOpenHandler(handler){const rm=this._codeEditorOpenHandlers.unshift(handler);return toDisposable(rm)}};AbstractCodeEditorService=__decorate20([__param16(0,IThemeService)],AbstractCodeEditorService)}});var __decorate21,__param17,__awaiter17,StandaloneCodeEditorService;var init_standaloneCodeEditorService=__esm({"node_modules/monaco-editor/esm/vs/editor/standalone/browser/standaloneCodeEditorService.js"(){init_dom();init_network();init_abstractCodeEditorService();init_codeEditorService();init_contextkey();init_extensions();init_themeService();__decorate21=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param17=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};__awaiter17=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};StandaloneCodeEditorService=class StandaloneCodeEditorService2 extends AbstractCodeEditorService{constructor(contextKeyService,themeService){super(themeService);this.onCodeEditorAdd((()=>this._checkContextKey()));this.onCodeEditorRemove((()=>this._checkContextKey()));this._editorIsOpen=contextKeyService.createKey("editorIsOpen",false);this._activeCodeEditor=null;this.registerCodeEditorOpenHandler(((input,source,sideBySide)=>__awaiter17(this,void 0,void 0,(function*(){if(!source){return null}return this.doOpenEditor(source,input)}))))}_checkContextKey(){let hasCodeEditor=false;for(const editor2 of this.listCodeEditors()){if(!editor2.isSimpleWidget){hasCodeEditor=true;break}}this._editorIsOpen.set(hasCodeEditor)}setActiveCodeEditor(activeCodeEditor){this._activeCodeEditor=activeCodeEditor}getActiveCodeEditor(){return this._activeCodeEditor}doOpenEditor(editor2,input){const model=this.findModel(editor2,input.resource);if(!model){if(input.resource){const schema=input.resource.scheme;if(schema===Schemas.http||schema===Schemas.https){windowOpenNoOpener(input.resource.toString());return editor2}}return null}const selection=input.options?input.options.selection:null;if(selection){if(typeof selection.endLineNumber==="number"&&typeof selection.endColumn==="number"){editor2.setSelection(selection);editor2.revealRangeInCenter(selection,1)}else{const pos={lineNumber:selection.startLineNumber,column:selection.startColumn};editor2.setPosition(pos);editor2.revealPositionInCenter(pos,1)}}return editor2}findModel(editor2,resource){const model=editor2.getModel();if(model&&model.uri.toString()!==resource.toString()){return null}return model}};StandaloneCodeEditorService=__decorate21([__param17(0,IContextKeyService),__param17(1,IThemeService)],StandaloneCodeEditorService);registerSingleton(ICodeEditorService,StandaloneCodeEditorService,0)}});var ILayoutService;var init_layoutService=__esm({"node_modules/monaco-editor/esm/vs/platform/layout/browser/layoutService.js"(){init_instantiation();ILayoutService=createDecorator("layoutService")}});var __decorate22,__param18,StandaloneLayoutService,EditorScopedLayoutService;var init_standaloneLayoutService=__esm({"node_modules/monaco-editor/esm/vs/editor/standalone/browser/standaloneLayoutService.js"(){init_dom();init_event();init_layoutService();init_codeEditorService();init_extensions();__decorate22=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param18=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};StandaloneLayoutService=class StandaloneLayoutService2{get dimension(){if(!this._dimension){this._dimension=getClientArea(window.document.body)}return this._dimension}get hasContainer(){return false}get container(){throw new Error(`ILayoutService.container is not available in the standalone editor!`)}focus(){var _a6;(_a6=this._codeEditorService.getFocusedCodeEditor())===null||_a6===void 0?void 0:_a6.focus()}constructor(_codeEditorService){this._codeEditorService=_codeEditorService;this.onDidLayout=Event.None;this.offset={top:0,quickPickTop:0}}};StandaloneLayoutService=__decorate22([__param18(0,ICodeEditorService)],StandaloneLayoutService);EditorScopedLayoutService=class EditorScopedLayoutService2 extends StandaloneLayoutService{get hasContainer(){return false}get container(){return this._container}constructor(_container,codeEditorService){super(codeEditorService);this._container=_container}};EditorScopedLayoutService=__decorate22([__param18(1,ICodeEditorService)],EditorScopedLayoutService);registerSingleton(ILayoutService,StandaloneLayoutService,1)}});var IDialogService;var init_dialogs=__esm({"node_modules/monaco-editor/esm/vs/platform/dialogs/common/dialogs.js"(){init_instantiation();IDialogService=createDecorator("dialogService")}});function getResourceLabel(resource){return resource.scheme===Schemas.file?resource.fsPath:resource.path}var __decorate23,__param19,__awaiter18,DEBUG2,stackElementCounter,ResourceStackElement,ResourceReasonPair,RemovedResources,WorkspaceStackElement,ResourceEditStack,EditStackSnapshot,missingEditStack,UndoRedoService,WorkspaceVerificationError;var init_undoRedoService=__esm({"node_modules/monaco-editor/esm/vs/platform/undoRedo/common/undoRedoService.js"(){init_errors();init_lifecycle();init_network();init_severity();init_nls();init_dialogs();init_extensions();init_notification();init_undoRedo();__decorate23=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param19=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};__awaiter18=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};DEBUG2=false;stackElementCounter=0;ResourceStackElement=class{constructor(actual,resourceLabel,strResource,groupId,groupOrder,sourceId,sourceOrder){this.id=++stackElementCounter;this.type=0;this.actual=actual;this.label=actual.label;this.confirmBeforeUndo=actual.confirmBeforeUndo||false;this.resourceLabel=resourceLabel;this.strResource=strResource;this.resourceLabels=[this.resourceLabel];this.strResources=[this.strResource];this.groupId=groupId;this.groupOrder=groupOrder;this.sourceId=sourceId;this.sourceOrder=sourceOrder;this.isValid=true}setValid(isValid2){this.isValid=isValid2}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.isValid?" VALID":"INVALID"}] ${this.actual.constructor.name} - ${this.actual}`}};ResourceReasonPair=class{constructor(resourceLabel,reason){this.resourceLabel=resourceLabel;this.reason=reason}};RemovedResources=class{constructor(){this.elements=new Map}createMessage(){const externalRemoval=[];const noParallelUniverses=[];for(const[,element]of this.elements){const dest=element.reason===0?externalRemoval:noParallelUniverses;dest.push(element.resourceLabel)}const messages=[];if(externalRemoval.length>0){messages.push(localize({key:"externalRemoval",comment:["{0} is a list of filenames"]},"The following files have been closed and modified on disk: {0}.",externalRemoval.join(", ")))}if(noParallelUniverses.length>0){messages.push(localize({key:"noParallelUniverses",comment:["{0} is a list of filenames"]},"The following files have been modified in an incompatible way: {0}.",noParallelUniverses.join(", ")))}return messages.join("\n")}get size(){return this.elements.size}has(strResource){return this.elements.has(strResource)}set(strResource,value){this.elements.set(strResource,value)}delete(strResource){return this.elements.delete(strResource)}};WorkspaceStackElement=class{constructor(actual,resourceLabels,strResources,groupId,groupOrder,sourceId,sourceOrder){this.id=++stackElementCounter;this.type=1;this.actual=actual;this.label=actual.label;this.confirmBeforeUndo=actual.confirmBeforeUndo||false;this.resourceLabels=resourceLabels;this.strResources=strResources;this.groupId=groupId;this.groupOrder=groupOrder;this.sourceId=sourceId;this.sourceOrder=sourceOrder;this.removedResources=null;this.invalidatedResources=null}canSplit(){return typeof this.actual.split==="function"}removeResource(resourceLabel,strResource,reason){if(!this.removedResources){this.removedResources=new RemovedResources}if(!this.removedResources.has(strResource)){this.removedResources.set(strResource,new ResourceReasonPair(resourceLabel,reason))}}setValid(resourceLabel,strResource,isValid2){if(isValid2){if(this.invalidatedResources){this.invalidatedResources.delete(strResource);if(this.invalidatedResources.size===0){this.invalidatedResources=null}}}else{if(!this.invalidatedResources){this.invalidatedResources=new RemovedResources}if(!this.invalidatedResources.has(strResource)){this.invalidatedResources.set(strResource,new ResourceReasonPair(resourceLabel,0))}}}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.invalidatedResources?"INVALID":" VALID"}] ${this.actual.constructor.name} - ${this.actual}`}};ResourceEditStack=class{constructor(resourceLabel,strResource){this.resourceLabel=resourceLabel;this.strResource=strResource;this._past=[];this._future=[];this.locked=false;this.versionId=1}dispose(){for(const element of this._past){if(element.type===1){element.removeResource(this.resourceLabel,this.strResource,0)}}for(const element of this._future){if(element.type===1){element.removeResource(this.resourceLabel,this.strResource,0)}}this.versionId++}toString(){const result=[];result.push(`* ${this.strResource}:`);for(let i=0;i<this._past.length;i++){result.push(` * [UNDO] ${this._past[i]}`)}for(let i=this._future.length-1;i>=0;i--){result.push(` * [REDO] ${this._future[i]}`)}return result.join("\n")}flushAllElements(){this._past=[];this._future=[];this.versionId++}_setElementValidFlag(element,isValid2){if(element.type===1){element.setValid(this.resourceLabel,this.strResource,isValid2)}else{element.setValid(isValid2)}}setElementsValidFlag(isValid2,filter){for(const element of this._past){if(filter(element.actual)){this._setElementValidFlag(element,isValid2)}}for(const element of this._future){if(filter(element.actual)){this._setElementValidFlag(element,isValid2)}}}pushElement(element){for(const futureElement of this._future){if(futureElement.type===1){futureElement.removeResource(this.resourceLabel,this.strResource,1)}}this._future=[];this._past.push(element);this.versionId++}createSnapshot(resource){const elements=[];for(let i=0,len=this._past.length;i<len;i++){elements.push(this._past[i].id)}for(let i=this._future.length-1;i>=0;i--){elements.push(this._future[i].id)}return new ResourceEditStackSnapshot(resource,elements)}restoreSnapshot(snapshot){const snapshotLength=snapshot.elements.length;let isOK=true;let snapshotIndex=0;let removePastAfter=-1;for(let i=0,len=this._past.length;i<len;i++,snapshotIndex++){const element=this._past[i];if(isOK&&(snapshotIndex>=snapshotLength||element.id!==snapshot.elements[snapshotIndex])){isOK=false;removePastAfter=0}if(!isOK&&element.type===1){element.removeResource(this.resourceLabel,this.strResource,0)}}let removeFutureBefore=-1;for(let i=this._future.length-1;i>=0;i--,snapshotIndex++){const element=this._future[i];if(isOK&&(snapshotIndex>=snapshotLength||element.id!==snapshot.elements[snapshotIndex])){isOK=false;removeFutureBefore=i}if(!isOK&&element.type===1){element.removeResource(this.resourceLabel,this.strResource,0)}}if(removePastAfter!==-1){this._past=this._past.slice(0,removePastAfter)}if(removeFutureBefore!==-1){this._future=this._future.slice(removeFutureBefore+1)}this.versionId++}getElements(){const past=[];const future=[];for(const element of this._past){past.push(element.actual)}for(const element of this._future){future.push(element.actual)}return{past:past,future:future}}getClosestPastElement(){if(this._past.length===0){return null}return this._past[this._past.length-1]}getSecondClosestPastElement(){if(this._past.length<2){return null}return this._past[this._past.length-2]}getClosestFutureElement(){if(this._future.length===0){return null}return this._future[this._future.length-1]}hasPastElements(){return this._past.length>0}hasFutureElements(){return this._future.length>0}splitPastWorkspaceElement(toRemove,individualMap){for(let j=this._past.length-1;j>=0;j--){if(this._past[j]===toRemove){if(individualMap.has(this.strResource)){this._past[j]=individualMap.get(this.strResource)}else{this._past.splice(j,1)}break}}this.versionId++}splitFutureWorkspaceElement(toRemove,individualMap){for(let j=this._future.length-1;j>=0;j--){if(this._future[j]===toRemove){if(individualMap.has(this.strResource)){this._future[j]=individualMap.get(this.strResource)}else{this._future.splice(j,1)}break}}this.versionId++}moveBackward(element){this._past.pop();this._future.push(element);this.versionId++}moveForward(element){this._future.pop();this._past.push(element);this.versionId++}};EditStackSnapshot=class{constructor(editStacks){this.editStacks=editStacks;this._versionIds=[];for(let i=0,len=this.editStacks.length;i<len;i++){this._versionIds[i]=this.editStacks[i].versionId}}isValid(){for(let i=0,len=this.editStacks.length;i<len;i++){if(this._versionIds[i]!==this.editStacks[i].versionId){return false}}return true}};missingEditStack=new ResourceEditStack("","");missingEditStack.locked=true;UndoRedoService=class UndoRedoService2{constructor(_dialogService,_notificationService){this._dialogService=_dialogService;this._notificationService=_notificationService;this._editStacks=new Map;this._uriComparisonKeyComputers=[]}getUriComparisonKey(resource){for(const uriComparisonKeyComputer of this._uriComparisonKeyComputers){if(uriComparisonKeyComputer[0]===resource.scheme){return uriComparisonKeyComputer[1].getComparisonKey(resource)}}return resource.toString()}_print(label){console.log(`------------------------------------`);console.log(`AFTER ${label}: `);const str=[];for(const element of this._editStacks){str.push(element[1].toString())}console.log(str.join("\n"))}pushElement(element,group3=UndoRedoGroup.None,source=UndoRedoSource.None){if(element.type===0){const resourceLabel=getResourceLabel(element.resource);const strResource=this.getUriComparisonKey(element.resource);this._pushElement(new ResourceStackElement(element,resourceLabel,strResource,group3.id,group3.nextOrder(),source.id,source.nextOrder()))}else{const seen=new Set;const resourceLabels=[];const strResources=[];for(const resource of element.resources){const resourceLabel=getResourceLabel(resource);const strResource=this.getUriComparisonKey(resource);if(seen.has(strResource)){continue}seen.add(strResource);resourceLabels.push(resourceLabel);strResources.push(strResource)}if(resourceLabels.length===1){this._pushElement(new ResourceStackElement(element,resourceLabels[0],strResources[0],group3.id,group3.nextOrder(),source.id,source.nextOrder()))}else{this._pushElement(new WorkspaceStackElement(element,resourceLabels,strResources,group3.id,group3.nextOrder(),source.id,source.nextOrder()))}}if(DEBUG2){this._print("pushElement")}}_pushElement(element){for(let i=0,len=element.strResources.length;i<len;i++){const resourceLabel=element.resourceLabels[i];const strResource=element.strResources[i];let editStack;if(this._editStacks.has(strResource)){editStack=this._editStacks.get(strResource)}else{editStack=new ResourceEditStack(resourceLabel,strResource);this._editStacks.set(strResource,editStack)}editStack.pushElement(element)}}getLastElement(resource){const strResource=this.getUriComparisonKey(resource);if(this._editStacks.has(strResource)){const editStack=this._editStacks.get(strResource);if(editStack.hasFutureElements()){return null}const closestPastElement=editStack.getClosestPastElement();return closestPastElement?closestPastElement.actual:null}return null}_splitPastWorkspaceElement(toRemove,ignoreResources){const individualArr=toRemove.actual.split();const individualMap=new Map;for(const _element of individualArr){const resourceLabel=getResourceLabel(_element.resource);const strResource=this.getUriComparisonKey(_element.resource);const element=new ResourceStackElement(_element,resourceLabel,strResource,0,0,0,0);individualMap.set(element.strResource,element)}for(const strResource of toRemove.strResources){if(ignoreResources&&ignoreResources.has(strResource)){continue}const editStack=this._editStacks.get(strResource);editStack.splitPastWorkspaceElement(toRemove,individualMap)}}_splitFutureWorkspaceElement(toRemove,ignoreResources){const individualArr=toRemove.actual.split();const individualMap=new Map;for(const _element of individualArr){const resourceLabel=getResourceLabel(_element.resource);const strResource=this.getUriComparisonKey(_element.resource);const element=new ResourceStackElement(_element,resourceLabel,strResource,0,0,0,0);individualMap.set(element.strResource,element)}for(const strResource of toRemove.strResources){if(ignoreResources&&ignoreResources.has(strResource)){continue}const editStack=this._editStacks.get(strResource);editStack.splitFutureWorkspaceElement(toRemove,individualMap)}}removeElements(resource){const strResource=typeof resource==="string"?resource:this.getUriComparisonKey(resource);if(this._editStacks.has(strResource)){const editStack=this._editStacks.get(strResource);editStack.dispose();this._editStacks.delete(strResource)}if(DEBUG2){this._print("removeElements")}}setElementsValidFlag(resource,isValid2,filter){const strResource=this.getUriComparisonKey(resource);if(this._editStacks.has(strResource)){const editStack=this._editStacks.get(strResource);editStack.setElementsValidFlag(isValid2,filter)}if(DEBUG2){this._print("setElementsValidFlag")}}createSnapshot(resource){const strResource=this.getUriComparisonKey(resource);if(this._editStacks.has(strResource)){const editStack=this._editStacks.get(strResource);return editStack.createSnapshot(resource)}return new ResourceEditStackSnapshot(resource,[])}restoreSnapshot(snapshot){const strResource=this.getUriComparisonKey(snapshot.resource);if(this._editStacks.has(strResource)){const editStack=this._editStacks.get(strResource);editStack.restoreSnapshot(snapshot);if(!editStack.hasPastElements()&&!editStack.hasFutureElements()){editStack.dispose();this._editStacks.delete(strResource)}}if(DEBUG2){this._print("restoreSnapshot")}}getElements(resource){const strResource=this.getUriComparisonKey(resource);if(this._editStacks.has(strResource)){const editStack=this._editStacks.get(strResource);return editStack.getElements()}return{past:[],future:[]}}_findClosestUndoElementWithSource(sourceId){if(!sourceId){return[null,null]}let matchedElement=null;let matchedStrResource=null;for(const[strResource,editStack]of this._editStacks){const candidate=editStack.getClosestPastElement();if(!candidate){continue}if(candidate.sourceId===sourceId){if(!matchedElement||candidate.sourceOrder>matchedElement.sourceOrder){matchedElement=candidate;matchedStrResource=strResource}}}return[matchedElement,matchedStrResource]}canUndo(resourceOrSource){if(resourceOrSource instanceof UndoRedoSource){const[,matchedStrResource]=this._findClosestUndoElementWithSource(resourceOrSource.id);return matchedStrResource?true:false}const strResource=this.getUriComparisonKey(resourceOrSource);if(this._editStacks.has(strResource)){const editStack=this._editStacks.get(strResource);return editStack.hasPastElements()}return false}_onError(err,element){onUnexpectedError(err);for(const strResource of element.strResources){this.removeElements(strResource)}this._notificationService.error(err)}_acquireLocks(editStackSnapshot){for(const editStack of editStackSnapshot.editStacks){if(editStack.locked){throw new Error("Cannot acquire edit stack lock")}}for(const editStack of editStackSnapshot.editStacks){editStack.locked=true}return()=>{for(const editStack of editStackSnapshot.editStacks){editStack.locked=false}}}_safeInvokeWithLocks(element,invoke,editStackSnapshot,cleanup,continuation){const releaseLocks=this._acquireLocks(editStackSnapshot);let result;try{result=invoke()}catch(err){releaseLocks();cleanup.dispose();return this._onError(err,element)}if(result){return result.then((()=>{releaseLocks();cleanup.dispose();return continuation()}),(err=>{releaseLocks();cleanup.dispose();return this._onError(err,element)}))}else{releaseLocks();cleanup.dispose();return continuation()}}_invokeWorkspacePrepare(element){return __awaiter18(this,void 0,void 0,(function*(){if(typeof element.actual.prepareUndoRedo==="undefined"){return Disposable.None}const result=element.actual.prepareUndoRedo();if(typeof result==="undefined"){return Disposable.None}return result}))}_invokeResourcePrepare(element,callback){if(element.actual.type!==1||typeof element.actual.prepareUndoRedo==="undefined"){return callback(Disposable.None)}const r=element.actual.prepareUndoRedo();if(!r){return callback(Disposable.None)}if(isDisposable(r)){return callback(r)}return r.then((disposable=>callback(disposable)))}_getAffectedEditStacks(element){const affectedEditStacks=[];for(const strResource of element.strResources){affectedEditStacks.push(this._editStacks.get(strResource)||missingEditStack)}return new EditStackSnapshot(affectedEditStacks)}_tryToSplitAndUndo(strResource,element,ignoreResources,message){if(element.canSplit()){this._splitPastWorkspaceElement(element,ignoreResources);this._notificationService.warn(message);return new WorkspaceVerificationError(this._undo(strResource,0,true))}else{for(const strResource2 of element.strResources){this.removeElements(strResource2)}this._notificationService.warn(message);return new WorkspaceVerificationError}}_checkWorkspaceUndo(strResource,element,editStackSnapshot,checkInvalidatedResources){if(element.removedResources){return this._tryToSplitAndUndo(strResource,element,element.removedResources,localize({key:"cannotWorkspaceUndo",comment:["{0} is a label for an operation. {1} is another message."]},"Could not undo '{0}' across all files. {1}",element.label,element.removedResources.createMessage()))}if(checkInvalidatedResources&&element.invalidatedResources){return this._tryToSplitAndUndo(strResource,element,element.invalidatedResources,localize({key:"cannotWorkspaceUndo",comment:["{0} is a label for an operation. {1} is another message."]},"Could not undo '{0}' across all files. {1}",element.label,element.invalidatedResources.createMessage()))}const cannotUndoDueToResources=[];for(const editStack of editStackSnapshot.editStacks){if(editStack.getClosestPastElement()!==element){cannotUndoDueToResources.push(editStack.resourceLabel)}}if(cannotUndoDueToResources.length>0){return this._tryToSplitAndUndo(strResource,element,null,localize({key:"cannotWorkspaceUndoDueToChanges",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because changes were made to {1}",element.label,cannotUndoDueToResources.join(", ")))}const cannotLockDueToResources=[];for(const editStack of editStackSnapshot.editStacks){if(editStack.locked){cannotLockDueToResources.push(editStack.resourceLabel)}}if(cannotLockDueToResources.length>0){return this._tryToSplitAndUndo(strResource,element,null,localize({key:"cannotWorkspaceUndoDueToInProgressUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}",element.label,cannotLockDueToResources.join(", ")))}if(!editStackSnapshot.isValid()){return this._tryToSplitAndUndo(strResource,element,null,localize({key:"cannotWorkspaceUndoDueToInMeantimeUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because an undo or redo operation occurred in the meantime",element.label))}return null}_workspaceUndo(strResource,element,undoConfirmed){const affectedEditStacks=this._getAffectedEditStacks(element);const verificationError=this._checkWorkspaceUndo(strResource,element,affectedEditStacks,false);if(verificationError){return verificationError.returnValue}return this._confirmAndExecuteWorkspaceUndo(strResource,element,affectedEditStacks,undoConfirmed)}_isPartOfUndoGroup(element){if(!element.groupId){return false}for(const[,editStack]of this._editStacks){const pastElement=editStack.getClosestPastElement();if(!pastElement){continue}if(pastElement===element){const secondPastElement=editStack.getSecondClosestPastElement();if(secondPastElement&&secondPastElement.groupId===element.groupId){return true}}if(pastElement.groupId===element.groupId){return true}}return false}_confirmAndExecuteWorkspaceUndo(strResource,element,editStackSnapshot,undoConfirmed){return __awaiter18(this,void 0,void 0,(function*(){if(element.canSplit()&&!this._isPartOfUndoGroup(element)){let UndoChoice;(function(UndoChoice2){UndoChoice2[UndoChoice2["All"]=0]="All";UndoChoice2[UndoChoice2["This"]=1]="This";UndoChoice2[UndoChoice2["Cancel"]=2]="Cancel"})(UndoChoice||(UndoChoice={}));const{result:result}=yield this._dialogService.prompt({type:severity_default.Info,message:localize("confirmWorkspace","Would you like to undo '{0}' across all files?",element.label),buttons:[{label:localize({key:"ok",comment:["{0} denotes a number that is > 1, && denotes a mnemonic"]},"&&Undo in {0} Files",editStackSnapshot.editStacks.length),run:()=>UndoChoice.All},{label:localize({key:"nok",comment:["&& denotes a mnemonic"]},"Undo this &&File"),run:()=>UndoChoice.This}],cancelButton:{run:()=>UndoChoice.Cancel}});if(result===UndoChoice.Cancel){return}if(result===UndoChoice.This){this._splitPastWorkspaceElement(element,null);return this._undo(strResource,0,true)}const verificationError1=this._checkWorkspaceUndo(strResource,element,editStackSnapshot,false);if(verificationError1){return verificationError1.returnValue}undoConfirmed=true}let cleanup;try{cleanup=yield this._invokeWorkspacePrepare(element)}catch(err){return this._onError(err,element)}const verificationError2=this._checkWorkspaceUndo(strResource,element,editStackSnapshot,true);if(verificationError2){cleanup.dispose();return verificationError2.returnValue}for(const editStack of editStackSnapshot.editStacks){editStack.moveBackward(element)}return this._safeInvokeWithLocks(element,(()=>element.actual.undo()),editStackSnapshot,cleanup,(()=>this._continueUndoInGroup(element.groupId,undoConfirmed)))}))}_resourceUndo(editStack,element,undoConfirmed){if(!element.isValid){editStack.flushAllElements();return}if(editStack.locked){const message=localize({key:"cannotResourceUndoDueToInProgressUndoRedo",comment:["{0} is a label for an operation."]},"Could not undo '{0}' because there is already an undo or redo operation running.",element.label);this._notificationService.warn(message);return}return this._invokeResourcePrepare(element,(cleanup=>{editStack.moveBackward(element);return this._safeInvokeWithLocks(element,(()=>element.actual.undo()),new EditStackSnapshot([editStack]),cleanup,(()=>this._continueUndoInGroup(element.groupId,undoConfirmed)))}))}_findClosestUndoElementInGroup(groupId){if(!groupId){return[null,null]}let matchedElement=null;let matchedStrResource=null;for(const[strResource,editStack]of this._editStacks){const candidate=editStack.getClosestPastElement();if(!candidate){continue}if(candidate.groupId===groupId){if(!matchedElement||candidate.groupOrder>matchedElement.groupOrder){matchedElement=candidate;matchedStrResource=strResource}}}return[matchedElement,matchedStrResource]}_continueUndoInGroup(groupId,undoConfirmed){if(!groupId){return}const[,matchedStrResource]=this._findClosestUndoElementInGroup(groupId);if(matchedStrResource){return this._undo(matchedStrResource,0,undoConfirmed)}}undo(resourceOrSource){if(resourceOrSource instanceof UndoRedoSource){const[,matchedStrResource]=this._findClosestUndoElementWithSource(resourceOrSource.id);return matchedStrResource?this._undo(matchedStrResource,resourceOrSource.id,false):void 0}if(typeof resourceOrSource==="string"){return this._undo(resourceOrSource,0,false)}return this._undo(this.getUriComparisonKey(resourceOrSource),0,false)}_undo(strResource,sourceId=0,undoConfirmed){if(!this._editStacks.has(strResource)){return}const editStack=this._editStacks.get(strResource);const element=editStack.getClosestPastElement();if(!element){return}if(element.groupId){const[matchedElement,matchedStrResource]=this._findClosestUndoElementInGroup(element.groupId);if(element!==matchedElement&&matchedStrResource){return this._undo(matchedStrResource,sourceId,undoConfirmed)}}const shouldPromptForConfirmation=element.sourceId!==sourceId||element.confirmBeforeUndo;if(shouldPromptForConfirmation&&!undoConfirmed){return this._confirmAndContinueUndo(strResource,sourceId,element)}try{if(element.type===1){return this._workspaceUndo(strResource,element,undoConfirmed)}else{return this._resourceUndo(editStack,element,undoConfirmed)}}finally{if(DEBUG2){this._print("undo")}}}_confirmAndContinueUndo(strResource,sourceId,element){return __awaiter18(this,void 0,void 0,(function*(){const result=yield this._dialogService.confirm({message:localize("confirmDifferentSource","Would you like to undo '{0}'?",element.label),primaryButton:localize({key:"confirmDifferentSource.yes",comment:["&& denotes a mnemonic"]},"&&Yes"),cancelButton:localize("confirmDifferentSource.no","No")});if(!result.confirmed){return}return this._undo(strResource,sourceId,true)}))}_findClosestRedoElementWithSource(sourceId){if(!sourceId){return[null,null]}let matchedElement=null;let matchedStrResource=null;for(const[strResource,editStack]of this._editStacks){const candidate=editStack.getClosestFutureElement();if(!candidate){continue}if(candidate.sourceId===sourceId){if(!matchedElement||candidate.sourceOrder<matchedElement.sourceOrder){matchedElement=candidate;matchedStrResource=strResource}}}return[matchedElement,matchedStrResource]}canRedo(resourceOrSource){if(resourceOrSource instanceof UndoRedoSource){const[,matchedStrResource]=this._findClosestRedoElementWithSource(resourceOrSource.id);return matchedStrResource?true:false}const strResource=this.getUriComparisonKey(resourceOrSource);if(this._editStacks.has(strResource)){const editStack=this._editStacks.get(strResource);return editStack.hasFutureElements()}return false}_tryToSplitAndRedo(strResource,element,ignoreResources,message){if(element.canSplit()){this._splitFutureWorkspaceElement(element,ignoreResources);this._notificationService.warn(message);return new WorkspaceVerificationError(this._redo(strResource))}else{for(const strResource2 of element.strResources){this.removeElements(strResource2)}this._notificationService.warn(message);return new WorkspaceVerificationError}}_checkWorkspaceRedo(strResource,element,editStackSnapshot,checkInvalidatedResources){if(element.removedResources){return this._tryToSplitAndRedo(strResource,element,element.removedResources,localize({key:"cannotWorkspaceRedo",comment:["{0} is a label for an operation. {1} is another message."]},"Could not redo '{0}' across all files. {1}",element.label,element.removedResources.createMessage()))}if(checkInvalidatedResources&&element.invalidatedResources){return this._tryToSplitAndRedo(strResource,element,element.invalidatedResources,localize({key:"cannotWorkspaceRedo",comment:["{0} is a label for an operation. {1} is another message."]},"Could not redo '{0}' across all files. {1}",element.label,element.invalidatedResources.createMessage()))}const cannotRedoDueToResources=[];for(const editStack of editStackSnapshot.editStacks){if(editStack.getClosestFutureElement()!==element){cannotRedoDueToResources.push(editStack.resourceLabel)}}if(cannotRedoDueToResources.length>0){return this._tryToSplitAndRedo(strResource,element,null,localize({key:"cannotWorkspaceRedoDueToChanges",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because changes were made to {1}",element.label,cannotRedoDueToResources.join(", ")))}const cannotLockDueToResources=[];for(const editStack of editStackSnapshot.editStacks){if(editStack.locked){cannotLockDueToResources.push(editStack.resourceLabel)}}if(cannotLockDueToResources.length>0){return this._tryToSplitAndRedo(strResource,element,null,localize({key:"cannotWorkspaceRedoDueToInProgressUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because there is already an undo or redo operation running on {1}",element.label,cannotLockDueToResources.join(", ")))}if(!editStackSnapshot.isValid()){return this._tryToSplitAndRedo(strResource,element,null,localize({key:"cannotWorkspaceRedoDueToInMeantimeUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because an undo or redo operation occurred in the meantime",element.label))}return null}_workspaceRedo(strResource,element){const affectedEditStacks=this._getAffectedEditStacks(element);const verificationError=this._checkWorkspaceRedo(strResource,element,affectedEditStacks,false);if(verificationError){return verificationError.returnValue}return this._executeWorkspaceRedo(strResource,element,affectedEditStacks)}_executeWorkspaceRedo(strResource,element,editStackSnapshot){return __awaiter18(this,void 0,void 0,(function*(){let cleanup;try{cleanup=yield this._invokeWorkspacePrepare(element)}catch(err){return this._onError(err,element)}const verificationError=this._checkWorkspaceRedo(strResource,element,editStackSnapshot,true);if(verificationError){cleanup.dispose();return verificationError.returnValue}for(const editStack of editStackSnapshot.editStacks){editStack.moveForward(element)}return this._safeInvokeWithLocks(element,(()=>element.actual.redo()),editStackSnapshot,cleanup,(()=>this._continueRedoInGroup(element.groupId)))}))}_resourceRedo(editStack,element){if(!element.isValid){editStack.flushAllElements();return}if(editStack.locked){const message=localize({key:"cannotResourceRedoDueToInProgressUndoRedo",comment:["{0} is a label for an operation."]},"Could not redo '{0}' because there is already an undo or redo operation running.",element.label);this._notificationService.warn(message);return}return this._invokeResourcePrepare(element,(cleanup=>{editStack.moveForward(element);return this._safeInvokeWithLocks(element,(()=>element.actual.redo()),new EditStackSnapshot([editStack]),cleanup,(()=>this._continueRedoInGroup(element.groupId)))}))}_findClosestRedoElementInGroup(groupId){if(!groupId){return[null,null]}let matchedElement=null;let matchedStrResource=null;for(const[strResource,editStack]of this._editStacks){const candidate=editStack.getClosestFutureElement();if(!candidate){continue}if(candidate.groupId===groupId){if(!matchedElement||candidate.groupOrder<matchedElement.groupOrder){matchedElement=candidate;matchedStrResource=strResource}}}return[matchedElement,matchedStrResource]}_continueRedoInGroup(groupId){if(!groupId){return}const[,matchedStrResource]=this._findClosestRedoElementInGroup(groupId);if(matchedStrResource){return this._redo(matchedStrResource)}}redo(resourceOrSource){if(resourceOrSource instanceof UndoRedoSource){const[,matchedStrResource]=this._findClosestRedoElementWithSource(resourceOrSource.id);return matchedStrResource?this._redo(matchedStrResource):void 0}if(typeof resourceOrSource==="string"){return this._redo(resourceOrSource)}return this._redo(this.getUriComparisonKey(resourceOrSource))}_redo(strResource){if(!this._editStacks.has(strResource)){return}const editStack=this._editStacks.get(strResource);const element=editStack.getClosestFutureElement();if(!element){return}if(element.groupId){const[matchedElement,matchedStrResource]=this._findClosestRedoElementInGroup(element.groupId);if(element!==matchedElement&&matchedStrResource){return this._redo(matchedStrResource)}}try{if(element.type===1){return this._workspaceRedo(strResource,element)}else{return this._resourceRedo(editStack,element)}}finally{if(DEBUG2){this._print("redo")}}}};UndoRedoService=__decorate23([__param19(0,IDialogService),__param19(1,INotificationService)],UndoRedoService);WorkspaceVerificationError=class{constructor(returnValue){this.returnValue=returnValue}};registerSingleton(IUndoRedoService,UndoRedoService,1)}});var IEnvironmentService;var init_environment=__esm({"node_modules/monaco-editor/esm/vs/platform/environment/common/environment.js"(){init_instantiation();IEnvironmentService=createDecorator("environmentService")}});function matchesScheme(target,scheme){if(URI.isUri(target)){return equalsIgnoreCase(target.scheme,scheme)}else{return startsWithIgnoreCase(target,scheme+":")}}function matchesSomeScheme(target,...schemes){return schemes.some((scheme=>matchesScheme(target,scheme)))}function extractSelection(uri){let selection=void 0;const match2=/^L?(\d+)(?:,(\d+))?(-L?(\d+)(?:,(\d+))?)?/.exec(uri.fragment);if(match2){selection={startLineNumber:parseInt(match2[1]),startColumn:match2[2]?parseInt(match2[2]):1,endLineNumber:match2[4]?parseInt(match2[4]):void 0,endColumn:match2[4]?match2[5]?parseInt(match2[5]):1:void 0};uri=uri.with({fragment:""})}return{selection:selection,uri:uri}}var IOpenerService;var init_opener=__esm({"node_modules/monaco-editor/esm/vs/platform/opener/common/opener.js"(){init_strings();init_uri();init_instantiation();IOpenerService=createDecorator("openerService")}});var __decorate24,__param20,ILanguageFeatureDebounceService,IdentityHash,NullDebounceInformation,FeatureDebounceInformation,LanguageFeatureDebounceService;var init_languageFeatureDebounce=__esm({"node_modules/monaco-editor/esm/vs/editor/common/services/languageFeatureDebounce.js"(){init_hash();init_map();init_numbers();init_environment();init_extensions();init_instantiation();init_log();init_opener();__decorate24=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param20=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};ILanguageFeatureDebounceService=createDecorator("ILanguageFeatureDebounceService");(function(IdentityHash2){const _hashes=new WeakMap;let pool=0;function of(obj){let value=_hashes.get(obj);if(value===void 0){value=++pool;_hashes.set(obj,value)}return value}IdentityHash2.of=of})(IdentityHash||(IdentityHash={}));NullDebounceInformation=class{constructor(_default){this._default=_default}get(_model){return this._default}update(_model,_value){return this._default}default(){return this._default}};FeatureDebounceInformation=class{constructor(_logService,_name,_registry2,_default,_min,_max){this._logService=_logService;this._name=_name;this._registry=_registry2;this._default=_default;this._min=_min;this._max=_max;this._cache=new LRUCache(50,.7)}_key(model){return model.id+this._registry.all(model).reduce(((hashVal,obj)=>doHash(IdentityHash.of(obj),hashVal)),0)}get(model){const key=this._key(model);const avg=this._cache.get(key);return avg?clamp(avg.value,this._min,this._max):this.default()}update(model,value){const key=this._key(model);let avg=this._cache.get(key);if(!avg){avg=new SlidingWindowAverage(6);this._cache.set(key,avg)}const newValue=clamp(avg.update(value),this._min,this._max);if(!matchesScheme(model.uri,"output")){this._logService.trace(`[DEBOUNCE: ${this._name}] for ${model.uri.toString()} is ${newValue}ms`)}return newValue}_overall(){const result=new MovingAverage;for(const[,avg]of this._cache){result.update(avg.value)}return result.value}default(){const value=this._overall()|0||this._default;return clamp(value,this._min,this._max)}};LanguageFeatureDebounceService=class LanguageFeatureDebounceService2{constructor(_logService,envService){this._logService=_logService;this._data=new Map;this._isDev=envService.isExtensionDevelopment||!envService.isBuilt}for(feature,name,config){var _a6,_b3,_c2;const min=(_a6=config===null||config===void 0?void 0:config.min)!==null&&_a6!==void 0?_a6:50;const max=(_b3=config===null||config===void 0?void 0:config.max)!==null&&_b3!==void 0?_b3:Math.pow(min,2);const extra=(_c2=config===null||config===void 0?void 0:config.key)!==null&&_c2!==void 0?_c2:void 0;const key=`${IdentityHash.of(feature)},${min}${extra?","+extra:""}`;let info=this._data.get(key);if(!info){if(!this._isDev){this._logService.debug(`[DEBOUNCE: ${name}] is disabled in developed mode`);info=new NullDebounceInformation(min*1.5)}else{info=new FeatureDebounceInformation(this._logService,name,feature,this._overallAverage()|0||min*1.5,min,max)}this._data.set(key,info)}return info}_overallAverage(){const result=new MovingAverage;for(const info of this._data.values()){result.update(info.default())}return result.value}};LanguageFeatureDebounceService=__decorate24([__param20(0,ILogService),__param20(1,IEnvironmentService)],LanguageFeatureDebounceService);registerSingleton(ILanguageFeatureDebounceService,LanguageFeatureDebounceService,1)}});var SparseMultilineTokens,SparseMultilineTokensStorage,SparseLineTokens;var init_sparseMultilineTokens=__esm({"node_modules/monaco-editor/esm/vs/editor/common/tokens/sparseMultilineTokens.js"(){init_position();init_range();init_eolCounter();SparseMultilineTokens=class{static create(startLineNumber,tokens){return new SparseMultilineTokens(startLineNumber,new SparseMultilineTokensStorage(tokens))}get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._endLineNumber}constructor(startLineNumber,tokens){this._startLineNumber=startLineNumber;this._tokens=tokens;this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}toString(){return this._tokens.toString(this._startLineNumber)}_updateEndLineNumber(){this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}isEmpty(){return this._tokens.isEmpty()}getLineTokens(lineNumber){if(this._startLineNumber<=lineNumber&&lineNumber<=this._endLineNumber){return this._tokens.getLineTokens(lineNumber-this._startLineNumber)}return null}getRange(){const deltaRange=this._tokens.getRange();if(!deltaRange){return deltaRange}return new Range(this._startLineNumber+deltaRange.startLineNumber,deltaRange.startColumn,this._startLineNumber+deltaRange.endLineNumber,deltaRange.endColumn)}removeTokens(range2){const startLineIndex=range2.startLineNumber-this._startLineNumber;const endLineIndex=range2.endLineNumber-this._startLineNumber;this._startLineNumber+=this._tokens.removeTokens(startLineIndex,range2.startColumn-1,endLineIndex,range2.endColumn-1);this._updateEndLineNumber()}split(range2){const startLineIndex=range2.startLineNumber-this._startLineNumber;const endLineIndex=range2.endLineNumber-this._startLineNumber;const[a,b,bDeltaLine]=this._tokens.split(startLineIndex,range2.startColumn-1,endLineIndex,range2.endColumn-1);return[new SparseMultilineTokens(this._startLineNumber,a),new SparseMultilineTokens(this._startLineNumber+bDeltaLine,b)]}applyEdit(range2,text2){const[eolCount,firstLineLength,lastLineLength]=countEOL(text2);this.acceptEdit(range2,eolCount,firstLineLength,lastLineLength,text2.length>0?text2.charCodeAt(0):0)}acceptEdit(range2,eolCount,firstLineLength,lastLineLength,firstCharCode){this._acceptDeleteRange(range2);this._acceptInsertText(new Position(range2.startLineNumber,range2.startColumn),eolCount,firstLineLength,lastLineLength,firstCharCode);this._updateEndLineNumber()}_acceptDeleteRange(range2){if(range2.startLineNumber===range2.endLineNumber&&range2.startColumn===range2.endColumn){return}const firstLineIndex=range2.startLineNumber-this._startLineNumber;const lastLineIndex=range2.endLineNumber-this._startLineNumber;if(lastLineIndex<0){const deletedLinesCount=lastLineIndex-firstLineIndex;this._startLineNumber-=deletedLinesCount;return}const tokenMaxDeltaLine=this._tokens.getMaxDeltaLine();if(firstLineIndex>=tokenMaxDeltaLine+1){return}if(firstLineIndex<0&&lastLineIndex>=tokenMaxDeltaLine+1){this._startLineNumber=0;this._tokens.clear();return}if(firstLineIndex<0){const deletedBefore=-firstLineIndex;this._startLineNumber-=deletedBefore;this._tokens.acceptDeleteRange(range2.startColumn-1,0,0,lastLineIndex,range2.endColumn-1)}else{this._tokens.acceptDeleteRange(0,firstLineIndex,range2.startColumn-1,lastLineIndex,range2.endColumn-1)}}_acceptInsertText(position,eolCount,firstLineLength,lastLineLength,firstCharCode){if(eolCount===0&&firstLineLength===0){return}const lineIndex=position.lineNumber-this._startLineNumber;if(lineIndex<0){this._startLineNumber+=eolCount;return}const tokenMaxDeltaLine=this._tokens.getMaxDeltaLine();if(lineIndex>=tokenMaxDeltaLine+1){return}this._tokens.acceptInsertText(lineIndex,position.column-1,eolCount,firstLineLength,lastLineLength,firstCharCode)}};SparseMultilineTokensStorage=class{constructor(tokens){this._tokens=tokens;this._tokenCount=tokens.length/4}toString(startLineNumber){const pieces=[];for(let i=0;i<this._tokenCount;i++){pieces.push(`(${this._getDeltaLine(i)+startLineNumber},${this._getStartCharacter(i)}-${this._getEndCharacter(i)})`)}return`[${pieces.join(",")}]`}getMaxDeltaLine(){const tokenCount=this._getTokenCount();if(tokenCount===0){return-1}return this._getDeltaLine(tokenCount-1)}getRange(){const tokenCount=this._getTokenCount();if(tokenCount===0){return null}const startChar=this._getStartCharacter(0);const maxDeltaLine=this._getDeltaLine(tokenCount-1);const endChar=this._getEndCharacter(tokenCount-1);return new Range(0,startChar+1,maxDeltaLine,endChar+1)}_getTokenCount(){return this._tokenCount}_getDeltaLine(tokenIndex){return this._tokens[4*tokenIndex]}_getStartCharacter(tokenIndex){return this._tokens[4*tokenIndex+1]}_getEndCharacter(tokenIndex){return this._tokens[4*tokenIndex+2]}isEmpty(){return this._getTokenCount()===0}getLineTokens(deltaLine){let low=0;let high=this._getTokenCount()-1;while(low<high){const mid=low+Math.floor((high-low)/2);const midDeltaLine=this._getDeltaLine(mid);if(midDeltaLine<deltaLine){low=mid+1}else if(midDeltaLine>deltaLine){high=mid-1}else{let min=mid;while(min>low&&this._getDeltaLine(min-1)===deltaLine){min--}let max=mid;while(max<high&&this._getDeltaLine(max+1)===deltaLine){max++}return new SparseLineTokens(this._tokens.subarray(4*min,4*max+4))}}if(this._getDeltaLine(low)===deltaLine){return new SparseLineTokens(this._tokens.subarray(4*low,4*low+4))}return null}clear(){this._tokenCount=0}removeTokens(startDeltaLine,startChar,endDeltaLine,endChar){const tokens=this._tokens;const tokenCount=this._tokenCount;let newTokenCount=0;let hasDeletedTokens=false;let firstDeltaLine=0;for(let i=0;i<tokenCount;i++){const srcOffset=4*i;const tokenDeltaLine=tokens[srcOffset];const tokenStartCharacter=tokens[srcOffset+1];const tokenEndCharacter=tokens[srcOffset+2];const tokenMetadata=tokens[srcOffset+3];if((tokenDeltaLine>startDeltaLine||tokenDeltaLine===startDeltaLine&&tokenEndCharacter>=startChar)&&(tokenDeltaLine<endDeltaLine||tokenDeltaLine===endDeltaLine&&tokenStartCharacter<=endChar)){hasDeletedTokens=true}else{if(newTokenCount===0){firstDeltaLine=tokenDeltaLine}if(hasDeletedTokens){const destOffset=4*newTokenCount;tokens[destOffset]=tokenDeltaLine-firstDeltaLine;tokens[destOffset+1]=tokenStartCharacter;tokens[destOffset+2]=tokenEndCharacter;tokens[destOffset+3]=tokenMetadata}newTokenCount++}}this._tokenCount=newTokenCount;return firstDeltaLine}split(startDeltaLine,startChar,endDeltaLine,endChar){const tokens=this._tokens;const tokenCount=this._tokenCount;const aTokens=[];const bTokens=[];let destTokens=aTokens;let destOffset=0;let destFirstDeltaLine=0;for(let i=0;i<tokenCount;i++){const srcOffset=4*i;const tokenDeltaLine=tokens[srcOffset];const tokenStartCharacter=tokens[srcOffset+1];const tokenEndCharacter=tokens[srcOffset+2];const tokenMetadata=tokens[srcOffset+3];if(tokenDeltaLine>startDeltaLine||tokenDeltaLine===startDeltaLine&&tokenEndCharacter>=startChar){if(tokenDeltaLine<endDeltaLine||tokenDeltaLine===endDeltaLine&&tokenStartCharacter<=endChar){continue}else{if(destTokens!==bTokens){destTokens=bTokens;destOffset=0;destFirstDeltaLine=tokenDeltaLine}}}destTokens[destOffset++]=tokenDeltaLine-destFirstDeltaLine;destTokens[destOffset++]=tokenStartCharacter;destTokens[destOffset++]=tokenEndCharacter;destTokens[destOffset++]=tokenMetadata}return[new SparseMultilineTokensStorage(new Uint32Array(aTokens)),new SparseMultilineTokensStorage(new Uint32Array(bTokens)),destFirstDeltaLine]}acceptDeleteRange(horizontalShiftForFirstLineTokens,startDeltaLine,startCharacter,endDeltaLine,endCharacter){const tokens=this._tokens;const tokenCount=this._tokenCount;const deletedLineCount=endDeltaLine-startDeltaLine;let newTokenCount=0;let hasDeletedTokens=false;for(let i=0;i<tokenCount;i++){const srcOffset=4*i;let tokenDeltaLine=tokens[srcOffset];let tokenStartCharacter=tokens[srcOffset+1];let tokenEndCharacter=tokens[srcOffset+2];const tokenMetadata=tokens[srcOffset+3];if(tokenDeltaLine<startDeltaLine||tokenDeltaLine===startDeltaLine&&tokenEndCharacter<=startCharacter){newTokenCount++;continue}else if(tokenDeltaLine===startDeltaLine&&tokenStartCharacter<startCharacter){if(tokenDeltaLine===endDeltaLine&&tokenEndCharacter>endCharacter){tokenEndCharacter-=endCharacter-startCharacter}else{tokenEndCharacter=startCharacter}}else if(tokenDeltaLine===startDeltaLine&&tokenStartCharacter===startCharacter){if(tokenDeltaLine===endDeltaLine&&tokenEndCharacter>endCharacter){tokenEndCharacter-=endCharacter-startCharacter}else{hasDeletedTokens=true;continue}}else if(tokenDeltaLine<endDeltaLine||tokenDeltaLine===endDeltaLine&&tokenStartCharacter<endCharacter){if(tokenDeltaLine===endDeltaLine&&tokenEndCharacter>endCharacter){tokenDeltaLine=startDeltaLine;tokenStartCharacter=startCharacter;tokenEndCharacter=tokenStartCharacter+(tokenEndCharacter-endCharacter)}else{hasDeletedTokens=true;continue}}else if(tokenDeltaLine>endDeltaLine){if(deletedLineCount===0&&!hasDeletedTokens){newTokenCount=tokenCount;break}tokenDeltaLine-=deletedLineCount}else if(tokenDeltaLine===endDeltaLine&&tokenStartCharacter>=endCharacter){if(horizontalShiftForFirstLineTokens&&tokenDeltaLine===0){tokenStartCharacter+=horizontalShiftForFirstLineTokens;tokenEndCharacter+=horizontalShiftForFirstLineTokens}tokenDeltaLine-=deletedLineCount;tokenStartCharacter-=endCharacter-startCharacter;tokenEndCharacter-=endCharacter-startCharacter}else{throw new Error(`Not possible!`)}const destOffset=4*newTokenCount;tokens[destOffset]=tokenDeltaLine;tokens[destOffset+1]=tokenStartCharacter;tokens[destOffset+2]=tokenEndCharacter;tokens[destOffset+3]=tokenMetadata;newTokenCount++}this._tokenCount=newTokenCount}acceptInsertText(deltaLine,character,eolCount,firstLineLength,lastLineLength,firstCharCode){const isInsertingPreciselyOneWordCharacter=eolCount===0&&firstLineLength===1&&(firstCharCode>=48&&firstCharCode<=57||firstCharCode>=65&&firstCharCode<=90||firstCharCode>=97&&firstCharCode<=122);const tokens=this._tokens;const tokenCount=this._tokenCount;for(let i=0;i<tokenCount;i++){const offset=4*i;let tokenDeltaLine=tokens[offset];let tokenStartCharacter=tokens[offset+1];let tokenEndCharacter=tokens[offset+2];if(tokenDeltaLine<deltaLine||tokenDeltaLine===deltaLine&&tokenEndCharacter<character){continue}else if(tokenDeltaLine===deltaLine&&tokenEndCharacter===character){if(isInsertingPreciselyOneWordCharacter){tokenEndCharacter+=1}else{continue}}else if(tokenDeltaLine===deltaLine&&tokenStartCharacter<character&&character<tokenEndCharacter){if(eolCount===0){tokenEndCharacter+=firstLineLength}else{tokenEndCharacter=character}}else{if(tokenDeltaLine===deltaLine&&tokenStartCharacter===character){if(isInsertingPreciselyOneWordCharacter){continue}}if(tokenDeltaLine===deltaLine){tokenDeltaLine+=eolCount;if(eolCount===0){tokenStartCharacter+=firstLineLength;tokenEndCharacter+=firstLineLength}else{const tokenLength=tokenEndCharacter-tokenStartCharacter;tokenStartCharacter=lastLineLength+(tokenStartCharacter-character);tokenEndCharacter=tokenStartCharacter+tokenLength}}else{tokenDeltaLine+=eolCount}}tokens[offset]=tokenDeltaLine;tokens[offset+1]=tokenStartCharacter;tokens[offset+2]=tokenEndCharacter}}};SparseLineTokens=class{constructor(tokens){this._tokens=tokens}getCount(){return this._tokens.length/4}getStartCharacter(tokenIndex){return this._tokens[4*tokenIndex+1]}getEndCharacter(tokenIndex){return this._tokens[4*tokenIndex+2]}getMetadata(tokenIndex){return this._tokens[4*tokenIndex+3]}}}});function toMultilineTokens2(tokens,styling,languageId){const srcData=tokens.data;const tokenCount=tokens.data.length/5|0;const tokensPerArea=Math.max(Math.ceil(tokenCount/1024),400);const result=[];let tokenIndex=0;let lastLineNumber=1;let lastStartCharacter=0;while(tokenIndex<tokenCount){const tokenStartIndex=tokenIndex;let tokenEndIndex=Math.min(tokenStartIndex+tokensPerArea,tokenCount);if(tokenEndIndex<tokenCount){let smallTokenEndIndex=tokenEndIndex;while(smallTokenEndIndex-1>tokenStartIndex&&srcData[5*smallTokenEndIndex]===0){smallTokenEndIndex--}if(smallTokenEndIndex-1===tokenStartIndex){let bigTokenEndIndex=tokenEndIndex;while(bigTokenEndIndex+1<tokenCount&&srcData[5*bigTokenEndIndex]===0){bigTokenEndIndex++}tokenEndIndex=bigTokenEndIndex}else{tokenEndIndex=smallTokenEndIndex}}let destData=new Uint32Array((tokenEndIndex-tokenStartIndex)*4);let destOffset=0;let areaLine=0;let prevLineNumber=0;let prevEndCharacter=0;while(tokenIndex<tokenEndIndex){const srcOffset=5*tokenIndex;const deltaLine=srcData[srcOffset];const deltaCharacter=srcData[srcOffset+1];const lineNumber=lastLineNumber+deltaLine|0;const startCharacter=deltaLine===0?lastStartCharacter+deltaCharacter|0:deltaCharacter;const length2=srcData[srcOffset+2];const endCharacter=startCharacter+length2|0;const tokenTypeIndex=srcData[srcOffset+3];const tokenModifierSet=srcData[srcOffset+4];if(endCharacter<=startCharacter){styling.warnInvalidLengthSemanticTokens(lineNumber,startCharacter+1)}else if(prevLineNumber===lineNumber&&prevEndCharacter>startCharacter){styling.warnOverlappingSemanticTokens(lineNumber,startCharacter+1)}else{const metadata=styling.getMetadata(tokenTypeIndex,tokenModifierSet,languageId);if(metadata!==2147483647){if(areaLine===0){areaLine=lineNumber}destData[destOffset]=lineNumber-areaLine;destData[destOffset+1]=startCharacter;destData[destOffset+2]=endCharacter;destData[destOffset+3]=metadata;destOffset+=4;prevLineNumber=lineNumber;prevEndCharacter=endCharacter}}lastLineNumber=lineNumber;lastStartCharacter=startCharacter;tokenIndex++}if(destOffset!==destData.length){destData=destData.subarray(0,destOffset)}const tokens2=SparseMultilineTokens.create(areaLine,destData);result.push(tokens2)}return result}var __decorate25,__param21,SemanticTokensProviderStyling,HashTableEntry,HashTable;var init_semanticTokensProviderStyling=__esm({"node_modules/monaco-editor/esm/vs/editor/common/services/semanticTokensProviderStyling.js"(){init_encodedTokenAttributes();init_themeService();init_log();init_sparseMultilineTokens();init_language();__decorate25=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param21=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};SemanticTokensProviderStyling=class SemanticTokensProviderStyling2{constructor(_legend,_themeService,_languageService,_logService){this._legend=_legend;this._themeService=_themeService;this._languageService=_languageService;this._logService=_logService;this._hasWarnedOverlappingTokens=false;this._hasWarnedInvalidLengthTokens=false;this._hasWarnedInvalidEditStart=false;this._hashTable=new HashTable}getMetadata(tokenTypeIndex,tokenModifierSet,languageId){const encodedLanguageId=this._languageService.languageIdCodec.encodeLanguageId(languageId);const entry=this._hashTable.get(tokenTypeIndex,tokenModifierSet,encodedLanguageId);let metadata;if(entry){metadata=entry.metadata;if(this._logService.getLevel()===LogLevel.Trace){this._logService.trace(`SemanticTokensProviderStyling [CACHED] ${tokenTypeIndex} / ${tokenModifierSet}: foreground ${TokenMetadata.getForeground(metadata)}, fontStyle ${TokenMetadata.getFontStyle(metadata).toString(2)}`)}}else{let tokenType=this._legend.tokenTypes[tokenTypeIndex];const tokenModifiers=[];if(tokenType){let modifierSet=tokenModifierSet;for(let modifierIndex=0;modifierSet>0&&modifierIndex<this._legend.tokenModifiers.length;modifierIndex++){if(modifierSet&1){tokenModifiers.push(this._legend.tokenModifiers[modifierIndex])}modifierSet=modifierSet>>1}if(modifierSet>0&&this._logService.getLevel()===LogLevel.Trace){this._logService.trace(`SemanticTokensProviderStyling: unknown token modifier index: ${tokenModifierSet.toString(2)} for legend: ${JSON.stringify(this._legend.tokenModifiers)}`);tokenModifiers.push("not-in-legend")}const tokenStyle=this._themeService.getColorTheme().getTokenStyleMetadata(tokenType,tokenModifiers,languageId);if(typeof tokenStyle==="undefined"){metadata=2147483647}else{metadata=0;if(typeof tokenStyle.italic!=="undefined"){const italicBit=(tokenStyle.italic?1:0)<<11;metadata|=italicBit|1}if(typeof tokenStyle.bold!=="undefined"){const boldBit=(tokenStyle.bold?2:0)<<11;metadata|=boldBit|2}if(typeof tokenStyle.underline!=="undefined"){const underlineBit=(tokenStyle.underline?4:0)<<11;metadata|=underlineBit|4}if(typeof tokenStyle.strikethrough!=="undefined"){const strikethroughBit=(tokenStyle.strikethrough?8:0)<<11;metadata|=strikethroughBit|8}if(tokenStyle.foreground){const foregroundBits=tokenStyle.foreground<<15;metadata|=foregroundBits|16}if(metadata===0){metadata=2147483647}}}else{if(this._logService.getLevel()===LogLevel.Trace){this._logService.trace(`SemanticTokensProviderStyling: unknown token type index: ${tokenTypeIndex} for legend: ${JSON.stringify(this._legend.tokenTypes)}`)}metadata=2147483647;tokenType="not-in-legend"}this._hashTable.add(tokenTypeIndex,tokenModifierSet,encodedLanguageId,metadata);if(this._logService.getLevel()===LogLevel.Trace){this._logService.trace(`SemanticTokensProviderStyling ${tokenTypeIndex} (${tokenType}) / ${tokenModifierSet} (${tokenModifiers.join(" ")}): foreground ${TokenMetadata.getForeground(metadata)}, fontStyle ${TokenMetadata.getFontStyle(metadata).toString(2)}`)}}return metadata}warnOverlappingSemanticTokens(lineNumber,startColumn){if(!this._hasWarnedOverlappingTokens){this._hasWarnedOverlappingTokens=true;console.warn(`Overlapping semantic tokens detected at lineNumber ${lineNumber}, column ${startColumn}`)}}warnInvalidLengthSemanticTokens(lineNumber,startColumn){if(!this._hasWarnedInvalidLengthTokens){this._hasWarnedInvalidLengthTokens=true;console.warn(`Semantic token with invalid length detected at lineNumber ${lineNumber}, column ${startColumn}`)}}warnInvalidEditStart(previousResultId,resultId,editIndex,editStart,maxExpectedStart){if(!this._hasWarnedInvalidEditStart){this._hasWarnedInvalidEditStart=true;console.warn(`Invalid semantic tokens edit detected (previousResultId: ${previousResultId}, resultId: ${resultId}) at edit #${editIndex}: The provided start offset ${editStart} is outside the previous data (length ${maxExpectedStart}).`)}}};SemanticTokensProviderStyling=__decorate25([__param21(1,IThemeService),__param21(2,ILanguageService),__param21(3,ILogService)],SemanticTokensProviderStyling);HashTableEntry=class{constructor(tokenTypeIndex,tokenModifierSet,languageId,metadata){this.tokenTypeIndex=tokenTypeIndex;this.tokenModifierSet=tokenModifierSet;this.languageId=languageId;this.metadata=metadata;this.next=null}};HashTable=class{constructor(){this._elementsCount=0;this._currentLengthIndex=0;this._currentLength=HashTable._SIZES[this._currentLengthIndex];this._growCount=Math.round(this._currentLengthIndex+1<HashTable._SIZES.length?2/3*this._currentLength:0);this._elements=[];HashTable._nullOutEntries(this._elements,this._currentLength)}static _nullOutEntries(entries2,length2){for(let i=0;i<length2;i++){entries2[i]=null}}_hash2(n1,n2){return(n1<<5)-n1+n2|0}_hashFunc(tokenTypeIndex,tokenModifierSet,languageId){return this._hash2(this._hash2(tokenTypeIndex,tokenModifierSet),languageId)%this._currentLength}get(tokenTypeIndex,tokenModifierSet,languageId){const hash2=this._hashFunc(tokenTypeIndex,tokenModifierSet,languageId);let p=this._elements[hash2];while(p){if(p.tokenTypeIndex===tokenTypeIndex&&p.tokenModifierSet===tokenModifierSet&&p.languageId===languageId){return p}p=p.next}return null}add(tokenTypeIndex,tokenModifierSet,languageId,metadata){this._elementsCount++;if(this._growCount!==0&&this._elementsCount>=this._growCount){const oldElements=this._elements;this._currentLengthIndex++;this._currentLength=HashTable._SIZES[this._currentLengthIndex];this._growCount=Math.round(this._currentLengthIndex+1<HashTable._SIZES.length?2/3*this._currentLength:0);this._elements=[];HashTable._nullOutEntries(this._elements,this._currentLength);for(const first2 of oldElements){let p=first2;while(p){const oldNext=p.next;p.next=null;this._add(p);p=oldNext}}}this._add(new HashTableEntry(tokenTypeIndex,tokenModifierSet,languageId,metadata))}_add(element){const hash2=this._hashFunc(element.tokenTypeIndex,element.tokenModifierSet,element.languageId);element.next=this._elements[hash2];this._elements[hash2]=element}};HashTable._SIZES=[3,7,13,31,61,127,251,509,1021,2039,4093,8191,16381,32749,65521,131071,262139,524287,1048573,2097143]}});var ISemanticTokensStylingService;var init_semanticTokensStyling=__esm({"node_modules/monaco-editor/esm/vs/editor/common/services/semanticTokensStyling.js"(){init_instantiation();ISemanticTokensStylingService=createDecorator("semanticTokensStylingService")}});var __decorate26,__param22,SemanticTokensStylingService;var init_semanticTokensStylingService=__esm({"node_modules/monaco-editor/esm/vs/editor/common/services/semanticTokensStylingService.js"(){init_lifecycle();init_language();init_themeService();init_log();init_semanticTokensProviderStyling();init_semanticTokensStyling();init_extensions();__decorate26=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param22=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};SemanticTokensStylingService=class SemanticTokensStylingService2 extends Disposable{constructor(_themeService,_logService,_languageService){super();this._themeService=_themeService;this._logService=_logService;this._languageService=_languageService;this._caches=new WeakMap;this._register(this._themeService.onDidColorThemeChange((()=>{this._caches=new WeakMap})))}getStyling(provider){if(!this._caches.has(provider)){this._caches.set(provider,new SemanticTokensProviderStyling(provider.getLegend(),this._themeService,this._languageService,this._logService))}return this._caches.get(provider)}};SemanticTokensStylingService=__decorate26([__param22(0,IThemeService),__param22(1,ILogService),__param22(2,ILanguageService)],SemanticTokensStylingService);registerSingleton(ISemanticTokensStylingService,SemanticTokensStylingService,1)}});function starsToRegExp(starCount,isLastPattern){switch(starCount){case 0:return"";case 1:return`${NO_PATH_REGEX}*?`;default:return`(?:${PATH_REGEX}|${NO_PATH_REGEX}+${PATH_REGEX}${isLastPattern?`|${PATH_REGEX}${NO_PATH_REGEX}+`:""})*?`}}function splitGlobAware(pattern,splitChar){if(!pattern){return[]}const segments=[];let inBraces=false;let inBrackets=false;let curVal="";for(const char of pattern){switch(char){case splitChar:if(!inBraces&&!inBrackets){segments.push(curVal);curVal="";continue}break;case"{":inBraces=true;break;case"}":inBraces=false;break;case"[":inBrackets=true;break;case"]":inBrackets=false;break}curVal+=char}if(curVal){segments.push(curVal)}return segments}function parseRegExp(pattern){if(!pattern){return""}let regEx="";const segments=splitGlobAware(pattern,GLOB_SPLIT);if(segments.every((segment=>segment===GLOBSTAR))){regEx=".*"}else{let previousSegmentWasGlobStar=false;segments.forEach(((segment,index)=>{if(segment===GLOBSTAR){if(previousSegmentWasGlobStar){return}regEx+=starsToRegExp(2,index===segments.length-1)}else{let inBraces=false;let braceVal="";let inBrackets=false;let bracketVal="";for(const char of segment){if(char!=="}"&&inBraces){braceVal+=char;continue}if(inBrackets&&(char!=="]"||!bracketVal)){let res;if(char==="-"){res=char}else if((char==="^"||char==="!")&&!bracketVal){res="^"}else if(char===GLOB_SPLIT){res=""}else{res=escapeRegExpCharacters(char)}bracketVal+=res;continue}switch(char){case"{":inBraces=true;continue;case"[":inBrackets=true;continue;case"}":{const choices=splitGlobAware(braceVal,",");const braceRegExp=`(?:${choices.map((choice=>parseRegExp(choice))).join("|")})`;regEx+=braceRegExp;inBraces=false;braceVal="";break}case"]":{regEx+="["+bracketVal+"]";inBrackets=false;bracketVal="";break}case"?":regEx+=NO_PATH_REGEX;continue;case"*":regEx+=starsToRegExp(1);continue;default:regEx+=escapeRegExpCharacters(char)}}if(index<segments.length-1&&(segments[index+1]!==GLOBSTAR||index+2<segments.length)){regEx+=PATH_REGEX}}previousSegmentWasGlobStar=segment===GLOBSTAR}))}return regEx}function parsePattern(arg1,options2){if(!arg1){return NULL}let pattern;if(typeof arg1!=="string"){pattern=arg1.pattern}else{pattern=arg1}pattern=pattern.trim();const patternKey=`${pattern}_${!!options2.trimForExclusions}`;let parsedPattern=CACHE.get(patternKey);if(parsedPattern){return wrapRelativePattern(parsedPattern,arg1)}let match2;if(T1.test(pattern)){parsedPattern=trivia1(pattern.substr(4),pattern)}else if(match2=T2.exec(trimForExclusions(pattern,options2))){parsedPattern=trivia2(match2[1],pattern)}else if((options2.trimForExclusions?T3_2:T3).test(pattern)){parsedPattern=trivia3(pattern,options2)}else if(match2=T4.exec(trimForExclusions(pattern,options2))){parsedPattern=trivia4and5(match2[1].substr(1),pattern,true)}else if(match2=T5.exec(trimForExclusions(pattern,options2))){parsedPattern=trivia4and5(match2[1],pattern,false)}else{parsedPattern=toRegExp(pattern)}CACHE.set(patternKey,parsedPattern);return wrapRelativePattern(parsedPattern,arg1)}function wrapRelativePattern(parsedPattern,arg2){if(typeof arg2==="string"){return parsedPattern}const wrappedPattern=function(path,basename3){if(!isEqualOrParent(path,arg2.base,!isLinux)){return null}return parsedPattern(ltrim(path.substr(arg2.base.length),sep),basename3)};wrappedPattern.allBasenames=parsedPattern.allBasenames;wrappedPattern.allPaths=parsedPattern.allPaths;wrappedPattern.basenames=parsedPattern.basenames;wrappedPattern.patterns=parsedPattern.patterns;return wrappedPattern}function trimForExclusions(pattern,options2){return options2.trimForExclusions&&pattern.endsWith("/**")?pattern.substr(0,pattern.length-2):pattern}function trivia1(base,pattern){return function(path,basename3){return typeof path==="string"&&path.endsWith(base)?pattern:null}}function trivia2(base,pattern){const slashBase=`/${base}`;const backslashBase=`\\${base}`;const parsedPattern=function(path,basename3){if(typeof path!=="string"){return null}if(basename3){return basename3===base?pattern:null}return path===base||path.endsWith(slashBase)||path.endsWith(backslashBase)?pattern:null};const basenames=[base];parsedPattern.basenames=basenames;parsedPattern.patterns=[pattern];parsedPattern.allBasenames=basenames;return parsedPattern}function trivia3(pattern,options2){const parsedPatterns=aggregateBasenameMatches(pattern.slice(1,-1).split(",").map((pattern2=>parsePattern(pattern2,options2))).filter((pattern2=>pattern2!==NULL)),pattern);const patternsLength=parsedPatterns.length;if(!patternsLength){return NULL}if(patternsLength===1){return parsedPatterns[0]}const parsedPattern=function(path,basename3){for(let i=0,n=parsedPatterns.length;i<n;i++){if(parsedPatterns[i](path,basename3)){return pattern}}return null};const withBasenames=parsedPatterns.find((pattern2=>!!pattern2.allBasenames));if(withBasenames){parsedPattern.allBasenames=withBasenames.allBasenames}const allPaths=parsedPatterns.reduce(((all,current)=>current.allPaths?all.concat(current.allPaths):all),[]);if(allPaths.length){parsedPattern.allPaths=allPaths}return parsedPattern}function trivia4and5(targetPath,pattern,matchPathEnds){const usingPosixSep=sep===posix.sep;const nativePath=usingPosixSep?targetPath:targetPath.replace(ALL_FORWARD_SLASHES,sep);const nativePathEnd=sep+nativePath;const targetPathEnd=posix.sep+targetPath;let parsedPattern;if(matchPathEnds){parsedPattern=function(path,basename3){return typeof path==="string"&&(path===nativePath||path.endsWith(nativePathEnd)||!usingPosixSep&&(path===targetPath||path.endsWith(targetPathEnd)))?pattern:null}}else{parsedPattern=function(path,basename3){return typeof path==="string"&&(path===nativePath||!usingPosixSep&&path===targetPath)?pattern:null}}parsedPattern.allPaths=[(matchPathEnds?"*/":"./")+targetPath];return parsedPattern}function toRegExp(pattern){try{const regExp=new RegExp(`^${parseRegExp(pattern)}$`);return function(path){regExp.lastIndex=0;return typeof path==="string"&&regExp.test(path)?pattern:null}}catch(error){return NULL}}function match(arg1,path,hasSibling){if(!arg1||typeof path!=="string"){return false}return parse3(arg1)(path,void 0,hasSibling)}function parse3(arg1,options2={}){if(!arg1){return FALSE}if(typeof arg1==="string"||isRelativePattern(arg1)){const parsedPattern=parsePattern(arg1,options2);if(parsedPattern===NULL){return FALSE}const resultPattern=function(path,basename3){return!!parsedPattern(path,basename3)};if(parsedPattern.allBasenames){resultPattern.allBasenames=parsedPattern.allBasenames}if(parsedPattern.allPaths){resultPattern.allPaths=parsedPattern.allPaths}return resultPattern}return parsedExpression(arg1,options2)}function isRelativePattern(obj){const rp=obj;if(!rp){return false}return typeof rp.base==="string"&&typeof rp.pattern==="string"}function parsedExpression(expression,options2){const parsedPatterns=aggregateBasenameMatches(Object.getOwnPropertyNames(expression).map((pattern=>parseExpressionPattern(pattern,expression[pattern],options2))).filter((pattern=>pattern!==NULL)));const patternsLength=parsedPatterns.length;if(!patternsLength){return NULL}if(!parsedPatterns.some((parsedPattern=>!!parsedPattern.requiresSiblings))){if(patternsLength===1){return parsedPatterns[0]}const resultExpression2=function(path,basename3){let resultPromises=void 0;for(let i=0,n=parsedPatterns.length;i<n;i++){const result=parsedPatterns[i](path,basename3);if(typeof result==="string"){return result}if(isThenable(result)){if(!resultPromises){resultPromises=[]}resultPromises.push(result)}}if(resultPromises){return(()=>__awaiter19(this,void 0,void 0,(function*(){for(const resultPromise of resultPromises){const result=yield resultPromise;if(typeof result==="string"){return result}}return null})))()}return null};const withBasenames2=parsedPatterns.find((pattern=>!!pattern.allBasenames));if(withBasenames2){resultExpression2.allBasenames=withBasenames2.allBasenames}const allPaths2=parsedPatterns.reduce(((all,current)=>current.allPaths?all.concat(current.allPaths):all),[]);if(allPaths2.length){resultExpression2.allPaths=allPaths2}return resultExpression2}const resultExpression=function(path,base,hasSibling){let name=void 0;let resultPromises=void 0;for(let i=0,n=parsedPatterns.length;i<n;i++){const parsedPattern=parsedPatterns[i];if(parsedPattern.requiresSiblings&&hasSibling){if(!base){base=basename(path)}if(!name){name=base.substr(0,base.length-extname(path).length)}}const result=parsedPattern(path,base,name,hasSibling);if(typeof result==="string"){return result}if(isThenable(result)){if(!resultPromises){resultPromises=[]}resultPromises.push(result)}}if(resultPromises){return(()=>__awaiter19(this,void 0,void 0,(function*(){for(const resultPromise of resultPromises){const result=yield resultPromise;if(typeof result==="string"){return result}}return null})))()}return null};const withBasenames=parsedPatterns.find((pattern=>!!pattern.allBasenames));if(withBasenames){resultExpression.allBasenames=withBasenames.allBasenames}const allPaths=parsedPatterns.reduce(((all,current)=>current.allPaths?all.concat(current.allPaths):all),[]);if(allPaths.length){resultExpression.allPaths=allPaths}return resultExpression}function parseExpressionPattern(pattern,value,options2){if(value===false){return NULL}const parsedPattern=parsePattern(pattern,options2);if(parsedPattern===NULL){return NULL}if(typeof value==="boolean"){return parsedPattern}if(value){const when=value.when;if(typeof when==="string"){const result=(path,basename3,name,hasSibling)=>{if(!hasSibling||!parsedPattern(path,basename3)){return null}const clausePattern=when.replace("$(basename)",(()=>name));const matched=hasSibling(clausePattern);return isThenable(matched)?matched.then((match2=>match2?pattern:null)):matched?pattern:null};result.requiresSiblings=true;return result}}return parsedPattern}function aggregateBasenameMatches(parsedPatterns,result){const basenamePatterns=parsedPatterns.filter((parsedPattern=>!!parsedPattern.basenames));if(basenamePatterns.length<2){return parsedPatterns}const basenames=basenamePatterns.reduce(((all,current)=>{const basenames2=current.basenames;return basenames2?all.concat(basenames2):all}),[]);let patterns;if(result){patterns=[];for(let i=0,n=basenames.length;i<n;i++){patterns.push(result)}}else{patterns=basenamePatterns.reduce(((all,current)=>{const patterns2=current.patterns;return patterns2?all.concat(patterns2):all}),[])}const aggregate=function(path,basename3){if(typeof path!=="string"){return null}if(!basename3){let i;for(i=path.length;i>0;i--){const ch=path.charCodeAt(i-1);if(ch===47||ch===92){break}}basename3=path.substr(i)}const index=basenames.indexOf(basename3);return index!==-1?patterns[index]:null};aggregate.basenames=basenames;aggregate.patterns=patterns;aggregate.allBasenames=basenames;const aggregatedPatterns=parsedPatterns.filter((parsedPattern=>!parsedPattern.basenames));aggregatedPatterns.push(aggregate);return aggregatedPatterns}var __awaiter19,GLOBSTAR,GLOB_SPLIT,PATH_REGEX,NO_PATH_REGEX,ALL_FORWARD_SLASHES,T1,T2,T3,T3_2,T4,T5,CACHE,FALSE,NULL;var init_glob=__esm({"node_modules/monaco-editor/esm/vs/base/common/glob.js"(){init_async();init_extpath();init_map();init_path();init_platform();init_strings();__awaiter19=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};GLOBSTAR="**";GLOB_SPLIT="/";PATH_REGEX="[/\\\\]";NO_PATH_REGEX="[^/\\\\]";ALL_FORWARD_SLASHES=/\//g;T1=/^\*\*\/\*\.[\w\.-]+$/;T2=/^\*\*\/([\w\.-]+)\/?$/;T3=/^{\*\*\/\*?[\w\.-]+\/?(,\*\*\/\*?[\w\.-]+\/?)*}$/;T3_2=/^{\*\*\/\*?[\w\.-]+(\/(\*\*)?)?(,\*\*\/\*?[\w\.-]+(\/(\*\*)?)?)*}$/;T4=/^\*\*((\/[\w\.-]+)+)\/?$/;T5=/^([\w\.-]+(\/[\w\.-]+)*)\/?$/;CACHE=new LRUCache(1e4);FALSE=function(){return false};NULL=function(){return null}}});function score2(selector,candidateUri,candidateLanguage,candidateIsSynchronized,candidateNotebookUri,candidateNotebookType){if(Array.isArray(selector)){let ret=0;for(const filter of selector){const value=score2(filter,candidateUri,candidateLanguage,candidateIsSynchronized,candidateNotebookUri,candidateNotebookType);if(value===10){return value}if(value>ret){ret=value}}return ret}else if(typeof selector==="string"){if(!candidateIsSynchronized){return 0}if(selector==="*"){return 5}else if(selector===candidateLanguage){return 10}else{return 0}}else if(selector){const{language:language81,pattern:pattern,scheme:scheme,hasAccessToAllModels:hasAccessToAllModels,notebookType:notebookType}=selector;if(!candidateIsSynchronized&&!hasAccessToAllModels){return 0}if(notebookType&&candidateNotebookUri){candidateUri=candidateNotebookUri}let ret=0;if(scheme){if(scheme===candidateUri.scheme){ret=10}else if(scheme==="*"){ret=5}else{return 0}}if(language81){if(language81===candidateLanguage){ret=10}else if(language81==="*"){ret=Math.max(ret,5)}else{return 0}}if(notebookType){if(notebookType===candidateNotebookType){ret=10}else if(notebookType==="*"&&candidateNotebookType!==void 0){ret=Math.max(ret,5)}else{return 0}}if(pattern){let normalizedPattern;if(typeof pattern==="string"){normalizedPattern=pattern}else{normalizedPattern=Object.assign(Object.assign({},pattern),{base:normalize(pattern.base)})}if(normalizedPattern===candidateUri.fsPath||match(normalizedPattern,candidateUri.fsPath)){ret=10}else{return 0}}return ret}else{return 0}}var init_languageSelector=__esm({"node_modules/monaco-editor/esm/vs/editor/common/languageSelector.js"(){init_glob();init_path()}});function isExclusive(selector){if(typeof selector==="string"){return false}else if(Array.isArray(selector)){return selector.every(isExclusive)}else{return!!selector.exclusive}}function isBuiltinSelector(selector){if(typeof selector==="string"){return false}if(Array.isArray(selector)){return selector.some(isBuiltinSelector)}return Boolean(selector.isBuiltin)}var MatchCandidate,LanguageFeatureRegistry;var init_languageFeatureRegistry=__esm({"node_modules/monaco-editor/esm/vs/editor/common/languageFeatureRegistry.js"(){init_event();init_lifecycle();init_model();init_languageSelector();MatchCandidate=class{constructor(uri,languageId,notebookUri,notebookType){this.uri=uri;this.languageId=languageId;this.notebookUri=notebookUri;this.notebookType=notebookType}equals(other){var _a6,_b3;return this.notebookType===other.notebookType&&this.languageId===other.languageId&&this.uri.toString()===other.uri.toString()&&((_a6=this.notebookUri)===null||_a6===void 0?void 0:_a6.toString())===((_b3=other.notebookUri)===null||_b3===void 0?void 0:_b3.toString())}};LanguageFeatureRegistry=class{constructor(_notebookInfoResolver){this._notebookInfoResolver=_notebookInfoResolver;this._clock=0;this._entries=[];this._onDidChange=new Emitter;this.onDidChange=this._onDidChange.event}register(selector,provider){let entry={selector:selector,provider:provider,_score:-1,_time:this._clock++};this._entries.push(entry);this._lastCandidate=void 0;this._onDidChange.fire(this._entries.length);return toDisposable((()=>{if(entry){const idx=this._entries.indexOf(entry);if(idx>=0){this._entries.splice(idx,1);this._lastCandidate=void 0;this._onDidChange.fire(this._entries.length);entry=void 0}}}))}has(model){return this.all(model).length>0}all(model){if(!model){return[]}this._updateScores(model);const result=[];for(const entry of this._entries){if(entry._score>0){result.push(entry.provider)}}return result}ordered(model){const result=[];this._orderedForEach(model,(entry=>result.push(entry.provider)));return result}orderedGroups(model){const result=[];let lastBucket;let lastBucketScore;this._orderedForEach(model,(entry=>{if(lastBucket&&lastBucketScore===entry._score){lastBucket.push(entry.provider)}else{lastBucketScore=entry._score;lastBucket=[entry.provider];result.push(lastBucket)}}));return result}_orderedForEach(model,callback){this._updateScores(model);for(const entry of this._entries){if(entry._score>0){callback(entry)}}}_updateScores(model){var _a6,_b3;const notebookInfo=(_a6=this._notebookInfoResolver)===null||_a6===void 0?void 0:_a6.call(this,model.uri);const candidate=notebookInfo?new MatchCandidate(model.uri,model.getLanguageId(),notebookInfo.uri,notebookInfo.type):new MatchCandidate(model.uri,model.getLanguageId(),void 0,void 0);if((_b3=this._lastCandidate)===null||_b3===void 0?void 0:_b3.equals(candidate)){return}this._lastCandidate=candidate;for(const entry of this._entries){entry._score=score2(entry.selector,candidate.uri,candidate.languageId,shouldSynchronizeModel(model),candidate.notebookUri,candidate.notebookType);if(isExclusive(entry.selector)&&entry._score>0){for(const entry2 of this._entries){entry2._score=0}entry._score=1e3;break}}this._entries.sort(LanguageFeatureRegistry._compareByScoreAndTime)}static _compareByScoreAndTime(a,b){if(a._score<b._score){return 1}else if(a._score>b._score){return-1}if(isBuiltinSelector(a.selector)&&!isBuiltinSelector(b.selector)){return 1}else if(!isBuiltinSelector(a.selector)&&isBuiltinSelector(b.selector)){return-1}if(a._time<b._time){return 1}else if(a._time>b._time){return-1}else{return 0}}}}});var LanguageFeaturesService;var init_languageFeaturesService=__esm({"node_modules/monaco-editor/esm/vs/editor/common/services/languageFeaturesService.js"(){init_languageFeatureRegistry();init_languageFeatures();init_extensions();LanguageFeaturesService=class{constructor(){this.referenceProvider=new LanguageFeatureRegistry(this._score.bind(this));this.renameProvider=new LanguageFeatureRegistry(this._score.bind(this));this.codeActionProvider=new LanguageFeatureRegistry(this._score.bind(this));this.definitionProvider=new LanguageFeatureRegistry(this._score.bind(this));this.typeDefinitionProvider=new LanguageFeatureRegistry(this._score.bind(this));this.declarationProvider=new LanguageFeatureRegistry(this._score.bind(this));this.implementationProvider=new LanguageFeatureRegistry(this._score.bind(this));this.documentSymbolProvider=new LanguageFeatureRegistry(this._score.bind(this));this.inlayHintsProvider=new LanguageFeatureRegistry(this._score.bind(this));this.colorProvider=new LanguageFeatureRegistry(this._score.bind(this));this.codeLensProvider=new LanguageFeatureRegistry(this._score.bind(this));this.documentFormattingEditProvider=new LanguageFeatureRegistry(this._score.bind(this));this.documentRangeFormattingEditProvider=new LanguageFeatureRegistry(this._score.bind(this));this.onTypeFormattingEditProvider=new LanguageFeatureRegistry(this._score.bind(this));this.signatureHelpProvider=new LanguageFeatureRegistry(this._score.bind(this));this.hoverProvider=new LanguageFeatureRegistry(this._score.bind(this));this.documentHighlightProvider=new LanguageFeatureRegistry(this._score.bind(this));this.selectionRangeProvider=new LanguageFeatureRegistry(this._score.bind(this));this.foldingRangeProvider=new LanguageFeatureRegistry(this._score.bind(this));this.linkProvider=new LanguageFeatureRegistry(this._score.bind(this));this.inlineCompletionsProvider=new LanguageFeatureRegistry(this._score.bind(this));this.completionProvider=new LanguageFeatureRegistry(this._score.bind(this));this.linkedEditingRangeProvider=new LanguageFeatureRegistry(this._score.bind(this));this.documentRangeSemanticTokensProvider=new LanguageFeatureRegistry(this._score.bind(this));this.documentSemanticTokensProvider=new LanguageFeatureRegistry(this._score.bind(this));this.documentOnDropEditProvider=new LanguageFeatureRegistry(this._score.bind(this));this.documentPasteEditProvider=new LanguageFeatureRegistry(this._score.bind(this))}_score(uri){var _a6;return(_a6=this._notebookTypeResolver)===null||_a6===void 0?void 0:_a6.call(this,uri)}};registerSingleton(ILanguageFeaturesService,LanguageFeaturesService,1)}});var IBulkEditService,ResourceEdit,ResourceTextEdit,ResourceFileEdit;var init_bulkEditService=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/services/bulkEditService.js"(){init_instantiation();init_uri();init_types();IBulkEditService=createDecorator("IWorkspaceEditService");ResourceEdit=class{constructor(metadata){this.metadata=metadata}static convert(edit){return edit.edits.map((edit2=>{if(ResourceTextEdit.is(edit2)){return ResourceTextEdit.lift(edit2)}if(ResourceFileEdit.is(edit2)){return ResourceFileEdit.lift(edit2)}throw new Error("Unsupported edit")}))}};ResourceTextEdit=class extends ResourceEdit{static is(candidate){if(candidate instanceof ResourceTextEdit){return true}return isObject(candidate)&&URI.isUri(candidate.resource)&&isObject(candidate.textEdit)}static lift(edit){if(edit instanceof ResourceTextEdit){return edit}else{return new ResourceTextEdit(edit.resource,edit.textEdit,edit.versionId,edit.metadata)}}constructor(resource,textEdit,versionId=void 0,metadata){super(metadata);this.resource=resource;this.textEdit=textEdit;this.versionId=versionId}};ResourceFileEdit=class extends ResourceEdit{static is(candidate){if(candidate instanceof ResourceFileEdit){return true}else{return isObject(candidate)&&(Boolean(candidate.newResource)||Boolean(candidate.oldResource))}}static lift(edit){if(edit instanceof ResourceFileEdit){return edit}else{return new ResourceFileEdit(edit.oldResource,edit.newResource,edit.options,edit.metadata)}}constructor(oldResource,newResource,options2={},metadata){super(metadata);this.oldResource=oldResource;this.newResource=newResource;this.options=options2}}}});var diffEditorDefaultOptions;var init_diffEditor=__esm({"node_modules/monaco-editor/esm/vs/editor/common/config/diffEditor.js"(){diffEditorDefaultOptions={enableSplitViewResizing:true,splitViewDefaultRatio:.5,renderSideBySide:true,renderMarginRevertIcon:true,maxComputationTime:5e3,maxFileSize:50,ignoreTrimWhitespace:true,renderIndicators:true,originalEditable:false,diffCodeLens:false,renderOverviewRuler:true,diffWordWrap:"inherit",diffAlgorithm:"advanced",accessibilityVerbose:false,experimental:{showMoves:false,showEmptyDecorations:true},hideUnchangedRegions:{enabled:false,contextLineCount:3,minimumLineCount:3,revealLineCount:20},isInEmbeddedEditor:false,onlyShowAccessibleDiffViewer:false,renderSideBySideInlineBreakpoint:900,useInlineViewWhenSpaceIsLimited:true}}});function isConfigurationPropertySchema(x){return typeof x.type!=="undefined"||typeof x.anyOf!=="undefined"}function getEditorConfigurationKeys(){if(cachedEditorConfigurationKeys===null){cachedEditorConfigurationKeys=Object.create(null);Object.keys(editorConfiguration.properties).forEach((prop=>{cachedEditorConfigurationKeys[prop]=true}))}return cachedEditorConfigurationKeys}function isEditorConfigurationKey(key){const editorConfigurationKeys=getEditorConfigurationKeys();return editorConfigurationKeys[`editor.${key}`]||false}function isDiffEditorConfigurationKey(key){const editorConfigurationKeys=getEditorConfigurationKeys();return editorConfigurationKeys[`diffEditor.${key}`]||false}var editorConfigurationBaseNode,editorConfiguration,cachedEditorConfigurationKeys,configurationRegistry2;var init_editorConfigurationSchema=__esm({"node_modules/monaco-editor/esm/vs/editor/common/config/editorConfigurationSchema.js"(){init_diffEditor();init_editorOptions();init_textModelDefaults();init_nls();init_configurationRegistry();init_platform2();editorConfigurationBaseNode=Object.freeze({id:"editor",order:5,type:"object",title:localize("editorConfigurationTitle","Editor"),scope:5});editorConfiguration=Object.assign(Object.assign({},editorConfigurationBaseNode),{properties:{"editor.tabSize":{type:"number",default:EDITOR_MODEL_DEFAULTS.tabSize,minimum:1,markdownDescription:localize("tabSize","The number of spaces a tab is equal to. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.indentSize":{anyOf:[{type:"string",enum:["tabSize"]},{type:"number",minimum:1}],default:"tabSize",markdownDescription:localize("indentSize",'The number of spaces used for indentation or `"tabSize"` to use the value from `#editor.tabSize#`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.')},"editor.insertSpaces":{type:"boolean",default:EDITOR_MODEL_DEFAULTS.insertSpaces,markdownDescription:localize("insertSpaces","Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.detectIndentation":{type:"boolean",default:EDITOR_MODEL_DEFAULTS.detectIndentation,markdownDescription:localize("detectIndentation","Controls whether {0} and {1} will be automatically detected when a file is opened based on the file contents.","`#editor.tabSize#`","`#editor.insertSpaces#`")},"editor.trimAutoWhitespace":{type:"boolean",default:EDITOR_MODEL_DEFAULTS.trimAutoWhitespace,description:localize("trimAutoWhitespace","Remove trailing auto inserted whitespace.")},"editor.largeFileOptimizations":{type:"boolean",default:EDITOR_MODEL_DEFAULTS.largeFileOptimizations,description:localize("largeFileOptimizations","Special handling for large files to disable certain memory intensive features.")},"editor.wordBasedSuggestions":{type:"boolean",default:true,description:localize("wordBasedSuggestions","Controls whether completions should be computed based on words in the document.")},"editor.wordBasedSuggestionsMode":{enum:["currentDocument","matchingDocuments","allDocuments"],default:"matchingDocuments",enumDescriptions:[localize("wordBasedSuggestionsMode.currentDocument","Only suggest words from the active document."),localize("wordBasedSuggestionsMode.matchingDocuments","Suggest words from all open documents of the same language."),localize("wordBasedSuggestionsMode.allDocuments","Suggest words from all open documents.")],description:localize("wordBasedSuggestionsMode","Controls from which documents word based completions are computed.")},"editor.semanticHighlighting.enabled":{enum:[true,false,"configuredByTheme"],enumDescriptions:[localize("semanticHighlighting.true","Semantic highlighting enabled for all color themes."),localize("semanticHighlighting.false","Semantic highlighting disabled for all color themes."),localize("semanticHighlighting.configuredByTheme","Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.")],default:"configuredByTheme",description:localize("semanticHighlighting.enabled","Controls whether the semanticHighlighting is shown for the languages that support it.")},"editor.stablePeek":{type:"boolean",default:false,markdownDescription:localize("stablePeek","Keep peek editors open even when double-clicking their content or when hitting `Escape`.")},"editor.maxTokenizationLineLength":{type:"integer",default:2e4,description:localize("maxTokenizationLineLength","Lines above this length will not be tokenized for performance reasons")},"editor.experimental.asyncTokenization":{type:"boolean",default:false,description:localize("editor.experimental.asyncTokenization","Controls whether the tokenization should happen asynchronously on a web worker."),tags:["experimental"]},"editor.experimental.asyncTokenizationLogging":{type:"boolean",default:false,description:localize("editor.experimental.asyncTokenizationLogging","Controls whether async tokenization should be logged. For debugging only.")},"editor.experimental.asyncTokenizationVerification":{type:"boolean",default:false,description:localize("editor.experimental.asyncTokenizationVerification","Controls whether async tokenization should be verified against legacy background tokenization. Might slow down tokenization. For debugging only."),tags:["experimental"]},"editor.language.brackets":{type:["array","null"],default:null,description:localize("schema.brackets","Defines the bracket symbols that increase or decrease the indentation."),items:{type:"array",items:[{type:"string",description:localize("schema.openBracket","The opening bracket character or string sequence.")},{type:"string",description:localize("schema.closeBracket","The closing bracket character or string sequence.")}]}},"editor.language.colorizedBracketPairs":{type:["array","null"],default:null,description:localize("schema.colorizedBracketPairs","Defines the bracket pairs that are colorized by their nesting level if bracket pair colorization is enabled."),items:{type:"array",items:[{type:"string",description:localize("schema.openBracket","The opening bracket character or string sequence.")},{type:"string",description:localize("schema.closeBracket","The closing bracket character or string sequence.")}]}},"diffEditor.maxComputationTime":{type:"number",default:diffEditorDefaultOptions.maxComputationTime,description:localize("maxComputationTime","Timeout in milliseconds after which diff computation is cancelled. Use 0 for no timeout.")},"diffEditor.maxFileSize":{type:"number",default:diffEditorDefaultOptions.maxFileSize,description:localize("maxFileSize","Maximum file size in MB for which to compute diffs. Use 0 for no limit.")},"diffEditor.renderSideBySide":{type:"boolean",default:diffEditorDefaultOptions.renderSideBySide,description:localize("sideBySide","Controls whether the diff editor shows the diff side by side or inline.")},"diffEditor.renderSideBySideInlineBreakpoint":{type:"number",default:diffEditorDefaultOptions.renderSideBySideInlineBreakpoint,description:localize("renderSideBySideInlineBreakpoint","If the diff editor width is smaller than this value, the inline view is used.")},"diffEditor.useInlineViewWhenSpaceIsLimited":{type:"boolean",default:diffEditorDefaultOptions.useInlineViewWhenSpaceIsLimited,description:localize("useInlineViewWhenSpaceIsLimited","If enabled and the editor width is too small, the inline view is used.")},"diffEditor.renderMarginRevertIcon":{type:"boolean",default:diffEditorDefaultOptions.renderMarginRevertIcon,description:localize("renderMarginRevertIcon","When enabled, the diff editor shows arrows in its glyph margin to revert changes.")},"diffEditor.ignoreTrimWhitespace":{type:"boolean",default:diffEditorDefaultOptions.ignoreTrimWhitespace,description:localize("ignoreTrimWhitespace","When enabled, the diff editor ignores changes in leading or trailing whitespace.")},"diffEditor.renderIndicators":{type:"boolean",default:diffEditorDefaultOptions.renderIndicators,description:localize("renderIndicators","Controls whether the diff editor shows +/- indicators for added/removed changes.")},"diffEditor.codeLens":{type:"boolean",default:diffEditorDefaultOptions.diffCodeLens,description:localize("codeLens","Controls whether the editor shows CodeLens.")},"diffEditor.wordWrap":{type:"string",enum:["off","on","inherit"],default:diffEditorDefaultOptions.diffWordWrap,markdownEnumDescriptions:[localize("wordWrap.off","Lines will never wrap."),localize("wordWrap.on","Lines will wrap at the viewport width."),localize("wordWrap.inherit","Lines will wrap according to the {0} setting.","`#editor.wordWrap#`")]},"diffEditor.diffAlgorithm":{type:"string",enum:["legacy","advanced"],default:diffEditorDefaultOptions.diffAlgorithm,markdownEnumDescriptions:[localize("diffAlgorithm.legacy","Uses the legacy diffing algorithm."),localize("diffAlgorithm.advanced","Uses the advanced diffing algorithm.")],tags:["experimental"]},"diffEditor.hideUnchangedRegions.enabled":{type:"boolean",default:diffEditorDefaultOptions.hideUnchangedRegions.enabled,markdownDescription:localize("hideUnchangedRegions.enabled","Controls whether the diff editor shows unchanged regions. Only works when {0} is set.","`#diffEditor.experimental.useVersion2#`")},"diffEditor.hideUnchangedRegions.revealLineCount":{type:"integer",default:diffEditorDefaultOptions.hideUnchangedRegions.revealLineCount,markdownDescription:localize("hideUnchangedRegions.revealLineCount","Controls how many lines are used for unchanged regions. Only works when {0} is set.","`#diffEditor.experimental.useVersion2#`"),minimum:1},"diffEditor.hideUnchangedRegions.minimumLineCount":{type:"integer",default:diffEditorDefaultOptions.hideUnchangedRegions.minimumLineCount,markdownDescription:localize("hideUnchangedRegions.minimumLineCount","Controls how many lines are used as a minimum for unchanged regions. Only works when {0} is set.","`#diffEditor.experimental.useVersion2#`"),minimum:1},"diffEditor.hideUnchangedRegions.contextLineCount":{type:"integer",default:diffEditorDefaultOptions.hideUnchangedRegions.contextLineCount,markdownDescription:localize("hideUnchangedRegions.contextLineCount","Controls how many lines are used as context when comparing unchanged regions. Only works when {0} is set.","`#diffEditor.experimental.useVersion2#`"),minimum:1},"diffEditor.experimental.showMoves":{type:"boolean",default:diffEditorDefaultOptions.experimental.showMoves,markdownDescription:localize("showMoves","Controls whether the diff editor should show detected code moves. Only works when {0} is set.","`#diffEditor.experimental.useVersion2#`")},"diffEditor.experimental.useVersion2":{type:"boolean",default:true,description:localize("useVersion2","Controls whether the diff editor uses the new or the old implementation."),tags:["experimental"]},"diffEditor.experimental.showEmptyDecorations":{type:"boolean",default:diffEditorDefaultOptions.experimental.showEmptyDecorations,description:localize("showEmptyDecorations","Controls whether the diff editor shows empty decorations to see where characters got inserted or deleted.")}}});for(const editorOption of editorOptionsRegistry){const schema=editorOption.schema;if(typeof schema!=="undefined"){if(isConfigurationPropertySchema(schema)){editorConfiguration.properties[`editor.${editorOption.name}`]=schema}else{for(const key in schema){if(Object.hasOwnProperty.call(schema,key)){editorConfiguration.properties[key]=schema[key]}}}}}cachedEditorConfigurationKeys=null;configurationRegistry2=Registry.as(Extensions2.Configuration);configurationRegistry2.registerConfiguration(editorConfiguration)}});var EditOperation;var init_editOperation=__esm({"node_modules/monaco-editor/esm/vs/editor/common/core/editOperation.js"(){init_range();EditOperation=class{static insert(position,text2){return{range:new Range(position.lineNumber,position.column,position.lineNumber,position.column),text:text2,forceMoveMarkers:true}}static delete(range2){return{range:range2,text:null}}static replace(range2,text2){return{range:range2,text:text2}}static replaceMove(range2,text2){return{range:range2,text:text2,forceMoveMarkers:true}}}}});function freeze2(data){return Object.isFrozen(data)?data:deepFreeze(data)}var ConfigurationModel,ConfigurationModelParser,ConfigurationInspectValue,Configuration,ConfigurationChangeEvent;var init_configurationModels=__esm({"node_modules/monaco-editor/esm/vs/platform/configuration/common/configurationModels.js"(){init_arrays();init_map();init_objects();init_types();init_uri();init_configuration();init_configurationRegistry();init_platform2();ConfigurationModel=class{constructor(_contents={},_keys=[],_overrides=[],raw){this._contents=_contents;this._keys=_keys;this._overrides=_overrides;this.raw=raw;this.overrideConfigurations=new Map}get rawConfiguration(){var _a6;if(!this._rawConfiguration){if((_a6=this.raw)===null||_a6===void 0?void 0:_a6.length){const rawConfigurationModels=this.raw.map((raw=>{if(raw instanceof ConfigurationModel){return raw}const parser2=new ConfigurationModelParser("");parser2.parseRaw(raw);return parser2.configurationModel}));this._rawConfiguration=rawConfigurationModels.reduce(((previous,current)=>current===previous?current:previous.merge(current)),rawConfigurationModels[0])}else{this._rawConfiguration=this}}return this._rawConfiguration}get contents(){return this._contents}get overrides(){return this._overrides}get keys(){return this._keys}isEmpty(){return this._keys.length===0&&Object.keys(this._contents).length===0&&this._overrides.length===0}getValue(section){return section?getConfigurationValue(this.contents,section):this.contents}inspect(section,overrideIdentifier){const value=this.rawConfiguration.getValue(section);const override=overrideIdentifier?this.rawConfiguration.getOverrideValue(section,overrideIdentifier):void 0;const merged=overrideIdentifier?this.rawConfiguration.override(overrideIdentifier).getValue(section):value;return{value:value,override:override,merged:merged}}getOverrideValue(section,overrideIdentifier){const overrideContents=this.getContentsForOverrideIdentifer(overrideIdentifier);return overrideContents?section?getConfigurationValue(overrideContents,section):overrideContents:void 0}override(identifier2){let overrideConfigurationModel=this.overrideConfigurations.get(identifier2);if(!overrideConfigurationModel){overrideConfigurationModel=this.createOverrideConfigurationModel(identifier2);this.overrideConfigurations.set(identifier2,overrideConfigurationModel)}return overrideConfigurationModel}merge(...others){var _a6,_b3;const contents=deepClone(this.contents);const overrides=deepClone(this.overrides);const keys=[...this.keys];const raws=((_a6=this.raw)===null||_a6===void 0?void 0:_a6.length)?[...this.raw]:[this];for(const other of others){raws.push(...((_b3=other.raw)===null||_b3===void 0?void 0:_b3.length)?other.raw:[other]);if(other.isEmpty()){continue}this.mergeContents(contents,other.contents);for(const otherOverride of other.overrides){const[override]=overrides.filter((o=>equals(o.identifiers,otherOverride.identifiers)));if(override){this.mergeContents(override.contents,otherOverride.contents);override.keys.push(...otherOverride.keys);override.keys=distinct(override.keys)}else{overrides.push(deepClone(otherOverride))}}for(const key of other.keys){if(keys.indexOf(key)===-1){keys.push(key)}}}return new ConfigurationModel(contents,keys,overrides,raws.every((raw=>raw instanceof ConfigurationModel))?void 0:raws)}createOverrideConfigurationModel(identifier2){const overrideContents=this.getContentsForOverrideIdentifer(identifier2);if(!overrideContents||typeof overrideContents!=="object"||!Object.keys(overrideContents).length){return this}const contents={};for(const key of distinct([...Object.keys(this.contents),...Object.keys(overrideContents)])){let contentsForKey=this.contents[key];const overrideContentsForKey=overrideContents[key];if(overrideContentsForKey){if(typeof contentsForKey==="object"&&typeof overrideContentsForKey==="object"){contentsForKey=deepClone(contentsForKey);this.mergeContents(contentsForKey,overrideContentsForKey)}else{contentsForKey=overrideContentsForKey}}contents[key]=contentsForKey}return new ConfigurationModel(contents,this.keys,this.overrides)}mergeContents(source,target){for(const key of Object.keys(target)){if(key in source){if(isObject(source[key])&&isObject(target[key])){this.mergeContents(source[key],target[key]);continue}}source[key]=deepClone(target[key])}}getContentsForOverrideIdentifer(identifier2){let contentsForIdentifierOnly=null;let contents=null;const mergeContents=contentsToMerge=>{if(contentsToMerge){if(contents){this.mergeContents(contents,contentsToMerge)}else{contents=deepClone(contentsToMerge)}}};for(const override of this.overrides){if(override.identifiers.length===1&&override.identifiers[0]===identifier2){contentsForIdentifierOnly=override.contents}else if(override.identifiers.includes(identifier2)){mergeContents(override.contents)}}mergeContents(contentsForIdentifierOnly);return contents}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}addValue(key,value){this.updateValue(key,value,true)}setValue(key,value){this.updateValue(key,value,false)}removeValue(key){const index=this.keys.indexOf(key);if(index===-1){return}this.keys.splice(index,1);removeFromValueTree(this.contents,key);if(OVERRIDE_PROPERTY_REGEX.test(key)){this.overrides.splice(this.overrides.findIndex((o=>equals(o.identifiers,overrideIdentifiersFromKey(key)))),1)}}updateValue(key,value,add){addToValueTree(this.contents,key,value,(e=>console.error(e)));add=add||this.keys.indexOf(key)===-1;if(add){this.keys.push(key)}if(OVERRIDE_PROPERTY_REGEX.test(key)){this.overrides.push({identifiers:overrideIdentifiersFromKey(key),keys:Object.keys(this.contents[key]),contents:toValuesTree(this.contents[key],(message=>console.error(message)))})}}};ConfigurationModelParser=class{constructor(_name){this._name=_name;this._raw=null;this._configurationModel=null;this._restrictedConfigurations=[]}get configurationModel(){return this._configurationModel||new ConfigurationModel}parseRaw(raw,options2){this._raw=raw;const{contents:contents,keys:keys,overrides:overrides,restricted:restricted,hasExcludedProperties:hasExcludedProperties}=this.doParseRaw(raw,options2);this._configurationModel=new ConfigurationModel(contents,keys,overrides,hasExcludedProperties?[raw]:void 0);this._restrictedConfigurations=restricted||[]}doParseRaw(raw,options2){const configurationProperties=Registry.as(Extensions2.Configuration).getConfigurationProperties();const filtered=this.filter(raw,configurationProperties,true,options2);raw=filtered.raw;const contents=toValuesTree(raw,(message=>console.error(`Conflict in settings file ${this._name}: ${message}`)));const keys=Object.keys(raw);const overrides=this.toOverrides(raw,(message=>console.error(`Conflict in settings file ${this._name}: ${message}`)));return{contents:contents,keys:keys,overrides:overrides,restricted:filtered.restricted,hasExcludedProperties:filtered.hasExcludedProperties}}filter(properties,configurationProperties,filterOverriddenProperties,options2){var _a6,_b3,_c2;let hasExcludedProperties=false;if(!(options2===null||options2===void 0?void 0:options2.scopes)&&!(options2===null||options2===void 0?void 0:options2.skipRestricted)&&!((_a6=options2===null||options2===void 0?void 0:options2.exclude)===null||_a6===void 0?void 0:_a6.length)){return{raw:properties,restricted:[],hasExcludedProperties:hasExcludedProperties}}const raw={};const restricted=[];for(const key in properties){if(OVERRIDE_PROPERTY_REGEX.test(key)&&filterOverriddenProperties){const result=this.filter(properties[key],configurationProperties,false,options2);raw[key]=result.raw;hasExcludedProperties=hasExcludedProperties||result.hasExcludedProperties;restricted.push(...result.restricted)}else{const propertySchema=configurationProperties[key];const scope=propertySchema?typeof propertySchema.scope!=="undefined"?propertySchema.scope:3:void 0;if(propertySchema===null||propertySchema===void 0?void 0:propertySchema.restricted){restricted.push(key)}if(!((_b3=options2.exclude)===null||_b3===void 0?void 0:_b3.includes(key))&&(((_c2=options2.include)===null||_c2===void 0?void 0:_c2.includes(key))||(scope===void 0||options2.scopes===void 0||options2.scopes.includes(scope))&&!(options2.skipRestricted&&(propertySchema===null||propertySchema===void 0?void 0:propertySchema.restricted)))){raw[key]=properties[key]}else{hasExcludedProperties=true}}}return{raw:raw,restricted:restricted,hasExcludedProperties:hasExcludedProperties}}toOverrides(raw,conflictReporter){const overrides=[];for(const key of Object.keys(raw)){if(OVERRIDE_PROPERTY_REGEX.test(key)){const overrideRaw={};for(const keyInOverrideRaw in raw[key]){overrideRaw[keyInOverrideRaw]=raw[key][keyInOverrideRaw]}overrides.push({identifiers:overrideIdentifiersFromKey(key),keys:Object.keys(overrideRaw),contents:toValuesTree(overrideRaw,conflictReporter)})}}return overrides}};ConfigurationInspectValue=class{constructor(key,overrides,_value,overrideIdentifiers,defaultConfiguration,policyConfiguration,applicationConfiguration,userConfiguration,localUserConfiguration,remoteUserConfiguration,workspaceConfiguration,folderConfigurationModel,memoryConfigurationModel){this.key=key;this.overrides=overrides;this._value=_value;this.overrideIdentifiers=overrideIdentifiers;this.defaultConfiguration=defaultConfiguration;this.policyConfiguration=policyConfiguration;this.applicationConfiguration=applicationConfiguration;this.userConfiguration=userConfiguration;this.localUserConfiguration=localUserConfiguration;this.remoteUserConfiguration=remoteUserConfiguration;this.workspaceConfiguration=workspaceConfiguration;this.folderConfigurationModel=folderConfigurationModel;this.memoryConfigurationModel=memoryConfigurationModel}inspect(model,section,overrideIdentifier){const inspectValue=model.inspect(section,overrideIdentifier);return{get value(){return freeze2(inspectValue.value)},get override(){return freeze2(inspectValue.override)},get merged(){return freeze2(inspectValue.merged)}}}get userInspectValue(){if(!this._userInspectValue){this._userInspectValue=this.inspect(this.userConfiguration,this.key,this.overrides.overrideIdentifier)}return this._userInspectValue}get user(){return this.userInspectValue.value!==void 0||this.userInspectValue.override!==void 0?{value:this.userInspectValue.value,override:this.userInspectValue.override}:void 0}};Configuration=class{constructor(_defaultConfiguration,_policyConfiguration,_applicationConfiguration,_localUserConfiguration,_remoteUserConfiguration=new ConfigurationModel,_workspaceConfiguration=new ConfigurationModel,_folderConfigurations=new ResourceMap,_memoryConfiguration=new ConfigurationModel,_memoryConfigurationByResource=new ResourceMap){this._defaultConfiguration=_defaultConfiguration;this._policyConfiguration=_policyConfiguration;this._applicationConfiguration=_applicationConfiguration;this._localUserConfiguration=_localUserConfiguration;this._remoteUserConfiguration=_remoteUserConfiguration;this._workspaceConfiguration=_workspaceConfiguration;this._folderConfigurations=_folderConfigurations;this._memoryConfiguration=_memoryConfiguration;this._memoryConfigurationByResource=_memoryConfigurationByResource;this._workspaceConsolidatedConfiguration=null;this._foldersConsolidatedConfigurations=new ResourceMap;this._userConfiguration=null}getValue(section,overrides,workspace){const consolidateConfigurationModel=this.getConsolidatedConfigurationModel(section,overrides,workspace);return consolidateConfigurationModel.getValue(section)}updateValue(key,value,overrides={}){let memoryConfiguration;if(overrides.resource){memoryConfiguration=this._memoryConfigurationByResource.get(overrides.resource);if(!memoryConfiguration){memoryConfiguration=new ConfigurationModel;this._memoryConfigurationByResource.set(overrides.resource,memoryConfiguration)}}else{memoryConfiguration=this._memoryConfiguration}if(value===void 0){memoryConfiguration.removeValue(key)}else{memoryConfiguration.setValue(key,value)}if(!overrides.resource){this._workspaceConsolidatedConfiguration=null}}inspect(key,overrides,workspace){const consolidateConfigurationModel=this.getConsolidatedConfigurationModel(key,overrides,workspace);const folderConfigurationModel=this.getFolderConfigurationModelForResource(overrides.resource,workspace);const memoryConfigurationModel=overrides.resource?this._memoryConfigurationByResource.get(overrides.resource)||this._memoryConfiguration:this._memoryConfiguration;const overrideIdentifiers=new Set;for(const override of consolidateConfigurationModel.overrides){for(const overrideIdentifier of override.identifiers){if(consolidateConfigurationModel.getOverrideValue(key,overrideIdentifier)!==void 0){overrideIdentifiers.add(overrideIdentifier)}}}return new ConfigurationInspectValue(key,overrides,consolidateConfigurationModel.getValue(key),overrideIdentifiers.size?[...overrideIdentifiers]:void 0,this._defaultConfiguration,this._policyConfiguration.isEmpty()?void 0:this._policyConfiguration,this.applicationConfiguration.isEmpty()?void 0:this.applicationConfiguration,this.userConfiguration,this.localUserConfiguration,this.remoteUserConfiguration,workspace?this._workspaceConfiguration:void 0,folderConfigurationModel?folderConfigurationModel:void 0,memoryConfigurationModel)}get applicationConfiguration(){return this._applicationConfiguration}get userConfiguration(){if(!this._userConfiguration){this._userConfiguration=this._remoteUserConfiguration.isEmpty()?this._localUserConfiguration:this._localUserConfiguration.merge(this._remoteUserConfiguration)}return this._userConfiguration}get localUserConfiguration(){return this._localUserConfiguration}get remoteUserConfiguration(){return this._remoteUserConfiguration}getConsolidatedConfigurationModel(section,overrides,workspace){let configurationModel=this.getConsolidatedConfigurationModelForResource(overrides,workspace);if(overrides.overrideIdentifier){configurationModel=configurationModel.override(overrides.overrideIdentifier)}if(!this._policyConfiguration.isEmpty()&&this._policyConfiguration.getValue(section)!==void 0){configurationModel=configurationModel.merge(this._policyConfiguration)}return configurationModel}getConsolidatedConfigurationModelForResource({resource:resource},workspace){let consolidateConfiguration=this.getWorkspaceConsolidatedConfiguration();if(workspace&&resource){const root=workspace.getFolder(resource);if(root){consolidateConfiguration=this.getFolderConsolidatedConfiguration(root.uri)||consolidateConfiguration}const memoryConfigurationForResource=this._memoryConfigurationByResource.get(resource);if(memoryConfigurationForResource){consolidateConfiguration=consolidateConfiguration.merge(memoryConfigurationForResource)}}return consolidateConfiguration}getWorkspaceConsolidatedConfiguration(){if(!this._workspaceConsolidatedConfiguration){this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this.applicationConfiguration,this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration)}return this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(folder){let folderConsolidatedConfiguration=this._foldersConsolidatedConfigurations.get(folder);if(!folderConsolidatedConfiguration){const workspaceConsolidateConfiguration=this.getWorkspaceConsolidatedConfiguration();const folderConfiguration=this._folderConfigurations.get(folder);if(folderConfiguration){folderConsolidatedConfiguration=workspaceConsolidateConfiguration.merge(folderConfiguration);this._foldersConsolidatedConfigurations.set(folder,folderConsolidatedConfiguration)}else{folderConsolidatedConfiguration=workspaceConsolidateConfiguration}}return folderConsolidatedConfiguration}getFolderConfigurationModelForResource(resource,workspace){if(workspace&&resource){const root=workspace.getFolder(resource);if(root){return this._folderConfigurations.get(root.uri)}}return void 0}toData(){return{defaults:{contents:this._defaultConfiguration.contents,overrides:this._defaultConfiguration.overrides,keys:this._defaultConfiguration.keys},policy:{contents:this._policyConfiguration.contents,overrides:this._policyConfiguration.overrides,keys:this._policyConfiguration.keys},application:{contents:this.applicationConfiguration.contents,overrides:this.applicationConfiguration.overrides,keys:this.applicationConfiguration.keys},user:{contents:this.userConfiguration.contents,overrides:this.userConfiguration.overrides,keys:this.userConfiguration.keys},workspace:{contents:this._workspaceConfiguration.contents,overrides:this._workspaceConfiguration.overrides,keys:this._workspaceConfiguration.keys},folders:[...this._folderConfigurations.keys()].reduce(((result,folder)=>{const{contents:contents,overrides:overrides,keys:keys}=this._folderConfigurations.get(folder);result.push([folder,{contents:contents,overrides:overrides,keys:keys}]);return result}),[])}}static parse(data){const defaultConfiguration=this.parseConfigurationModel(data.defaults);const policyConfiguration=this.parseConfigurationModel(data.policy);const applicationConfiguration=this.parseConfigurationModel(data.application);const userConfiguration=this.parseConfigurationModel(data.user);const workspaceConfiguration=this.parseConfigurationModel(data.workspace);const folders=data.folders.reduce(((result,value)=>{result.set(URI.revive(value[0]),this.parseConfigurationModel(value[1]));return result}),new ResourceMap);return new Configuration(defaultConfiguration,policyConfiguration,applicationConfiguration,userConfiguration,new ConfigurationModel,workspaceConfiguration,folders,new ConfigurationModel,new ResourceMap)}static parseConfigurationModel(model){return new ConfigurationModel(model.contents,model.keys,model.overrides)}};ConfigurationChangeEvent=class{constructor(change,previous,currentConfiguraiton,currentWorkspace){this.change=change;this.previous=previous;this.currentConfiguraiton=currentConfiguraiton;this.currentWorkspace=currentWorkspace;this._marker="\n";this._markerCode1=this._marker.charCodeAt(0);this._markerCode2=".".charCodeAt(0);this.affectedKeys=new Set;this._previousConfiguration=void 0;for(const key of change.keys){this.affectedKeys.add(key)}for(const[,keys]of change.overrides){for(const key of keys){this.affectedKeys.add(key)}}this._affectsConfigStr=this._marker;for(const key of this.affectedKeys){this._affectsConfigStr+=key+this._marker}}get previousConfiguration(){if(!this._previousConfiguration&&this.previous){this._previousConfiguration=Configuration.parse(this.previous.data)}return this._previousConfiguration}affectsConfiguration(section,overrides){var _a6;const needle=this._marker+section;const idx=this._affectsConfigStr.indexOf(needle);if(idx<0){return false}const pos=idx+needle.length;if(pos>=this._affectsConfigStr.length){return false}const code=this._affectsConfigStr.charCodeAt(pos);if(code!==this._markerCode1&&code!==this._markerCode2){return false}if(overrides){const value1=this.previousConfiguration?this.previousConfiguration.getValue(section,overrides,(_a6=this.previous)===null||_a6===void 0?void 0:_a6.workspace):void 0;const value2=this.currentConfiguraiton.getValue(section,overrides,this.currentWorkspace);return!equals2(value1,value2)}return true}}}});function KbFound(commandId,commandArgs,isBubble){return{kind:2,commandId:commandId,commandArgs:commandArgs,isBubble:isBubble}}function printWhenExplanation(when){if(!when){return`no when condition`}return`${when.serialize()}`}function printSourceExplanation(kb){return kb.extensionId?kb.isBuiltinExtension?`built-in extension ${kb.extensionId}`:`user extension ${kb.extensionId}`:kb.isDefault?`built-in`:`user`}var NoMatchingKb,MoreChordsNeeded,KeybindingResolver;var init_keybindingResolver=__esm({"node_modules/monaco-editor/esm/vs/platform/keybinding/common/keybindingResolver.js"(){init_contextkey();NoMatchingKb={kind:0};MoreChordsNeeded={kind:1};KeybindingResolver=class{constructor(defaultKeybindings,overrides,log2){var _a6;this._log=log2;this._defaultKeybindings=defaultKeybindings;this._defaultBoundCommands=new Map;for(const defaultKeybinding of defaultKeybindings){const command=defaultKeybinding.command;if(command&&command.charAt(0)!=="-"){this._defaultBoundCommands.set(command,true)}}this._map=new Map;this._lookupMap=new Map;this._keybindings=KeybindingResolver.handleRemovals([].concat(defaultKeybindings).concat(overrides));for(let i=0,len=this._keybindings.length;i<len;i++){const k=this._keybindings[i];if(k.chords.length===0){continue}const when=(_a6=k.when)===null||_a6===void 0?void 0:_a6.substituteConstants();if(when&&when.type===0){continue}this._addKeyPress(k.chords[0],k)}}static _isTargetedForRemoval(defaultKb,keypress,when){if(keypress){for(let i=0;i<keypress.length;i++){if(keypress[i]!==defaultKb.chords[i]){return false}}}if(when&&when.type!==1){if(!defaultKb.when){return false}if(!expressionsAreEqualWithConstantSubstitution(when,defaultKb.when)){return false}}return true}static handleRemovals(rules){const removals=new Map;for(let i=0,len=rules.length;i<len;i++){const rule=rules[i];if(rule.command&&rule.command.charAt(0)==="-"){const command=rule.command.substring(1);if(!removals.has(command)){removals.set(command,[rule])}else{removals.get(command).push(rule)}}}if(removals.size===0){return rules}const result=[];for(let i=0,len=rules.length;i<len;i++){const rule=rules[i];if(!rule.command||rule.command.length===0){result.push(rule);continue}if(rule.command.charAt(0)==="-"){continue}const commandRemovals=removals.get(rule.command);if(!commandRemovals||!rule.isDefault){result.push(rule);continue}let isRemoved=false;for(const commandRemoval of commandRemovals){const when=commandRemoval.when;if(this._isTargetedForRemoval(rule,commandRemoval.chords,when)){isRemoved=true;break}}if(!isRemoved){result.push(rule);continue}}return result}_addKeyPress(keypress,item){const conflicts=this._map.get(keypress);if(typeof conflicts==="undefined"){this._map.set(keypress,[item]);this._addToLookupMap(item);return}for(let i=conflicts.length-1;i>=0;i--){const conflict=conflicts[i];if(conflict.command===item.command){continue}let isShorterKbPrefix=true;for(let i2=1;i2<conflict.chords.length&&i2<item.chords.length;i2++){if(conflict.chords[i2]!==item.chords[i2]){isShorterKbPrefix=false;break}}if(!isShorterKbPrefix){continue}if(KeybindingResolver.whenIsEntirelyIncluded(conflict.when,item.when)){this._removeFromLookupMap(conflict)}}conflicts.push(item);this._addToLookupMap(item)}_addToLookupMap(item){if(!item.command){return}let arr=this._lookupMap.get(item.command);if(typeof arr==="undefined"){arr=[item];this._lookupMap.set(item.command,arr)}else{arr.push(item)}}_removeFromLookupMap(item){if(!item.command){return}const arr=this._lookupMap.get(item.command);if(typeof arr==="undefined"){return}for(let i=0,len=arr.length;i<len;i++){if(arr[i]===item){arr.splice(i,1);return}}}static whenIsEntirelyIncluded(a,b){if(!b||b.type===1){return true}if(!a||a.type===1){return false}return implies(a,b)}getKeybindings(){return this._keybindings}lookupPrimaryKeybinding(commandId,context){const items=this._lookupMap.get(commandId);if(typeof items==="undefined"||items.length===0){return null}if(items.length===1){return items[0]}for(let i=items.length-1;i>=0;i--){const item=items[i];if(context.contextMatchesRules(item.when)){return item}}return items[items.length-1]}resolve(context,currentChords,keypress){const pressedChords=[...currentChords,keypress];this._log(`| Resolving ${pressedChords}`);const kbCandidates=this._map.get(pressedChords[0]);if(kbCandidates===void 0){this._log(`\\ No keybinding entries.`);return NoMatchingKb}let lookupMap=null;if(pressedChords.length<2){lookupMap=kbCandidates}else{lookupMap=[];for(let i=0,len=kbCandidates.length;i<len;i++){const candidate=kbCandidates[i];if(pressedChords.length>candidate.chords.length){continue}let prefixMatches=true;for(let i2=1;i2<pressedChords.length;i2++){if(candidate.chords[i2]!==pressedChords[i2]){prefixMatches=false;break}}if(prefixMatches){lookupMap.push(candidate)}}}const result=this._findCommand(context,lookupMap);if(!result){this._log(`\\ From ${lookupMap.length} keybinding entries, no when clauses matched the context.`);return NoMatchingKb}if(pressedChords.length<result.chords.length){this._log(`\\ From ${lookupMap.length} keybinding entries, awaiting ${result.chords.length-pressedChords.length} more chord(s), when: ${printWhenExplanation(result.when)}, source: ${printSourceExplanation(result)}.`);return MoreChordsNeeded}this._log(`\\ From ${lookupMap.length} keybinding entries, matched ${result.command}, when: ${printWhenExplanation(result.when)}, source: ${printSourceExplanation(result)}.`);return KbFound(result.command,result.commandArgs,result.bubble)}_findCommand(context,matches){for(let i=matches.length-1;i>=0;i--){const k=matches[i];if(!KeybindingResolver._contextMatchesRules(context,k.when)){continue}return k}return null}static _contextMatchesRules(context,rules){if(!rules){return true}return rules.evaluate(context)}}}});var HIGH_FREQ_COMMANDS,AbstractKeybindingService,KeybindingModifierSet;var init_abstractKeybindingService=__esm({"node_modules/monaco-editor/esm/vs/platform/keybinding/common/abstractKeybindingService.js"(){init_async();init_errors();init_event();init_ime();init_lifecycle();init_nls();init_keybindingResolver();HIGH_FREQ_COMMANDS=/^(cursor|delete|undo|redo|tab|editor\.action\.clipboard)/;AbstractKeybindingService=class extends Disposable{get onDidUpdateKeybindings(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:Event.None}get inChordMode(){return this._currentChords.length>0}constructor(_contextKeyService,_commandService,_telemetryService,_notificationService,_logService){super();this._contextKeyService=_contextKeyService;this._commandService=_commandService;this._telemetryService=_telemetryService;this._notificationService=_notificationService;this._logService=_logService;this._onDidUpdateKeybindings=this._register(new Emitter);this._currentChords=[];this._currentChordChecker=new IntervalTimer;this._currentChordStatusMessage=null;this._ignoreSingleModifiers=KeybindingModifierSet.EMPTY;this._currentSingleModifier=null;this._currentSingleModifierClearTimeout=new TimeoutTimer;this._logging=false}dispose(){super.dispose()}_log(str){if(this._logging){this._logService.info(`[KeybindingService]: ${str}`)}}getKeybindings(){return this._getResolver().getKeybindings()}lookupKeybinding(commandId,context){const result=this._getResolver().lookupPrimaryKeybinding(commandId,context||this._contextKeyService);if(!result){return void 0}return result.resolvedKeybinding}dispatchEvent(e,target){return this._dispatch(e,target)}softDispatch(e,target){this._log(`/ Soft dispatching keyboard event`);const keybinding=this.resolveKeyboardEvent(e);if(keybinding.hasMultipleChords()){console.warn("keyboard event should not be mapped to multiple chords");return NoMatchingKb}const[firstChord]=keybinding.getDispatchChords();if(firstChord===null){this._log(`\\ Keyboard event cannot be dispatched`);return NoMatchingKb}const contextValue=this._contextKeyService.getContext(target);const currentChords=this._currentChords.map((({keypress:keypress})=>keypress));return this._getResolver().resolve(contextValue,currentChords,firstChord)}_scheduleLeaveChordMode(){const chordLastInteractedTime=Date.now();this._currentChordChecker.cancelAndSet((()=>{if(!this._documentHasFocus()){this._leaveChordMode();return}if(Date.now()-chordLastInteractedTime>5e3){this._leaveChordMode()}}),500)}_expectAnotherChord(firstChord,keypressLabel){this._currentChords.push({keypress:firstChord,label:keypressLabel});switch(this._currentChords.length){case 0:throw illegalState("impossible");case 1:this._currentChordStatusMessage=this._notificationService.status(localize("first.chord","({0}) was pressed. Waiting for second key of chord...",keypressLabel));break;default:{const fullKeypressLabel=this._currentChords.map((({label:label})=>label)).join(", ");this._currentChordStatusMessage=this._notificationService.status(localize("next.chord","({0}) was pressed. Waiting for next key of chord...",fullKeypressLabel))}}this._scheduleLeaveChordMode();if(IME.enabled){IME.disable()}}_leaveChordMode(){if(this._currentChordStatusMessage){this._currentChordStatusMessage.dispose();this._currentChordStatusMessage=null}this._currentChordChecker.cancel();this._currentChords=[];IME.enable()}_dispatch(e,target){return this._doDispatch(this.resolveKeyboardEvent(e),target,false)}_singleModifierDispatch(e,target){const keybinding=this.resolveKeyboardEvent(e);const[singleModifier]=keybinding.getSingleModifierDispatchChords();if(singleModifier){if(this._ignoreSingleModifiers.has(singleModifier)){this._log(`+ Ignoring single modifier ${singleModifier} due to it being pressed together with other keys.`);this._ignoreSingleModifiers=KeybindingModifierSet.EMPTY;this._currentSingleModifierClearTimeout.cancel();this._currentSingleModifier=null;return false}this._ignoreSingleModifiers=KeybindingModifierSet.EMPTY;if(this._currentSingleModifier===null){this._log(`+ Storing single modifier for possible chord ${singleModifier}.`);this._currentSingleModifier=singleModifier;this._currentSingleModifierClearTimeout.cancelAndSet((()=>{this._log(`+ Clearing single modifier due to 300ms elapsed.`);this._currentSingleModifier=null}),300);return false}if(singleModifier===this._currentSingleModifier){this._log(`/ Dispatching single modifier chord ${singleModifier} ${singleModifier}`);this._currentSingleModifierClearTimeout.cancel();this._currentSingleModifier=null;return this._doDispatch(keybinding,target,true)}this._log(`+ Clearing single modifier due to modifier mismatch: ${this._currentSingleModifier} ${singleModifier}`);this._currentSingleModifierClearTimeout.cancel();this._currentSingleModifier=null;return false}const[firstChord]=keybinding.getChords();this._ignoreSingleModifiers=new KeybindingModifierSet(firstChord);if(this._currentSingleModifier!==null){this._log(`+ Clearing single modifier due to other key up.`)}this._currentSingleModifierClearTimeout.cancel();this._currentSingleModifier=null;return false}_doDispatch(userKeypress,target,isSingleModiferChord=false){var _a6;let shouldPreventDefault=false;if(userKeypress.hasMultipleChords()){console.warn("Unexpected keyboard event mapped to multiple chords");return false}let userPressedChord=null;let currentChords=null;if(isSingleModiferChord){const[dispatchKeyname]=userKeypress.getSingleModifierDispatchChords();userPressedChord=dispatchKeyname;currentChords=dispatchKeyname?[dispatchKeyname]:[]}else{[userPressedChord]=userKeypress.getDispatchChords();currentChords=this._currentChords.map((({keypress:keypress})=>keypress))}if(userPressedChord===null){this._log(`\\ Keyboard event cannot be dispatched in keydown phase.`);return shouldPreventDefault}const contextValue=this._contextKeyService.getContext(target);const keypressLabel=userKeypress.getLabel();const resolveResult=this._getResolver().resolve(contextValue,currentChords,userPressedChord);switch(resolveResult.kind){case 0:{this._logService.trace("KeybindingService#dispatch",keypressLabel,`[ No matching keybinding ]`);if(this.inChordMode){const currentChordsLabel=this._currentChords.map((({label:label})=>label)).join(", ");this._log(`+ Leaving multi-chord mode: Nothing bound to "${currentChordsLabel}, ${keypressLabel}".`);this._notificationService.status(localize("missing.chord","The key combination ({0}, {1}) is not a command.",currentChordsLabel,keypressLabel),{hideAfter:10*1e3});this._leaveChordMode();shouldPreventDefault=true}return shouldPreventDefault}case 1:{this._logService.trace("KeybindingService#dispatch",keypressLabel,`[ Several keybindings match - more chords needed ]`);shouldPreventDefault=true;this._expectAnotherChord(userPressedChord,keypressLabel);this._log(this._currentChords.length===1?`+ Entering multi-chord mode...`:`+ Continuing multi-chord mode...`);return shouldPreventDefault}case 2:{this._logService.trace("KeybindingService#dispatch",keypressLabel,`[ Will dispatch command ${resolveResult.commandId} ]`);if(resolveResult.commandId===null||resolveResult.commandId===""){if(this.inChordMode){const currentChordsLabel=this._currentChords.map((({label:label})=>label)).join(", ");this._log(`+ Leaving chord mode: Nothing bound to "${currentChordsLabel}, ${keypressLabel}".`);this._notificationService.status(localize("missing.chord","The key combination ({0}, {1}) is not a command.",currentChordsLabel,keypressLabel),{hideAfter:10*1e3});this._leaveChordMode();shouldPreventDefault=true}}else{if(this.inChordMode){this._leaveChordMode()}if(!resolveResult.isBubble){shouldPreventDefault=true}this._log(`+ Invoking command ${resolveResult.commandId}.`);if(typeof resolveResult.commandArgs==="undefined"){this._commandService.executeCommand(resolveResult.commandId).then(void 0,(err=>this._notificationService.warn(err)))}else{this._commandService.executeCommand(resolveResult.commandId,resolveResult.commandArgs).then(void 0,(err=>this._notificationService.warn(err)))}if(!HIGH_FREQ_COMMANDS.test(resolveResult.commandId)){this._telemetryService.publicLog2("workbenchActionExecuted",{id:resolveResult.commandId,from:"keybinding",detail:(_a6=userKeypress.getUserSettingsLabel())!==null&&_a6!==void 0?_a6:void 0})}}return shouldPreventDefault}}}mightProducePrintableCharacter(event){if(event.ctrlKey||event.metaKey){return false}if(event.keyCode>=31&&event.keyCode<=56||event.keyCode>=21&&event.keyCode<=30){return true}return false}};KeybindingModifierSet=class{constructor(source){this._ctrlKey=source?source.ctrlKey:false;this._shiftKey=source?source.shiftKey:false;this._altKey=source?source.altKey:false;this._metaKey=source?source.metaKey:false}has(modifier){switch(modifier){case"ctrl":return this._ctrlKey;case"shift":return this._shiftKey;case"alt":return this._altKey;case"meta":return this._metaKey}}};KeybindingModifierSet.EMPTY=new KeybindingModifierSet(null)}});function toEmptyArrayIfContainsNull(arr){const result=[];for(let i=0,len=arr.length;i<len;i++){const element=arr[i];if(!element){return[]}result.push(element)}return result}var ResolvedKeybindingItem;var init_resolvedKeybindingItem=__esm({"node_modules/monaco-editor/esm/vs/platform/keybinding/common/resolvedKeybindingItem.js"(){ResolvedKeybindingItem=class{constructor(resolvedKeybinding,command,commandArgs,when,isDefault,extensionId,isBuiltinExtension){this._resolvedKeybindingItemBrand=void 0;this.resolvedKeybinding=resolvedKeybinding;this.chords=resolvedKeybinding?toEmptyArrayIfContainsNull(resolvedKeybinding.getDispatchChords()):[];if(resolvedKeybinding&&this.chords.length===0){this.chords=toEmptyArrayIfContainsNull(resolvedKeybinding.getSingleModifierDispatchChords())}this.bubble=command?command.charCodeAt(0)===94:false;this.command=this.bubble?command.substr(1):command;this.commandArgs=commandArgs;this.when=when;this.isDefault=isDefault;this.extensionId=extensionId;this.isBuiltinExtension=isBuiltinExtension}}}});function _simpleAsString(modifiers,key,labels){if(key===null){return""}const result=[];if(modifiers.ctrlKey){result.push(labels.ctrlKey)}if(modifiers.shiftKey){result.push(labels.shiftKey)}if(modifiers.altKey){result.push(labels.altKey)}if(modifiers.metaKey){result.push(labels.metaKey)}if(key!==""){result.push(key)}return result.join(labels.separator)}var ModifierLabelProvider,UILabelProvider,AriaLabelProvider,ElectronAcceleratorLabelProvider,UserSettingsLabelProvider;var init_keybindingLabels=__esm({"node_modules/monaco-editor/esm/vs/base/common/keybindingLabels.js"(){init_nls();ModifierLabelProvider=class{constructor(mac,windows,linux=windows){this.modifierLabels=[null];this.modifierLabels[2]=mac;this.modifierLabels[1]=windows;this.modifierLabels[3]=linux}toLabel(OS2,chords,keyLabelProvider){if(chords.length===0){return null}const result=[];for(let i=0,len=chords.length;i<len;i++){const chord=chords[i];const keyLabel=keyLabelProvider(chord);if(keyLabel===null){return null}result[i]=_simpleAsString(chord,keyLabel,this.modifierLabels[OS2])}return result.join(" ")}};UILabelProvider=new ModifierLabelProvider({ctrlKey:"⌃",shiftKey:"⇧",altKey:"⌥",metaKey:"⌘",separator:""},{ctrlKey:localize({key:"ctrlKey",comment:["This is the short form for the Control key on the keyboard"]},"Ctrl"),shiftKey:localize({key:"shiftKey",comment:["This is the short form for the Shift key on the keyboard"]},"Shift"),altKey:localize({key:"altKey",comment:["This is the short form for the Alt key on the keyboard"]},"Alt"),metaKey:localize({key:"windowsKey",comment:["This is the short form for the Windows key on the keyboard"]},"Windows"),separator:"+"},{ctrlKey:localize({key:"ctrlKey",comment:["This is the short form for the Control key on the keyboard"]},"Ctrl"),shiftKey:localize({key:"shiftKey",comment:["This is the short form for the Shift key on the keyboard"]},"Shift"),altKey:localize({key:"altKey",comment:["This is the short form for the Alt key on the keyboard"]},"Alt"),metaKey:localize({key:"superKey",comment:["This is the short form for the Super key on the keyboard"]},"Super"),separator:"+"});AriaLabelProvider=new ModifierLabelProvider({ctrlKey:localize({key:"ctrlKey.long",comment:["This is the long form for the Control key on the keyboard"]},"Control"),shiftKey:localize({key:"shiftKey.long",comment:["This is the long form for the Shift key on the keyboard"]},"Shift"),altKey:localize({key:"optKey.long",comment:["This is the long form for the Alt/Option key on the keyboard"]},"Option"),metaKey:localize({key:"cmdKey.long",comment:["This is the long form for the Command key on the keyboard"]},"Command"),separator:"+"},{ctrlKey:localize({key:"ctrlKey.long",comment:["This is the long form for the Control key on the keyboard"]},"Control"),shiftKey:localize({key:"shiftKey.long",comment:["This is the long form for the Shift key on the keyboard"]},"Shift"),altKey:localize({key:"altKey.long",comment:["This is the long form for the Alt key on the keyboard"]},"Alt"),metaKey:localize({key:"windowsKey.long",comment:["This is the long form for the Windows key on the keyboard"]},"Windows"),separator:"+"},{ctrlKey:localize({key:"ctrlKey.long",comment:["This is the long form for the Control key on the keyboard"]},"Control"),shiftKey:localize({key:"shiftKey.long",comment:["This is the long form for the Shift key on the keyboard"]},"Shift"),altKey:localize({key:"altKey.long",comment:["This is the long form for the Alt key on the keyboard"]},"Alt"),metaKey:localize({key:"superKey.long",comment:["This is the long form for the Super key on the keyboard"]},"Super"),separator:"+"});ElectronAcceleratorLabelProvider=new ModifierLabelProvider({ctrlKey:"Ctrl",shiftKey:"Shift",altKey:"Alt",metaKey:"Cmd",separator:"+"},{ctrlKey:"Ctrl",shiftKey:"Shift",altKey:"Alt",metaKey:"Super",separator:"+"});UserSettingsLabelProvider=new ModifierLabelProvider({ctrlKey:"ctrl",shiftKey:"shift",altKey:"alt",metaKey:"cmd",separator:"+"},{ctrlKey:"ctrl",shiftKey:"shift",altKey:"alt",metaKey:"win",separator:"+"},{ctrlKey:"ctrl",shiftKey:"shift",altKey:"alt",metaKey:"meta",separator:"+"})}});var BaseResolvedKeybinding;var init_baseResolvedKeybinding=__esm({"node_modules/monaco-editor/esm/vs/platform/keybinding/common/baseResolvedKeybinding.js"(){init_errors();init_keybindingLabels();init_keybindings();BaseResolvedKeybinding=class extends ResolvedKeybinding{constructor(os,chords){super();if(chords.length===0){throw illegalArgument(`chords`)}this._os=os;this._chords=chords}getLabel(){return UILabelProvider.toLabel(this._os,this._chords,(keybinding=>this._getLabel(keybinding)))}getAriaLabel(){return AriaLabelProvider.toLabel(this._os,this._chords,(keybinding=>this._getAriaLabel(keybinding)))}getElectronAccelerator(){if(this._chords.length>1){return null}if(this._chords[0].isDuplicateModifierCase()){return null}return ElectronAcceleratorLabelProvider.toLabel(this._os,this._chords,(keybinding=>this._getElectronAccelerator(keybinding)))}getUserSettingsLabel(){return UserSettingsLabelProvider.toLabel(this._os,this._chords,(keybinding=>this._getUserSettingsLabel(keybinding)))}hasMultipleChords(){return this._chords.length>1}getChords(){return this._chords.map((keybinding=>this._getChord(keybinding)))}_getChord(keybinding){return new ResolvedChord(keybinding.ctrlKey,keybinding.shiftKey,keybinding.altKey,keybinding.metaKey,this._getLabel(keybinding),this._getAriaLabel(keybinding))}getDispatchChords(){return this._chords.map((keybinding=>this._getChordDispatch(keybinding)))}getSingleModifierDispatchChords(){return this._chords.map((keybinding=>this._getSingleModifierChordDispatch(keybinding)))}}}});var USLayoutResolvedKeybinding;var init_usLayoutResolvedKeybinding=__esm({"node_modules/monaco-editor/esm/vs/platform/keybinding/common/usLayoutResolvedKeybinding.js"(){init_keyCodes();init_keybindings();init_baseResolvedKeybinding();init_resolvedKeybindingItem();USLayoutResolvedKeybinding=class extends BaseResolvedKeybinding{constructor(chords,os){super(os,chords)}_keyCodeToUILabel(keyCode){if(this._os===2){switch(keyCode){case 15:return"←";case 16:return"↑";case 17:return"→";case 18:return"↓"}}return KeyCodeUtils.toString(keyCode)}_getLabel(chord){if(chord.isDuplicateModifierCase()){return""}return this._keyCodeToUILabel(chord.keyCode)}_getAriaLabel(chord){if(chord.isDuplicateModifierCase()){return""}return KeyCodeUtils.toString(chord.keyCode)}_getElectronAccelerator(chord){return KeyCodeUtils.toElectronAccelerator(chord.keyCode)}_getUserSettingsLabel(chord){if(chord.isDuplicateModifierCase()){return""}const result=KeyCodeUtils.toUserSettingsUS(chord.keyCode);return result?result.toLowerCase():result}_getChordDispatch(chord){return USLayoutResolvedKeybinding.getDispatchStr(chord)}static getDispatchStr(chord){if(chord.isModifierKey()){return null}let result="";if(chord.ctrlKey){result+="ctrl+"}if(chord.shiftKey){result+="shift+"}if(chord.altKey){result+="alt+"}if(chord.metaKey){result+="meta+"}result+=KeyCodeUtils.toString(chord.keyCode);return result}_getSingleModifierChordDispatch(keybinding){if(keybinding.keyCode===5&&!keybinding.shiftKey&&!keybinding.altKey&&!keybinding.metaKey){return"ctrl"}if(keybinding.keyCode===4&&!keybinding.ctrlKey&&!keybinding.altKey&&!keybinding.metaKey){return"shift"}if(keybinding.keyCode===6&&!keybinding.ctrlKey&&!keybinding.shiftKey&&!keybinding.metaKey){return"alt"}if(keybinding.keyCode===57&&!keybinding.ctrlKey&&!keybinding.shiftKey&&!keybinding.altKey){return"meta"}return null}static _scanCodeToKeyCode(scanCode){const immutableKeyCode=IMMUTABLE_CODE_TO_KEY_CODE[scanCode];if(immutableKeyCode!==-1){return immutableKeyCode}switch(scanCode){case 10:return 31;case 11:return 32;case 12:return 33;case 13:return 34;case 14:return 35;case 15:return 36;case 16:return 37;case 17:return 38;case 18:return 39;case 19:return 40;case 20:return 41;case 21:return 42;case 22:return 43;case 23:return 44;case 24:return 45;case 25:return 46;case 26:return 47;case 27:return 48;case 28:return 49;case 29:return 50;case 30:return 51;case 31:return 52;case 32:return 53;case 33:return 54;case 34:return 55;case 35:return 56;case 36:return 22;case 37:return 23;case 38:return 24;case 39:return 25;case 40:return 26;case 41:return 27;case 42:return 28;case 43:return 29;case 44:return 30;case 45:return 21;case 51:return 88;case 52:return 86;case 53:return 92;case 54:return 94;case 55:return 93;case 56:return 0;case 57:return 85;case 58:return 95;case 59:return 91;case 60:return 87;case 61:return 89;case 62:return 90;case 106:return 97}return 0}static _toKeyCodeChord(chord){if(!chord){return null}if(chord instanceof KeyCodeChord){return chord}const keyCode=this._scanCodeToKeyCode(chord.scanCode);if(keyCode===0){return null}return new KeyCodeChord(chord.ctrlKey,chord.shiftKey,chord.altKey,chord.metaKey,keyCode)}static resolveKeybinding(keybinding,os){const chords=toEmptyArrayIfContainsNull(keybinding.chords.map((chord=>this._toKeyCodeChord(chord))));if(chords.length>0){return[new USLayoutResolvedKeybinding(chords,os)]}return[]}}}});var ILabelService;var init_label=__esm({"node_modules/monaco-editor/esm/vs/platform/label/common/label.js"(){init_instantiation();ILabelService=createDecorator("labelService")}});var StringIterator,ConfigKeysIterator,PathIterator,UriIterator,TernarySearchTreeNode,TernarySearchTree;var init_ternarySearchTree=__esm({"node_modules/monaco-editor/esm/vs/base/common/ternarySearchTree.js"(){init_strings();StringIterator=class{constructor(){this._value="";this._pos=0}reset(key){this._value=key;this._pos=0;return this}next(){this._pos+=1;return this}hasNext(){return this._pos<this._value.length-1}cmp(a){const aCode=a.charCodeAt(0);const thisCode=this._value.charCodeAt(this._pos);return aCode-thisCode}value(){return this._value[this._pos]}};ConfigKeysIterator=class{constructor(_caseSensitive=true){this._caseSensitive=_caseSensitive}reset(key){this._value=key;this._from=0;this._to=0;return this.next()}hasNext(){return this._to<this._value.length}next(){this._from=this._to;let justSeps=true;for(;this._to<this._value.length;this._to++){const ch=this._value.charCodeAt(this._to);if(ch===46){if(justSeps){this._from++}else{break}}else{justSeps=false}}return this}cmp(a){return this._caseSensitive?compareSubstring(a,this._value,0,a.length,this._from,this._to):compareSubstringIgnoreCase(a,this._value,0,a.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}};PathIterator=class{constructor(_splitOnBackslash=true,_caseSensitive=true){this._splitOnBackslash=_splitOnBackslash;this._caseSensitive=_caseSensitive}reset(key){this._from=0;this._to=0;this._value=key;this._valueLen=key.length;for(let pos=key.length-1;pos>=0;pos--,this._valueLen--){const ch=this._value.charCodeAt(pos);if(!(ch===47||this._splitOnBackslash&&ch===92)){break}}return this.next()}hasNext(){return this._to<this._valueLen}next(){this._from=this._to;let justSeps=true;for(;this._to<this._valueLen;this._to++){const ch=this._value.charCodeAt(this._to);if(ch===47||this._splitOnBackslash&&ch===92){if(justSeps){this._from++}else{break}}else{justSeps=false}}return this}cmp(a){return this._caseSensitive?compareSubstring(a,this._value,0,a.length,this._from,this._to):compareSubstringIgnoreCase(a,this._value,0,a.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}};UriIterator=class{constructor(_ignorePathCasing,_ignoreQueryAndFragment){this._ignorePathCasing=_ignorePathCasing;this._ignoreQueryAndFragment=_ignoreQueryAndFragment;this._states=[];this._stateIdx=0}reset(key){this._value=key;this._states=[];if(this._value.scheme){this._states.push(1)}if(this._value.authority){this._states.push(2)}if(this._value.path){this._pathIterator=new PathIterator(false,!this._ignorePathCasing(key));this._pathIterator.reset(key.path);if(this._pathIterator.value()){this._states.push(3)}}if(!this._ignoreQueryAndFragment(key)){if(this._value.query){this._states.push(4)}if(this._value.fragment){this._states.push(5)}}this._stateIdx=0;return this}next(){if(this._states[this._stateIdx]===3&&this._pathIterator.hasNext()){this._pathIterator.next()}else{this._stateIdx+=1}return this}hasNext(){return this._states[this._stateIdx]===3&&this._pathIterator.hasNext()||this._stateIdx<this._states.length-1}cmp(a){if(this._states[this._stateIdx]===1){return compareIgnoreCase(a,this._value.scheme)}else if(this._states[this._stateIdx]===2){return compareIgnoreCase(a,this._value.authority)}else if(this._states[this._stateIdx]===3){return this._pathIterator.cmp(a)}else if(this._states[this._stateIdx]===4){return compare(a,this._value.query)}else if(this._states[this._stateIdx]===5){return compare(a,this._value.fragment)}throw new Error}value(){if(this._states[this._stateIdx]===1){return this._value.scheme}else if(this._states[this._stateIdx]===2){return this._value.authority}else if(this._states[this._stateIdx]===3){return this._pathIterator.value()}else if(this._states[this._stateIdx]===4){return this._value.query}else if(this._states[this._stateIdx]===5){return this._value.fragment}throw new Error}};TernarySearchTreeNode=class{constructor(){this.height=1}rotateLeft(){const tmp=this.right;this.right=tmp.left;tmp.left=this;this.updateHeight();tmp.updateHeight();return tmp}rotateRight(){const tmp=this.left;this.left=tmp.right;tmp.right=this;this.updateHeight();tmp.updateHeight();return tmp}updateHeight(){this.height=1+Math.max(this.heightLeft,this.heightRight)}balanceFactor(){return this.heightRight-this.heightLeft}get heightLeft(){var _a6,_b3;return(_b3=(_a6=this.left)===null||_a6===void 0?void 0:_a6.height)!==null&&_b3!==void 0?_b3:0}get heightRight(){var _a6,_b3;return(_b3=(_a6=this.right)===null||_a6===void 0?void 0:_a6.height)!==null&&_b3!==void 0?_b3:0}};TernarySearchTree=class{static forUris(ignorePathCasing=(()=>false),ignoreQueryAndFragment=(()=>false)){return new TernarySearchTree(new UriIterator(ignorePathCasing,ignoreQueryAndFragment))}static forStrings(){return new TernarySearchTree(new StringIterator)}static forConfigKeys(){return new TernarySearchTree(new ConfigKeysIterator)}constructor(segments){this._iter=segments}clear(){this._root=void 0}set(key,element){const iter=this._iter.reset(key);let node;if(!this._root){this._root=new TernarySearchTreeNode;this._root.segment=iter.value()}const stack=[];node=this._root;while(true){const val=iter.cmp(node.segment);if(val>0){if(!node.left){node.left=new TernarySearchTreeNode;node.left.segment=iter.value()}stack.push([-1,node]);node=node.left}else if(val<0){if(!node.right){node.right=new TernarySearchTreeNode;node.right.segment=iter.value()}stack.push([1,node]);node=node.right}else if(iter.hasNext()){iter.next();if(!node.mid){node.mid=new TernarySearchTreeNode;node.mid.segment=iter.value()}stack.push([0,node]);node=node.mid}else{break}}const oldElement=node.value;node.value=element;node.key=key;for(let i=stack.length-1;i>=0;i--){const node2=stack[i][1];node2.updateHeight();const bf=node2.balanceFactor();if(bf<-1||bf>1){const d1=stack[i][0];const d2=stack[i+1][0];if(d1===1&&d2===1){stack[i][1]=node2.rotateLeft()}else if(d1===-1&&d2===-1){stack[i][1]=node2.rotateRight()}else if(d1===1&&d2===-1){node2.right=stack[i+1][1]=stack[i+1][1].rotateRight();stack[i][1]=node2.rotateLeft()}else if(d1===-1&&d2===1){node2.left=stack[i+1][1]=stack[i+1][1].rotateLeft();stack[i][1]=node2.rotateRight()}else{throw new Error}if(i>0){switch(stack[i-1][0]){case-1:stack[i-1][1].left=stack[i][1];break;case 1:stack[i-1][1].right=stack[i][1];break;case 0:stack[i-1][1].mid=stack[i][1];break}}else{this._root=stack[0][1]}}}return oldElement}get(key){var _a6;return(_a6=this._getNode(key))===null||_a6===void 0?void 0:_a6.value}_getNode(key){const iter=this._iter.reset(key);let node=this._root;while(node){const val=iter.cmp(node.segment);if(val>0){node=node.left}else if(val<0){node=node.right}else if(iter.hasNext()){iter.next();node=node.mid}else{break}}return node}has(key){const node=this._getNode(key);return!((node===null||node===void 0?void 0:node.value)===void 0&&(node===null||node===void 0?void 0:node.mid)===void 0)}delete(key){return this._delete(key,false)}deleteSuperstr(key){return this._delete(key,true)}_delete(key,superStr){var _a6;const iter=this._iter.reset(key);const stack=[];let node=this._root;while(node){const val=iter.cmp(node.segment);if(val>0){stack.push([-1,node]);node=node.left}else if(val<0){stack.push([1,node]);node=node.right}else if(iter.hasNext()){iter.next();stack.push([0,node]);node=node.mid}else{break}}if(!node){return}if(superStr){node.left=void 0;node.mid=void 0;node.right=void 0;node.height=1}else{node.key=void 0;node.value=void 0}if(!node.mid&&!node.value){if(node.left&&node.right){const min=this._min(node.right);if(min.key){const{key:key2,value:value,segment:segment}=min;this._delete(min.key,false);node.key=key2;node.value=value;node.segment=segment}}else{const newChild=(_a6=node.left)!==null&&_a6!==void 0?_a6:node.right;if(stack.length>0){const[dir,parent]=stack[stack.length-1];switch(dir){case-1:parent.left=newChild;break;case 0:parent.mid=newChild;break;case 1:parent.right=newChild;break}}else{this._root=newChild}}}for(let i=stack.length-1;i>=0;i--){const node2=stack[i][1];node2.updateHeight();const bf=node2.balanceFactor();if(bf>1){if(node2.right.balanceFactor()>=0){stack[i][1]=node2.rotateLeft()}else{node2.right=node2.right.rotateRight();stack[i][1]=node2.rotateLeft()}}else if(bf<-1){if(node2.left.balanceFactor()<=0){stack[i][1]=node2.rotateRight()}else{node2.left=node2.left.rotateLeft();stack[i][1]=node2.rotateRight()}}if(i>0){switch(stack[i-1][0]){case-1:stack[i-1][1].left=stack[i][1];break;case 1:stack[i-1][1].right=stack[i][1];break;case 0:stack[i-1][1].mid=stack[i][1];break}}else{this._root=stack[0][1]}}}_min(node){while(node.left){node=node.left}return node}findSubstr(key){const iter=this._iter.reset(key);let node=this._root;let candidate=void 0;while(node){const val=iter.cmp(node.segment);if(val>0){node=node.left}else if(val<0){node=node.right}else if(iter.hasNext()){iter.next();candidate=node.value||candidate;node=node.mid}else{break}}return node&&node.value||candidate}findSuperstr(key){return this._findSuperstrOrElement(key,false)}_findSuperstrOrElement(key,allowValue){const iter=this._iter.reset(key);let node=this._root;while(node){const val=iter.cmp(node.segment);if(val>0){node=node.left}else if(val<0){node=node.right}else if(iter.hasNext()){iter.next();node=node.mid}else{if(!node.mid){if(allowValue){return node.value}else{return void 0}}else{return this._entries(node.mid)}}}return void 0}forEach(callback){for(const[key,value]of this){callback(value,key)}}*[Symbol.iterator](){yield*this._entries(this._root)}_entries(node){const result=[];this._dfsEntries(node,result);return result[Symbol.iterator]()}_dfsEntries(node,bucket){if(!node){return}if(node.left){this._dfsEntries(node.left,bucket)}if(node.value){bucket.push([node.key,node.value])}if(node.mid){this._dfsEntries(node.mid,bucket)}if(node.right){this._dfsEntries(node.right,bucket)}}}}});function isSingleFolderWorkspaceIdentifier(obj){const singleFolderIdentifier=obj;return typeof(singleFolderIdentifier===null||singleFolderIdentifier===void 0?void 0:singleFolderIdentifier.id)==="string"&&URI.isUri(singleFolderIdentifier.uri)}function isEmptyWorkspaceIdentifier(obj){const emptyWorkspaceIdentifier=obj;return typeof(emptyWorkspaceIdentifier===null||emptyWorkspaceIdentifier===void 0?void 0:emptyWorkspaceIdentifier.id)==="string"&&!isSingleFolderWorkspaceIdentifier(obj)&&!isWorkspaceIdentifier(obj)}function toWorkspaceIdentifier(arg0,isExtensionDevelopment){if(typeof arg0==="string"||typeof arg0==="undefined"){if(typeof arg0==="string"){return{id:basename(arg0)}}if(isExtensionDevelopment){return EXTENSION_DEVELOPMENT_EMPTY_WINDOW_WORKSPACE}return UNKNOWN_EMPTY_WINDOW_WORKSPACE}const workspace=arg0;if(workspace.configuration){return{id:workspace.id,configPath:workspace.configuration}}if(workspace.folders.length===1){return{id:workspace.id,uri:workspace.folders[0].uri}}return{id:workspace.id}}function isWorkspaceIdentifier(obj){const workspaceIdentifier=obj;return typeof(workspaceIdentifier===null||workspaceIdentifier===void 0?void 0:workspaceIdentifier.id)==="string"&&URI.isUri(workspaceIdentifier.configPath)}function isStandaloneEditorWorkspace(workspace){return workspace.id===STANDALONE_EDITOR_WORKSPACE_ID}var IWorkspaceContextService,EXTENSION_DEVELOPMENT_EMPTY_WINDOW_WORKSPACE,UNKNOWN_EMPTY_WINDOW_WORKSPACE,WorkspaceFolder,WORKSPACE_EXTENSION,WORKSPACE_FILTER,STANDALONE_EDITOR_WORKSPACE_ID;var init_workspace=__esm({"node_modules/monaco-editor/esm/vs/platform/workspace/common/workspace.js"(){init_nls();init_path();init_ternarySearchTree();init_uri();init_instantiation();IWorkspaceContextService=createDecorator("contextService");EXTENSION_DEVELOPMENT_EMPTY_WINDOW_WORKSPACE={id:"ext-dev"};UNKNOWN_EMPTY_WINDOW_WORKSPACE={id:"empty-window"};WorkspaceFolder=class{constructor(data,raw){this.raw=raw;this.uri=data.uri;this.index=data.index;this.name=data.name}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}};WORKSPACE_EXTENSION="code-workspace";WORKSPACE_FILTER=[{name:localize("codeWorkspace","Code Workspace"),extensions:[WORKSPACE_EXTENSION]}];STANDALONE_EDITOR_WORKSPACE_ID="4064f6ec-cb38-4ad0-af64-ee6467e63c82"}});var InspectTokensNLS,GoToLineNLS,QuickHelpNLS,QuickCommandNLS,QuickOutlineNLS,StandaloneCodeEditorNLS,ToggleHighContrastNLS,StandaloneServicesNLS;var init_standaloneStrings=__esm({"node_modules/monaco-editor/esm/vs/editor/common/standaloneStrings.js"(){init_nls();(function(InspectTokensNLS2){InspectTokensNLS2.inspectTokensAction=localize("inspectTokens","Developer: Inspect Tokens")})(InspectTokensNLS||(InspectTokensNLS={}));(function(GoToLineNLS2){GoToLineNLS2.gotoLineActionLabel=localize("gotoLineActionLabel","Go to Line/Column...")})(GoToLineNLS||(GoToLineNLS={}));(function(QuickHelpNLS2){QuickHelpNLS2.helpQuickAccessActionLabel=localize("helpQuickAccess","Show all Quick Access Providers")})(QuickHelpNLS||(QuickHelpNLS={}));(function(QuickCommandNLS2){QuickCommandNLS2.quickCommandActionLabel=localize("quickCommandActionLabel","Command Palette");QuickCommandNLS2.quickCommandHelp=localize("quickCommandActionHelp","Show And Run Commands")})(QuickCommandNLS||(QuickCommandNLS={}));(function(QuickOutlineNLS2){QuickOutlineNLS2.quickOutlineActionLabel=localize("quickOutlineActionLabel","Go to Symbol...");QuickOutlineNLS2.quickOutlineByCategoryActionLabel=localize("quickOutlineByCategoryActionLabel","Go to Symbol by Category...")})(QuickOutlineNLS||(QuickOutlineNLS={}));(function(StandaloneCodeEditorNLS2){StandaloneCodeEditorNLS2.editorViewAccessibleLabel=localize("editorViewAccessibleLabel","Editor content");StandaloneCodeEditorNLS2.accessibilityHelpMessage=localize("accessibilityHelpMessage","Press Alt+F1 for Accessibility Options.")})(StandaloneCodeEditorNLS||(StandaloneCodeEditorNLS={}));(function(ToggleHighContrastNLS2){ToggleHighContrastNLS2.toggleHighContrast=localize("toggleHighContrast","Toggle High Contrast Theme")})(ToggleHighContrastNLS||(ToggleHighContrastNLS={}));(function(StandaloneServicesNLS2){StandaloneServicesNLS2.bulkEditServiceSummary=localize("bulkEditServiceSummary","Made {0} edits in {1} files")})(StandaloneServicesNLS||(StandaloneServicesNLS={}))}});var IWorkspaceTrustManagementService;var init_workspaceTrust=__esm({"node_modules/monaco-editor/esm/vs/platform/workspace/common/workspaceTrust.js"(){init_instantiation();IWorkspaceTrustManagementService=createDecorator("workspaceTrustManagementService")}});var init_31=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/contextview/contextview.css"(){}});function isAnchor(obj){const anchor=obj;return!!anchor&&typeof anchor.x==="number"&&typeof anchor.y==="number"}function layout(viewportSize,viewSize,anchor){const layoutAfterAnchorBoundary=anchor.mode===LayoutAnchorMode.ALIGN?anchor.offset:anchor.offset+anchor.size;const layoutBeforeAnchorBoundary=anchor.mode===LayoutAnchorMode.ALIGN?anchor.offset+anchor.size:anchor.offset;if(anchor.position===0){if(viewSize<=viewportSize-layoutAfterAnchorBoundary){return layoutAfterAnchorBoundary}if(viewSize<=layoutBeforeAnchorBoundary){return layoutBeforeAnchorBoundary-viewSize}return Math.max(viewportSize-viewSize,0)}else{if(viewSize<=layoutBeforeAnchorBoundary){return layoutBeforeAnchorBoundary-viewSize}if(viewSize<=viewportSize-layoutAfterAnchorBoundary){return layoutAfterAnchorBoundary}return 0}}var LayoutAnchorMode,ContextView,SHADOW_ROOT_CSS;var init_contextview=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/contextview/contextview.js"(){init_canIUse();init_dom();init_lifecycle();init_platform();init_range2();init_31();(function(LayoutAnchorMode2){LayoutAnchorMode2[LayoutAnchorMode2["AVOID"]=0]="AVOID";LayoutAnchorMode2[LayoutAnchorMode2["ALIGN"]=1]="ALIGN"})(LayoutAnchorMode||(LayoutAnchorMode={}));ContextView=class extends Disposable{constructor(container,domPosition){super();this.container=null;this.delegate=null;this.toDisposeOnClean=Disposable.None;this.toDisposeOnSetContainer=Disposable.None;this.shadowRoot=null;this.shadowRootHostElement=null;this.view=$(".context-view");this.useFixedPosition=false;this.useShadowDOM=false;hide(this.view);this.setContainer(container,domPosition);this._register(toDisposable((()=>this.setContainer(null,1))))}setContainer(container,domPosition){var _a6;if(this.container){this.toDisposeOnSetContainer.dispose();if(this.shadowRoot){this.shadowRoot.removeChild(this.view);this.shadowRoot=null;(_a6=this.shadowRootHostElement)===null||_a6===void 0?void 0:_a6.remove();this.shadowRootHostElement=null}else{this.container.removeChild(this.view)}this.container=null}if(container){this.container=container;this.useFixedPosition=domPosition!==1;this.useShadowDOM=domPosition===3;if(this.useShadowDOM){this.shadowRootHostElement=$(".shadow-root-host");this.container.appendChild(this.shadowRootHostElement);this.shadowRoot=this.shadowRootHostElement.attachShadow({mode:"open"});const style=document.createElement("style");style.textContent=SHADOW_ROOT_CSS;this.shadowRoot.appendChild(style);this.shadowRoot.appendChild(this.view);this.shadowRoot.appendChild($("slot"))}else{this.container.appendChild(this.view)}const toDisposeOnSetContainer=new DisposableStore;ContextView.BUBBLE_UP_EVENTS.forEach((event=>{toDisposeOnSetContainer.add(addStandardDisposableListener(this.container,event,(e=>{this.onDOMEvent(e,false)})))}));ContextView.BUBBLE_DOWN_EVENTS.forEach((event=>{toDisposeOnSetContainer.add(addStandardDisposableListener(this.container,event,(e=>{this.onDOMEvent(e,true)}),true))}));this.toDisposeOnSetContainer=toDisposeOnSetContainer}}show(delegate){var _a6,_b3;if(this.isVisible()){this.hide()}clearNode(this.view);this.view.className="context-view";this.view.style.top="0px";this.view.style.left="0px";this.view.style.zIndex="2575";this.view.style.position=this.useFixedPosition?"fixed":"absolute";show(this.view);this.toDisposeOnClean=delegate.render(this.view)||Disposable.None;this.delegate=delegate;this.doLayout();(_b3=(_a6=this.delegate).focus)===null||_b3===void 0?void 0:_b3.call(_a6)}getViewElement(){return this.view}layout(){if(!this.isVisible()){return}if(this.delegate.canRelayout===false&&!(isIOS&&BrowserFeatures.pointerEvents)){this.hide();return}if(this.delegate.layout){this.delegate.layout()}this.doLayout()}doLayout(){if(!this.isVisible()){return}const anchor=this.delegate.getAnchor();let around;if(isHTMLElement(anchor)){const elementPosition=getDomNodePagePosition(anchor);const zoom=getDomNodeZoomLevel(anchor);around={top:elementPosition.top*zoom,left:elementPosition.left*zoom,width:elementPosition.width*zoom,height:elementPosition.height*zoom}}else if(isAnchor(anchor)){around={top:anchor.y,left:anchor.x,width:anchor.width||1,height:anchor.height||2}}else{around={top:anchor.posy,left:anchor.posx,width:2,height:2}}const viewSizeWidth=getTotalWidth(this.view);const viewSizeHeight=getTotalHeight(this.view);const anchorPosition=this.delegate.anchorPosition||0;const anchorAlignment=this.delegate.anchorAlignment||0;const anchorAxisAlignment=this.delegate.anchorAxisAlignment||0;let top;let left;if(anchorAxisAlignment===0){const verticalAnchor={offset:around.top-window.pageYOffset,size:around.height,position:anchorPosition===0?0:1};const horizontalAnchor={offset:around.left,size:around.width,position:anchorAlignment===0?0:1,mode:LayoutAnchorMode.ALIGN};top=layout(window.innerHeight,viewSizeHeight,verticalAnchor)+window.pageYOffset;if(Range2.intersects({start:top,end:top+viewSizeHeight},{start:verticalAnchor.offset,end:verticalAnchor.offset+verticalAnchor.size})){horizontalAnchor.mode=LayoutAnchorMode.AVOID}left=layout(window.innerWidth,viewSizeWidth,horizontalAnchor)}else{const horizontalAnchor={offset:around.left,size:around.width,position:anchorAlignment===0?0:1};const verticalAnchor={offset:around.top,size:around.height,position:anchorPosition===0?0:1,mode:LayoutAnchorMode.ALIGN};left=layout(window.innerWidth,viewSizeWidth,horizontalAnchor);if(Range2.intersects({start:left,end:left+viewSizeWidth},{start:horizontalAnchor.offset,end:horizontalAnchor.offset+horizontalAnchor.size})){verticalAnchor.mode=LayoutAnchorMode.AVOID}top=layout(window.innerHeight,viewSizeHeight,verticalAnchor)+window.pageYOffset}this.view.classList.remove("top","bottom","left","right");this.view.classList.add(anchorPosition===0?"bottom":"top");this.view.classList.add(anchorAlignment===0?"left":"right");this.view.classList.toggle("fixed",this.useFixedPosition);const containerPosition=getDomNodePagePosition(this.container);this.view.style.top=`${top-(this.useFixedPosition?getDomNodePagePosition(this.view).top:containerPosition.top)}px`;this.view.style.left=`${left-(this.useFixedPosition?getDomNodePagePosition(this.view).left:containerPosition.left)}px`;this.view.style.width="initial"}hide(data){const delegate=this.delegate;this.delegate=null;if(delegate===null||delegate===void 0?void 0:delegate.onHide){delegate.onHide(data)}this.toDisposeOnClean.dispose();hide(this.view)}isVisible(){return!!this.delegate}onDOMEvent(e,onCapture){if(this.delegate){if(this.delegate.onDOMEvent){this.delegate.onDOMEvent(e,document.activeElement)}else if(onCapture&&!isAncestor(e.target,this.container)){this.hide()}}}dispose(){this.hide();super.dispose()}};ContextView.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"];ContextView.BUBBLE_DOWN_EVENTS=["click"];SHADOW_ROOT_CSS=`\n\t:host {\n\t\tall: initial; /* 1st rule so subsequent properties are reset. */\n\t}\n\n\t.codicon[class*='codicon-'] {\n\t\tfont: normal normal normal 16px/1 codicon;\n\t\tdisplay: inline-block;\n\t\ttext-decoration: none;\n\t\ttext-rendering: auto;\n\t\ttext-align: center;\n\t\t-webkit-font-smoothing: antialiased;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\tuser-select: none;\n\t\t-webkit-user-select: none;\n\t\t-ms-user-select: none;\n\t}\n\n\t:host {\n\t\tfont-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif;\n\t}\n\n\t:host-context(.mac) { font-family: -apple-system, BlinkMacSystemFont, sans-serif; }\n\t:host-context(.mac:lang(zh-Hans)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", sans-serif; }\n\t:host-context(.mac:lang(zh-Hant)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang TC", sans-serif; }\n\t:host-context(.mac:lang(ja)) { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", sans-serif; }\n\t:host-context(.mac:lang(ko)) { font-family: -apple-system, BlinkMacSystemFont, "Nanum Gothic", "Apple SD Gothic Neo", "AppleGothic", sans-serif; }\n\n\t:host-context(.windows) { font-family: "Segoe WPC", "Segoe UI", sans-serif; }\n\t:host-context(.windows:lang(zh-Hans)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft YaHei", sans-serif; }\n\t:host-context(.windows:lang(zh-Hant)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft Jhenghei", sans-serif; }\n\t:host-context(.windows:lang(ja)) { font-family: "Segoe WPC", "Segoe UI", "Yu Gothic UI", "Meiryo UI", sans-serif; }\n\t:host-context(.windows:lang(ko)) { font-family: "Segoe WPC", "Segoe UI", "Malgun Gothic", "Dotom", sans-serif; }\n\n\t:host-context(.linux) { font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif; }\n\t:host-context(.linux:lang(zh-Hans)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans SC", "Source Han Sans CN", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(zh-Hant)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans TC", "Source Han Sans TW", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(ja)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans J", "Source Han Sans JP", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(ko)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans K", "Source Han Sans JR", "Source Han Sans", "UnDotum", "FBaekmuk Gulim", sans-serif; }\n`}});var __decorate27,__param23,ContextViewService;var init_contextViewService=__esm({"node_modules/monaco-editor/esm/vs/platform/contextview/browser/contextViewService.js"(){init_contextview();init_lifecycle();init_layoutService();__decorate27=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param23=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};ContextViewService=class ContextViewService2 extends Disposable{constructor(layoutService){super();this.layoutService=layoutService;this.currentViewDisposable=Disposable.None;this.container=layoutService.hasContainer?layoutService.container:null;this.contextView=this._register(new ContextView(this.container,1));this.layout();this._register(layoutService.onDidLayout((()=>this.layout())))}setContainer(container,domPosition){this.contextView.setContainer(container,domPosition||1)}showContextView(delegate,container,shadowRoot){if(container){if(container!==this.container||this.shadowRoot!==shadowRoot){this.container=container;this.setContainer(container,shadowRoot?3:2)}}else{if(this.layoutService.hasContainer&&this.container!==this.layoutService.container){this.container=this.layoutService.container;this.setContainer(this.container,1)}}this.shadowRoot=shadowRoot;this.contextView.show(delegate);const disposable=toDisposable((()=>{if(this.currentViewDisposable===disposable){this.hideContextView()}}));this.currentViewDisposable=disposable;return disposable}getContextViewElement(){return this.contextView.getViewElement()}layout(){this.contextView.layout()}hideContextView(data){this.contextView.hide(data)}};ContextViewService=__decorate27([__param23(0,ILayoutService)],ContextViewService)}});function registerPlatformLanguageAssociation(association,warnOnOverwrite=false){_registerLanguageAssociation(association,false,warnOnOverwrite)}function _registerLanguageAssociation(association,userConfigured,warnOnOverwrite){const associationItem=toLanguageAssociationItem(association,userConfigured);registeredAssociations.push(associationItem);if(!associationItem.userConfigured){nonUserRegisteredAssociations.push(associationItem)}else{userRegisteredAssociations.push(associationItem)}if(warnOnOverwrite&&!associationItem.userConfigured){registeredAssociations.forEach((a=>{if(a.mime===associationItem.mime||a.userConfigured){return}if(associationItem.extension&&a.extension===associationItem.extension){console.warn(`Overwriting extension <<${associationItem.extension}>> to now point to mime <<${associationItem.mime}>>`)}if(associationItem.filename&&a.filename===associationItem.filename){console.warn(`Overwriting filename <<${associationItem.filename}>> to now point to mime <<${associationItem.mime}>>`)}if(associationItem.filepattern&&a.filepattern===associationItem.filepattern){console.warn(`Overwriting filepattern <<${associationItem.filepattern}>> to now point to mime <<${associationItem.mime}>>`)}if(associationItem.firstline&&a.firstline===associationItem.firstline){console.warn(`Overwriting firstline <<${associationItem.firstline}>> to now point to mime <<${associationItem.mime}>>`)}}))}}function toLanguageAssociationItem(association,userConfigured){return{id:association.id,mime:association.mime,filename:association.filename,extension:association.extension,filepattern:association.filepattern,firstline:association.firstline,userConfigured:userConfigured,filenameLowercase:association.filename?association.filename.toLowerCase():void 0,extensionLowercase:association.extension?association.extension.toLowerCase():void 0,filepatternLowercase:association.filepattern?parse3(association.filepattern.toLowerCase()):void 0,filepatternOnPath:association.filepattern?association.filepattern.indexOf(posix.sep)>=0:false}}function clearPlatformLanguageAssociations(){registeredAssociations=registeredAssociations.filter((a=>a.userConfigured));nonUserRegisteredAssociations=[]}function getLanguageIds(resource,firstLine){return getAssociations(resource,firstLine).map((item=>item.id))}function getAssociations(resource,firstLine){let path;if(resource){switch(resource.scheme){case Schemas.file:path=resource.fsPath;break;case Schemas.data:{const metadata=DataUri.parseMetaData(resource);path=metadata.get(DataUri.META_DATA_LABEL);break}case Schemas.vscodeNotebookCell:path=void 0;break;default:path=resource.path}}if(!path){return[{id:"unknown",mime:Mimes.unknown}]}path=path.toLowerCase();const filename=basename(path);const configuredLanguage=getAssociationByPath(path,filename,userRegisteredAssociations);if(configuredLanguage){return[configuredLanguage,{id:PLAINTEXT_LANGUAGE_ID,mime:Mimes.text}]}const registeredLanguage=getAssociationByPath(path,filename,nonUserRegisteredAssociations);if(registeredLanguage){return[registeredLanguage,{id:PLAINTEXT_LANGUAGE_ID,mime:Mimes.text}]}if(firstLine){const firstlineLanguage=getAssociationByFirstline(firstLine);if(firstlineLanguage){return[firstlineLanguage,{id:PLAINTEXT_LANGUAGE_ID,mime:Mimes.text}]}}return[{id:"unknown",mime:Mimes.unknown}]}function getAssociationByPath(path,filename,associations){var _a6;let filenameMatch=void 0;let patternMatch=void 0;let extensionMatch=void 0;for(let i=associations.length-1;i>=0;i--){const association=associations[i];if(filename===association.filenameLowercase){filenameMatch=association;break}if(association.filepattern){if(!patternMatch||association.filepattern.length>patternMatch.filepattern.length){const target=association.filepatternOnPath?path:filename;if((_a6=association.filepatternLowercase)===null||_a6===void 0?void 0:_a6.call(association,target)){patternMatch=association}}}if(association.extension){if(!extensionMatch||association.extension.length>extensionMatch.extension.length){if(filename.endsWith(association.extensionLowercase)){extensionMatch=association}}}}if(filenameMatch){return filenameMatch}if(patternMatch){return patternMatch}if(extensionMatch){return extensionMatch}return void 0}function getAssociationByFirstline(firstLine){if(startsWithUTF8BOM(firstLine)){firstLine=firstLine.substr(1)}if(firstLine.length>0){for(let i=registeredAssociations.length-1;i>=0;i--){const association=registeredAssociations[i];if(!association.firstline){continue}const matches=firstLine.match(association.firstline);if(matches&&matches.length>0){return association}}}return void 0}var registeredAssociations,nonUserRegisteredAssociations,userRegisteredAssociations;var init_languagesAssociations=__esm({"node_modules/monaco-editor/esm/vs/editor/common/services/languagesAssociations.js"(){init_glob();init_mime();init_network();init_path();init_resources();init_strings();init_modesRegistry();registeredAssociations=[];nonUserRegisteredAssociations=[];userRegisteredAssociations=[]}});var hasOwnProperty2,NULL_LANGUAGE_ID,LanguageIdCodec,LanguagesRegistry;var init_languagesRegistry=__esm({"node_modules/monaco-editor/esm/vs/editor/common/services/languagesRegistry.js"(){init_event();init_lifecycle();init_strings();init_languagesAssociations();init_modesRegistry();init_configurationRegistry();init_platform2();hasOwnProperty2=Object.prototype.hasOwnProperty;NULL_LANGUAGE_ID="vs.editor.nullLanguage";LanguageIdCodec=class{constructor(){this._languageIdToLanguage=[];this._languageToLanguageId=new Map;this._register(NULL_LANGUAGE_ID,0);this._register(PLAINTEXT_LANGUAGE_ID,1);this._nextLanguageId=2}_register(language81,languageId){this._languageIdToLanguage[languageId]=language81;this._languageToLanguageId.set(language81,languageId)}register(language81){if(this._languageToLanguageId.has(language81)){return}const languageId=this._nextLanguageId++;this._register(language81,languageId)}encodeLanguageId(languageId){return this._languageToLanguageId.get(languageId)||0}decodeLanguageId(languageId){return this._languageIdToLanguage[languageId]||NULL_LANGUAGE_ID}};LanguagesRegistry=class extends Disposable{constructor(useModesRegistry=true,warnOnOverwrite=false){super();this._onDidChange=this._register(new Emitter);this.onDidChange=this._onDidChange.event;LanguagesRegistry.instanceCount++;this._warnOnOverwrite=warnOnOverwrite;this.languageIdCodec=new LanguageIdCodec;this._dynamicLanguages=[];this._languages={};this._mimeTypesMap={};this._nameMap={};this._lowercaseNameMap={};if(useModesRegistry){this._initializeFromRegistry();this._register(ModesRegistry.onDidChangeLanguages((m=>{this._initializeFromRegistry()})))}}dispose(){LanguagesRegistry.instanceCount--;super.dispose()}_initializeFromRegistry(){this._languages={};this._mimeTypesMap={};this._nameMap={};this._lowercaseNameMap={};clearPlatformLanguageAssociations();const desc=[].concat(ModesRegistry.getLanguages()).concat(this._dynamicLanguages);this._registerLanguages(desc)}_registerLanguages(desc){for(const d of desc){this._registerLanguage(d)}this._mimeTypesMap={};this._nameMap={};this._lowercaseNameMap={};Object.keys(this._languages).forEach((langId=>{const language81=this._languages[langId];if(language81.name){this._nameMap[language81.name]=language81.identifier}language81.aliases.forEach((alias=>{this._lowercaseNameMap[alias.toLowerCase()]=language81.identifier}));language81.mimetypes.forEach((mimetype=>{this._mimeTypesMap[mimetype]=language81.identifier}))}));Registry.as(Extensions2.Configuration).registerOverrideIdentifiers(this.getRegisteredLanguageIds());this._onDidChange.fire()}_registerLanguage(lang){const langId=lang.id;let resolvedLanguage;if(hasOwnProperty2.call(this._languages,langId)){resolvedLanguage=this._languages[langId]}else{this.languageIdCodec.register(langId);resolvedLanguage={identifier:langId,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]};this._languages[langId]=resolvedLanguage}this._mergeLanguage(resolvedLanguage,lang)}_mergeLanguage(resolvedLanguage,lang){const langId=lang.id;let primaryMime=null;if(Array.isArray(lang.mimetypes)&&lang.mimetypes.length>0){resolvedLanguage.mimetypes.push(...lang.mimetypes);primaryMime=lang.mimetypes[0]}if(!primaryMime){primaryMime=`text/x-${langId}`;resolvedLanguage.mimetypes.push(primaryMime)}if(Array.isArray(lang.extensions)){if(lang.configuration){resolvedLanguage.extensions=lang.extensions.concat(resolvedLanguage.extensions)}else{resolvedLanguage.extensions=resolvedLanguage.extensions.concat(lang.extensions)}for(const extension of lang.extensions){registerPlatformLanguageAssociation({id:langId,mime:primaryMime,extension:extension},this._warnOnOverwrite)}}if(Array.isArray(lang.filenames)){for(const filename of lang.filenames){registerPlatformLanguageAssociation({id:langId,mime:primaryMime,filename:filename},this._warnOnOverwrite);resolvedLanguage.filenames.push(filename)}}if(Array.isArray(lang.filenamePatterns)){for(const filenamePattern of lang.filenamePatterns){registerPlatformLanguageAssociation({id:langId,mime:primaryMime,filepattern:filenamePattern},this._warnOnOverwrite)}}if(typeof lang.firstLine==="string"&&lang.firstLine.length>0){let firstLineRegexStr=lang.firstLine;if(firstLineRegexStr.charAt(0)!=="^"){firstLineRegexStr="^"+firstLineRegexStr}try{const firstLineRegex=new RegExp(firstLineRegexStr);if(!regExpLeadsToEndlessLoop(firstLineRegex)){registerPlatformLanguageAssociation({id:langId,mime:primaryMime,firstline:firstLineRegex},this._warnOnOverwrite)}}catch(err){console.warn(`[${lang.id}]: Invalid regular expression \`${firstLineRegexStr}\`: `,err)}}resolvedLanguage.aliases.push(langId);let langAliases=null;if(typeof lang.aliases!=="undefined"&&Array.isArray(lang.aliases)){if(lang.aliases.length===0){langAliases=[null]}else{langAliases=lang.aliases}}if(langAliases!==null){for(const langAlias of langAliases){if(!langAlias||langAlias.length===0){continue}resolvedLanguage.aliases.push(langAlias)}}const containsAliases=langAliases!==null&&langAliases.length>0;if(containsAliases&&langAliases[0]===null){}else{const bestName=(containsAliases?langAliases[0]:null)||langId;if(containsAliases||!resolvedLanguage.name){resolvedLanguage.name=bestName}}if(lang.configuration){resolvedLanguage.configurationFiles.push(lang.configuration)}if(lang.icon){resolvedLanguage.icons.push(lang.icon)}}isRegisteredLanguageId(languageId){if(!languageId){return false}return hasOwnProperty2.call(this._languages,languageId)}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(languageName){const languageNameLower=languageName.toLowerCase();if(!hasOwnProperty2.call(this._lowercaseNameMap,languageNameLower)){return null}return this._lowercaseNameMap[languageNameLower]}getLanguageIdByMimeType(mimeType){if(!mimeType){return null}if(hasOwnProperty2.call(this._mimeTypesMap,mimeType)){return this._mimeTypesMap[mimeType]}return null}guessLanguageIdByFilepathOrFirstLine(resource,firstLine){if(!resource&&!firstLine){return[]}return getLanguageIds(resource,firstLine)}};LanguagesRegistry.instanceCount=0}});var LanguageService,LanguageSelection;var init_languageService=__esm({"node_modules/monaco-editor/esm/vs/editor/common/services/languageService.js"(){init_event();init_lifecycle();init_languagesRegistry();init_arrays();init_languages();init_modesRegistry();LanguageService=class extends Disposable{constructor(warnOnOverwrite=false){super();this._onDidRequestBasicLanguageFeatures=this._register(new Emitter);this.onDidRequestBasicLanguageFeatures=this._onDidRequestBasicLanguageFeatures.event;this._onDidRequestRichLanguageFeatures=this._register(new Emitter);this.onDidRequestRichLanguageFeatures=this._onDidRequestRichLanguageFeatures.event;this._onDidChange=this._register(new Emitter({leakWarningThreshold:200}));this.onDidChange=this._onDidChange.event;this._requestedBasicLanguages=new Set;this._requestedRichLanguages=new Set;LanguageService.instanceCount++;this._registry=this._register(new LanguagesRegistry(true,warnOnOverwrite));this.languageIdCodec=this._registry.languageIdCodec;this._register(this._registry.onDidChange((()=>this._onDidChange.fire())))}dispose(){LanguageService.instanceCount--;super.dispose()}isRegisteredLanguageId(languageId){return this._registry.isRegisteredLanguageId(languageId)}getLanguageIdByLanguageName(languageName){return this._registry.getLanguageIdByLanguageName(languageName)}getLanguageIdByMimeType(mimeType){return this._registry.getLanguageIdByMimeType(mimeType)}guessLanguageIdByFilepathOrFirstLine(resource,firstLine){const languageIds=this._registry.guessLanguageIdByFilepathOrFirstLine(resource,firstLine);return firstOrDefault(languageIds,null)}createById(languageId){return new LanguageSelection(this.onDidChange,(()=>this._createAndGetLanguageIdentifier(languageId)))}createByFilepathOrFirstLine(resource,firstLine){return new LanguageSelection(this.onDidChange,(()=>{const languageId=this.guessLanguageIdByFilepathOrFirstLine(resource,firstLine);return this._createAndGetLanguageIdentifier(languageId)}))}_createAndGetLanguageIdentifier(languageId){if(!languageId||!this.isRegisteredLanguageId(languageId)){languageId=PLAINTEXT_LANGUAGE_ID}return languageId}requestBasicLanguageFeatures(languageId){if(!this._requestedBasicLanguages.has(languageId)){this._requestedBasicLanguages.add(languageId);this._onDidRequestBasicLanguageFeatures.fire(languageId)}}requestRichLanguageFeatures(languageId){if(!this._requestedRichLanguages.has(languageId)){this._requestedRichLanguages.add(languageId);this.requestBasicLanguageFeatures(languageId);TokenizationRegistry2.getOrCreate(languageId);this._onDidRequestRichLanguageFeatures.fire(languageId)}}};LanguageService.instanceCount=0;LanguageSelection=class{constructor(_onDidChangeLanguages,_selector){this._onDidChangeLanguages=_onDidChangeLanguages;this._selector=_selector;this._listener=null;this._emitter=null;this.languageId=this._selector()}_dispose(){if(this._listener){this._listener.dispose();this._listener=null}if(this._emitter){this._emitter.dispose();this._emitter=null}}get onDidChange(){if(!this._listener){this._listener=this._onDidChangeLanguages((()=>this._evaluate()))}if(!this._emitter){this._emitter=new Emitter({onDidRemoveLastListener:()=>{this._dispose()}})}return this._emitter.event}_evaluate(){var _a6;const languageId=this._selector();if(languageId===this.languageId){return}this.languageId=languageId;(_a6=this._emitter)===null||_a6===void 0?void 0:_a6.fire(this.languageId)}}}});var init_32=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.css"(){}});var BaseDropdown,DropdownMenu;var init_dropdown=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdown.js"(){init_dom();init_keyboardEvent();init_touch();init_actions();init_event();init_32();BaseDropdown=class extends ActionRunner{constructor(container,options2){super();this._onDidChangeVisibility=this._register(new Emitter);this.onDidChangeVisibility=this._onDidChangeVisibility.event;this._element=append(container,$(".monaco-dropdown"));this._label=append(this._element,$(".dropdown-label"));let labelRenderer=options2.labelRenderer;if(!labelRenderer){labelRenderer=container2=>{container2.textContent=options2.label||"";return null}}for(const event of[EventType.CLICK,EventType.MOUSE_DOWN,EventType2.Tap]){this._register(addDisposableListener(this.element,event,(e=>EventHelper.stop(e,true))))}for(const event of[EventType.MOUSE_DOWN,EventType2.Tap]){this._register(addDisposableListener(this._label,event,(e=>{if(e instanceof MouseEvent&&(e.detail>1||e.button!==0)){return}if(this.visible){this.hide()}else{this.show()}})))}this._register(addDisposableListener(this._label,EventType.KEY_UP,(e=>{const event=new StandardKeyboardEvent(e);if(event.equals(3)||event.equals(10)){EventHelper.stop(e,true);if(this.visible){this.hide()}else{this.show()}}})));const cleanupFn=labelRenderer(this._label);if(cleanupFn){this._register(cleanupFn)}this._register(Gesture.addTarget(this._label))}get element(){return this._element}show(){if(!this.visible){this.visible=true;this._onDidChangeVisibility.fire(true)}}hide(){if(this.visible){this.visible=false;this._onDidChangeVisibility.fire(false)}}dispose(){super.dispose();this.hide();if(this.boxContainer){this.boxContainer.remove();this.boxContainer=void 0}if(this.contents){this.contents.remove();this.contents=void 0}if(this._label){this._label.remove();this._label=void 0}}};DropdownMenu=class extends BaseDropdown{constructor(container,_options){super(container,_options);this._options=_options;this._actions=[];this.actions=_options.actions||[]}set menuOptions(options2){this._menuOptions=options2}get menuOptions(){return this._menuOptions}get actions(){if(this._options.actionProvider){return this._options.actionProvider.getActions()}return this._actions}set actions(actions){this._actions=actions}show(){super.show();this.element.classList.add("active");this._options.contextMenuProvider.showContextMenu({getAnchor:()=>this.element,getActions:()=>this.actions,getActionsContext:()=>this.menuOptions?this.menuOptions.context:null,getActionViewItem:(action,options2)=>this.menuOptions&&this.menuOptions.actionViewItemProvider?this.menuOptions.actionViewItemProvider(action,options2):void 0,getKeyBinding:action=>this.menuOptions&&this.menuOptions.getKeyBinding?this.menuOptions.getKeyBinding(action):void 0,getMenuClassName:()=>this._options.menuClassName||"",onHide:()=>this.onHide(),actionRunner:this.menuOptions?this.menuOptions.actionRunner:void 0,anchorAlignment:this.menuOptions?this.menuOptions.anchorAlignment:0,domForShadowRoot:this._options.menuAsChild?this.element:void 0,skipTelemetry:this._options.skipTelemetry})}hide(){super.hide()}onHide(){this.hide();this.element.classList.remove("active")}}}});var DropdownMenuActionViewItem;var init_dropdownActionViewItem=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/dropdown/dropdownActionViewItem.js"(){init_dom();init_actionViewItems();init_dropdown();init_event();init_32();DropdownMenuActionViewItem=class extends BaseActionViewItem{constructor(action,menuActionsOrProvider,contextMenuProvider,options2=Object.create(null)){super(null,action,options2);this.actionItem=null;this._onDidChangeVisibility=this._register(new Emitter);this.onDidChangeVisibility=this._onDidChangeVisibility.event;this.menuActionsOrProvider=menuActionsOrProvider;this.contextMenuProvider=contextMenuProvider;this.options=options2;if(this.options.actionRunner){this.actionRunner=this.options.actionRunner}}render(container){this.actionItem=container;const labelRenderer=el=>{this.element=append(el,$("a.action-label"));let classNames=[];if(typeof this.options.classNames==="string"){classNames=this.options.classNames.split(/\s+/g).filter((s=>!!s))}else if(this.options.classNames){classNames=this.options.classNames}if(!classNames.find((c=>c==="icon"))){classNames.push("codicon")}this.element.classList.add(...classNames);this.element.setAttribute("role","button");this.element.setAttribute("aria-haspopup","true");this.element.setAttribute("aria-expanded","false");this.element.title=this._action.label||"";this.element.ariaLabel=this._action.label||"";return null};const isActionsArray=Array.isArray(this.menuActionsOrProvider);const options2={contextMenuProvider:this.contextMenuProvider,labelRenderer:labelRenderer,menuAsChild:this.options.menuAsChild,actions:isActionsArray?this.menuActionsOrProvider:void 0,actionProvider:isActionsArray?void 0:this.menuActionsOrProvider,skipTelemetry:this.options.skipTelemetry};this.dropdownMenu=this._register(new DropdownMenu(container,options2));this._register(this.dropdownMenu.onDidChangeVisibility((visible=>{var _a6;(_a6=this.element)===null||_a6===void 0?void 0:_a6.setAttribute("aria-expanded",`${visible}`);this._onDidChangeVisibility.fire(visible)})));this.dropdownMenu.menuOptions={actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,getKeyBinding:this.options.keybindingProvider,context:this._context};if(this.options.anchorAlignmentProvider){const that=this;this.dropdownMenu.menuOptions=Object.assign(Object.assign({},this.dropdownMenu.menuOptions),{get anchorAlignment(){return that.options.anchorAlignmentProvider()}})}this.updateTooltip();this.updateEnabled()}getTooltip(){let title=null;if(this.action.tooltip){title=this.action.tooltip}else if(this.action.label){title=this.action.label}return title!==null&&title!==void 0?title:void 0}setActionContext(newContext){super.setActionContext(newContext);if(this.dropdownMenu){if(this.dropdownMenu.menuOptions){this.dropdownMenu.menuOptions.context=newContext}else{this.dropdownMenu.menuOptions={context:newContext}}}}show(){var _a6;(_a6=this.dropdownMenu)===null||_a6===void 0?void 0:_a6.show()}updateEnabled(){var _a6,_b3;const disabled=!this.action.enabled;(_a6=this.actionItem)===null||_a6===void 0?void 0:_a6.classList.toggle("disabled",disabled);(_b3=this.element)===null||_b3===void 0?void 0:_b3.classList.toggle("disabled",disabled)}}}});var init_33=__esm({"node_modules/monaco-editor/esm/vs/platform/actions/browser/menuEntryActionViewItem.css"(){}});function isICommandActionToggleInfo(thing){return thing?thing.condition!==void 0:false}var init_action=__esm({"node_modules/monaco-editor/esm/vs/platform/action/common/action.js"(){}});var __awaiter20,StorageHint,StorageState,Storage,InMemoryStorageDatabase;var init_storage=__esm({"node_modules/monaco-editor/esm/vs/base/parts/storage/common/storage.js"(){init_async();init_event();init_lifecycle();init_marshalling();init_types();__awaiter20=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};(function(StorageHint2){StorageHint2[StorageHint2["STORAGE_DOES_NOT_EXIST"]=0]="STORAGE_DOES_NOT_EXIST";StorageHint2[StorageHint2["STORAGE_IN_MEMORY"]=1]="STORAGE_IN_MEMORY"})(StorageHint||(StorageHint={}));(function(StorageState2){StorageState2[StorageState2["None"]=0]="None";StorageState2[StorageState2["Initialized"]=1]="Initialized";StorageState2[StorageState2["Closed"]=2]="Closed"})(StorageState||(StorageState={}));Storage=class extends Disposable{constructor(database,options2=Object.create(null)){super();this.database=database;this.options=options2;this._onDidChangeStorage=this._register(new PauseableEmitter);this.onDidChangeStorage=this._onDidChangeStorage.event;this.state=StorageState.None;this.cache=new Map;this.flushDelayer=new ThrottledDelayer(Storage.DEFAULT_FLUSH_DELAY);this.pendingDeletes=new Set;this.pendingInserts=new Map;this.whenFlushedCallbacks=[];this.registerListeners()}registerListeners(){this._register(this.database.onDidChangeItemsExternal((e=>this.onDidChangeItemsExternal(e))))}onDidChangeItemsExternal(e){var _a6,_b3;this._onDidChangeStorage.pause();try{(_a6=e.changed)===null||_a6===void 0?void 0:_a6.forEach(((value,key)=>this.acceptExternal(key,value)));(_b3=e.deleted)===null||_b3===void 0?void 0:_b3.forEach((key=>this.acceptExternal(key,void 0)))}finally{this._onDidChangeStorage.resume()}}acceptExternal(key,value){if(this.state===StorageState.Closed){return}let changed=false;if(isUndefinedOrNull(value)){changed=this.cache.delete(key)}else{const currentValue=this.cache.get(key);if(currentValue!==value){this.cache.set(key,value);changed=true}}if(changed){this._onDidChangeStorage.fire({key:key,external:true})}}get(key,fallbackValue){const value=this.cache.get(key);if(isUndefinedOrNull(value)){return fallbackValue}return value}getBoolean(key,fallbackValue){const value=this.get(key);if(isUndefinedOrNull(value)){return fallbackValue}return value==="true"}getNumber(key,fallbackValue){const value=this.get(key);if(isUndefinedOrNull(value)){return fallbackValue}return parseInt(value,10)}set(key,value,external=false){return __awaiter20(this,void 0,void 0,(function*(){if(this.state===StorageState.Closed){return}if(isUndefinedOrNull(value)){return this.delete(key,external)}const valueStr=isObject(value)||Array.isArray(value)?stringify(value):String(value);const currentValue=this.cache.get(key);if(currentValue===valueStr){return}this.cache.set(key,valueStr);this.pendingInserts.set(key,valueStr);this.pendingDeletes.delete(key);this._onDidChangeStorage.fire({key:key,external:external});return this.doFlush()}))}delete(key,external=false){return __awaiter20(this,void 0,void 0,(function*(){if(this.state===StorageState.Closed){return}const wasDeleted=this.cache.delete(key);if(!wasDeleted){return}if(!this.pendingDeletes.has(key)){this.pendingDeletes.add(key)}this.pendingInserts.delete(key);this._onDidChangeStorage.fire({key:key,external:external});return this.doFlush()}))}get hasPending(){return this.pendingInserts.size>0||this.pendingDeletes.size>0}flushPending(){return __awaiter20(this,void 0,void 0,(function*(){if(!this.hasPending){return}const updateRequest={insert:this.pendingInserts,delete:this.pendingDeletes};this.pendingDeletes=new Set;this.pendingInserts=new Map;return this.database.updateItems(updateRequest).finally((()=>{var _a6;if(!this.hasPending){while(this.whenFlushedCallbacks.length){(_a6=this.whenFlushedCallbacks.pop())===null||_a6===void 0?void 0:_a6()}}}))}))}doFlush(delay){return __awaiter20(this,void 0,void 0,(function*(){return this.flushDelayer.trigger((()=>this.flushPending()),delay)}))}dispose(){this.flushDelayer.dispose();super.dispose()}};Storage.DEFAULT_FLUSH_DELAY=100;InMemoryStorageDatabase=class{constructor(){this.onDidChangeItemsExternal=Event.None;this.items=new Map}updateItems(request){var _a6,_b3;return __awaiter20(this,void 0,void 0,(function*(){(_a6=request.insert)===null||_a6===void 0?void 0:_a6.forEach(((value,key)=>this.items.set(key,value)));(_b3=request.delete)===null||_b3===void 0?void 0:_b3.forEach((key=>this.items.delete(key)))}))}}}});function loadKeyTargets(storage){const keysRaw=storage.get(TARGET_KEY);if(keysRaw){try{return JSON.parse(keysRaw)}catch(error){}}return Object.create(null)}var TARGET_KEY,IStorageService,WillSaveStateReason,AbstractStorageService,InMemoryStorageService;var init_storage2=__esm({"node_modules/monaco-editor/esm/vs/platform/storage/common/storage.js"(){init_event();init_lifecycle();init_types();init_storage();init_instantiation();TARGET_KEY="__$__targetStorageMarker";IStorageService=createDecorator("storageService");(function(WillSaveStateReason2){WillSaveStateReason2[WillSaveStateReason2["NONE"]=0]="NONE";WillSaveStateReason2[WillSaveStateReason2["SHUTDOWN"]=1]="SHUTDOWN"})(WillSaveStateReason||(WillSaveStateReason={}));AbstractStorageService=class extends Disposable{constructor(options2={flushInterval:AbstractStorageService.DEFAULT_FLUSH_INTERVAL}){super();this.options=options2;this._onDidChangeValue=this._register(new PauseableEmitter);this._onDidChangeTarget=this._register(new PauseableEmitter);this._onWillSaveState=this._register(new Emitter);this.onWillSaveState=this._onWillSaveState.event;this._workspaceKeyTargets=void 0;this._profileKeyTargets=void 0;this._applicationKeyTargets=void 0}onDidChangeValue(scope,key,disposable){return Event.filter(this._onDidChangeValue.event,(e=>e.scope===scope&&(key===void 0||e.key===key)),disposable)}emitDidChangeValue(scope,event){const{key:key,external:external}=event;if(key===TARGET_KEY){switch(scope){case-1:this._applicationKeyTargets=void 0;break;case 0:this._profileKeyTargets=void 0;break;case 1:this._workspaceKeyTargets=void 0;break}this._onDidChangeTarget.fire({scope:scope})}else{this._onDidChangeValue.fire({scope:scope,key:key,target:this.getKeyTargets(scope)[key],external:external})}}get(key,scope,fallbackValue){var _a6;return(_a6=this.getStorage(scope))===null||_a6===void 0?void 0:_a6.get(key,fallbackValue)}getBoolean(key,scope,fallbackValue){var _a6;return(_a6=this.getStorage(scope))===null||_a6===void 0?void 0:_a6.getBoolean(key,fallbackValue)}getNumber(key,scope,fallbackValue){var _a6;return(_a6=this.getStorage(scope))===null||_a6===void 0?void 0:_a6.getNumber(key,fallbackValue)}store(key,value,scope,target,external=false){if(isUndefinedOrNull(value)){this.remove(key,scope,external);return}this.withPausedEmitters((()=>{var _a6;this.updateKeyTarget(key,scope,target);(_a6=this.getStorage(scope))===null||_a6===void 0?void 0:_a6.set(key,value,external)}))}remove(key,scope,external=false){this.withPausedEmitters((()=>{var _a6;this.updateKeyTarget(key,scope,void 0);(_a6=this.getStorage(scope))===null||_a6===void 0?void 0:_a6.delete(key,external)}))}withPausedEmitters(fn){this._onDidChangeValue.pause();this._onDidChangeTarget.pause();try{fn()}finally{this._onDidChangeValue.resume();this._onDidChangeTarget.resume()}}updateKeyTarget(key,scope,target,external=false){var _a6,_b3;const keyTargets=this.getKeyTargets(scope);if(typeof target==="number"){if(keyTargets[key]!==target){keyTargets[key]=target;(_a6=this.getStorage(scope))===null||_a6===void 0?void 0:_a6.set(TARGET_KEY,JSON.stringify(keyTargets),external)}}else{if(typeof keyTargets[key]==="number"){delete keyTargets[key];(_b3=this.getStorage(scope))===null||_b3===void 0?void 0:_b3.set(TARGET_KEY,JSON.stringify(keyTargets),external)}}}get workspaceKeyTargets(){if(!this._workspaceKeyTargets){this._workspaceKeyTargets=this.loadKeyTargets(1)}return this._workspaceKeyTargets}get profileKeyTargets(){if(!this._profileKeyTargets){this._profileKeyTargets=this.loadKeyTargets(0)}return this._profileKeyTargets}get applicationKeyTargets(){if(!this._applicationKeyTargets){this._applicationKeyTargets=this.loadKeyTargets(-1)}return this._applicationKeyTargets}getKeyTargets(scope){switch(scope){case-1:return this.applicationKeyTargets;case 0:return this.profileKeyTargets;default:return this.workspaceKeyTargets}}loadKeyTargets(scope){const storage=this.getStorage(scope);return storage?loadKeyTargets(storage):Object.create(null)}};AbstractStorageService.DEFAULT_FLUSH_INTERVAL=60*1e3;InMemoryStorageService=class extends AbstractStorageService{constructor(){super();this.applicationStorage=this._register(new Storage(new InMemoryStorageDatabase,{hint:StorageHint.STORAGE_IN_MEMORY}));this.profileStorage=this._register(new Storage(new InMemoryStorageDatabase,{hint:StorageHint.STORAGE_IN_MEMORY}));this.workspaceStorage=this._register(new Storage(new InMemoryStorageDatabase,{hint:StorageHint.STORAGE_IN_MEMORY}));this._register(this.workspaceStorage.onDidChangeStorage((e=>this.emitDidChangeValue(1,e))));this._register(this.profileStorage.onDidChangeStorage((e=>this.emitDidChangeValue(0,e))));this._register(this.applicationStorage.onDidChangeStorage((e=>this.emitDidChangeValue(-1,e))))}getStorage(scope){switch(scope){case-1:return this.applicationStorage;case 0:return this.profileStorage;default:return this.workspaceStorage}}}}});function overrideStyles(override,styles){const result=Object.assign({},styles);for(const key in override){const val=override[key];result[key]=val!==void 0?asCssVariable(val):void 0}return result}function getListStyles(override){return overrideStyles(override,defaultListStyles)}var defaultKeybindingLabelStyles,defaultButtonStyles,defaultProgressBarStyles,defaultToggleStyles,defaultCheckboxStyles,defaultDialogStyles,defaultInputBoxStyles,defaultFindWidgetStyles,defaultCountBadgeStyles,defaultBreadcrumbsWidgetStyles,defaultListStyles,defaultSelectBoxStyles,defaultMenuStyles;var init_defaultStyles=__esm({"node_modules/monaco-editor/esm/vs/platform/theme/browser/defaultStyles.js"(){init_colorRegistry();init_color();defaultKeybindingLabelStyles={keybindingLabelBackground:asCssVariable(keybindingLabelBackground),keybindingLabelForeground:asCssVariable(keybindingLabelForeground),keybindingLabelBorder:asCssVariable(keybindingLabelBorder),keybindingLabelBottomBorder:asCssVariable(keybindingLabelBottomBorder),keybindingLabelShadow:asCssVariable(widgetShadow)};defaultButtonStyles={buttonForeground:asCssVariable(buttonForeground),buttonSeparator:asCssVariable(buttonSeparator),buttonBackground:asCssVariable(buttonBackground),buttonHoverBackground:asCssVariable(buttonHoverBackground),buttonSecondaryForeground:asCssVariable(buttonSecondaryForeground),buttonSecondaryBackground:asCssVariable(buttonSecondaryBackground),buttonSecondaryHoverBackground:asCssVariable(buttonSecondaryHoverBackground),buttonBorder:asCssVariable(buttonBorder)};defaultProgressBarStyles={progressBarBackground:asCssVariable(progressBarBackground)};defaultToggleStyles={inputActiveOptionBorder:asCssVariable(inputActiveOptionBorder),inputActiveOptionForeground:asCssVariable(inputActiveOptionForeground),inputActiveOptionBackground:asCssVariable(inputActiveOptionBackground)};defaultCheckboxStyles={checkboxBackground:asCssVariable(checkboxBackground),checkboxBorder:asCssVariable(checkboxBorder),checkboxForeground:asCssVariable(checkboxForeground)};defaultDialogStyles={dialogBackground:asCssVariable(editorWidgetBackground),dialogForeground:asCssVariable(editorWidgetForeground),dialogShadow:asCssVariable(widgetShadow),dialogBorder:asCssVariable(contrastBorder),errorIconForeground:asCssVariable(problemsErrorIconForeground),warningIconForeground:asCssVariable(problemsWarningIconForeground),infoIconForeground:asCssVariable(problemsInfoIconForeground),textLinkForeground:asCssVariable(textLinkForeground)};defaultInputBoxStyles={inputBackground:asCssVariable(inputBackground),inputForeground:asCssVariable(inputForeground),inputBorder:asCssVariable(inputBorder),inputValidationInfoBorder:asCssVariable(inputValidationInfoBorder),inputValidationInfoBackground:asCssVariable(inputValidationInfoBackground),inputValidationInfoForeground:asCssVariable(inputValidationInfoForeground),inputValidationWarningBorder:asCssVariable(inputValidationWarningBorder),inputValidationWarningBackground:asCssVariable(inputValidationWarningBackground),inputValidationWarningForeground:asCssVariable(inputValidationWarningForeground),inputValidationErrorBorder:asCssVariable(inputValidationErrorBorder),inputValidationErrorBackground:asCssVariable(inputValidationErrorBackground),inputValidationErrorForeground:asCssVariable(inputValidationErrorForeground)};defaultFindWidgetStyles={listFilterWidgetBackground:asCssVariable(listFilterWidgetBackground),listFilterWidgetOutline:asCssVariable(listFilterWidgetOutline),listFilterWidgetNoMatchesOutline:asCssVariable(listFilterWidgetNoMatchesOutline),listFilterWidgetShadow:asCssVariable(listFilterWidgetShadow),inputBoxStyles:defaultInputBoxStyles,toggleStyles:defaultToggleStyles};defaultCountBadgeStyles={badgeBackground:asCssVariable(badgeBackground),badgeForeground:asCssVariable(badgeForeground),badgeBorder:asCssVariable(contrastBorder)};defaultBreadcrumbsWidgetStyles={breadcrumbsBackground:asCssVariable(breadcrumbsBackground),breadcrumbsForeground:asCssVariable(breadcrumbsForeground),breadcrumbsHoverForeground:asCssVariable(breadcrumbsFocusForeground),breadcrumbsFocusForeground:asCssVariable(breadcrumbsFocusForeground),breadcrumbsFocusAndSelectionForeground:asCssVariable(breadcrumbsActiveSelectionForeground)};defaultListStyles={listBackground:void 0,listInactiveFocusForeground:void 0,listFocusBackground:asCssVariable(listFocusBackground),listFocusForeground:asCssVariable(listFocusForeground),listFocusOutline:asCssVariable(listFocusOutline),listActiveSelectionBackground:asCssVariable(listActiveSelectionBackground),listActiveSelectionForeground:asCssVariable(listActiveSelectionForeground),listActiveSelectionIconForeground:asCssVariable(listActiveSelectionIconForeground),listFocusAndSelectionOutline:asCssVariable(listFocusAndSelectionOutline),listFocusAndSelectionBackground:asCssVariable(listActiveSelectionBackground),listFocusAndSelectionForeground:asCssVariable(listActiveSelectionForeground),listInactiveSelectionBackground:asCssVariable(listInactiveSelectionBackground),listInactiveSelectionIconForeground:asCssVariable(listInactiveSelectionIconForeground),listInactiveSelectionForeground:asCssVariable(listInactiveSelectionForeground),listInactiveFocusBackground:asCssVariable(listInactiveFocusBackground),listInactiveFocusOutline:asCssVariable(listInactiveFocusOutline),listHoverBackground:asCssVariable(listHoverBackground),listHoverForeground:asCssVariable(listHoverForeground),listDropBackground:asCssVariable(listDropBackground),listSelectionOutline:asCssVariable(activeContrastBorder),listHoverOutline:asCssVariable(activeContrastBorder),treeIndentGuidesStroke:asCssVariable(treeIndentGuidesStroke),treeInactiveIndentGuidesStroke:asCssVariable(treeInactiveIndentGuidesStroke),tableColumnsBorder:asCssVariable(tableColumnsBorder),tableOddRowsBackgroundColor:asCssVariable(tableOddRowsBackgroundColor)};defaultSelectBoxStyles={selectBackground:asCssVariable(selectBackground),selectListBackground:asCssVariable(selectListBackground),selectForeground:asCssVariable(selectForeground),decoratorRightForeground:asCssVariable(pickerGroupForeground),selectBorder:asCssVariable(selectBorder),focusBorder:asCssVariable(focusBorder),listFocusBackground:asCssVariable(quickInputListFocusBackground),listInactiveSelectionIconForeground:asCssVariable(quickInputListFocusIconForeground),listFocusForeground:asCssVariable(quickInputListFocusForeground),listFocusOutline:asCssVariableWithDefault(activeContrastBorder,Color.transparent.toString()),listHoverBackground:asCssVariable(listHoverBackground),listHoverForeground:asCssVariable(listHoverForeground),listHoverOutline:asCssVariable(activeContrastBorder),selectListBorder:asCssVariable(editorWidgetBorder),listBackground:void 0,listActiveSelectionBackground:void 0,listActiveSelectionForeground:void 0,listActiveSelectionIconForeground:void 0,listFocusAndSelectionBackground:void 0,listDropBackground:void 0,listInactiveSelectionBackground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusBackground:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listFocusAndSelectionForeground:void 0,listFocusAndSelectionOutline:void 0,listInactiveFocusForeground:void 0,tableColumnsBorder:void 0,tableOddRowsBackgroundColor:void 0,treeIndentGuidesStroke:void 0,treeInactiveIndentGuidesStroke:void 0};defaultMenuStyles={shadowColor:asCssVariable(widgetShadow),borderColor:asCssVariable(menuBorder),foregroundColor:asCssVariable(menuForeground),backgroundColor:asCssVariable(menuBackground),selectionForegroundColor:asCssVariable(menuSelectionForeground),selectionBackgroundColor:asCssVariable(menuSelectionBackground),selectionBorderColor:asCssVariable(menuSelectionBorder),separatorColor:asCssVariable(menuSeparatorBackground),scrollbarShadow:asCssVariable(scrollbarShadow),scrollbarSliderBackground:asCssVariable(scrollbarSliderBackground),scrollbarSliderHoverBackground:asCssVariable(scrollbarSliderHoverBackground),scrollbarSliderActiveBackground:asCssVariable(scrollbarSliderActiveBackground)}}});function createAndFillInContextMenuActions(menu,options2,target,primaryGroup){const groups=menu.getActions(options2);const modifierKeyEmitter=ModifierKeyEmitter.getInstance();const useAlternativeActions=modifierKeyEmitter.keyStatus.altKey||(isWindows||isLinux)&&modifierKeyEmitter.keyStatus.shiftKey;fillInActions(groups,target,useAlternativeActions,primaryGroup?actionGroup=>actionGroup===primaryGroup:actionGroup=>actionGroup==="navigation")}function createAndFillInActionBarActions(menu,options2,target,primaryGroup,shouldInlineSubmenu,useSeparatorsInPrimaryActions){const groups=menu.getActions(options2);const isPrimaryAction=typeof primaryGroup==="string"?actionGroup=>actionGroup===primaryGroup:primaryGroup;fillInActions(groups,target,false,isPrimaryAction,shouldInlineSubmenu,useSeparatorsInPrimaryActions)}function fillInActions(groups,target,useAlternativeActions,isPrimaryAction=(actionGroup=>actionGroup==="navigation"),shouldInlineSubmenu=(()=>false),useSeparatorsInPrimaryActions=false){let primaryBucket;let secondaryBucket;if(Array.isArray(target)){primaryBucket=target;secondaryBucket=target}else{primaryBucket=target.primary;secondaryBucket=target.secondary}const submenuInfo=new Set;for(const[group3,actions]of groups){let target2;if(isPrimaryAction(group3)){target2=primaryBucket;if(target2.length>0&&useSeparatorsInPrimaryActions){target2.push(new Separator)}}else{target2=secondaryBucket;if(target2.length>0){target2.push(new Separator)}}for(let action of actions){if(useAlternativeActions){action=action instanceof MenuItemAction&&action.alt?action.alt:action}const newLen=target2.push(action);if(action instanceof SubmenuAction){submenuInfo.add({group:group3,action:action,index:newLen-1})}}}for(const{group:group3,action:action,index:index}of submenuInfo){const target2=isPrimaryAction(group3)?primaryBucket:secondaryBucket;const submenuActions=action.actions;if(submenuActions.length<=1&&shouldInlineSubmenu(action,group3,target2.length)){target2.splice(index,1,...submenuActions)}}}function createActionViewItem(instaService,action,options2){if(action instanceof MenuItemAction){return instaService.createInstance(MenuEntryActionViewItem,action,options2)}else if(action instanceof SubmenuItemAction){if(action.item.isSelection){return instaService.createInstance(SubmenuEntrySelectActionViewItem,action)}else{if(action.item.rememberDefaultAction){return instaService.createInstance(DropdownWithDefaultActionViewItem,action,Object.assign(Object.assign({},options2),{persistLastActionId:true}))}else{return instaService.createInstance(SubmenuEntryActionViewItem,action,options2)}}}else{return void 0}}var __decorate28,__param24,__awaiter21,MenuEntryActionViewItem,SubmenuEntryActionViewItem,DropdownWithDefaultActionViewItem,SubmenuEntrySelectActionViewItem;var init_menuEntryActionViewItem=__esm({"node_modules/monaco-editor/esm/vs/platform/actions/browser/menuEntryActionViewItem.js"(){init_dom();init_keyboardEvent();init_actionViewItems();init_dropdownActionViewItem();init_actions();init_keybindingLabels();init_lifecycle();init_platform();init_33();init_nls();init_actions2();init_action();init_contextkey();init_contextView();init_instantiation();init_keybinding();init_notification();init_storage2();init_themeService();init_themables();init_theme();init_types();init_colorRegistry();init_defaultStyles();init_accessibility();__decorate28=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param24=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};__awaiter21=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};MenuEntryActionViewItem=class MenuEntryActionViewItem2 extends ActionViewItem{constructor(action,options2,_keybindingService,_notificationService,_contextKeyService,_themeService,_contextMenuService,_accessibilityService){super(void 0,action,{icon:!!(action.class||action.item.icon),label:!action.class&&!action.item.icon,draggable:options2===null||options2===void 0?void 0:options2.draggable,keybinding:options2===null||options2===void 0?void 0:options2.keybinding,hoverDelegate:options2===null||options2===void 0?void 0:options2.hoverDelegate});this._keybindingService=_keybindingService;this._notificationService=_notificationService;this._contextKeyService=_contextKeyService;this._themeService=_themeService;this._contextMenuService=_contextMenuService;this._accessibilityService=_accessibilityService;this._wantsAltCommand=false;this._itemClassDispose=this._register(new MutableDisposable);this._altKey=ModifierKeyEmitter.getInstance()}get _menuItemAction(){return this._action}get _commandAction(){return this._wantsAltCommand&&this._menuItemAction.alt||this._menuItemAction}onClick(event){return __awaiter21(this,void 0,void 0,(function*(){event.preventDefault();event.stopPropagation();try{yield this.actionRunner.run(this._commandAction,this._context)}catch(err){this._notificationService.error(err)}}))}render(container){super.render(container);container.classList.add("menu-entry");if(this.options.icon){this._updateItemClass(this._menuItemAction.item)}if(this._menuItemAction.alt){let isMouseOver=false;const updateAltState=()=>{var _a6;const wantsAltCommand=!!((_a6=this._menuItemAction.alt)===null||_a6===void 0?void 0:_a6.enabled)&&(!this._accessibilityService.isMotionReduced()||isMouseOver)&&(this._altKey.keyStatus.altKey||this._altKey.keyStatus.shiftKey&&isMouseOver);if(wantsAltCommand!==this._wantsAltCommand){this._wantsAltCommand=wantsAltCommand;this.updateLabel();this.updateTooltip();this.updateClass()}};this._register(this._altKey.event(updateAltState));this._register(addDisposableListener(container,"mouseleave",(_=>{isMouseOver=false;updateAltState()})));this._register(addDisposableListener(container,"mouseenter",(_=>{isMouseOver=true;updateAltState()})));updateAltState()}}updateLabel(){if(this.options.label&&this.label){this.label.textContent=this._commandAction.label}}getTooltip(){var _a6;const keybinding=this._keybindingService.lookupKeybinding(this._commandAction.id,this._contextKeyService);const keybindingLabel=keybinding&&keybinding.getLabel();const tooltip=this._commandAction.tooltip||this._commandAction.label;let title=keybindingLabel?localize("titleAndKb","{0} ({1})",tooltip,keybindingLabel):tooltip;if(!this._wantsAltCommand&&((_a6=this._menuItemAction.alt)===null||_a6===void 0?void 0:_a6.enabled)){const altTooltip=this._menuItemAction.alt.tooltip||this._menuItemAction.alt.label;const altKeybinding=this._keybindingService.lookupKeybinding(this._menuItemAction.alt.id,this._contextKeyService);const altKeybindingLabel=altKeybinding&&altKeybinding.getLabel();const altTitleSection=altKeybindingLabel?localize("titleAndKb","{0} ({1})",altTooltip,altKeybindingLabel):altTooltip;title=localize("titleAndKbAndAlt","{0}\n[{1}] {2}",title,UILabelProvider.modifierLabels[OS].altKey,altTitleSection)}return title}updateClass(){if(this.options.icon){if(this._commandAction!==this._menuItemAction){if(this._menuItemAction.alt){this._updateItemClass(this._menuItemAction.alt.item)}}else{this._updateItemClass(this._menuItemAction.item)}}}_updateItemClass(item){this._itemClassDispose.value=void 0;const{element:element,label:label}=this;if(!element||!label){return}const icon=this._commandAction.checked&&isICommandActionToggleInfo(item.toggled)&&item.toggled.icon?item.toggled.icon:item.icon;if(!icon){return}if(ThemeIcon.isThemeIcon(icon)){const iconClasses=ThemeIcon.asClassNameArray(icon);label.classList.add(...iconClasses);this._itemClassDispose.value=toDisposable((()=>{label.classList.remove(...iconClasses)}))}else{label.style.backgroundImage=isDark(this._themeService.getColorTheme().type)?asCSSUrl(icon.dark):asCSSUrl(icon.light);label.classList.add("icon");this._itemClassDispose.value=combinedDisposable(toDisposable((()=>{label.style.backgroundImage="";label.classList.remove("icon")})),this._themeService.onDidColorThemeChange((()=>{this.updateClass()})))}}};MenuEntryActionViewItem=__decorate28([__param24(2,IKeybindingService),__param24(3,INotificationService),__param24(4,IContextKeyService),__param24(5,IThemeService),__param24(6,IContextMenuService),__param24(7,IAccessibilityService)],MenuEntryActionViewItem);SubmenuEntryActionViewItem=class SubmenuEntryActionViewItem2 extends DropdownMenuActionViewItem{constructor(action,options2,_keybindingService,_contextMenuService,_themeService){var _a6,_b3,_c2;const dropdownOptions=Object.assign(Object.assign({},options2),{menuAsChild:(_a6=options2===null||options2===void 0?void 0:options2.menuAsChild)!==null&&_a6!==void 0?_a6:false,classNames:(_b3=options2===null||options2===void 0?void 0:options2.classNames)!==null&&_b3!==void 0?_b3:ThemeIcon.isThemeIcon(action.item.icon)?ThemeIcon.asClassName(action.item.icon):void 0,keybindingProvider:(_c2=options2===null||options2===void 0?void 0:options2.keybindingProvider)!==null&&_c2!==void 0?_c2:action2=>_keybindingService.lookupKeybinding(action2.id)});super(action,{getActions:()=>action.actions},_contextMenuService,dropdownOptions);this._keybindingService=_keybindingService;this._contextMenuService=_contextMenuService;this._themeService=_themeService}render(container){super.render(container);assertType(this.element);container.classList.add("menu-entry");const action=this._action;const{icon:icon}=action.item;if(icon&&!ThemeIcon.isThemeIcon(icon)){this.element.classList.add("icon");const setBackgroundImage=()=>{if(this.element){this.element.style.backgroundImage=isDark(this._themeService.getColorTheme().type)?asCSSUrl(icon.dark):asCSSUrl(icon.light)}};setBackgroundImage();this._register(this._themeService.onDidColorThemeChange((()=>{setBackgroundImage()})))}}};SubmenuEntryActionViewItem=__decorate28([__param24(2,IKeybindingService),__param24(3,IContextMenuService),__param24(4,IThemeService)],SubmenuEntryActionViewItem);DropdownWithDefaultActionViewItem=class DropdownWithDefaultActionViewItem2 extends BaseActionViewItem{constructor(submenuAction,options2,_keybindingService,_notificationService,_contextMenuService,_menuService,_instaService,_storageService){var _a6,_b3,_c2;super(null,submenuAction);this._keybindingService=_keybindingService;this._notificationService=_notificationService;this._contextMenuService=_contextMenuService;this._menuService=_menuService;this._instaService=_instaService;this._storageService=_storageService;this._container=null;this._options=options2;this._storageKey=`${submenuAction.item.submenu.id}_lastActionId`;let defaultAction;const defaultActionId=(options2===null||options2===void 0?void 0:options2.persistLastActionId)?_storageService.get(this._storageKey,1):void 0;if(defaultActionId){defaultAction=submenuAction.actions.find((a=>defaultActionId===a.id))}if(!defaultAction){defaultAction=submenuAction.actions[0]}this._defaultAction=this._instaService.createInstance(MenuEntryActionViewItem,defaultAction,{keybinding:this._getDefaultActionKeybindingLabel(defaultAction)});const dropdownOptions=Object.assign(Object.assign({keybindingProvider:action=>this._keybindingService.lookupKeybinding(action.id)},options2),{menuAsChild:(_a6=options2===null||options2===void 0?void 0:options2.menuAsChild)!==null&&_a6!==void 0?_a6:true,classNames:(_b3=options2===null||options2===void 0?void 0:options2.classNames)!==null&&_b3!==void 0?_b3:["codicon","codicon-chevron-down"],actionRunner:(_c2=options2===null||options2===void 0?void 0:options2.actionRunner)!==null&&_c2!==void 0?_c2:new ActionRunner});this._dropdown=new DropdownMenuActionViewItem(submenuAction,submenuAction.actions,this._contextMenuService,dropdownOptions);this._dropdown.actionRunner.onDidRun((e=>{if(e.action instanceof MenuItemAction){this.update(e.action)}}))}update(lastAction){var _a6;if((_a6=this._options)===null||_a6===void 0?void 0:_a6.persistLastActionId){this._storageService.store(this._storageKey,lastAction.id,1,1)}this._defaultAction.dispose();this._defaultAction=this._instaService.createInstance(MenuEntryActionViewItem,lastAction,{keybinding:this._getDefaultActionKeybindingLabel(lastAction)});this._defaultAction.actionRunner=new class extends ActionRunner{runAction(action,context){return __awaiter21(this,void 0,void 0,(function*(){yield action.run(void 0)}))}};if(this._container){this._defaultAction.render(prepend(this._container,$(".action-container")))}}_getDefaultActionKeybindingLabel(defaultAction){var _a6;let defaultActionKeybinding;if((_a6=this._options)===null||_a6===void 0?void 0:_a6.renderKeybindingWithDefaultActionLabel){const kb=this._keybindingService.lookupKeybinding(defaultAction.id);if(kb){defaultActionKeybinding=`(${kb.getLabel()})`}}return defaultActionKeybinding}setActionContext(newContext){super.setActionContext(newContext);this._defaultAction.setActionContext(newContext);this._dropdown.setActionContext(newContext)}render(container){this._container=container;super.render(this._container);this._container.classList.add("monaco-dropdown-with-default");const primaryContainer=$(".action-container");this._defaultAction.render(append(this._container,primaryContainer));this._register(addDisposableListener(primaryContainer,EventType.KEY_DOWN,(e=>{const event=new StandardKeyboardEvent(e);if(event.equals(17)){this._defaultAction.element.tabIndex=-1;this._dropdown.focus();event.stopPropagation()}})));const dropdownContainer=$(".dropdown-action-container");this._dropdown.render(append(this._container,dropdownContainer));this._register(addDisposableListener(dropdownContainer,EventType.KEY_DOWN,(e=>{var _a6;const event=new StandardKeyboardEvent(e);if(event.equals(15)){this._defaultAction.element.tabIndex=0;this._dropdown.setFocusable(false);(_a6=this._defaultAction.element)===null||_a6===void 0?void 0:_a6.focus();event.stopPropagation()}})))}focus(fromRight){if(fromRight){this._dropdown.focus()}else{this._defaultAction.element.tabIndex=0;this._defaultAction.element.focus()}}blur(){this._defaultAction.element.tabIndex=-1;this._dropdown.blur();this._container.blur()}setFocusable(focusable){if(focusable){this._defaultAction.element.tabIndex=0}else{this._defaultAction.element.tabIndex=-1;this._dropdown.setFocusable(false)}}dispose(){this._defaultAction.dispose();this._dropdown.dispose();super.dispose()}};DropdownWithDefaultActionViewItem=__decorate28([__param24(2,IKeybindingService),__param24(3,INotificationService),__param24(4,IContextMenuService),__param24(5,IMenuService),__param24(6,IInstantiationService),__param24(7,IStorageService)],DropdownWithDefaultActionViewItem);SubmenuEntrySelectActionViewItem=class SubmenuEntrySelectActionViewItem2 extends SelectActionViewItem{constructor(action,contextViewService){super(null,action,action.actions.map((a=>({text:a.id===Separator.ID?"─────────":a.label,isDisabled:!a.enabled}))),0,contextViewService,defaultSelectBoxStyles,{ariaLabel:action.tooltip,optionsAsChildren:true});this.select(Math.max(0,action.actions.findIndex((a=>a.checked))))}render(container){super.render(container);container.style.borderColor=asCssVariable(selectBorder)}runAction(option,index){const action=this.action.actions[index];if(action){this.actionRunner.run(action)}}};SubmenuEntrySelectActionViewItem=__decorate28([__param24(1,IContextViewService)],SubmenuEntrySelectActionViewItem)}});function cleanMnemonic(label){const regex=MENU_MNEMONIC_REGEX;const matches=regex.exec(label);if(!matches){return label}const mnemonicInText=!matches[1];return label.replace(regex,mnemonicInText?"$2$3":"").trim()}function formatRule(c){const fontCharacter=getCodiconFontCharacters()[c.id];return`.codicon-${c.id}:before { content: '\\${fontCharacter.toString(16)}'; }`}function getMenuWidgetCSS(style,isForShadowDom){let result=`\n.monaco-menu {\n\tfont-size: 13px;\n\tborder-radius: 5px;\n\tmin-width: 160px;\n}\n\n${formatRule(Codicon.menuSelection)}\n${formatRule(Codicon.menuSubmenu)}\n\n.monaco-menu .monaco-action-bar {\n\ttext-align: right;\n\toverflow: hidden;\n\twhite-space: nowrap;\n}\n\n.monaco-menu .monaco-action-bar .actions-container {\n\tdisplay: flex;\n\tmargin: 0 auto;\n\tpadding: 0;\n\twidth: 100%;\n\tjustify-content: flex-end;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar.reverse .actions-container {\n\tflex-direction: row-reverse;\n}\n\n.monaco-menu .monaco-action-bar .action-item {\n\tcursor: pointer;\n\tdisplay: inline-block;\n\ttransition: transform 50ms ease;\n\tposition: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled {\n\tcursor: default;\n}\n\n.monaco-menu .monaco-action-bar.animated .action-item.active {\n\ttransform: scale(1.272019649, 1.272019649); /* 1.272019649 = √φ */\n}\n\n.monaco-menu .monaco-action-bar .action-item .icon,\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar .action-label {\n\tfont-size: 11px;\n\tmargin-right: 4px;\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label,\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label:hover {\n\tcolor: var(--vscode-disabledForeground);\n}\n\n/* Vertical actions */\n\n.monaco-menu .monaco-action-bar.vertical {\n\ttext-align: left;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tdisplay: block;\n\tborder-bottom: 1px solid var(--vscode-menu-separatorBackground);\n\tpadding-top: 1px;\n\tpadding: 30px;\n}\n\n.monaco-menu .secondary-actions .monaco-action-bar .action-label {\n\tmargin-left: 6px;\n}\n\n/* Action Items */\n.monaco-menu .monaco-action-bar .action-item.select-container {\n\toverflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */\n\tflex: 1;\n\tmax-width: 170px;\n\tmin-width: 60px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-right: 10px;\n}\n\n.monaco-menu .monaco-action-bar.vertical {\n\tmargin-left: 0;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tpadding: 0;\n\ttransform: none;\n\tdisplay: flex;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.active {\n\ttransform: none;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\tflex: 1 1 auto;\n\tdisplay: flex;\n\theight: 2em;\n\talign-items: center;\n\tposition: relative;\n\tmargin: 0 4px;\n\tborder-radius: 4px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .keybinding {\n\topacity: unset;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label {\n\tflex: 1 1 auto;\n\ttext-decoration: none;\n\tpadding: 0 1em;\n\tbackground: none;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .keybinding,\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tdisplay: inline-block;\n\tflex: 2 1 auto;\n\tpadding: 0 1em;\n\ttext-align: right;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon {\n\tfont-size: 16px !important;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before {\n\tmargin-left: auto;\n\tmargin-right: -20px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator {\n\topacity: 0.4;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) {\n\tdisplay: inline-block;\n\tbox-sizing: border-box;\n\tmargin: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tposition: static;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu {\n\tposition: absolute;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\twidth: 100%;\n\theight: 0px !important;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator.text {\n\tpadding: 0.7em 1em 0.1em 1em;\n\tfont-weight: bold;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:hover {\n\tcolor: inherit;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tposition: absolute;\n\tvisibility: hidden;\n\twidth: 1em;\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check {\n\tvisibility: visible;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* Context Menu */\n\n.context-view.monaco-menu-container {\n\toutline: 0;\n\tborder: none;\n\tanimation: fadeIn 0.083s linear;\n\t-webkit-app-region: no-drag;\n}\n\n.context-view.monaco-menu-container :focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical:focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical :focus {\n\toutline: 0;\n}\n\n.hc-black .context-view.monaco-menu-container,\n.hc-light .context-view.monaco-menu-container,\n:host-context(.hc-black) .context-view.monaco-menu-container,\n:host-context(.hc-light) .context-view.monaco-menu-container {\n\tbox-shadow: none;\n}\n\n.hc-black .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n.hc-light .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n:host-context(.hc-black) .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n:host-context(.hc-light) .monaco-menu .monaco-action-bar.vertical .action-item.focused {\n\tbackground: none;\n}\n\n/* Vertical Action Bar Styles */\n\n.monaco-menu .monaco-action-bar.vertical {\n\tpadding: 4px 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\theight: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator),\n.monaco-menu .monaco-action-bar.vertical .keybinding {\n\tfont-size: inherit;\n\tpadding: 0 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tfont-size: inherit;\n\twidth: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tfont-size: inherit;\n\tmargin: 5px 0 !important;\n\tpadding: 0;\n\tborder-radius: 0;\n}\n\n.linux .monaco-menu .monaco-action-bar.vertical .action-label.separator,\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tfont-size: 60%;\n\tpadding: 0 1.8em;\n}\n\n.linux .monaco-menu .monaco-action-bar.vertical .submenu-indicator,\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n\tmask-size: 10px 10px;\n\t-webkit-mask-size: 10px 10px;\n}\n\n.monaco-menu .action-item {\n\tcursor: default;\n}`;if(isForShadowDom){result+=`\n\t\t\t/* Arrows */\n\t\t\t.monaco-scrollable-element > .scrollbar > .scra {\n\t\t\t\tcursor: pointer;\n\t\t\t\tfont-size: 11px !important;\n\t\t\t}\n\n\t\t\t.monaco-scrollable-element > .visible {\n\t\t\t\topacity: 1;\n\n\t\t\t\t/* Background rule added for IE9 - to allow clicks on dom node */\n\t\t\t\tbackground:rgba(0,0,0,0);\n\n\t\t\t\ttransition: opacity 100ms linear;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .invisible {\n\t\t\t\topacity: 0;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .invisible.fade {\n\t\t\t\ttransition: opacity 800ms linear;\n\t\t\t}\n\n\t\t\t/* Scrollable Content Inset Shadow */\n\t\t\t.monaco-scrollable-element > .shadow {\n\t\t\t\tposition: absolute;\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.top {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 3px;\n\t\t\t\theight: 3px;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.left {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 3px;\n\t\t\t\tleft: 0;\n\t\t\t\theight: 100%;\n\t\t\t\twidth: 3px;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.top-left-corner {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\theight: 3px;\n\t\t\t\twidth: 3px;\n\t\t\t}\n\t\t`;const scrollbarShadowColor=style.scrollbarShadow;if(scrollbarShadowColor){result+=`\n\t\t\t\t.monaco-scrollable-element > .shadow.top {\n\t\t\t\t\tbox-shadow: ${scrollbarShadowColor} 0 6px 6px -6px inset;\n\t\t\t\t}\n\n\t\t\t\t.monaco-scrollable-element > .shadow.left {\n\t\t\t\t\tbox-shadow: ${scrollbarShadowColor} 6px 0 6px -6px inset;\n\t\t\t\t}\n\n\t\t\t\t.monaco-scrollable-element > .shadow.top.left {\n\t\t\t\t\tbox-shadow: ${scrollbarShadowColor} 6px 6px 6px -6px inset;\n\t\t\t\t}\n\t\t\t`}const scrollbarSliderBackgroundColor=style.scrollbarSliderBackground;if(scrollbarSliderBackgroundColor){result+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider {\n\t\t\t\t\tbackground: ${scrollbarSliderBackgroundColor};\n\t\t\t\t}\n\t\t\t`}const scrollbarSliderHoverBackgroundColor=style.scrollbarSliderHoverBackground;if(scrollbarSliderHoverBackgroundColor){result+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider:hover {\n\t\t\t\t\tbackground: ${scrollbarSliderHoverBackgroundColor};\n\t\t\t\t}\n\t\t\t`}const scrollbarSliderActiveBackgroundColor=style.scrollbarSliderActiveBackground;if(scrollbarSliderActiveBackgroundColor){result+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider.active {\n\t\t\t\t\tbackground: ${scrollbarSliderActiveBackgroundColor};\n\t\t\t\t}\n\t\t\t`}}return result}var MENU_MNEMONIC_REGEX,MENU_ESCAPED_MNEMONIC_REGEX,Direction,Menu,BaseMenuActionViewItem,SubmenuMenuActionViewItem,MenuSeparatorActionViewItem;var init_menu=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/menu/menu.js"(){init_browser();init_touch();init_dom();init_keyboardEvent();init_mouseEvent();init_actionbar();init_actionViewItems();init_contextview();init_scrollableElement();init_actions();init_async();init_codicons();init_themables();init_iconLabels();init_lifecycle();init_platform();init_strings();MENU_MNEMONIC_REGEX=/\(&([^\s&])\)|(^|[^&])&([^\s&])/;MENU_ESCAPED_MNEMONIC_REGEX=/(&amp;)?(&amp;)([^\s&])/g;(function(Direction2){Direction2[Direction2["Right"]=0]="Right";Direction2[Direction2["Left"]=1]="Left"})(Direction||(Direction={}));Menu=class extends ActionBar{constructor(container,actions,options2,menuStyles){container.classList.add("monaco-menu-container");container.setAttribute("role","presentation");const menuElement=document.createElement("div");menuElement.classList.add("monaco-menu");menuElement.setAttribute("role","presentation");super(menuElement,{orientation:1,actionViewItemProvider:action=>this.doGetActionViewItem(action,options2,parentData),context:options2.context,actionRunner:options2.actionRunner,ariaLabel:options2.ariaLabel,ariaRole:"menu",focusOnlyEnabledItems:true,triggerKeys:{keys:[3,...isMacintosh||isLinux?[10]:[]],keyDown:true}});this.menuStyles=menuStyles;this.menuElement=menuElement;this.actionsList.tabIndex=0;this.menuDisposables=this._register(new DisposableStore);this.initializeOrUpdateStyleSheet(container,menuStyles);this._register(Gesture.addTarget(menuElement));addDisposableListener(menuElement,EventType.KEY_DOWN,(e=>{const event=new StandardKeyboardEvent(e);if(event.equals(2)){e.preventDefault()}}));if(options2.enableMnemonics){this.menuDisposables.add(addDisposableListener(menuElement,EventType.KEY_DOWN,(e=>{const key=e.key.toLocaleLowerCase();if(this.mnemonics.has(key)){EventHelper.stop(e,true);const actions2=this.mnemonics.get(key);if(actions2.length===1){if(actions2[0]instanceof SubmenuMenuActionViewItem&&actions2[0].container){this.focusItemByElement(actions2[0].container)}actions2[0].onClick(e)}if(actions2.length>1){const action=actions2.shift();if(action&&action.container){this.focusItemByElement(action.container);actions2.push(action)}this.mnemonics.set(key,actions2)}}})))}if(isLinux){this._register(addDisposableListener(menuElement,EventType.KEY_DOWN,(e=>{const event=new StandardKeyboardEvent(e);if(event.equals(14)||event.equals(11)){this.focusedItem=this.viewItems.length-1;this.focusNext();EventHelper.stop(e,true)}else if(event.equals(13)||event.equals(12)){this.focusedItem=0;this.focusPrevious();EventHelper.stop(e,true)}})))}this._register(addDisposableListener(this.domNode,EventType.MOUSE_OUT,(e=>{const relatedTarget=e.relatedTarget;if(!isAncestor(relatedTarget,this.domNode)){this.focusedItem=void 0;this.updateFocus();e.stopPropagation()}})));this._register(addDisposableListener(this.actionsList,EventType.MOUSE_OVER,(e=>{let target=e.target;if(!target||!isAncestor(target,this.actionsList)||target===this.actionsList){return}while(target.parentElement!==this.actionsList&&target.parentElement!==null){target=target.parentElement}if(target.classList.contains("action-item")){const lastFocusedItem=this.focusedItem;this.setFocusedItem(target);if(lastFocusedItem!==this.focusedItem){this.updateFocus()}}})));this._register(Gesture.addTarget(this.actionsList));this._register(addDisposableListener(this.actionsList,EventType2.Tap,(e=>{let target=e.initialTarget;if(!target||!isAncestor(target,this.actionsList)||target===this.actionsList){return}while(target.parentElement!==this.actionsList&&target.parentElement!==null){target=target.parentElement}if(target.classList.contains("action-item")){const lastFocusedItem=this.focusedItem;this.setFocusedItem(target);if(lastFocusedItem!==this.focusedItem){this.updateFocus()}}})));const parentData={parent:this};this.mnemonics=new Map;this.scrollableElement=this._register(new DomScrollableElement(menuElement,{alwaysConsumeMouseWheel:true,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:true,useShadows:true}));const scrollElement=this.scrollableElement.getDomNode();scrollElement.style.position="";this.styleScrollElement(scrollElement,menuStyles);this._register(addDisposableListener(menuElement,EventType2.Change,(e=>{EventHelper.stop(e,true);const scrollTop=this.scrollableElement.getScrollPosition().scrollTop;this.scrollableElement.setScrollPosition({scrollTop:scrollTop-e.translationY})})));this._register(addDisposableListener(scrollElement,EventType.MOUSE_UP,(e=>{e.preventDefault()})));menuElement.style.maxHeight=`${Math.max(10,window.innerHeight-container.getBoundingClientRect().top-35)}px`;actions=actions.filter((a=>{var _a6;if((_a6=options2.submenuIds)===null||_a6===void 0?void 0:_a6.has(a.id)){console.warn(`Found submenu cycle: ${a.id}`);return false}return true}));this.push(actions,{icon:true,label:true,isMenu:true});container.appendChild(this.scrollableElement.getDomNode());this.scrollableElement.scanDomNode();this.viewItems.filter((item=>!(item instanceof MenuSeparatorActionViewItem))).forEach(((item,index,array2)=>{item.updatePositionInSet(index+1,array2.length)}))}initializeOrUpdateStyleSheet(container,style){if(!this.styleSheet){if(isInShadowDOM(container)){this.styleSheet=createStyleSheet(container)}else{if(!Menu.globalStyleSheet){Menu.globalStyleSheet=createStyleSheet()}this.styleSheet=Menu.globalStyleSheet}}this.styleSheet.textContent=getMenuWidgetCSS(style,isInShadowDOM(container))}styleScrollElement(scrollElement,style){var _a6,_b3;const fgColor=(_a6=style.foregroundColor)!==null&&_a6!==void 0?_a6:"";const bgColor=(_b3=style.backgroundColor)!==null&&_b3!==void 0?_b3:"";const border=style.borderColor?`1px solid ${style.borderColor}`:"";const borderRadius="5px";const shadow=style.shadowColor?`0 2px 8px ${style.shadowColor}`:"";scrollElement.style.outline=border;scrollElement.style.borderRadius=borderRadius;scrollElement.style.color=fgColor;scrollElement.style.backgroundColor=bgColor;scrollElement.style.boxShadow=shadow}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(element){const lastFocusedItem=this.focusedItem;this.setFocusedItem(element);if(lastFocusedItem!==this.focusedItem){this.updateFocus()}}setFocusedItem(element){for(let i=0;i<this.actionsList.children.length;i++){const elem=this.actionsList.children[i];if(element===elem){this.focusedItem=i;break}}}updateFocus(fromRight){super.updateFocus(fromRight,true,true);if(typeof this.focusedItem!=="undefined"){this.scrollableElement.setScrollPosition({scrollTop:Math.round(this.menuElement.scrollTop)})}}doGetActionViewItem(action,options2,parentData){if(action instanceof Separator){return new MenuSeparatorActionViewItem(options2.context,action,{icon:true},this.menuStyles)}else if(action instanceof SubmenuAction){const menuActionViewItem=new SubmenuMenuActionViewItem(action,action.actions,parentData,Object.assign(Object.assign({},options2),{submenuIds:new Set([...options2.submenuIds||[],action.id])}),this.menuStyles);if(options2.enableMnemonics){const mnemonic=menuActionViewItem.getMnemonic();if(mnemonic&&menuActionViewItem.isEnabled()){let actionViewItems=[];if(this.mnemonics.has(mnemonic)){actionViewItems=this.mnemonics.get(mnemonic)}actionViewItems.push(menuActionViewItem);this.mnemonics.set(mnemonic,actionViewItems)}}return menuActionViewItem}else{const menuItemOptions={enableMnemonics:options2.enableMnemonics,useEventAsContext:options2.useEventAsContext};if(options2.getKeyBinding){const keybinding=options2.getKeyBinding(action);if(keybinding){const keybindingLabel=keybinding.getLabel();if(keybindingLabel){menuItemOptions.keybinding=keybindingLabel}}}const menuActionViewItem=new BaseMenuActionViewItem(options2.context,action,menuItemOptions,this.menuStyles);if(options2.enableMnemonics){const mnemonic=menuActionViewItem.getMnemonic();if(mnemonic&&menuActionViewItem.isEnabled()){let actionViewItems=[];if(this.mnemonics.has(mnemonic)){actionViewItems=this.mnemonics.get(mnemonic)}actionViewItems.push(menuActionViewItem);this.mnemonics.set(mnemonic,actionViewItems)}}return menuActionViewItem}}};BaseMenuActionViewItem=class extends BaseActionViewItem{constructor(ctx,action,options2,menuStyle){options2.isMenu=true;super(action,action,options2);this.menuStyle=menuStyle;this.options=options2;this.options.icon=options2.icon!==void 0?options2.icon:false;this.options.label=options2.label!==void 0?options2.label:true;this.cssClass="";if(this.options.label&&options2.enableMnemonics){const label=this.action.label;if(label){const matches=MENU_MNEMONIC_REGEX.exec(label);if(matches){this.mnemonic=(!!matches[1]?matches[1]:matches[3]).toLocaleLowerCase()}}}this.runOnceToEnableMouseUp=new RunOnceScheduler((()=>{if(!this.element){return}this._register(addDisposableListener(this.element,EventType.MOUSE_UP,(e=>{EventHelper.stop(e,true);if(isFirefox2){const mouseEvent=new StandardMouseEvent(e);if(mouseEvent.rightButton){return}this.onClick(e)}else{setTimeout((()=>{this.onClick(e)}),0)}})));this._register(addDisposableListener(this.element,EventType.CONTEXT_MENU,(e=>{EventHelper.stop(e,true)})))}),100);this._register(this.runOnceToEnableMouseUp)}render(container){super.render(container);if(!this.element){return}this.container=container;this.item=append(this.element,$("a.action-menu-item"));if(this._action.id===Separator.ID){this.item.setAttribute("role","presentation")}else{this.item.setAttribute("role","menuitem");if(this.mnemonic){this.item.setAttribute("aria-keyshortcuts",`${this.mnemonic}`)}}this.check=append(this.item,$("span.menu-item-check"+ThemeIcon.asCSSSelector(Codicon.menuSelection)));this.check.setAttribute("role","none");this.label=append(this.item,$("span.action-label"));if(this.options.label&&this.options.keybinding){append(this.item,$("span.keybinding")).textContent=this.options.keybinding}this.runOnceToEnableMouseUp.schedule();this.updateClass();this.updateLabel();this.updateTooltip();this.updateEnabled();this.updateChecked();this.applyStyle()}blur(){super.blur();this.applyStyle()}focus(){var _a6;super.focus();(_a6=this.item)===null||_a6===void 0?void 0:_a6.focus();this.applyStyle()}updatePositionInSet(pos,setSize){if(this.item){this.item.setAttribute("aria-posinset",`${pos}`);this.item.setAttribute("aria-setsize",`${setSize}`)}}updateLabel(){var _a6;if(!this.label){return}if(this.options.label){clearNode(this.label);let label=stripIcons(this.action.label);if(label){const cleanLabel=cleanMnemonic(label);if(!this.options.enableMnemonics){label=cleanLabel}this.label.setAttribute("aria-label",cleanLabel.replace(/&&/g,"&"));const matches=MENU_MNEMONIC_REGEX.exec(label);if(matches){label=escape(label);MENU_ESCAPED_MNEMONIC_REGEX.lastIndex=0;let escMatch=MENU_ESCAPED_MNEMONIC_REGEX.exec(label);while(escMatch&&escMatch[1]){escMatch=MENU_ESCAPED_MNEMONIC_REGEX.exec(label)}const replaceDoubleEscapes=str=>str.replace(/&amp;&amp;/g,"&amp;");if(escMatch){this.label.append(ltrim(replaceDoubleEscapes(label.substr(0,escMatch.index))," "),$("u",{"aria-hidden":"true"},escMatch[3]),rtrim(replaceDoubleEscapes(label.substr(escMatch.index+escMatch[0].length))," "))}else{this.label.innerText=replaceDoubleEscapes(label).trim()}(_a6=this.item)===null||_a6===void 0?void 0:_a6.setAttribute("aria-keyshortcuts",(!!matches[1]?matches[1]:matches[3]).toLocaleLowerCase())}else{this.label.innerText=label.replace(/&&/g,"&").trim()}}}}updateTooltip(){}updateClass(){if(this.cssClass&&this.item){this.item.classList.remove(...this.cssClass.split(" "))}if(this.options.icon&&this.label){this.cssClass=this.action.class||"";this.label.classList.add("icon");if(this.cssClass){this.label.classList.add(...this.cssClass.split(" "))}this.updateEnabled()}else if(this.label){this.label.classList.remove("icon")}}updateEnabled(){if(this.action.enabled){if(this.element){this.element.classList.remove("disabled");this.element.removeAttribute("aria-disabled")}if(this.item){this.item.classList.remove("disabled");this.item.removeAttribute("aria-disabled");this.item.tabIndex=0}}else{if(this.element){this.element.classList.add("disabled");this.element.setAttribute("aria-disabled","true")}if(this.item){this.item.classList.add("disabled");this.item.setAttribute("aria-disabled","true")}}}updateChecked(){if(!this.item){return}const checked=this.action.checked;this.item.classList.toggle("checked",!!checked);if(checked!==void 0){this.item.setAttribute("role","menuitemcheckbox");this.item.setAttribute("aria-checked",checked?"true":"false")}else{this.item.setAttribute("role","menuitem");this.item.setAttribute("aria-checked","")}}getMnemonic(){return this.mnemonic}applyStyle(){const isSelected=this.element&&this.element.classList.contains("focused");const fgColor=isSelected&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;const bgColor=isSelected&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:void 0;const outline=isSelected&&this.menuStyle.selectionBorderColor?`1px solid ${this.menuStyle.selectionBorderColor}`:"";const outlineOffset=isSelected&&this.menuStyle.selectionBorderColor?`-1px`:"";if(this.item){this.item.style.color=fgColor!==null&&fgColor!==void 0?fgColor:"";this.item.style.backgroundColor=bgColor!==null&&bgColor!==void 0?bgColor:"";this.item.style.outline=outline;this.item.style.outlineOffset=outlineOffset}if(this.check){this.check.style.color=fgColor!==null&&fgColor!==void 0?fgColor:""}}};SubmenuMenuActionViewItem=class extends BaseMenuActionViewItem{constructor(action,submenuActions,parentData,submenuOptions,menuStyles){super(action,action,submenuOptions,menuStyles);this.submenuActions=submenuActions;this.parentData=parentData;this.submenuOptions=submenuOptions;this.mysubmenu=null;this.submenuDisposables=this._register(new DisposableStore);this.mouseOver=false;this.expandDirection=submenuOptions&&submenuOptions.expandDirection!==void 0?submenuOptions.expandDirection:Direction.Right;this.showScheduler=new RunOnceScheduler((()=>{if(this.mouseOver){this.cleanupExistingSubmenu(false);this.createSubmenu(false)}}),250);this.hideScheduler=new RunOnceScheduler((()=>{if(this.element&&(!isAncestor(getActiveElement(),this.element)&&this.parentData.submenu===this.mysubmenu)){this.parentData.parent.focus(false);this.cleanupExistingSubmenu(true)}}),750)}render(container){super.render(container);if(!this.element){return}if(this.item){this.item.classList.add("monaco-submenu-item");this.item.tabIndex=0;this.item.setAttribute("aria-haspopup","true");this.updateAriaExpanded("false");this.submenuIndicator=append(this.item,$("span.submenu-indicator"+ThemeIcon.asCSSSelector(Codicon.menuSubmenu)));this.submenuIndicator.setAttribute("aria-hidden","true")}this._register(addDisposableListener(this.element,EventType.KEY_UP,(e=>{const event=new StandardKeyboardEvent(e);if(event.equals(17)||event.equals(3)){EventHelper.stop(e,true);this.createSubmenu(true)}})));this._register(addDisposableListener(this.element,EventType.KEY_DOWN,(e=>{const event=new StandardKeyboardEvent(e);if(getActiveElement()===this.item){if(event.equals(17)||event.equals(3)){EventHelper.stop(e,true)}}})));this._register(addDisposableListener(this.element,EventType.MOUSE_OVER,(e=>{if(!this.mouseOver){this.mouseOver=true;this.showScheduler.schedule()}})));this._register(addDisposableListener(this.element,EventType.MOUSE_LEAVE,(e=>{this.mouseOver=false})));this._register(addDisposableListener(this.element,EventType.FOCUS_OUT,(e=>{if(this.element&&!isAncestor(getActiveElement(),this.element)){this.hideScheduler.schedule()}})));this._register(this.parentData.parent.onScroll((()=>{if(this.parentData.submenu===this.mysubmenu){this.parentData.parent.focus(false);this.cleanupExistingSubmenu(true)}})))}updateEnabled(){}onClick(e){EventHelper.stop(e,true);this.cleanupExistingSubmenu(false);this.createSubmenu(true)}cleanupExistingSubmenu(force){if(this.parentData.submenu&&(force||this.parentData.submenu!==this.mysubmenu)){try{this.parentData.submenu.dispose()}catch(_a6){}this.parentData.submenu=void 0;this.updateAriaExpanded("false");if(this.submenuContainer){this.submenuDisposables.clear();this.submenuContainer=void 0}}}calculateSubmenuMenuLayout(windowDimensions,submenu,entry,expandDirection){const ret={top:0,left:0};ret.left=layout(windowDimensions.width,submenu.width,{position:expandDirection===Direction.Right?0:1,offset:entry.left,size:entry.width});if(ret.left>=entry.left&&ret.left<entry.left+entry.width){if(entry.left+10+submenu.width<=windowDimensions.width){ret.left=entry.left+10}entry.top+=10;entry.height=0}ret.top=layout(windowDimensions.height,submenu.height,{position:0,offset:entry.top,size:0});if(ret.top+submenu.height===entry.top&&ret.top+entry.height+submenu.height<=windowDimensions.height){ret.top+=entry.height}return ret}createSubmenu(selectFirstItem=true){if(!this.element){return}if(!this.parentData.submenu){this.updateAriaExpanded("true");this.submenuContainer=append(this.element,$("div.monaco-submenu"));this.submenuContainer.classList.add("menubar-menu-items-holder","context-view");const computedStyles=getComputedStyle(this.parentData.parent.domNode);const paddingTop=parseFloat(computedStyles.paddingTop||"0")||0;this.submenuContainer.style.zIndex="1";this.submenuContainer.style.position="fixed";this.submenuContainer.style.top="0";this.submenuContainer.style.left="0";this.parentData.submenu=new Menu(this.submenuContainer,this.submenuActions.length?this.submenuActions:[new EmptySubmenuAction],this.submenuOptions,this.menuStyle);const entryBox=this.element.getBoundingClientRect();const entryBoxUpdated={top:entryBox.top-paddingTop,left:entryBox.left,height:entryBox.height+2*paddingTop,width:entryBox.width};const viewBox=this.submenuContainer.getBoundingClientRect();const{top:top,left:left}=this.calculateSubmenuMenuLayout(new Dimension(window.innerWidth,window.innerHeight),Dimension.lift(viewBox),entryBoxUpdated,this.expandDirection);this.submenuContainer.style.left=`${left-viewBox.left}px`;this.submenuContainer.style.top=`${top-viewBox.top}px`;this.submenuDisposables.add(addDisposableListener(this.submenuContainer,EventType.KEY_UP,(e=>{const event=new StandardKeyboardEvent(e);if(event.equals(15)){EventHelper.stop(e,true);this.parentData.parent.focus();this.cleanupExistingSubmenu(true)}})));this.submenuDisposables.add(addDisposableListener(this.submenuContainer,EventType.KEY_DOWN,(e=>{const event=new StandardKeyboardEvent(e);if(event.equals(15)){EventHelper.stop(e,true)}})));this.submenuDisposables.add(this.parentData.submenu.onDidCancel((()=>{this.parentData.parent.focus();this.cleanupExistingSubmenu(true)})));this.parentData.submenu.focus(selectFirstItem);this.mysubmenu=this.parentData.submenu}else{this.parentData.submenu.focus(false)}}updateAriaExpanded(value){var _a6;if(this.item){(_a6=this.item)===null||_a6===void 0?void 0:_a6.setAttribute("aria-expanded",value)}}applyStyle(){super.applyStyle();const isSelected=this.element&&this.element.classList.contains("focused");const fgColor=isSelected&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;if(this.submenuIndicator){this.submenuIndicator.style.color=fgColor!==null&&fgColor!==void 0?fgColor:""}}dispose(){super.dispose();this.hideScheduler.dispose();if(this.mysubmenu){this.mysubmenu.dispose();this.mysubmenu=null}if(this.submenuContainer){this.submenuContainer=void 0}}};MenuSeparatorActionViewItem=class extends ActionViewItem{constructor(context,action,options2,menuStyles){super(context,action,options2);this.menuStyles=menuStyles}render(container){super.render(container);if(this.label){this.label.style.borderBottomColor=this.menuStyles.separatorColor?`${this.menuStyles.separatorColor}`:""}}}}});var ContextMenuHandler;var init_contextMenuHandler=__esm({"node_modules/monaco-editor/esm/vs/platform/contextview/browser/contextMenuHandler.js"(){init_dom();init_mouseEvent();init_menu();init_actions();init_errors();init_lifecycle();init_defaultStyles();ContextMenuHandler=class{constructor(contextViewService,telemetryService,notificationService,keybindingService){this.contextViewService=contextViewService;this.telemetryService=telemetryService;this.notificationService=notificationService;this.keybindingService=keybindingService;this.focusToReturn=null;this.lastContainer=null;this.block=null;this.blockDisposable=null;this.options={blockMouse:true}}configure(options2){this.options=options2}showContextMenu(delegate){const actions=delegate.getActions();if(!actions.length){return}this.focusToReturn=document.activeElement;let menu;const shadowRootElement=isHTMLElement(delegate.domForShadowRoot)?delegate.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>delegate.getAnchor(),canRelayout:false,anchorAlignment:delegate.anchorAlignment,anchorAxisAlignment:delegate.anchorAxisAlignment,render:container=>{var _a6;this.lastContainer=container;const className=delegate.getMenuClassName?delegate.getMenuClassName():"";if(className){container.className+=" "+className}if(this.options.blockMouse){this.block=container.appendChild($(".context-view-block"));this.block.style.position="fixed";this.block.style.cursor="initial";this.block.style.left="0";this.block.style.top="0";this.block.style.width="100%";this.block.style.height="100%";this.block.style.zIndex="-1";(_a6=this.blockDisposable)===null||_a6===void 0?void 0:_a6.dispose();this.blockDisposable=addDisposableListener(this.block,EventType.MOUSE_DOWN,(e=>e.stopPropagation()))}const menuDisposables=new DisposableStore;const actionRunner=delegate.actionRunner||new ActionRunner;actionRunner.onWillRun((evt=>this.onActionRun(evt,!delegate.skipTelemetry)),this,menuDisposables);actionRunner.onDidRun(this.onDidActionRun,this,menuDisposables);menu=new Menu(container,actions,{actionViewItemProvider:delegate.getActionViewItem,context:delegate.getActionsContext?delegate.getActionsContext():null,actionRunner:actionRunner,getKeyBinding:delegate.getKeyBinding?delegate.getKeyBinding:action=>this.keybindingService.lookupKeybinding(action.id)},defaultMenuStyles);menu.onDidCancel((()=>this.contextViewService.hideContextView(true)),null,menuDisposables);menu.onDidBlur((()=>this.contextViewService.hideContextView(true)),null,menuDisposables);menuDisposables.add(addDisposableListener(window,EventType.BLUR,(()=>this.contextViewService.hideContextView(true))));menuDisposables.add(addDisposableListener(window,EventType.MOUSE_DOWN,(e=>{if(e.defaultPrevented){return}const event=new StandardMouseEvent(e);let element=event.target;if(event.rightButton){return}while(element){if(element===container){return}element=element.parentElement}this.contextViewService.hideContextView(true)})));return combinedDisposable(menuDisposables,menu)},focus:()=>{menu===null||menu===void 0?void 0:menu.focus(!!delegate.autoSelectFirstItem)},onHide:didCancel=>{var _a6,_b3,_c2;(_a6=delegate.onHide)===null||_a6===void 0?void 0:_a6.call(delegate,!!didCancel);if(this.block){this.block.remove();this.block=null}(_b3=this.blockDisposable)===null||_b3===void 0?void 0:_b3.dispose();this.blockDisposable=null;if(!!this.lastContainer&&(getActiveElement()===this.lastContainer||isAncestor(getActiveElement(),this.lastContainer))){(_c2=this.focusToReturn)===null||_c2===void 0?void 0:_c2.focus()}this.lastContainer=null}},shadowRootElement,!!shadowRootElement)}onActionRun(e,logTelemetry){if(logTelemetry){this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.action.id,from:"contextMenu"})}this.contextViewService.hideContextView(false)}onDidActionRun(e){if(e.error&&!isCancellationError(e.error)){this.notificationService.error(e.error)}}}}});var __decorate29,__param25,ContextMenuService,ContextMenuMenuDelegate;var init_contextMenuService=__esm({"node_modules/monaco-editor/esm/vs/platform/contextview/browser/contextMenuService.js"(){init_dom();init_actions();init_event();init_lifecycle();init_menuEntryActionViewItem();init_actions2();init_contextkey();init_keybinding();init_notification();init_telemetry();init_contextMenuHandler();init_contextView();__decorate29=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param25=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};ContextMenuService=class ContextMenuService2 extends Disposable{get contextMenuHandler(){if(!this._contextMenuHandler){this._contextMenuHandler=new ContextMenuHandler(this.contextViewService,this.telemetryService,this.notificationService,this.keybindingService)}return this._contextMenuHandler}constructor(telemetryService,notificationService,contextViewService,keybindingService,menuService,contextKeyService){super();this.telemetryService=telemetryService;this.notificationService=notificationService;this.contextViewService=contextViewService;this.keybindingService=keybindingService;this.menuService=menuService;this.contextKeyService=contextKeyService;this._contextMenuHandler=void 0;this._onDidShowContextMenu=this._store.add(new Emitter);this._onDidHideContextMenu=this._store.add(new Emitter)}configure(options2){this.contextMenuHandler.configure(options2)}showContextMenu(delegate){delegate=ContextMenuMenuDelegate.transform(delegate,this.menuService,this.contextKeyService);this.contextMenuHandler.showContextMenu(Object.assign(Object.assign({},delegate),{onHide:didCancel=>{var _a6;(_a6=delegate.onHide)===null||_a6===void 0?void 0:_a6.call(delegate,didCancel);this._onDidHideContextMenu.fire()}}));ModifierKeyEmitter.getInstance().resetKeyStatus();this._onDidShowContextMenu.fire()}};ContextMenuService=__decorate29([__param25(0,ITelemetryService),__param25(1,INotificationService),__param25(2,IContextViewService),__param25(3,IKeybindingService),__param25(4,IMenuService),__param25(5,IContextKeyService)],ContextMenuService);(function(ContextMenuMenuDelegate2){function is(thing){return thing&&thing.menuId instanceof MenuId}function transform(delegate,menuService,globalContextKeyService){if(!is(delegate)){return delegate}const{menuId:menuId,menuActionOptions:menuActionOptions,contextKeyService:contextKeyService}=delegate;return Object.assign(Object.assign({},delegate),{getActions:()=>{const target=[];if(menuId){const menu=menuService.createMenu(menuId,contextKeyService!==null&&contextKeyService!==void 0?contextKeyService:globalContextKeyService);createAndFillInContextMenuActions(menu,menuActionOptions,target);menu.dispose()}if(!delegate.getActions){return target}else{return Separator.join(delegate.getActions(),target)}}})}ContextMenuMenuDelegate2.transform=transform})(ContextMenuMenuDelegate||(ContextMenuMenuDelegate={}))}});var EditorOpenSource;var init_editor=__esm({"node_modules/monaco-editor/esm/vs/platform/editor/common/editor.js"(){(function(EditorOpenSource2){EditorOpenSource2[EditorOpenSource2["API"]=0]="API";EditorOpenSource2[EditorOpenSource2["USER"]=1]="USER"})(EditorOpenSource||(EditorOpenSource={}))}});var __decorate30,__param26,__awaiter22,CommandOpener,EditorOpener,OpenerService;var init_openerService=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/services/openerService.js"(){init_dom();init_cancellation();init_linkedList();init_map();init_marshalling();init_network();init_resources();init_uri();init_codeEditorService();init_commands();init_editor();init_opener();__decorate30=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param26=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};__awaiter22=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};CommandOpener=class CommandOpener2{constructor(_commandService){this._commandService=_commandService}open(target,options2){return __awaiter22(this,void 0,void 0,(function*(){if(!matchesScheme(target,Schemas.command)){return false}if(!(options2===null||options2===void 0?void 0:options2.allowCommands)){return true}if(typeof target==="string"){target=URI.parse(target)}if(Array.isArray(options2.allowCommands)){if(!options2.allowCommands.includes(target.path)){return true}}let args=[];try{args=parse2(decodeURIComponent(target.query))}catch(_a6){try{args=parse2(target.query)}catch(_b3){}}if(!Array.isArray(args)){args=[args]}yield this._commandService.executeCommand(target.path,...args);return true}))}};CommandOpener=__decorate30([__param26(0,ICommandService)],CommandOpener);EditorOpener=class EditorOpener2{constructor(_editorService){this._editorService=_editorService}open(target,options2){return __awaiter22(this,void 0,void 0,(function*(){if(typeof target==="string"){target=URI.parse(target)}const{selection:selection,uri:uri}=extractSelection(target);target=uri;if(target.scheme===Schemas.file){target=normalizePath(target)}yield this._editorService.openCodeEditor({resource:target,options:Object.assign({selection:selection,source:(options2===null||options2===void 0?void 0:options2.fromUserGesture)?EditorOpenSource.USER:EditorOpenSource.API},options2===null||options2===void 0?void 0:options2.editorOptions)},this._editorService.getFocusedCodeEditor(),options2===null||options2===void 0?void 0:options2.openToSide);return true}))}};EditorOpener=__decorate30([__param26(0,ICodeEditorService)],EditorOpener);OpenerService=class OpenerService2{constructor(editorService,commandService){this._openers=new LinkedList;this._validators=new LinkedList;this._resolvers=new LinkedList;this._resolvedUriTargets=new ResourceMap((uri=>uri.with({path:null,fragment:null,query:null}).toString()));this._externalOpeners=new LinkedList;this._defaultExternalOpener={openExternal:href=>__awaiter22(this,void 0,void 0,(function*(){if(matchesSomeScheme(href,Schemas.http,Schemas.https)){windowOpenNoOpener(href)}else{window.location.href=href}return true}))};this._openers.push({open:(target,options2)=>__awaiter22(this,void 0,void 0,(function*(){if((options2===null||options2===void 0?void 0:options2.openExternal)||matchesSomeScheme(target,Schemas.mailto,Schemas.http,Schemas.https,Schemas.vsls)){yield this._doOpenExternal(target,options2);return true}return false}))});this._openers.push(new CommandOpener(commandService));this._openers.push(new EditorOpener(editorService))}registerOpener(opener){const remove=this._openers.unshift(opener);return{dispose:remove}}open(target,options2){var _a6;return __awaiter22(this,void 0,void 0,(function*(){const targetURI=typeof target==="string"?URI.parse(target):target;const validationTarget=(_a6=this._resolvedUriTargets.get(targetURI))!==null&&_a6!==void 0?_a6:target;for(const validator of this._validators){if(!(yield validator.shouldOpen(validationTarget,options2))){return false}}for(const opener of this._openers){const handled=yield opener.open(target,options2);if(handled){return true}}return false}))}resolveExternalUri(resource,options2){return __awaiter22(this,void 0,void 0,(function*(){for(const resolver of this._resolvers){try{const result=yield resolver.resolveExternalUri(resource,options2);if(result){if(!this._resolvedUriTargets.has(result.resolved)){this._resolvedUriTargets.set(result.resolved,resource)}return result}}catch(_a6){}}throw new Error("Could not resolve external URI: "+resource.toString())}))}_doOpenExternal(resource,options2){return __awaiter22(this,void 0,void 0,(function*(){const uri=typeof resource==="string"?URI.parse(resource):resource;let externalUri;try{externalUri=(yield this.resolveExternalUri(uri,options2)).resolved}catch(_a6){externalUri=uri}let href;if(typeof resource==="string"&&uri.toString()===externalUri.toString()){href=resource}else{href=encodeURI(externalUri.toString(true))}if(options2===null||options2===void 0?void 0:options2.allowContributedOpeners){const preferredOpenerId=typeof(options2===null||options2===void 0?void 0:options2.allowContributedOpeners)==="string"?options2===null||options2===void 0?void 0:options2.allowContributedOpeners:void 0;for(const opener of this._externalOpeners){const didOpen=yield opener.openExternal(href,{sourceUri:uri,preferredOpenerId:preferredOpenerId},CancellationToken.None);if(didOpen){return true}}}return this._defaultExternalOpener.openExternal(href,{sourceUri:uri},CancellationToken.None)}))}dispose(){this._validators.clear()}};OpenerService=__decorate30([__param26(0,ICodeEditorService),__param26(1,ICommandService)],OpenerService)}});var MarkerSeverity2,IMarkerData,IMarkerService;var init_markers=__esm({"node_modules/monaco-editor/esm/vs/platform/markers/common/markers.js"(){init_severity();init_nls();init_instantiation();(function(MarkerSeverity4){MarkerSeverity4[MarkerSeverity4["Hint"]=1]="Hint";MarkerSeverity4[MarkerSeverity4["Info"]=2]="Info";MarkerSeverity4[MarkerSeverity4["Warning"]=4]="Warning";MarkerSeverity4[MarkerSeverity4["Error"]=8]="Error"})(MarkerSeverity2||(MarkerSeverity2={}));(function(MarkerSeverity4){function compare2(a,b){return b-a}MarkerSeverity4.compare=compare2;const _displayStrings=Object.create(null);_displayStrings[MarkerSeverity4.Error]=localize("sev.error","Error");_displayStrings[MarkerSeverity4.Warning]=localize("sev.warning","Warning");_displayStrings[MarkerSeverity4.Info]=localize("sev.info","Info");function toString(a){return _displayStrings[a]||""}MarkerSeverity4.toString=toString;function fromSeverity(severity){switch(severity){case severity_default.Error:return MarkerSeverity4.Error;case severity_default.Warning:return MarkerSeverity4.Warning;case severity_default.Info:return MarkerSeverity4.Info;case severity_default.Ignore:return MarkerSeverity4.Hint}}MarkerSeverity4.fromSeverity=fromSeverity;function toSeverity4(severity){switch(severity){case MarkerSeverity4.Error:return severity_default.Error;case MarkerSeverity4.Warning:return severity_default.Warning;case MarkerSeverity4.Info:return severity_default.Info;case MarkerSeverity4.Hint:return severity_default.Ignore}}MarkerSeverity4.toSeverity=toSeverity4})(MarkerSeverity2||(MarkerSeverity2={}));(function(IMarkerData2){const emptyString="";function makeKey(markerData){return makeKeyOptionalMessage(markerData,true)}IMarkerData2.makeKey=makeKey;function makeKeyOptionalMessage(markerData,useMessage){const result=[emptyString];if(markerData.source){result.push(markerData.source.replace("¦","\\¦"))}else{result.push(emptyString)}if(markerData.code){if(typeof markerData.code==="string"){result.push(markerData.code.replace("¦","\\¦"))}else{result.push(markerData.code.value.replace("¦","\\¦"))}}else{result.push(emptyString)}if(markerData.severity!==void 0&&markerData.severity!==null){result.push(MarkerSeverity2.toString(markerData.severity))}else{result.push(emptyString)}if(markerData.message&&useMessage){result.push(markerData.message.replace("¦","\\¦"))}else{result.push(emptyString)}if(markerData.startLineNumber!==void 0&&markerData.startLineNumber!==null){result.push(markerData.startLineNumber.toString())}else{result.push(emptyString)}if(markerData.startColumn!==void 0&&markerData.startColumn!==null){result.push(markerData.startColumn.toString())}else{result.push(emptyString)}if(markerData.endLineNumber!==void 0&&markerData.endLineNumber!==null){result.push(markerData.endLineNumber.toString())}else{result.push(emptyString)}if(markerData.endColumn!==void 0&&markerData.endColumn!==null){result.push(markerData.endColumn.toString())}else{result.push(emptyString)}result.push(emptyString);return result.join("¦")}IMarkerData2.makeKeyOptionalMessage=makeKeyOptionalMessage})(IMarkerData||(IMarkerData={}));IMarkerService=createDecorator("markerService")}});var __decorate31,__param27,MarkerDecorations,MarkerDecorationsService;var init_markerDecorationsService=__esm({"node_modules/monaco-editor/esm/vs/editor/common/services/markerDecorationsService.js"(){init_markers();init_lifecycle();init_model();init_themeService();init_editorColorRegistry();init_model2();init_range();init_network();init_event();init_colorRegistry();init_map();__decorate31=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param27=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};MarkerDecorations=class extends Disposable{constructor(model){super();this.model=model;this._markersData=new Map;this._register(toDisposable((()=>{this.model.deltaDecorations([...this._markersData.keys()],[]);this._markersData.clear()})))}update(markers,newDecorations){const oldIds=[...this._markersData.keys()];this._markersData.clear();const ids=this.model.deltaDecorations(oldIds,newDecorations);for(let index=0;index<ids.length;index++){this._markersData.set(ids[index],markers[index])}return oldIds.length!==0||ids.length!==0}getMarker(decoration2){return this._markersData.get(decoration2.id)}};MarkerDecorationsService=class MarkerDecorationsService2 extends Disposable{constructor(modelService,_markerService){super();this._markerService=_markerService;this._onDidChangeMarker=this._register(new Emitter);this._markerDecorations=new ResourceMap;modelService.getModels().forEach((model=>this._onModelAdded(model)));this._register(modelService.onModelAdded(this._onModelAdded,this));this._register(modelService.onModelRemoved(this._onModelRemoved,this));this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose();this._markerDecorations.forEach((value=>value.dispose()));this._markerDecorations.clear()}getMarker(uri,decoration2){const markerDecorations=this._markerDecorations.get(uri);return markerDecorations?markerDecorations.getMarker(decoration2)||null:null}_handleMarkerChange(changedResources){changedResources.forEach((resource=>{const markerDecorations=this._markerDecorations.get(resource);if(markerDecorations){this._updateDecorations(markerDecorations)}}))}_onModelAdded(model){const markerDecorations=new MarkerDecorations(model);this._markerDecorations.set(model.uri,markerDecorations);this._updateDecorations(markerDecorations)}_onModelRemoved(model){var _a6;const markerDecorations=this._markerDecorations.get(model.uri);if(markerDecorations){markerDecorations.dispose();this._markerDecorations.delete(model.uri)}if(model.uri.scheme===Schemas.inMemory||model.uri.scheme===Schemas.internal||model.uri.scheme===Schemas.vscode){(_a6=this._markerService)===null||_a6===void 0?void 0:_a6.read({resource:model.uri}).map((marker=>marker.owner)).forEach((owner=>this._markerService.remove(owner,[model.uri])))}}_updateDecorations(markerDecorations){const markers=this._markerService.read({resource:markerDecorations.model.uri,take:500});const newModelDecorations=markers.map((marker=>({range:this._createDecorationRange(markerDecorations.model,marker),options:this._createDecorationOption(marker)})));if(markerDecorations.update(markers,newModelDecorations)){this._onDidChangeMarker.fire(markerDecorations.model)}}_createDecorationRange(model,rawMarker){let ret=Range.lift(rawMarker);if(rawMarker.severity===MarkerSeverity2.Hint&&!this._hasMarkerTag(rawMarker,1)&&!this._hasMarkerTag(rawMarker,2)){ret=ret.setEndPosition(ret.startLineNumber,ret.startColumn+2)}ret=model.validateRange(ret);if(ret.isEmpty()){const maxColumn=model.getLineLastNonWhitespaceColumn(ret.startLineNumber)||model.getLineMaxColumn(ret.startLineNumber);if(maxColumn===1||ret.endColumn>=maxColumn){return ret}const word=model.getWordAtPosition(ret.getStartPosition());if(word){ret=new Range(ret.startLineNumber,word.startColumn,ret.endLineNumber,word.endColumn)}}else if(rawMarker.endColumn===Number.MAX_VALUE&&rawMarker.startColumn===1&&ret.startLineNumber===ret.endLineNumber){const minColumn=model.getLineFirstNonWhitespaceColumn(rawMarker.startLineNumber);if(minColumn<ret.endColumn){ret=new Range(ret.startLineNumber,minColumn,ret.endLineNumber,ret.endColumn);rawMarker.startColumn=minColumn}}return ret}_createDecorationOption(marker){let className;let color=void 0;let zIndex;let inlineClassName=void 0;let minimap;switch(marker.severity){case MarkerSeverity2.Hint:if(this._hasMarkerTag(marker,2)){className=void 0}else if(this._hasMarkerTag(marker,1)){className="squiggly-unnecessary"}else{className="squiggly-hint"}zIndex=0;break;case MarkerSeverity2.Warning:className="squiggly-warning";color=themeColorFromId(overviewRulerWarning);zIndex=20;minimap={color:themeColorFromId(minimapWarning),position:MinimapPosition2.Inline};break;case MarkerSeverity2.Info:className="squiggly-info";color=themeColorFromId(overviewRulerInfo);zIndex=10;break;case MarkerSeverity2.Error:default:className="squiggly-error";color=themeColorFromId(overviewRulerError);zIndex=30;minimap={color:themeColorFromId(minimapError),position:MinimapPosition2.Inline};break}if(marker.tags){if(marker.tags.indexOf(1)!==-1){inlineClassName="squiggly-inline-unnecessary"}if(marker.tags.indexOf(2)!==-1){inlineClassName="squiggly-inline-deprecated"}}return{description:"marker-decoration",stickiness:1,className:className,showIfCollapsed:true,overviewRuler:{color:color,position:OverviewRulerLane2.Right},minimap:minimap,zIndex:zIndex,inlineClassName:inlineClassName}}_hasMarkerTag(marker,tag){if(marker.tags){return marker.tags.indexOf(tag)>=0}return false}};MarkerDecorationsService=__decorate31([__param27(0,IModelService),__param27(1,IMarkerService)],MarkerDecorationsService)}});function MODEL_ID2(resource){return resource.toString()}function computeModelSha1(model){const shaComputer=new StringSHA1;const snapshot=model.createSnapshot();let text2;while(text2=snapshot.read()){shaComputer.update(text2)}return shaComputer.digest()}var __decorate32,__param28,ModelService_1,ModelData2,DEFAULT_EOL,DisposedModelInfo,ModelService;var init_modelService=__esm({"node_modules/monaco-editor/esm/vs/editor/common/services/modelService.js"(){init_event();init_lifecycle();init_platform();init_textModel();init_textModelDefaults();init_modesRegistry();init_language();init_textResourceConfiguration();init_configuration();init_undoRedo();init_hash();init_editStack();init_network();init_objects();init_languageConfigurationRegistry();__decorate32=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param28=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};ModelData2=class{constructor(model,onWillDispose,onDidChangeLanguage){this.model=model;this._modelEventListeners=new DisposableStore;this.model=model;this._modelEventListeners.add(model.onWillDispose((()=>onWillDispose(model))));this._modelEventListeners.add(model.onDidChangeLanguage((e=>onDidChangeLanguage(model,e))))}dispose(){this._modelEventListeners.dispose()}};DEFAULT_EOL=isLinux||isMacintosh?1:2;DisposedModelInfo=class{constructor(uri,initialUndoRedoSnapshot,time,sharesUndoRedoStack,heapSize,sha1,versionId,alternativeVersionId){this.uri=uri;this.initialUndoRedoSnapshot=initialUndoRedoSnapshot;this.time=time;this.sharesUndoRedoStack=sharesUndoRedoStack;this.heapSize=heapSize;this.sha1=sha1;this.versionId=versionId;this.alternativeVersionId=alternativeVersionId}};ModelService=ModelService_1=class ModelService2 extends Disposable{constructor(_configurationService,_resourcePropertiesService,_undoRedoService,_languageService,_languageConfigurationService){super();this._configurationService=_configurationService;this._resourcePropertiesService=_resourcePropertiesService;this._undoRedoService=_undoRedoService;this._languageService=_languageService;this._languageConfigurationService=_languageConfigurationService;this._onModelAdded=this._register(new Emitter);this.onModelAdded=this._onModelAdded.event;this._onModelRemoved=this._register(new Emitter);this.onModelRemoved=this._onModelRemoved.event;this._onModelModeChanged=this._register(new Emitter);this.onModelLanguageChanged=this._onModelModeChanged.event;this._modelCreationOptionsByLanguageAndResource=Object.create(null);this._models={};this._disposedModels=new Map;this._disposedModelsHeapSize=0;this._register(this._configurationService.onDidChangeConfiguration((e=>this._updateModelOptions(e))));this._updateModelOptions(void 0)}static _readModelOptions(config,isForSimpleWidget){var _a6;let tabSize=EDITOR_MODEL_DEFAULTS.tabSize;if(config.editor&&typeof config.editor.tabSize!=="undefined"){const parsedTabSize=parseInt(config.editor.tabSize,10);if(!isNaN(parsedTabSize)){tabSize=parsedTabSize}if(tabSize<1){tabSize=1}}let indentSize="tabSize";if(config.editor&&typeof config.editor.indentSize!=="undefined"&&config.editor.indentSize!=="tabSize"){const parsedIndentSize=parseInt(config.editor.indentSize,10);if(!isNaN(parsedIndentSize)){indentSize=Math.max(parsedIndentSize,1)}}let insertSpaces=EDITOR_MODEL_DEFAULTS.insertSpaces;if(config.editor&&typeof config.editor.insertSpaces!=="undefined"){insertSpaces=config.editor.insertSpaces==="false"?false:Boolean(config.editor.insertSpaces)}let newDefaultEOL=DEFAULT_EOL;const eol=config.eol;if(eol==="\r\n"){newDefaultEOL=2}else if(eol==="\n"){newDefaultEOL=1}let trimAutoWhitespace=EDITOR_MODEL_DEFAULTS.trimAutoWhitespace;if(config.editor&&typeof config.editor.trimAutoWhitespace!=="undefined"){trimAutoWhitespace=config.editor.trimAutoWhitespace==="false"?false:Boolean(config.editor.trimAutoWhitespace)}let detectIndentation=EDITOR_MODEL_DEFAULTS.detectIndentation;if(config.editor&&typeof config.editor.detectIndentation!=="undefined"){detectIndentation=config.editor.detectIndentation==="false"?false:Boolean(config.editor.detectIndentation)}let largeFileOptimizations=EDITOR_MODEL_DEFAULTS.largeFileOptimizations;if(config.editor&&typeof config.editor.largeFileOptimizations!=="undefined"){largeFileOptimizations=config.editor.largeFileOptimizations==="false"?false:Boolean(config.editor.largeFileOptimizations)}let bracketPairColorizationOptions=EDITOR_MODEL_DEFAULTS.bracketPairColorizationOptions;if(((_a6=config.editor)===null||_a6===void 0?void 0:_a6.bracketPairColorization)&&typeof config.editor.bracketPairColorization==="object"){bracketPairColorizationOptions={enabled:!!config.editor.bracketPairColorization.enabled,independentColorPoolPerBracketType:!!config.editor.bracketPairColorization.independentColorPoolPerBracketType}}return{isForSimpleWidget:isForSimpleWidget,tabSize:tabSize,indentSize:indentSize,insertSpaces:insertSpaces,detectIndentation:detectIndentation,defaultEOL:newDefaultEOL,trimAutoWhitespace:trimAutoWhitespace,largeFileOptimizations:largeFileOptimizations,bracketPairColorizationOptions:bracketPairColorizationOptions}}_getEOL(resource,language81){if(resource){return this._resourcePropertiesService.getEOL(resource,language81)}const eol=this._configurationService.getValue("files.eol",{overrideIdentifier:language81});if(eol&&typeof eol==="string"&&eol!=="auto"){return eol}return OS===3||OS===2?"\n":"\r\n"}_shouldRestoreUndoStack(){const result=this._configurationService.getValue("files.restoreUndoStack");if(typeof result==="boolean"){return result}return true}getCreationOptions(languageIdOrSelection,resource,isForSimpleWidget){const language81=typeof languageIdOrSelection==="string"?languageIdOrSelection:languageIdOrSelection.languageId;let creationOptions=this._modelCreationOptionsByLanguageAndResource[language81+resource];if(!creationOptions){const editor2=this._configurationService.getValue("editor",{overrideIdentifier:language81,resource:resource});const eol=this._getEOL(resource,language81);creationOptions=ModelService_1._readModelOptions({editor:editor2,eol:eol},isForSimpleWidget);this._modelCreationOptionsByLanguageAndResource[language81+resource]=creationOptions}return creationOptions}_updateModelOptions(e){const oldOptionsByLanguageAndResource=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const keys=Object.keys(this._models);for(let i=0,len=keys.length;i<len;i++){const modelId=keys[i];const modelData=this._models[modelId];const language81=modelData.model.getLanguageId();const uri=modelData.model.uri;if(e&&!e.affectsConfiguration("editor",{overrideIdentifier:language81,resource:uri})&&!e.affectsConfiguration("files.eol",{overrideIdentifier:language81,resource:uri})){continue}const oldOptions=oldOptionsByLanguageAndResource[language81+uri];const newOptions=this.getCreationOptions(language81,uri,modelData.model.isForSimpleWidget);ModelService_1._setModelOptionsForModel(modelData.model,newOptions,oldOptions)}}static _setModelOptionsForModel(model,newOptions,currentOptions){if(currentOptions&&currentOptions.defaultEOL!==newOptions.defaultEOL&&model.getLineCount()===1){model.setEOL(newOptions.defaultEOL===1?0:1)}if(currentOptions&&currentOptions.detectIndentation===newOptions.detectIndentation&&currentOptions.insertSpaces===newOptions.insertSpaces&&currentOptions.tabSize===newOptions.tabSize&&currentOptions.indentSize===newOptions.indentSize&&currentOptions.trimAutoWhitespace===newOptions.trimAutoWhitespace&&equals2(currentOptions.bracketPairColorizationOptions,newOptions.bracketPairColorizationOptions)){return}if(newOptions.detectIndentation){model.detectIndentation(newOptions.insertSpaces,newOptions.tabSize);model.updateOptions({trimAutoWhitespace:newOptions.trimAutoWhitespace,bracketColorizationOptions:newOptions.bracketPairColorizationOptions})}else{model.updateOptions({insertSpaces:newOptions.insertSpaces,tabSize:newOptions.tabSize,indentSize:newOptions.indentSize,trimAutoWhitespace:newOptions.trimAutoWhitespace,bracketColorizationOptions:newOptions.bracketPairColorizationOptions})}}_insertDisposedModel(disposedModelData){this._disposedModels.set(MODEL_ID2(disposedModelData.uri),disposedModelData);this._disposedModelsHeapSize+=disposedModelData.heapSize}_removeDisposedModel(resource){const disposedModelData=this._disposedModels.get(MODEL_ID2(resource));if(disposedModelData){this._disposedModelsHeapSize-=disposedModelData.heapSize}this._disposedModels.delete(MODEL_ID2(resource));return disposedModelData}_ensureDisposedModelsHeapSize(maxModelsHeapSize){if(this._disposedModelsHeapSize>maxModelsHeapSize){const disposedModels=[];this._disposedModels.forEach((entry=>{if(!entry.sharesUndoRedoStack){disposedModels.push(entry)}}));disposedModels.sort(((a,b)=>a.time-b.time));while(disposedModels.length>0&&this._disposedModelsHeapSize>maxModelsHeapSize){const disposedModel=disposedModels.shift();this._removeDisposedModel(disposedModel.uri);if(disposedModel.initialUndoRedoSnapshot!==null){this._undoRedoService.restoreSnapshot(disposedModel.initialUndoRedoSnapshot)}}}}_createModelData(value,languageIdOrSelection,resource,isForSimpleWidget){const options2=this.getCreationOptions(languageIdOrSelection,resource,isForSimpleWidget);const model=new TextModel(value,languageIdOrSelection,options2,resource,this._undoRedoService,this._languageService,this._languageConfigurationService);if(resource&&this._disposedModels.has(MODEL_ID2(resource))){const disposedModelData=this._removeDisposedModel(resource);const elements=this._undoRedoService.getElements(resource);const sha1IsEqual=computeModelSha1(model)===disposedModelData.sha1;if(sha1IsEqual||disposedModelData.sharesUndoRedoStack){for(const element of elements.past){if(isEditStackElement(element)&&element.matchesResource(resource)){element.setModel(model)}}for(const element of elements.future){if(isEditStackElement(element)&&element.matchesResource(resource)){element.setModel(model)}}this._undoRedoService.setElementsValidFlag(resource,true,(element=>isEditStackElement(element)&&element.matchesResource(resource)));if(sha1IsEqual){model._overwriteVersionId(disposedModelData.versionId);model._overwriteAlternativeVersionId(disposedModelData.alternativeVersionId);model._overwriteInitialUndoRedoSnapshot(disposedModelData.initialUndoRedoSnapshot)}}else{if(disposedModelData.initialUndoRedoSnapshot!==null){this._undoRedoService.restoreSnapshot(disposedModelData.initialUndoRedoSnapshot)}}}const modelId=MODEL_ID2(model.uri);if(this._models[modelId]){throw new Error("ModelService: Cannot add model because it already exists!")}const modelData=new ModelData2(model,(model2=>this._onWillDispose(model2)),((model2,e)=>this._onDidChangeLanguage(model2,e)));this._models[modelId]=modelData;return modelData}createModel(value,languageSelection,resource,isForSimpleWidget=false){let modelData;if(languageSelection){modelData=this._createModelData(value,languageSelection,resource,isForSimpleWidget)}else{modelData=this._createModelData(value,PLAINTEXT_LANGUAGE_ID,resource,isForSimpleWidget)}this._onModelAdded.fire(modelData.model);return modelData.model}getModels(){const ret=[];const keys=Object.keys(this._models);for(let i=0,len=keys.length;i<len;i++){const modelId=keys[i];ret.push(this._models[modelId].model)}return ret}getModel(resource){const modelId=MODEL_ID2(resource);const modelData=this._models[modelId];if(!modelData){return null}return modelData.model}_schemaShouldMaintainUndoRedoElements(resource){return resource.scheme===Schemas.file||resource.scheme===Schemas.vscodeRemote||resource.scheme===Schemas.vscodeUserData||resource.scheme===Schemas.vscodeNotebookCell||resource.scheme==="fake-fs"}_onWillDispose(model){const modelId=MODEL_ID2(model.uri);const modelData=this._models[modelId];const sharesUndoRedoStack=this._undoRedoService.getUriComparisonKey(model.uri)!==model.uri.toString();let maintainUndoRedoStack=false;let heapSize=0;if(sharesUndoRedoStack||this._shouldRestoreUndoStack()&&this._schemaShouldMaintainUndoRedoElements(model.uri)){const elements=this._undoRedoService.getElements(model.uri);if(elements.past.length>0||elements.future.length>0){for(const element of elements.past){if(isEditStackElement(element)&&element.matchesResource(model.uri)){maintainUndoRedoStack=true;heapSize+=element.heapSize(model.uri);element.setModel(model.uri)}}for(const element of elements.future){if(isEditStackElement(element)&&element.matchesResource(model.uri)){maintainUndoRedoStack=true;heapSize+=element.heapSize(model.uri);element.setModel(model.uri)}}}}const maxMemory=ModelService_1.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK;if(!maintainUndoRedoStack){if(!sharesUndoRedoStack){const initialUndoRedoSnapshot=modelData.model.getInitialUndoRedoSnapshot();if(initialUndoRedoSnapshot!==null){this._undoRedoService.restoreSnapshot(initialUndoRedoSnapshot)}}}else if(!sharesUndoRedoStack&&heapSize>maxMemory){const initialUndoRedoSnapshot=modelData.model.getInitialUndoRedoSnapshot();if(initialUndoRedoSnapshot!==null){this._undoRedoService.restoreSnapshot(initialUndoRedoSnapshot)}}else{this._ensureDisposedModelsHeapSize(maxMemory-heapSize);this._undoRedoService.setElementsValidFlag(model.uri,false,(element=>isEditStackElement(element)&&element.matchesResource(model.uri)));this._insertDisposedModel(new DisposedModelInfo(model.uri,modelData.model.getInitialUndoRedoSnapshot(),Date.now(),sharesUndoRedoStack,heapSize,computeModelSha1(model),model.getVersionId(),model.getAlternativeVersionId()))}delete this._models[modelId];modelData.dispose();delete this._modelCreationOptionsByLanguageAndResource[model.getLanguageId()+model.uri];this._onModelRemoved.fire(model)}_onDidChangeLanguage(model,e){const oldLanguageId=e.oldLanguage;const newLanguageId=model.getLanguageId();const oldOptions=this.getCreationOptions(oldLanguageId,model.uri,model.isForSimpleWidget);const newOptions=this.getCreationOptions(newLanguageId,model.uri,model.isForSimpleWidget);ModelService_1._setModelOptionsForModel(model,newOptions,oldOptions);this._onModelModeChanged.fire({model:model,oldLanguageId:oldLanguageId})}};ModelService.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20*1024*1024;ModelService=ModelService_1=__decorate32([__param28(0,IConfigurationService),__param28(1,ITextResourcePropertiesService),__param28(2,IUndoRedoService),__param28(3,ILanguageService),__param28(4,ILanguageConfigurationService)],ModelService)}});var init_34=__esm({"node_modules/monaco-editor/esm/vs/editor/standalone/browser/quickInput/standaloneQuickInput.css"(){}});function fromPagedListOptions(modelProvider,options2){return Object.assign(Object.assign({},options2),{accessibilityProvider:options2.accessibilityProvider&&new PagedAccessibilityProvider(modelProvider,options2.accessibilityProvider)})}var PagedRenderer,PagedAccessibilityProvider,PagedList;var init_listPaging=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/list/listPaging.js"(){init_arrays();init_cancellation();init_event();init_lifecycle();init_26();init_listWidget();PagedRenderer=class{get templateId(){return this.renderer.templateId}constructor(renderer,modelProvider){this.renderer=renderer;this.modelProvider=modelProvider}renderTemplate(container){const data=this.renderer.renderTemplate(container);return{data:data,disposable:Disposable.None}}renderElement(index,_,data,height){var _a6;(_a6=data.disposable)===null||_a6===void 0?void 0:_a6.dispose();if(!data.data){return}const model=this.modelProvider();if(model.isResolved(index)){return this.renderer.renderElement(model.get(index),index,data.data,height)}const cts=new CancellationTokenSource;const promise=model.resolve(index,cts.token);data.disposable={dispose:()=>cts.cancel()};this.renderer.renderPlaceholder(index,data.data);promise.then((entry=>this.renderer.renderElement(entry,index,data.data,height)))}disposeTemplate(data){if(data.disposable){data.disposable.dispose();data.disposable=void 0}if(data.data){this.renderer.disposeTemplate(data.data);data.data=void 0}}};PagedAccessibilityProvider=class{constructor(modelProvider,accessibilityProvider){this.modelProvider=modelProvider;this.accessibilityProvider=accessibilityProvider}getWidgetAriaLabel(){return this.accessibilityProvider.getWidgetAriaLabel()}getAriaLabel(index){const model=this.modelProvider();if(!model.isResolved(index)){return null}return this.accessibilityProvider.getAriaLabel(model.get(index))}};PagedList=class{constructor(user,container,virtualDelegate,renderers,options2={}){const modelProvider=()=>this.model;const pagedRenderers=renderers.map((r=>new PagedRenderer(r,modelProvider)));this.list=new List(user,container,virtualDelegate,pagedRenderers,fromPagedListOptions(modelProvider,options2))}updateOptions(options2){this.list.updateOptions(options2)}getHTMLElement(){return this.list.getHTMLElement()}get onDidFocus(){return this.list.onDidFocus}get widget(){return this.list}get onDidDispose(){return this.list.onDidDispose}get onMouseDblClick(){return Event.map(this.list.onMouseDblClick,(({element:element,index:index,browserEvent:browserEvent})=>({element:element===void 0?void 0:this._model.get(element),index:index,browserEvent:browserEvent})))}get onPointer(){return Event.map(this.list.onPointer,(({element:element,index:index,browserEvent:browserEvent})=>({element:element===void 0?void 0:this._model.get(element),index:index,browserEvent:browserEvent})))}get onDidChangeSelection(){return Event.map(this.list.onDidChangeSelection,(({elements:elements,indexes:indexes,browserEvent:browserEvent})=>({elements:elements.map((e=>this._model.get(e))),indexes:indexes,browserEvent:browserEvent})))}get model(){return this._model}set model(model){this._model=model;this.list.splice(0,this.list.length,range(model.length))}getFocus(){return this.list.getFocus()}getSelection(){return this.list.getSelection()}getSelectedElements(){return this.getSelection().map((i=>this.model.get(i)))}style(styles){this.list.style(styles)}dispose(){this.list.dispose()}}}});var init_35=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/splitview/splitview.css"(){}});var defaultStyles,ViewItem,VerticalViewItem,HorizontalViewItem,State,Sizing,SplitView;var init_splitview=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/splitview/splitview.js"(){init_dom();init_event2();init_sash();init_scrollableElement();init_arrays();init_color();init_event();init_lifecycle();init_numbers();init_scrollable();init_types();init_35();defaultStyles={separatorBorder:Color.transparent};ViewItem=class{set size(size2){this._size=size2}get size(){return this._size}get visible(){return typeof this._cachedVisibleSize==="undefined"}setVisible(visible,size2){var _a6,_b3;if(visible===this.visible){return}if(visible){this.size=clamp(this._cachedVisibleSize,this.viewMinimumSize,this.viewMaximumSize);this._cachedVisibleSize=void 0}else{this._cachedVisibleSize=typeof size2==="number"?size2:this.size;this.size=0}this.container.classList.toggle("visible",visible);(_b3=(_a6=this.view).setVisible)===null||_b3===void 0?void 0:_b3.call(_a6,visible)}get minimumSize(){return this.visible?this.view.minimumSize:0}get viewMinimumSize(){return this.view.minimumSize}get maximumSize(){return this.visible?this.view.maximumSize:0}get viewMaximumSize(){return this.view.maximumSize}get priority(){return this.view.priority}get proportionalLayout(){var _a6;return(_a6=this.view.proportionalLayout)!==null&&_a6!==void 0?_a6:true}get snap(){return!!this.view.snap}set enabled(enabled){this.container.style.pointerEvents=enabled?"":"none"}constructor(container,view,size2,disposable){this.container=container;this.view=view;this.disposable=disposable;this._cachedVisibleSize=void 0;if(typeof size2==="number"){this._size=size2;this._cachedVisibleSize=void 0;container.classList.add("visible")}else{this._size=0;this._cachedVisibleSize=size2.cachedVisibleSize}}layout(offset,layoutContext){this.layoutContainer(offset);this.view.layout(this.size,offset,layoutContext)}dispose(){this.disposable.dispose()}};VerticalViewItem=class extends ViewItem{layoutContainer(offset){this.container.style.top=`${offset}px`;this.container.style.height=`${this.size}px`}};HorizontalViewItem=class extends ViewItem{layoutContainer(offset){this.container.style.left=`${offset}px`;this.container.style.width=`${this.size}px`}};(function(State2){State2[State2["Idle"]=0]="Idle";State2[State2["Busy"]=1]="Busy"})(State||(State={}));(function(Sizing2){Sizing2.Distribute={type:"distribute"};function Split(index){return{type:"split",index:index}}Sizing2.Split=Split;function Auto(index){return{type:"auto",index:index}}Sizing2.Auto=Auto;function Invisible(cachedVisibleSize){return{type:"invisible",cachedVisibleSize:cachedVisibleSize}}Sizing2.Invisible=Invisible})(Sizing||(Sizing={}));SplitView=class extends Disposable{get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}get startSnappingEnabled(){return this._startSnappingEnabled}get endSnappingEnabled(){return this._endSnappingEnabled}set orthogonalStartSash(sash){for(const sashItem of this.sashItems){sashItem.sash.orthogonalStartSash=sash}this._orthogonalStartSash=sash}set orthogonalEndSash(sash){for(const sashItem of this.sashItems){sashItem.sash.orthogonalEndSash=sash}this._orthogonalEndSash=sash}set startSnappingEnabled(startSnappingEnabled){if(this._startSnappingEnabled===startSnappingEnabled){return}this._startSnappingEnabled=startSnappingEnabled;this.updateSashEnablement()}set endSnappingEnabled(endSnappingEnabled){if(this._endSnappingEnabled===endSnappingEnabled){return}this._endSnappingEnabled=endSnappingEnabled;this.updateSashEnablement()}constructor(container,options2={}){var _a6,_b3,_c2,_d2,_e2;super();this.size=0;this.contentSize=0;this.proportions=void 0;this.viewItems=[];this.sashItems=[];this.state=State.Idle;this._onDidSashChange=this._register(new Emitter);this._onDidSashReset=this._register(new Emitter);this._startSnappingEnabled=true;this._endSnappingEnabled=true;this.onDidSashChange=this._onDidSashChange.event;this.onDidSashReset=this._onDidSashReset.event;this.orientation=(_a6=options2.orientation)!==null&&_a6!==void 0?_a6:0;this.inverseAltBehavior=(_b3=options2.inverseAltBehavior)!==null&&_b3!==void 0?_b3:false;this.proportionalLayout=(_c2=options2.proportionalLayout)!==null&&_c2!==void 0?_c2:true;this.getSashOrthogonalSize=options2.getSashOrthogonalSize;this.el=document.createElement("div");this.el.classList.add("monaco-split-view2");this.el.classList.add(this.orientation===0?"vertical":"horizontal");container.appendChild(this.el);this.sashContainer=append(this.el,$(".sash-container"));this.viewContainer=$(".split-view-container");this.scrollable=this._register(new Scrollable({forceIntegerValues:true,smoothScrollDuration:125,scheduleAtNextAnimationFrame:scheduleAtNextAnimationFrame}));this.scrollableElement=this._register(new SmoothScrollableElement(this.viewContainer,{vertical:this.orientation===0?(_d2=options2.scrollbarVisibility)!==null&&_d2!==void 0?_d2:1:2,horizontal:this.orientation===1?(_e2=options2.scrollbarVisibility)!==null&&_e2!==void 0?_e2:1:2},this.scrollable));const onDidScrollViewContainer=this._register(new DomEmitter(this.viewContainer,"scroll")).event;this._register(onDidScrollViewContainer((_=>{const position=this.scrollableElement.getScrollPosition();const scrollLeft=Math.abs(this.viewContainer.scrollLeft-position.scrollLeft)<=1?void 0:this.viewContainer.scrollLeft;const scrollTop=Math.abs(this.viewContainer.scrollTop-position.scrollTop)<=1?void 0:this.viewContainer.scrollTop;if(scrollLeft!==void 0||scrollTop!==void 0){this.scrollableElement.setScrollPosition({scrollLeft:scrollLeft,scrollTop:scrollTop})}})));this.onDidScroll=this.scrollableElement.onScroll;this._register(this.onDidScroll((e=>{if(e.scrollTopChanged){this.viewContainer.scrollTop=e.scrollTop}if(e.scrollLeftChanged){this.viewContainer.scrollLeft=e.scrollLeft}})));append(this.el,this.scrollableElement.getDomNode());this.style(options2.styles||defaultStyles);if(options2.descriptor){this.size=options2.descriptor.size;options2.descriptor.views.forEach(((viewDescriptor,index)=>{const sizing=isUndefined(viewDescriptor.visible)||viewDescriptor.visible?viewDescriptor.size:{type:"invisible",cachedVisibleSize:viewDescriptor.size};const view=viewDescriptor.view;this.doAddView(view,sizing,index,true)}));this.contentSize=this.viewItems.reduce(((r,i)=>r+i.size),0);this.saveProportions()}}style(styles){if(styles.separatorBorder.isTransparent()){this.el.classList.remove("separator-border");this.el.style.removeProperty("--separator-border")}else{this.el.classList.add("separator-border");this.el.style.setProperty("--separator-border",styles.separatorBorder.toString())}}addView(view,size2,index=this.viewItems.length,skipLayout){this.doAddView(view,size2,index,skipLayout)}layout(size2,layoutContext){const previousSize=Math.max(this.size,this.contentSize);this.size=size2;this.layoutContext=layoutContext;if(!this.proportions){const indexes=range(this.viewItems.length);const lowPriorityIndexes=indexes.filter((i=>this.viewItems[i].priority===1));const highPriorityIndexes=indexes.filter((i=>this.viewItems[i].priority===2));this.resize(this.viewItems.length-1,size2-previousSize,void 0,lowPriorityIndexes,highPriorityIndexes)}else{let total=0;for(let i=0;i<this.viewItems.length;i++){const item=this.viewItems[i];const proportion=this.proportions[i];if(typeof proportion==="number"){total+=proportion}else{size2-=item.size}}for(let i=0;i<this.viewItems.length;i++){const item=this.viewItems[i];const proportion=this.proportions[i];if(typeof proportion==="number"){item.size=clamp(Math.round(proportion*size2/total),item.minimumSize,item.maximumSize)}}}this.distributeEmptySpace();this.layoutViews()}saveProportions(){if(this.proportionalLayout&&this.contentSize>0){this.proportions=this.viewItems.map((i=>i.proportionalLayout?i.size/this.contentSize:void 0))}}onSashStart({sash:sash,start:start,alt:alt}){for(const item of this.viewItems){item.enabled=false}const index=this.sashItems.findIndex((item=>item.sash===sash));const disposable=combinedDisposable(addDisposableListener(document.body,"keydown",(e=>resetSashDragState(this.sashDragState.current,e.altKey))),addDisposableListener(document.body,"keyup",(()=>resetSashDragState(this.sashDragState.current,false))));const resetSashDragState=(start2,alt2)=>{const sizes=this.viewItems.map((i=>i.size));let minDelta=Number.NEGATIVE_INFINITY;let maxDelta=Number.POSITIVE_INFINITY;if(this.inverseAltBehavior){alt2=!alt2}if(alt2){const isLastSash=index===this.sashItems.length-1;if(isLastSash){const viewItem=this.viewItems[index];minDelta=(viewItem.minimumSize-viewItem.size)/2;maxDelta=(viewItem.maximumSize-viewItem.size)/2}else{const viewItem=this.viewItems[index+1];minDelta=(viewItem.size-viewItem.maximumSize)/2;maxDelta=(viewItem.size-viewItem.minimumSize)/2}}let snapBefore;let snapAfter;if(!alt2){const upIndexes=range(index,-1);const downIndexes=range(index+1,this.viewItems.length);const minDeltaUp=upIndexes.reduce(((r,i)=>r+(this.viewItems[i].minimumSize-sizes[i])),0);const maxDeltaUp=upIndexes.reduce(((r,i)=>r+(this.viewItems[i].viewMaximumSize-sizes[i])),0);const maxDeltaDown=downIndexes.length===0?Number.POSITIVE_INFINITY:downIndexes.reduce(((r,i)=>r+(sizes[i]-this.viewItems[i].minimumSize)),0);const minDeltaDown=downIndexes.length===0?Number.NEGATIVE_INFINITY:downIndexes.reduce(((r,i)=>r+(sizes[i]-this.viewItems[i].viewMaximumSize)),0);const minDelta2=Math.max(minDeltaUp,minDeltaDown);const maxDelta2=Math.min(maxDeltaDown,maxDeltaUp);const snapBeforeIndex=this.findFirstSnapIndex(upIndexes);const snapAfterIndex=this.findFirstSnapIndex(downIndexes);if(typeof snapBeforeIndex==="number"){const viewItem=this.viewItems[snapBeforeIndex];const halfSize=Math.floor(viewItem.viewMinimumSize/2);snapBefore={index:snapBeforeIndex,limitDelta:viewItem.visible?minDelta2-halfSize:minDelta2+halfSize,size:viewItem.size}}if(typeof snapAfterIndex==="number"){const viewItem=this.viewItems[snapAfterIndex];const halfSize=Math.floor(viewItem.viewMinimumSize/2);snapAfter={index:snapAfterIndex,limitDelta:viewItem.visible?maxDelta2+halfSize:maxDelta2-halfSize,size:viewItem.size}}}this.sashDragState={start:start2,current:start2,index:index,sizes:sizes,minDelta:minDelta,maxDelta:maxDelta,alt:alt2,snapBefore:snapBefore,snapAfter:snapAfter,disposable:disposable}};resetSashDragState(start,alt)}onSashChange({current:current}){const{index:index,start:start,sizes:sizes,alt:alt,minDelta:minDelta,maxDelta:maxDelta,snapBefore:snapBefore,snapAfter:snapAfter}=this.sashDragState;this.sashDragState.current=current;const delta=current-start;const newDelta=this.resize(index,delta,sizes,void 0,void 0,minDelta,maxDelta,snapBefore,snapAfter);if(alt){const isLastSash=index===this.sashItems.length-1;const newSizes=this.viewItems.map((i=>i.size));const viewItemIndex=isLastSash?index:index+1;const viewItem=this.viewItems[viewItemIndex];const newMinDelta=viewItem.size-viewItem.maximumSize;const newMaxDelta=viewItem.size-viewItem.minimumSize;const resizeIndex=isLastSash?index-1:index+1;this.resize(resizeIndex,-newDelta,newSizes,void 0,void 0,newMinDelta,newMaxDelta)}this.distributeEmptySpace();this.layoutViews()}onSashEnd(index){this._onDidSashChange.fire(index);this.sashDragState.disposable.dispose();this.saveProportions();for(const item of this.viewItems){item.enabled=true}}onViewChange(item,size2){const index=this.viewItems.indexOf(item);if(index<0||index>=this.viewItems.length){return}size2=typeof size2==="number"?size2:item.size;size2=clamp(size2,item.minimumSize,item.maximumSize);if(this.inverseAltBehavior&&index>0){this.resize(index-1,Math.floor((item.size-size2)/2));this.distributeEmptySpace();this.layoutViews()}else{item.size=size2;this.relayout([index],void 0)}}resizeView(index,size2){if(this.state!==State.Idle){throw new Error("Cant modify splitview")}this.state=State.Busy;if(index<0||index>=this.viewItems.length){return}const indexes=range(this.viewItems.length).filter((i=>i!==index));const lowPriorityIndexes=[...indexes.filter((i=>this.viewItems[i].priority===1)),index];const highPriorityIndexes=indexes.filter((i=>this.viewItems[i].priority===2));const item=this.viewItems[index];size2=Math.round(size2);size2=clamp(size2,item.minimumSize,Math.min(item.maximumSize,this.size));item.size=size2;this.relayout(lowPriorityIndexes,highPriorityIndexes);this.state=State.Idle}distributeViewSizes(){const flexibleViewItems=[];let flexibleSize=0;for(const item of this.viewItems){if(item.maximumSize-item.minimumSize>0){flexibleViewItems.push(item);flexibleSize+=item.size}}const size2=Math.floor(flexibleSize/flexibleViewItems.length);for(const item of flexibleViewItems){item.size=clamp(size2,item.minimumSize,item.maximumSize)}const indexes=range(this.viewItems.length);const lowPriorityIndexes=indexes.filter((i=>this.viewItems[i].priority===1));const highPriorityIndexes=indexes.filter((i=>this.viewItems[i].priority===2));this.relayout(lowPriorityIndexes,highPriorityIndexes)}getViewSize(index){if(index<0||index>=this.viewItems.length){return-1}return this.viewItems[index].size}doAddView(view,size2,index=this.viewItems.length,skipLayout){if(this.state!==State.Idle){throw new Error("Cant modify splitview")}this.state=State.Busy;const container=$(".split-view-view");if(index===this.viewItems.length){this.viewContainer.appendChild(container)}else{this.viewContainer.insertBefore(container,this.viewContainer.children.item(index))}const onChangeDisposable=view.onDidChange((size3=>this.onViewChange(item,size3)));const containerDisposable=toDisposable((()=>this.viewContainer.removeChild(container)));const disposable=combinedDisposable(onChangeDisposable,containerDisposable);let viewSize;if(typeof size2==="number"){viewSize=size2}else{if(size2.type==="auto"){if(this.areViewsDistributed()){size2={type:"distribute"}}else{size2={type:"split",index:size2.index}}}if(size2.type==="split"){viewSize=this.getViewSize(size2.index)/2}else if(size2.type==="invisible"){viewSize={cachedVisibleSize:size2.cachedVisibleSize}}else{viewSize=view.minimumSize}}const item=this.orientation===0?new VerticalViewItem(container,view,viewSize,disposable):new HorizontalViewItem(container,view,viewSize,disposable);this.viewItems.splice(index,0,item);if(this.viewItems.length>1){const opts={orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash};const sash=this.orientation===0?new Sash(this.sashContainer,{getHorizontalSashTop:s=>this.getSashPosition(s),getHorizontalSashWidth:this.getSashOrthogonalSize},Object.assign(Object.assign({},opts),{orientation:1})):new Sash(this.sashContainer,{getVerticalSashLeft:s=>this.getSashPosition(s),getVerticalSashHeight:this.getSashOrthogonalSize},Object.assign(Object.assign({},opts),{orientation:0}));const sashEventMapper=this.orientation===0?e=>({sash:sash,start:e.startY,current:e.currentY,alt:e.altKey}):e=>({sash:sash,start:e.startX,current:e.currentX,alt:e.altKey});const onStart=Event.map(sash.onDidStart,sashEventMapper);const onStartDisposable=onStart(this.onSashStart,this);const onChange=Event.map(sash.onDidChange,sashEventMapper);const onChangeDisposable2=onChange(this.onSashChange,this);const onEnd=Event.map(sash.onDidEnd,(()=>this.sashItems.findIndex((item2=>item2.sash===sash))));const onEndDisposable=onEnd(this.onSashEnd,this);const onDidResetDisposable=sash.onDidReset((()=>{const index2=this.sashItems.findIndex((item2=>item2.sash===sash));const upIndexes=range(index2,-1);const downIndexes=range(index2+1,this.viewItems.length);const snapBeforeIndex=this.findFirstSnapIndex(upIndexes);const snapAfterIndex=this.findFirstSnapIndex(downIndexes);if(typeof snapBeforeIndex==="number"&&!this.viewItems[snapBeforeIndex].visible){return}if(typeof snapAfterIndex==="number"&&!this.viewItems[snapAfterIndex].visible){return}this._onDidSashReset.fire(index2)}));const disposable2=combinedDisposable(onStartDisposable,onChangeDisposable2,onEndDisposable,onDidResetDisposable,sash);const sashItem={sash:sash,disposable:disposable2};this.sashItems.splice(index-1,0,sashItem)}container.appendChild(view.element);let highPriorityIndexes;if(typeof size2!=="number"&&size2.type==="split"){highPriorityIndexes=[size2.index]}if(!skipLayout){this.relayout([index],highPriorityIndexes)}this.state=State.Idle;if(!skipLayout&&typeof size2!=="number"&&size2.type==="distribute"){this.distributeViewSizes()}}relayout(lowPriorityIndexes,highPriorityIndexes){const contentSize=this.viewItems.reduce(((r,i)=>r+i.size),0);this.resize(this.viewItems.length-1,this.size-contentSize,void 0,lowPriorityIndexes,highPriorityIndexes);this.distributeEmptySpace();this.layoutViews();this.saveProportions()}resize(index,delta,sizes=this.viewItems.map((i=>i.size)),lowPriorityIndexes,highPriorityIndexes,overloadMinDelta=Number.NEGATIVE_INFINITY,overloadMaxDelta=Number.POSITIVE_INFINITY,snapBefore,snapAfter){if(index<0||index>=this.viewItems.length){return 0}const upIndexes=range(index,-1);const downIndexes=range(index+1,this.viewItems.length);if(highPriorityIndexes){for(const index2 of highPriorityIndexes){pushToStart(upIndexes,index2);pushToStart(downIndexes,index2)}}if(lowPriorityIndexes){for(const index2 of lowPriorityIndexes){pushToEnd(upIndexes,index2);pushToEnd(downIndexes,index2)}}const upItems=upIndexes.map((i=>this.viewItems[i]));const upSizes=upIndexes.map((i=>sizes[i]));const downItems=downIndexes.map((i=>this.viewItems[i]));const downSizes=downIndexes.map((i=>sizes[i]));const minDeltaUp=upIndexes.reduce(((r,i)=>r+(this.viewItems[i].minimumSize-sizes[i])),0);const maxDeltaUp=upIndexes.reduce(((r,i)=>r+(this.viewItems[i].maximumSize-sizes[i])),0);const maxDeltaDown=downIndexes.length===0?Number.POSITIVE_INFINITY:downIndexes.reduce(((r,i)=>r+(sizes[i]-this.viewItems[i].minimumSize)),0);const minDeltaDown=downIndexes.length===0?Number.NEGATIVE_INFINITY:downIndexes.reduce(((r,i)=>r+(sizes[i]-this.viewItems[i].maximumSize)),0);const minDelta=Math.max(minDeltaUp,minDeltaDown,overloadMinDelta);const maxDelta=Math.min(maxDeltaDown,maxDeltaUp,overloadMaxDelta);let snapped=false;if(snapBefore){const snapView=this.viewItems[snapBefore.index];const visible=delta>=snapBefore.limitDelta;snapped=visible!==snapView.visible;snapView.setVisible(visible,snapBefore.size)}if(!snapped&&snapAfter){const snapView=this.viewItems[snapAfter.index];const visible=delta<snapAfter.limitDelta;snapped=visible!==snapView.visible;snapView.setVisible(visible,snapAfter.size)}if(snapped){return this.resize(index,delta,sizes,lowPriorityIndexes,highPriorityIndexes,overloadMinDelta,overloadMaxDelta)}delta=clamp(delta,minDelta,maxDelta);for(let i=0,deltaUp=delta;i<upItems.length;i++){const item=upItems[i];const size2=clamp(upSizes[i]+deltaUp,item.minimumSize,item.maximumSize);const viewDelta=size2-upSizes[i];deltaUp-=viewDelta;item.size=size2}for(let i=0,deltaDown=delta;i<downItems.length;i++){const item=downItems[i];const size2=clamp(downSizes[i]-deltaDown,item.minimumSize,item.maximumSize);const viewDelta=size2-downSizes[i];deltaDown+=viewDelta;item.size=size2}return delta}distributeEmptySpace(lowPriorityIndex){const contentSize=this.viewItems.reduce(((r,i)=>r+i.size),0);let emptyDelta=this.size-contentSize;const indexes=range(this.viewItems.length-1,-1);const lowPriorityIndexes=indexes.filter((i=>this.viewItems[i].priority===1));const highPriorityIndexes=indexes.filter((i=>this.viewItems[i].priority===2));for(const index of highPriorityIndexes){pushToStart(indexes,index)}for(const index of lowPriorityIndexes){pushToEnd(indexes,index)}if(typeof lowPriorityIndex==="number"){pushToEnd(indexes,lowPriorityIndex)}for(let i=0;emptyDelta!==0&&i<indexes.length;i++){const item=this.viewItems[indexes[i]];const size2=clamp(item.size+emptyDelta,item.minimumSize,item.maximumSize);const viewDelta=size2-item.size;emptyDelta-=viewDelta;item.size=size2}}layoutViews(){this.contentSize=this.viewItems.reduce(((r,i)=>r+i.size),0);let offset=0;for(const viewItem of this.viewItems){viewItem.layout(offset,this.layoutContext);offset+=viewItem.size}this.sashItems.forEach((item=>item.sash.layout()));this.updateSashEnablement();this.updateScrollableElement()}updateScrollableElement(){if(this.orientation===0){this.scrollableElement.setScrollDimensions({height:this.size,scrollHeight:this.contentSize})}else{this.scrollableElement.setScrollDimensions({width:this.size,scrollWidth:this.contentSize})}}updateSashEnablement(){let previous=false;const collapsesDown=this.viewItems.map((i=>previous=i.size-i.minimumSize>0||previous));previous=false;const expandsDown=this.viewItems.map((i=>previous=i.maximumSize-i.size>0||previous));const reverseViews=[...this.viewItems].reverse();previous=false;const collapsesUp=reverseViews.map((i=>previous=i.size-i.minimumSize>0||previous)).reverse();previous=false;const expandsUp=reverseViews.map((i=>previous=i.maximumSize-i.size>0||previous)).reverse();let position=0;for(let index=0;index<this.sashItems.length;index++){const{sash:sash}=this.sashItems[index];const viewItem=this.viewItems[index];position+=viewItem.size;const min=!(collapsesDown[index]&&expandsUp[index+1]);const max=!(expandsDown[index]&&collapsesUp[index+1]);if(min&&max){const upIndexes=range(index,-1);const downIndexes=range(index+1,this.viewItems.length);const snapBeforeIndex=this.findFirstSnapIndex(upIndexes);const snapAfterIndex=this.findFirstSnapIndex(downIndexes);const snappedBefore=typeof snapBeforeIndex==="number"&&!this.viewItems[snapBeforeIndex].visible;const snappedAfter=typeof snapAfterIndex==="number"&&!this.viewItems[snapAfterIndex].visible;if(snappedBefore&&collapsesUp[index]&&(position>0||this.startSnappingEnabled)){sash.state=1}else if(snappedAfter&&collapsesDown[index]&&(position<this.contentSize||this.endSnappingEnabled)){sash.state=2}else{sash.state=0}}else if(min&&!max){sash.state=1}else if(!min&&max){sash.state=2}else{sash.state=3}}}getSashPosition(sash){let position=0;for(let i=0;i<this.sashItems.length;i++){position+=this.viewItems[i].size;if(this.sashItems[i].sash===sash){return position}}return 0}findFirstSnapIndex(indexes){for(const index of indexes){const viewItem=this.viewItems[index];if(!viewItem.visible){continue}if(viewItem.snap){return index}}for(const index of indexes){const viewItem=this.viewItems[index];if(viewItem.visible&&viewItem.maximumSize-viewItem.minimumSize>0){return void 0}if(!viewItem.visible&&viewItem.snap){return index}}return void 0}areViewsDistributed(){let min=void 0,max=void 0;for(const view of this.viewItems){min=min===void 0?view.size:Math.min(min,view.size);max=max===void 0?view.size:Math.max(max,view.size);if(max-min>2){return false}}return true}dispose(){var _a6;(_a6=this.sashDragState)===null||_a6===void 0?void 0:_a6.disposable.dispose();dispose(this.viewItems);this.viewItems=[];this.sashItems.forEach((i=>i.disposable.dispose()));this.sashItems=[];super.dispose()}}}});var init_36=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/table/table.css"(){}});function asListVirtualDelegate(delegate){return{getHeight(row){return delegate.getHeight(row)},getTemplateId(){return TableListRenderer.TemplateId}}}var TableListRenderer,ColumnHeader,Table;var init_tableWidget=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/table/tableWidget.js"(){init_dom();init_listWidget();init_splitview();init_event();init_lifecycle();init_36();TableListRenderer=class{constructor(columns,renderers,getColumnSize){this.columns=columns;this.getColumnSize=getColumnSize;this.templateId=TableListRenderer.TemplateId;this.renderedTemplates=new Set;const rendererMap=new Map(renderers.map((r=>[r.templateId,r])));this.renderers=[];for(const column of columns){const renderer=rendererMap.get(column.templateId);if(!renderer){throw new Error(`Table cell renderer for template id ${column.templateId} not found.`)}this.renderers.push(renderer)}}renderTemplate(container){const rowContainer=append(container,$(".monaco-table-tr"));const cellContainers=[];const cellTemplateData=[];for(let i=0;i<this.columns.length;i++){const renderer=this.renderers[i];const cellContainer=append(rowContainer,$(".monaco-table-td",{"data-col-index":i}));cellContainer.style.width=`${this.getColumnSize(i)}px`;cellContainers.push(cellContainer);cellTemplateData.push(renderer.renderTemplate(cellContainer))}const result={container:container,cellContainers:cellContainers,cellTemplateData:cellTemplateData};this.renderedTemplates.add(result);return result}renderElement(element,index,templateData,height){for(let i=0;i<this.columns.length;i++){const column=this.columns[i];const cell=column.project(element);const renderer=this.renderers[i];renderer.renderElement(cell,index,templateData.cellTemplateData[i],height)}}disposeElement(element,index,templateData,height){for(let i=0;i<this.columns.length;i++){const renderer=this.renderers[i];if(renderer.disposeElement){const column=this.columns[i];const cell=column.project(element);renderer.disposeElement(cell,index,templateData.cellTemplateData[i],height)}}}disposeTemplate(templateData){for(let i=0;i<this.columns.length;i++){const renderer=this.renderers[i];renderer.disposeTemplate(templateData.cellTemplateData[i])}clearNode(templateData.container);this.renderedTemplates.delete(templateData)}layoutColumn(index,size2){for(const{cellContainers:cellContainers}of this.renderedTemplates){cellContainers[index].style.width=`${size2}px`}}};TableListRenderer.TemplateId="row";ColumnHeader=class{get minimumSize(){var _a6;return(_a6=this.column.minimumWidth)!==null&&_a6!==void 0?_a6:120}get maximumSize(){var _a6;return(_a6=this.column.maximumWidth)!==null&&_a6!==void 0?_a6:Number.POSITIVE_INFINITY}get onDidChange(){var _a6;return(_a6=this.column.onDidChangeWidthConstraints)!==null&&_a6!==void 0?_a6:Event.None}constructor(column,index){this.column=column;this.index=index;this._onDidLayout=new Emitter;this.onDidLayout=this._onDidLayout.event;this.element=$(".monaco-table-th",{"data-col-index":index,title:column.tooltip},column.label)}layout(size2){this._onDidLayout.fire([this.index,size2])}};Table=class{get onDidChangeFocus(){return this.list.onDidChangeFocus}get onDidChangeSelection(){return this.list.onDidChangeSelection}get onDidScroll(){return this.list.onDidScroll}get onMouseDblClick(){return this.list.onMouseDblClick}get onPointer(){return this.list.onPointer}get onDidFocus(){return this.list.onDidFocus}get scrollTop(){return this.list.scrollTop}set scrollTop(scrollTop){this.list.scrollTop=scrollTop}get scrollHeight(){return this.list.scrollHeight}get renderHeight(){return this.list.renderHeight}get onDidDispose(){return this.list.onDidDispose}constructor(user,container,virtualDelegate,columns,renderers,_options){this.virtualDelegate=virtualDelegate;this.domId=`table_id_${++Table.InstanceCount}`;this.disposables=new DisposableStore;this.cachedWidth=0;this.cachedHeight=0;this.domNode=append(container,$(`.monaco-table.${this.domId}`));const headers=columns.map(((c,i)=>new ColumnHeader(c,i)));const descriptor={size:headers.reduce(((a,b)=>a+b.column.weight),0),views:headers.map((view=>({size:view.column.weight,view:view})))};this.splitview=this.disposables.add(new SplitView(this.domNode,{orientation:1,scrollbarVisibility:2,getSashOrthogonalSize:()=>this.cachedHeight,descriptor:descriptor}));this.splitview.el.style.height=`${virtualDelegate.headerRowHeight}px`;this.splitview.el.style.lineHeight=`${virtualDelegate.headerRowHeight}px`;const renderer=new TableListRenderer(columns,renderers,(i=>this.splitview.getViewSize(i)));this.list=this.disposables.add(new List(user,this.domNode,asListVirtualDelegate(virtualDelegate),[renderer],_options));Event.any(...headers.map((h2=>h2.onDidLayout)))((([index,size2])=>renderer.layoutColumn(index,size2)),null,this.disposables);this.splitview.onDidSashReset((index=>{const totalWeight=columns.reduce(((r,c)=>r+c.weight),0);const size2=columns[index].weight/totalWeight*this.cachedWidth;this.splitview.resizeView(index,size2)}),null,this.disposables);this.styleElement=createStyleSheet(this.domNode);this.style(unthemedListStyles)}updateOptions(options2){this.list.updateOptions(options2)}splice(start,deleteCount,elements=[]){this.list.splice(start,deleteCount,elements)}getHTMLElement(){return this.domNode}style(styles){const content=[];content.push(`.monaco-table.${this.domId} > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\ttop: ${this.virtualDelegate.headerRowHeight+1}px;\n\t\t\theight: calc(100% - ${this.virtualDelegate.headerRowHeight}px);\n\t\t}`);this.styleElement.textContent=content.join("\n");this.list.style(styles)}getSelectedElements(){return this.list.getSelectedElements()}getSelection(){return this.list.getSelection()}getFocus(){return this.list.getFocus()}dispose(){this.disposables.dispose()}};Table.InstanceCount=0}});var init_37=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/toggle/toggle.css"(){}});var Toggle;var init_toggle=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/toggle/toggle.js"(){init_widget();init_themables();init_event();init_37();Toggle=class extends Widget{constructor(opts){super();this._onChange=this._register(new Emitter);this.onChange=this._onChange.event;this._onKeyDown=this._register(new Emitter);this.onKeyDown=this._onKeyDown.event;this._opts=opts;this._checked=this._opts.isChecked;const classes=["monaco-custom-toggle"];if(this._opts.icon){this._icon=this._opts.icon;classes.push(...ThemeIcon.asClassNameArray(this._icon))}if(this._opts.actionClassName){classes.push(...this._opts.actionClassName.split(" "))}if(this._checked){classes.push("checked")}this.domNode=document.createElement("div");this.domNode.title=this._opts.title;this.domNode.classList.add(...classes);if(!this._opts.notFocusable){this.domNode.tabIndex=0}this.domNode.setAttribute("role","checkbox");this.domNode.setAttribute("aria-checked",String(this._checked));this.domNode.setAttribute("aria-label",this._opts.title);this.applyStyles();this.onclick(this.domNode,(ev=>{if(this.enabled){this.checked=!this._checked;this._onChange.fire(false);ev.preventDefault()}}));this._register(this.ignoreGesture(this.domNode));this.onkeydown(this.domNode,(keyboardEvent=>{if(keyboardEvent.keyCode===10||keyboardEvent.keyCode===3){this.checked=!this._checked;this._onChange.fire(true);keyboardEvent.preventDefault();keyboardEvent.stopPropagation();return}this._onKeyDown.fire(keyboardEvent)}))}get enabled(){return this.domNode.getAttribute("aria-disabled")!=="true"}focus(){this.domNode.focus()}get checked(){return this._checked}set checked(newIsChecked){this._checked=newIsChecked;this.domNode.setAttribute("aria-checked",String(this._checked));this.domNode.classList.toggle("checked",this._checked);this.applyStyles()}width(){return 2+2+2+16}applyStyles(){if(this.domNode){this.domNode.style.borderColor=this._checked&&this._opts.inputActiveOptionBorder||"";this.domNode.style.color=this._checked&&this._opts.inputActiveOptionForeground||"inherit";this.domNode.style.backgroundColor=this._checked&&this._opts.inputActiveOptionBackground||""}}enable(){this.domNode.setAttribute("aria-disabled",String(false))}disable(){this.domNode.setAttribute("aria-disabled",String(true))}}}});var NLS_CASE_SENSITIVE_TOGGLE_LABEL,NLS_WHOLE_WORD_TOGGLE_LABEL,NLS_REGEX_TOGGLE_LABEL,CaseSensitiveToggle,WholeWordsToggle,RegexToggle;var init_findInputToggles=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInputToggles.js"(){init_toggle();init_codicons();init_nls();NLS_CASE_SENSITIVE_TOGGLE_LABEL=localize("caseDescription","Match Case");NLS_WHOLE_WORD_TOGGLE_LABEL=localize("wordsDescription","Match Whole Word");NLS_REGEX_TOGGLE_LABEL=localize("regexDescription","Use Regular Expression");CaseSensitiveToggle=class extends Toggle{constructor(opts){super({icon:Codicon.caseSensitive,title:NLS_CASE_SENSITIVE_TOGGLE_LABEL+opts.appendTitle,isChecked:opts.isChecked,inputActiveOptionBorder:opts.inputActiveOptionBorder,inputActiveOptionForeground:opts.inputActiveOptionForeground,inputActiveOptionBackground:opts.inputActiveOptionBackground})}};WholeWordsToggle=class extends Toggle{constructor(opts){super({icon:Codicon.wholeWord,title:NLS_WHOLE_WORD_TOGGLE_LABEL+opts.appendTitle,isChecked:opts.isChecked,inputActiveOptionBorder:opts.inputActiveOptionBorder,inputActiveOptionForeground:opts.inputActiveOptionForeground,inputActiveOptionBackground:opts.inputActiveOptionBackground})}};RegexToggle=class extends Toggle{constructor(opts){super({icon:Codicon.regex,title:NLS_REGEX_TOGGLE_LABEL+opts.appendTitle,isChecked:opts.isChecked,inputActiveOptionBorder:opts.inputActiveOptionBorder,inputActiveOptionForeground:opts.inputActiveOptionForeground,inputActiveOptionBackground:opts.inputActiveOptionBackground})}}}});var ArrayNavigator;var init_navigator=__esm({"node_modules/monaco-editor/esm/vs/base/common/navigator.js"(){ArrayNavigator=class{constructor(items,start=0,end=items.length,index=start-1){this.items=items;this.start=start;this.end=end;this.index=index}current(){if(this.index===this.start-1||this.index===this.end){return null}return this.items[this.index]}next(){this.index=Math.min(this.index+1,this.end);return this.current()}previous(){this.index=Math.max(this.index-1,this.start-1);return this.current()}first(){this.index=this.start;return this.current()}last(){this.index=this.end-1;return this.current()}}}});var HistoryNavigator;var init_history=__esm({"node_modules/monaco-editor/esm/vs/base/common/history.js"(){init_navigator();HistoryNavigator=class{constructor(history=[],limit=10){this._initialize(history);this._limit=limit;this._onChange()}getHistory(){return this._elements}add(t2){this._history.delete(t2);this._history.add(t2);this._onChange()}next(){return this._navigator.next()}previous(){if(this._currentPosition()!==0){return this._navigator.previous()}return null}current(){return this._navigator.current()}first(){return this._navigator.first()}last(){return this._navigator.last()}isLast(){return this._currentPosition()>=this._elements.length-1}isNowhere(){return this._navigator.current()===null}has(t2){return this._history.has(t2)}_onChange(){this._reduceToLimit();const elements=this._elements;this._navigator=new ArrayNavigator(elements,0,elements.length,elements.length)}_reduceToLimit(){const data=this._elements;if(data.length>this._limit){this._initialize(data.slice(data.length-this._limit))}}_currentPosition(){const currentElement=this._navigator.current();if(!currentElement){return-1}return this._elements.indexOf(currentElement)}_initialize(history){this._history=new Set;for(const entry of history){this._history.add(entry)}}get _elements(){const elements=[];this._history.forEach((e=>elements.push(e)));return elements}}}});var init_38=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.css"(){}});var $3,InputBox,HistoryInputBox;var init_inputBox=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.js"(){init_dom();init_event2();init_formattedTextRenderer();init_actionbar();init_aria();init_scrollableElement();init_widget();init_event();init_history();init_objects();init_38();init_nls();$3=$;InputBox=class extends Widget{constructor(container,contextViewProvider,options2){var _a6;super();this.state="idle";this.maxHeight=Number.POSITIVE_INFINITY;this._onDidChange=this._register(new Emitter);this.onDidChange=this._onDidChange.event;this._onDidHeightChange=this._register(new Emitter);this.onDidHeightChange=this._onDidHeightChange.event;this.contextViewProvider=contextViewProvider;this.options=options2;this.message=null;this.placeholder=this.options.placeholder||"";this.tooltip=(_a6=this.options.tooltip)!==null&&_a6!==void 0?_a6:this.placeholder||"";this.ariaLabel=this.options.ariaLabel||"";if(this.options.validationOptions){this.validation=this.options.validationOptions.validation}this.element=append(container,$3(".monaco-inputbox.idle"));const tagName=this.options.flexibleHeight?"textarea":"input";const wrapper=append(this.element,$3(".ibwrapper"));this.input=append(wrapper,$3(tagName+".input.empty"));this.input.setAttribute("autocorrect","off");this.input.setAttribute("autocapitalize","off");this.input.setAttribute("spellcheck","false");this.onfocus(this.input,(()=>this.element.classList.add("synthetic-focus")));this.onblur(this.input,(()=>this.element.classList.remove("synthetic-focus")));if(this.options.flexibleHeight){this.maxHeight=typeof this.options.flexibleMaxHeight==="number"?this.options.flexibleMaxHeight:Number.POSITIVE_INFINITY;this.mirror=append(wrapper,$3("div.mirror"));this.mirror.innerText=" ";this.scrollableElement=new ScrollableElement(this.element,{vertical:1});if(this.options.flexibleWidth){this.input.setAttribute("wrap","off");this.mirror.style.whiteSpace="pre";this.mirror.style.wordWrap="initial"}append(container,this.scrollableElement.getDomNode());this._register(this.scrollableElement);this._register(this.scrollableElement.onScroll((e=>this.input.scrollTop=e.scrollTop)));const onSelectionChange=this._register(new DomEmitter(document,"selectionchange"));const onAnchoredSelectionChange=Event.filter(onSelectionChange.event,(()=>{const selection=document.getSelection();return(selection===null||selection===void 0?void 0:selection.anchorNode)===wrapper}));this._register(onAnchoredSelectionChange(this.updateScrollDimensions,this));this._register(this.onDidHeightChange(this.updateScrollDimensions,this))}else{this.input.type=this.options.type||"text";this.input.setAttribute("wrap","off")}if(this.ariaLabel){this.input.setAttribute("aria-label",this.ariaLabel)}if(this.placeholder&&!this.options.showPlaceholderOnFocus){this.setPlaceHolder(this.placeholder)}if(this.tooltip){this.setTooltip(this.tooltip)}this.oninput(this.input,(()=>this.onValueChange()));this.onblur(this.input,(()=>this.onBlur()));this.onfocus(this.input,(()=>this.onFocus()));this._register(this.ignoreGesture(this.input));setTimeout((()=>this.updateMirror()),0);if(this.options.actions){this.actionbar=this._register(new ActionBar(this.element));this.actionbar.push(this.options.actions,{icon:true,label:false})}this.applyStyles()}onBlur(){this._hideMessage();if(this.options.showPlaceholderOnFocus){this.input.setAttribute("placeholder","")}}onFocus(){this._showMessage();if(this.options.showPlaceholderOnFocus){this.input.setAttribute("placeholder",this.placeholder||"")}}setPlaceHolder(placeHolder){this.placeholder=placeHolder;this.input.setAttribute("placeholder",placeHolder)}setTooltip(tooltip){this.tooltip=tooltip;this.input.title=tooltip}get inputElement(){return this.input}get value(){return this.input.value}set value(newValue){if(this.input.value!==newValue){this.input.value=newValue;this.onValueChange()}}get height(){return typeof this.cachedHeight==="number"?this.cachedHeight:getTotalHeight(this.element)}focus(){this.input.focus()}blur(){this.input.blur()}hasFocus(){return document.activeElement===this.input}select(range2=null){this.input.select();if(range2){this.input.setSelectionRange(range2.start,range2.end);if(range2.end===this.input.value.length){this.input.scrollLeft=this.input.scrollWidth}}}isSelectionAtEnd(){return this.input.selectionEnd===this.input.value.length&&this.input.selectionStart===this.input.selectionEnd}enable(){this.input.removeAttribute("disabled")}disable(){this.blur();this.input.disabled=true;this._hideMessage()}set paddingRight(paddingRight){this.input.style.width=`calc(100% - ${paddingRight}px)`;if(this.mirror){this.mirror.style.paddingRight=paddingRight+"px"}}updateScrollDimensions(){if(typeof this.cachedContentHeight!=="number"||typeof this.cachedHeight!=="number"||!this.scrollableElement){return}const scrollHeight=this.cachedContentHeight;const height=this.cachedHeight;const scrollTop=this.input.scrollTop;this.scrollableElement.setScrollDimensions({scrollHeight:scrollHeight,height:height});this.scrollableElement.setScrollPosition({scrollTop:scrollTop})}showMessage(message,force){if(this.state==="open"&&equals2(this.message,message)){return}this.message=message;this.element.classList.remove("idle");this.element.classList.remove("info");this.element.classList.remove("warning");this.element.classList.remove("error");this.element.classList.add(this.classForType(message.type));const styles=this.stylesForType(this.message.type);this.element.style.border=`1px solid ${asCssValueWithDefault(styles.border,"transparent")}`;if(this.message.content&&(this.hasFocus()||force)){this._showMessage()}}hideMessage(){this.message=null;this.element.classList.remove("info");this.element.classList.remove("warning");this.element.classList.remove("error");this.element.classList.add("idle");this._hideMessage();this.applyStyles()}validate(){let errorMsg=null;if(this.validation){errorMsg=this.validation(this.value);if(errorMsg){this.inputElement.setAttribute("aria-invalid","true");this.showMessage(errorMsg)}else if(this.inputElement.hasAttribute("aria-invalid")){this.inputElement.removeAttribute("aria-invalid");this.hideMessage()}}return errorMsg===null||errorMsg===void 0?void 0:errorMsg.type}stylesForType(type){const styles=this.options.inputBoxStyles;switch(type){case 1:return{border:styles.inputValidationInfoBorder,background:styles.inputValidationInfoBackground,foreground:styles.inputValidationInfoForeground};case 2:return{border:styles.inputValidationWarningBorder,background:styles.inputValidationWarningBackground,foreground:styles.inputValidationWarningForeground};default:return{border:styles.inputValidationErrorBorder,background:styles.inputValidationErrorBackground,foreground:styles.inputValidationErrorForeground}}}classForType(type){switch(type){case 1:return"info";case 2:return"warning";default:return"error"}}_showMessage(){if(!this.contextViewProvider||!this.message){return}let div;const layout2=()=>div.style.width=getTotalWidth(this.element)+"px";this.contextViewProvider.showContextView({getAnchor:()=>this.element,anchorAlignment:1,render:container=>{var _a6,_b3;if(!this.message){return null}div=append(container,$3(".monaco-inputbox-container"));layout2();const renderOptions={inline:true,className:"monaco-inputbox-message"};const spanElement=this.message.formatContent?renderFormattedText(this.message.content,renderOptions):renderText(this.message.content,renderOptions);spanElement.classList.add(this.classForType(this.message.type));const styles=this.stylesForType(this.message.type);spanElement.style.backgroundColor=(_a6=styles.background)!==null&&_a6!==void 0?_a6:"";spanElement.style.color=(_b3=styles.foreground)!==null&&_b3!==void 0?_b3:"";spanElement.style.border=styles.border?`1px solid ${styles.border}`:"";append(div,spanElement);return null},onHide:()=>{this.state="closed"},layout:layout2});let alertText;if(this.message.type===3){alertText=localize("alertErrorMessage","Error: {0}",this.message.content)}else if(this.message.type===2){alertText=localize("alertWarningMessage","Warning: {0}",this.message.content)}else{alertText=localize("alertInfoMessage","Info: {0}",this.message.content)}alert(alertText);this.state="open"}_hideMessage(){if(!this.contextViewProvider){return}if(this.state==="open"){this.contextViewProvider.hideContextView()}this.state="idle"}onValueChange(){this._onDidChange.fire(this.value);this.validate();this.updateMirror();this.input.classList.toggle("empty",!this.value);if(this.state==="open"&&this.contextViewProvider){this.contextViewProvider.layout()}}updateMirror(){if(!this.mirror){return}const value=this.value;const lastCharCode=value.charCodeAt(value.length-1);const suffix=lastCharCode===10?" ":"";const mirrorTextContent=(value+suffix).replace(/\u000c/g,"");if(mirrorTextContent){this.mirror.textContent=value+suffix}else{this.mirror.innerText=" "}this.layout()}applyStyles(){var _a6,_b3,_c2;const styles=this.options.inputBoxStyles;const background=(_a6=styles.inputBackground)!==null&&_a6!==void 0?_a6:"";const foreground2=(_b3=styles.inputForeground)!==null&&_b3!==void 0?_b3:"";const border=(_c2=styles.inputBorder)!==null&&_c2!==void 0?_c2:"";this.element.style.backgroundColor=background;this.element.style.color=foreground2;this.input.style.backgroundColor="inherit";this.input.style.color=foreground2;this.element.style.border=`1px solid ${asCssValueWithDefault(border,"transparent")}`}layout(){if(!this.mirror){return}const previousHeight=this.cachedContentHeight;this.cachedContentHeight=getTotalHeight(this.mirror);if(previousHeight!==this.cachedContentHeight){this.cachedHeight=Math.min(this.cachedContentHeight,this.maxHeight);this.input.style.height=this.cachedHeight+"px";this._onDidHeightChange.fire(this.cachedContentHeight)}}insertAtCursor(text2){const inputElement=this.inputElement;const start=inputElement.selectionStart;const end=inputElement.selectionEnd;const content=inputElement.value;if(start!==null&&end!==null){this.value=content.substr(0,start)+text2+content.substr(end);inputElement.setSelectionRange(start+1,start+1);this.layout()}}dispose(){var _a6;this._hideMessage();this.message=null;(_a6=this.actionbar)===null||_a6===void 0?void 0:_a6.dispose();super.dispose()}};HistoryInputBox=class extends InputBox{constructor(container,contextViewProvider,options2){const NLS_PLACEHOLDER_HISTORY_HINT=localize({key:"history.inputbox.hint",comment:["Text will be prefixed with ⇅ plus a single space, then used as a hint where input field keeps history"]},"for history");const NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX=` or ⇅ ${NLS_PLACEHOLDER_HISTORY_HINT}`;const NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_IN_PARENS=` (⇅ ${NLS_PLACEHOLDER_HISTORY_HINT})`;super(container,contextViewProvider,options2);this._onDidFocus=this._register(new Emitter);this.onDidFocus=this._onDidFocus.event;this._onDidBlur=this._register(new Emitter);this.onDidBlur=this._onDidBlur.event;this.history=new HistoryNavigator(options2.history,100);const addSuffix=()=>{if(options2.showHistoryHint&&options2.showHistoryHint()&&!this.placeholder.endsWith(NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX)&&!this.placeholder.endsWith(NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_IN_PARENS)&&this.history.getHistory().length){const suffix=this.placeholder.endsWith(")")?NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX:NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_IN_PARENS;const suffixedPlaceholder=this.placeholder+suffix;if(options2.showPlaceholderOnFocus&&document.activeElement!==this.input){this.placeholder=suffixedPlaceholder}else{this.setPlaceHolder(suffixedPlaceholder)}}};this.observer=new MutationObserver(((mutationList,observer)=>{mutationList.forEach((mutation=>{if(!mutation.target.textContent){addSuffix()}}))}));this.observer.observe(this.input,{attributeFilter:["class"]});this.onfocus(this.input,(()=>addSuffix()));this.onblur(this.input,(()=>{const resetPlaceholder=historyHint=>{if(!this.placeholder.endsWith(historyHint)){return false}else{const revertedPlaceholder=this.placeholder.slice(0,this.placeholder.length-historyHint.length);if(options2.showPlaceholderOnFocus){this.placeholder=revertedPlaceholder}else{this.setPlaceHolder(revertedPlaceholder)}return true}};if(!resetPlaceholder(NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_IN_PARENS)){resetPlaceholder(NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX)}}))}dispose(){super.dispose();if(this.observer){this.observer.disconnect();this.observer=void 0}}addToHistory(always){if(this.value&&(always||this.value!==this.getCurrentValue())){this.history.add(this.value)}}isAtLastInHistory(){return this.history.isLast()}isNowhereInHistory(){return this.history.isNowhere()}showNextValue(){if(!this.history.has(this.value)){this.addToHistory()}let next=this.getNextValue();if(next){next=next===this.value?this.getNextValue():next}this.value=next!==null&&next!==void 0?next:"";status(this.value?this.value:localize("clearedInput","Cleared Input"))}showPreviousValue(){if(!this.history.has(this.value)){this.addToHistory()}let previous=this.getPreviousValue();if(previous){previous=previous===this.value?this.getPreviousValue():previous}if(previous){this.value=previous;status(this.value)}}onBlur(){super.onBlur();this._onDidBlur.fire()}onFocus(){super.onFocus();this._onDidFocus.fire()}getCurrentValue(){let currentValue=this.history.current();if(!currentValue){currentValue=this.history.last();this.history.next()}return currentValue}getPreviousValue(){return this.history.previous()||this.history.first()}getNextValue(){return this.history.next()}}}});var init_39=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInput.css"(){}});var NLS_DEFAULT_LABEL,FindInput;var init_findInput=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/findinput/findInput.js"(){init_dom();init_findInputToggles();init_inputBox();init_widget();init_event();init_39();init_nls();init_lifecycle();NLS_DEFAULT_LABEL=localize("defaultLabel","input");FindInput=class extends Widget{constructor(parent,contextViewProvider,options2){super();this.fixFocusOnOptionClickEnabled=true;this.imeSessionInProgress=false;this.additionalTogglesDisposables=new DisposableStore;this.additionalToggles=[];this._onDidOptionChange=this._register(new Emitter);this.onDidOptionChange=this._onDidOptionChange.event;this._onKeyDown=this._register(new Emitter);this.onKeyDown=this._onKeyDown.event;this._onMouseDown=this._register(new Emitter);this.onMouseDown=this._onMouseDown.event;this._onInput=this._register(new Emitter);this._onKeyUp=this._register(new Emitter);this._onCaseSensitiveKeyDown=this._register(new Emitter);this.onCaseSensitiveKeyDown=this._onCaseSensitiveKeyDown.event;this._onRegexKeyDown=this._register(new Emitter);this.onRegexKeyDown=this._onRegexKeyDown.event;this._lastHighlightFindOptions=0;this.placeholder=options2.placeholder||"";this.validation=options2.validation;this.label=options2.label||NLS_DEFAULT_LABEL;this.showCommonFindToggles=!!options2.showCommonFindToggles;const appendCaseSensitiveLabel=options2.appendCaseSensitiveLabel||"";const appendWholeWordsLabel=options2.appendWholeWordsLabel||"";const appendRegexLabel=options2.appendRegexLabel||"";const history=options2.history||[];const flexibleHeight=!!options2.flexibleHeight;const flexibleWidth=!!options2.flexibleWidth;const flexibleMaxHeight=options2.flexibleMaxHeight;this.domNode=document.createElement("div");this.domNode.classList.add("monaco-findInput");this.inputBox=this._register(new HistoryInputBox(this.domNode,contextViewProvider,{placeholder:this.placeholder||"",ariaLabel:this.label||"",validationOptions:{validation:this.validation},history:history,showHistoryHint:options2.showHistoryHint,flexibleHeight:flexibleHeight,flexibleWidth:flexibleWidth,flexibleMaxHeight:flexibleMaxHeight,inputBoxStyles:options2.inputBoxStyles}));if(this.showCommonFindToggles){this.regex=this._register(new RegexToggle(Object.assign({appendTitle:appendRegexLabel,isChecked:false},options2.toggleStyles)));this._register(this.regex.onChange((viaKeyboard=>{this._onDidOptionChange.fire(viaKeyboard);if(!viaKeyboard&&this.fixFocusOnOptionClickEnabled){this.inputBox.focus()}this.validate()})));this._register(this.regex.onKeyDown((e=>{this._onRegexKeyDown.fire(e)})));this.wholeWords=this._register(new WholeWordsToggle(Object.assign({appendTitle:appendWholeWordsLabel,isChecked:false},options2.toggleStyles)));this._register(this.wholeWords.onChange((viaKeyboard=>{this._onDidOptionChange.fire(viaKeyboard);if(!viaKeyboard&&this.fixFocusOnOptionClickEnabled){this.inputBox.focus()}this.validate()})));this.caseSensitive=this._register(new CaseSensitiveToggle(Object.assign({appendTitle:appendCaseSensitiveLabel,isChecked:false},options2.toggleStyles)));this._register(this.caseSensitive.onChange((viaKeyboard=>{this._onDidOptionChange.fire(viaKeyboard);if(!viaKeyboard&&this.fixFocusOnOptionClickEnabled){this.inputBox.focus()}this.validate()})));this._register(this.caseSensitive.onKeyDown((e=>{this._onCaseSensitiveKeyDown.fire(e)})));const indexes=[this.caseSensitive.domNode,this.wholeWords.domNode,this.regex.domNode];this.onkeydown(this.domNode,(event=>{if(event.equals(15)||event.equals(17)||event.equals(9)){const index=indexes.indexOf(document.activeElement);if(index>=0){let newIndex=-1;if(event.equals(17)){newIndex=(index+1)%indexes.length}else if(event.equals(15)){if(index===0){newIndex=indexes.length-1}else{newIndex=index-1}}if(event.equals(9)){indexes[index].blur();this.inputBox.focus()}else if(newIndex>=0){indexes[newIndex].focus()}EventHelper.stop(event,true)}}}))}this.controls=document.createElement("div");this.controls.className="controls";this.controls.style.display=this.showCommonFindToggles?"":"none";if(this.caseSensitive){this.controls.append(this.caseSensitive.domNode)}if(this.wholeWords){this.controls.appendChild(this.wholeWords.domNode)}if(this.regex){this.controls.appendChild(this.regex.domNode)}this.setAdditionalToggles(options2===null||options2===void 0?void 0:options2.additionalToggles);if(this.controls){this.domNode.appendChild(this.controls)}parent===null||parent===void 0?void 0:parent.appendChild(this.domNode);this._register(addDisposableListener(this.inputBox.inputElement,"compositionstart",(e=>{this.imeSessionInProgress=true})));this._register(addDisposableListener(this.inputBox.inputElement,"compositionend",(e=>{this.imeSessionInProgress=false;this._onInput.fire()})));this.onkeydown(this.inputBox.inputElement,(e=>this._onKeyDown.fire(e)));this.onkeyup(this.inputBox.inputElement,(e=>this._onKeyUp.fire(e)));this.oninput(this.inputBox.inputElement,(e=>this._onInput.fire()));this.onmousedown(this.inputBox.inputElement,(e=>this._onMouseDown.fire(e)))}get onDidChange(){return this.inputBox.onDidChange}layout(style){this.inputBox.layout();this.updateInputBoxPadding(style.collapsedFindWidget)}enable(){var _a6,_b3,_c2;this.domNode.classList.remove("disabled");this.inputBox.enable();(_a6=this.regex)===null||_a6===void 0?void 0:_a6.enable();(_b3=this.wholeWords)===null||_b3===void 0?void 0:_b3.enable();(_c2=this.caseSensitive)===null||_c2===void 0?void 0:_c2.enable();for(const toggle of this.additionalToggles){toggle.enable()}}disable(){var _a6,_b3,_c2;this.domNode.classList.add("disabled");this.inputBox.disable();(_a6=this.regex)===null||_a6===void 0?void 0:_a6.disable();(_b3=this.wholeWords)===null||_b3===void 0?void 0:_b3.disable();(_c2=this.caseSensitive)===null||_c2===void 0?void 0:_c2.disable();for(const toggle of this.additionalToggles){toggle.disable()}}setFocusInputOnOptionClick(value){this.fixFocusOnOptionClickEnabled=value}setEnabled(enabled){if(enabled){this.enable()}else{this.disable()}}setAdditionalToggles(toggles){for(const currentToggle of this.additionalToggles){currentToggle.domNode.remove()}this.additionalToggles=[];this.additionalTogglesDisposables.dispose();this.additionalTogglesDisposables=new DisposableStore;for(const toggle of toggles!==null&&toggles!==void 0?toggles:[]){this.additionalTogglesDisposables.add(toggle);this.controls.appendChild(toggle.domNode);this.additionalTogglesDisposables.add(toggle.onChange((viaKeyboard=>{this._onDidOptionChange.fire(viaKeyboard);if(!viaKeyboard&&this.fixFocusOnOptionClickEnabled){this.inputBox.focus()}})));this.additionalToggles.push(toggle)}if(this.additionalToggles.length>0){this.controls.style.display=""}this.updateInputBoxPadding()}updateInputBoxPadding(controlsHidden=false){var _a6,_b3,_c2,_d2,_e2,_f2;if(controlsHidden){this.inputBox.paddingRight=0}else{this.inputBox.paddingRight=((_b3=(_a6=this.caseSensitive)===null||_a6===void 0?void 0:_a6.width())!==null&&_b3!==void 0?_b3:0)+((_d2=(_c2=this.wholeWords)===null||_c2===void 0?void 0:_c2.width())!==null&&_d2!==void 0?_d2:0)+((_f2=(_e2=this.regex)===null||_e2===void 0?void 0:_e2.width())!==null&&_f2!==void 0?_f2:0)+this.additionalToggles.reduce(((r,t2)=>r+t2.width()),0)}}getValue(){return this.inputBox.value}setValue(value){if(this.inputBox.value!==value){this.inputBox.value=value}}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getCaseSensitive(){var _a6,_b3;return(_b3=(_a6=this.caseSensitive)===null||_a6===void 0?void 0:_a6.checked)!==null&&_b3!==void 0?_b3:false}setCaseSensitive(value){if(this.caseSensitive){this.caseSensitive.checked=value}}getWholeWords(){var _a6,_b3;return(_b3=(_a6=this.wholeWords)===null||_a6===void 0?void 0:_a6.checked)!==null&&_b3!==void 0?_b3:false}setWholeWords(value){if(this.wholeWords){this.wholeWords.checked=value}}getRegex(){var _a6,_b3;return(_b3=(_a6=this.regex)===null||_a6===void 0?void 0:_a6.checked)!==null&&_b3!==void 0?_b3:false}setRegex(value){if(this.regex){this.regex.checked=value;this.validate()}}focusOnCaseSensitive(){var _a6;(_a6=this.caseSensitive)===null||_a6===void 0?void 0:_a6.focus()}highlightFindOptions(){this.domNode.classList.remove("highlight-"+this._lastHighlightFindOptions);this._lastHighlightFindOptions=1-this._lastHighlightFindOptions;this.domNode.classList.add("highlight-"+this._lastHighlightFindOptions)}validate(){this.inputBox.validate()}showMessage(message){this.inputBox.showMessage(message)}clearMessage(){this.inputBox.hideMessage()}}}});var ObjectTreeElementCollapseState,TreeMouseEventTarget,TreeError,WeakMapper;var init_tree=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/tree/tree.js"(){(function(ObjectTreeElementCollapseState2){ObjectTreeElementCollapseState2[ObjectTreeElementCollapseState2["Expanded"]=0]="Expanded";ObjectTreeElementCollapseState2[ObjectTreeElementCollapseState2["Collapsed"]=1]="Collapsed";ObjectTreeElementCollapseState2[ObjectTreeElementCollapseState2["PreserveOrExpanded"]=2]="PreserveOrExpanded";ObjectTreeElementCollapseState2[ObjectTreeElementCollapseState2["PreserveOrCollapsed"]=3]="PreserveOrCollapsed"})(ObjectTreeElementCollapseState||(ObjectTreeElementCollapseState={}));(function(TreeMouseEventTarget2){TreeMouseEventTarget2[TreeMouseEventTarget2["Unknown"]=0]="Unknown";TreeMouseEventTarget2[TreeMouseEventTarget2["Twistie"]=1]="Twistie";TreeMouseEventTarget2[TreeMouseEventTarget2["Element"]=2]="Element";TreeMouseEventTarget2[TreeMouseEventTarget2["Filter"]=3]="Filter"})(TreeMouseEventTarget||(TreeMouseEventTarget={}));TreeError=class extends Error{constructor(user,message){super(`TreeError [${user}] ${message}`)}};WeakMapper=class{constructor(fn){this.fn=fn;this._map=new WeakMap}map(key){let result=this._map.get(key);if(!result){result=this.fn(key);this._map.set(key,result)}return result}}}});function isFilterResult(obj){return typeof obj==="object"&&"visibility"in obj&&"data"in obj}function getVisibleState(visibility){switch(visibility){case true:return 1;case false:return 0;default:return visibility}}function isCollapsibleStateUpdate(update){return typeof update.collapsible==="boolean"}var IndexTreeModel;var init_indexTreeModel=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/tree/indexTreeModel.js"(){init_tree();init_arrays();init_async();init_symbols();init_diff();init_event();init_iterator();IndexTreeModel=class{constructor(user,list,rootElement,options2={}){this.user=user;this.list=list;this.rootRef=[];this.eventBufferer=new EventBufferer;this._onDidChangeCollapseState=new Emitter;this.onDidChangeCollapseState=this.eventBufferer.wrapEvent(this._onDidChangeCollapseState.event);this._onDidChangeRenderNodeCount=new Emitter;this.onDidChangeRenderNodeCount=this.eventBufferer.wrapEvent(this._onDidChangeRenderNodeCount.event);this._onDidSplice=new Emitter;this.onDidSplice=this._onDidSplice.event;this.refilterDelayer=new Delayer(MicrotaskDelay);this.collapseByDefault=typeof options2.collapseByDefault==="undefined"?false:options2.collapseByDefault;this.filter=options2.filter;this.autoExpandSingleChildren=typeof options2.autoExpandSingleChildren==="undefined"?false:options2.autoExpandSingleChildren;this.root={parent:void 0,element:rootElement,children:[],depth:0,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:false,collapsed:false,renderNodeCount:0,visibility:1,visible:true,filterData:void 0}}splice(location,deleteCount,toInsert=Iterable.empty(),options2={}){if(location.length===0){throw new TreeError(this.user,"Invalid tree location")}if(options2.diffIdentityProvider){this.spliceSmart(options2.diffIdentityProvider,location,deleteCount,toInsert,options2)}else{this.spliceSimple(location,deleteCount,toInsert,options2)}}spliceSmart(identity,location,deleteCount,toInsertIterable,options2,recurseLevels){var _a6;if(toInsertIterable===void 0){toInsertIterable=Iterable.empty()}if(recurseLevels===void 0){recurseLevels=(_a6=options2.diffDepth)!==null&&_a6!==void 0?_a6:0}const{parentNode:parentNode}=this.getParentNodeWithListIndex(location);if(!parentNode.lastDiffIds){return this.spliceSimple(location,deleteCount,toInsertIterable,options2)}const toInsert=[...toInsertIterable];const index=location[location.length-1];const diff=new LcsDiff({getElements:()=>parentNode.lastDiffIds},{getElements:()=>[...parentNode.children.slice(0,index),...toInsert,...parentNode.children.slice(index+deleteCount)].map((e=>identity.getId(e.element).toString()))}).ComputeDiff(false);if(diff.quitEarly){parentNode.lastDiffIds=void 0;return this.spliceSimple(location,deleteCount,toInsert,options2)}const locationPrefix=location.slice(0,-1);const recurseSplice=(fromOriginal,fromModified,count)=>{if(recurseLevels>0){for(let i=0;i<count;i++){fromOriginal--;fromModified--;this.spliceSmart(identity,[...locationPrefix,fromOriginal,0],Number.MAX_SAFE_INTEGER,toInsert[fromModified].children,options2,recurseLevels-1)}}};let lastStartO=Math.min(parentNode.children.length,index+deleteCount);let lastStartM=toInsert.length;for(const change of diff.changes.sort(((a,b)=>b.originalStart-a.originalStart))){recurseSplice(lastStartO,lastStartM,lastStartO-(change.originalStart+change.originalLength));lastStartO=change.originalStart;lastStartM=change.modifiedStart-index;this.spliceSimple([...locationPrefix,lastStartO],change.originalLength,Iterable.slice(toInsert,lastStartM,lastStartM+change.modifiedLength),options2)}recurseSplice(lastStartO,lastStartM,lastStartO)}spliceSimple(location,deleteCount,toInsert=Iterable.empty(),{onDidCreateNode:onDidCreateNode,onDidDeleteNode:onDidDeleteNode,diffIdentityProvider:diffIdentityProvider}){const{parentNode:parentNode,listIndex:listIndex,revealed:revealed,visible:visible}=this.getParentNodeWithListIndex(location);const treeListElementsToInsert=[];const nodesToInsertIterator=Iterable.map(toInsert,(el=>this.createTreeNode(el,parentNode,parentNode.visible?1:0,revealed,treeListElementsToInsert,onDidCreateNode)));const lastIndex=location[location.length-1];const lastHadChildren=parentNode.children.length>0;let visibleChildStartIndex=0;for(let i=lastIndex;i>=0&&i<parentNode.children.length;i--){const child=parentNode.children[i];if(child.visible){visibleChildStartIndex=child.visibleChildIndex;break}}const nodesToInsert=[];let insertedVisibleChildrenCount=0;let renderNodeCount=0;for(const child of nodesToInsertIterator){nodesToInsert.push(child);renderNodeCount+=child.renderNodeCount;if(child.visible){child.visibleChildIndex=visibleChildStartIndex+insertedVisibleChildrenCount++}}const deletedNodes=splice(parentNode.children,lastIndex,deleteCount,nodesToInsert);if(!diffIdentityProvider){parentNode.lastDiffIds=void 0}else if(parentNode.lastDiffIds){splice(parentNode.lastDiffIds,lastIndex,deleteCount,nodesToInsert.map((n=>diffIdentityProvider.getId(n.element).toString())))}else{parentNode.lastDiffIds=parentNode.children.map((n=>diffIdentityProvider.getId(n.element).toString()))}let deletedVisibleChildrenCount=0;for(const child of deletedNodes){if(child.visible){deletedVisibleChildrenCount++}}if(deletedVisibleChildrenCount!==0){for(let i=lastIndex+nodesToInsert.length;i<parentNode.children.length;i++){const child=parentNode.children[i];if(child.visible){child.visibleChildIndex-=deletedVisibleChildrenCount}}}parentNode.visibleChildrenCount+=insertedVisibleChildrenCount-deletedVisibleChildrenCount;if(revealed&&visible){const visibleDeleteCount=deletedNodes.reduce(((r,node2)=>r+(node2.visible?node2.renderNodeCount:0)),0);this._updateAncestorsRenderNodeCount(parentNode,renderNodeCount-visibleDeleteCount);this.list.splice(listIndex,visibleDeleteCount,treeListElementsToInsert)}if(deletedNodes.length>0&&onDidDeleteNode){const visit=node2=>{onDidDeleteNode(node2);node2.children.forEach(visit)};deletedNodes.forEach(visit)}this._onDidSplice.fire({insertedNodes:nodesToInsert,deletedNodes:deletedNodes});const currentlyHasChildren=parentNode.children.length>0;if(lastHadChildren!==currentlyHasChildren){this.setCollapsible(location.slice(0,-1),currentlyHasChildren)}let node=parentNode;while(node){if(node.visibility===2){this.refilterDelayer.trigger((()=>this.refilter()));break}node=node.parent}}rerender(location){if(location.length===0){throw new TreeError(this.user,"Invalid tree location")}const{node:node,listIndex:listIndex,revealed:revealed}=this.getTreeNodeWithListIndex(location);if(node.visible&&revealed){this.list.splice(listIndex,1,[node])}}has(location){return this.hasTreeNode(location)}getListIndex(location){const{listIndex:listIndex,visible:visible,revealed:revealed}=this.getTreeNodeWithListIndex(location);return visible&&revealed?listIndex:-1}getListRenderCount(location){return this.getTreeNode(location).renderNodeCount}isCollapsible(location){return this.getTreeNode(location).collapsible}setCollapsible(location,collapsible){const node=this.getTreeNode(location);if(typeof collapsible==="undefined"){collapsible=!node.collapsible}const update={collapsible:collapsible};return this.eventBufferer.bufferEvents((()=>this._setCollapseState(location,update)))}isCollapsed(location){return this.getTreeNode(location).collapsed}setCollapsed(location,collapsed,recursive){const node=this.getTreeNode(location);if(typeof collapsed==="undefined"){collapsed=!node.collapsed}const update={collapsed:collapsed,recursive:recursive||false};return this.eventBufferer.bufferEvents((()=>this._setCollapseState(location,update)))}_setCollapseState(location,update){const{node:node,listIndex:listIndex,revealed:revealed}=this.getTreeNodeWithListIndex(location);const result=this._setListNodeCollapseState(node,listIndex,revealed,update);if(node!==this.root&&this.autoExpandSingleChildren&&result&&!isCollapsibleStateUpdate(update)&&node.collapsible&&!node.collapsed&&!update.recursive){let onlyVisibleChildIndex=-1;for(let i=0;i<node.children.length;i++){const child=node.children[i];if(child.visible){if(onlyVisibleChildIndex>-1){onlyVisibleChildIndex=-1;break}else{onlyVisibleChildIndex=i}}}if(onlyVisibleChildIndex>-1){this._setCollapseState([...location,onlyVisibleChildIndex],update)}}return result}_setListNodeCollapseState(node,listIndex,revealed,update){const result=this._setNodeCollapseState(node,update,false);if(!revealed||!node.visible||!result){return result}const previousRenderNodeCount=node.renderNodeCount;const toInsert=this.updateNodeAfterCollapseChange(node);const deleteCount=previousRenderNodeCount-(listIndex===-1?0:1);this.list.splice(listIndex+1,deleteCount,toInsert.slice(1));return result}_setNodeCollapseState(node,update,deep){let result;if(node===this.root){result=false}else{if(isCollapsibleStateUpdate(update)){result=node.collapsible!==update.collapsible;node.collapsible=update.collapsible}else if(!node.collapsible){result=false}else{result=node.collapsed!==update.collapsed;node.collapsed=update.collapsed}if(result){this._onDidChangeCollapseState.fire({node:node,deep:deep})}}if(!isCollapsibleStateUpdate(update)&&update.recursive){for(const child of node.children){result=this._setNodeCollapseState(child,update,true)||result}}return result}expandTo(location){this.eventBufferer.bufferEvents((()=>{let node=this.getTreeNode(location);while(node.parent){node=node.parent;location=location.slice(0,location.length-1);if(node.collapsed){this._setCollapseState(location,{collapsed:false,recursive:false})}}}))}refilter(){const previousRenderNodeCount=this.root.renderNodeCount;const toInsert=this.updateNodeAfterFilterChange(this.root);this.list.splice(0,previousRenderNodeCount,toInsert);this.refilterDelayer.cancel()}createTreeNode(treeElement,parent,parentVisibility,revealed,treeListElements,onDidCreateNode){const node={parent:parent,element:treeElement.element,children:[],depth:parent.depth+1,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:typeof treeElement.collapsible==="boolean"?treeElement.collapsible:typeof treeElement.collapsed!=="undefined",collapsed:typeof treeElement.collapsed==="undefined"?this.collapseByDefault:treeElement.collapsed,renderNodeCount:1,visibility:1,visible:true,filterData:void 0};const visibility=this._filterNode(node,parentVisibility);node.visibility=visibility;if(revealed){treeListElements.push(node)}const childElements=treeElement.children||Iterable.empty();const childRevealed=revealed&&visibility!==0&&!node.collapsed;let visibleChildrenCount=0;let renderNodeCount=1;for(const el of childElements){const child=this.createTreeNode(el,node,visibility,childRevealed,treeListElements,onDidCreateNode);node.children.push(child);renderNodeCount+=child.renderNodeCount;if(child.visible){child.visibleChildIndex=visibleChildrenCount++}}node.collapsible=node.collapsible||node.children.length>0;node.visibleChildrenCount=visibleChildrenCount;node.visible=visibility===2?visibleChildrenCount>0:visibility===1;if(!node.visible){node.renderNodeCount=0;if(revealed){treeListElements.pop()}}else if(!node.collapsed){node.renderNodeCount=renderNodeCount}onDidCreateNode===null||onDidCreateNode===void 0?void 0:onDidCreateNode(node);return node}updateNodeAfterCollapseChange(node){const previousRenderNodeCount=node.renderNodeCount;const result=[];this._updateNodeAfterCollapseChange(node,result);this._updateAncestorsRenderNodeCount(node.parent,result.length-previousRenderNodeCount);return result}_updateNodeAfterCollapseChange(node,result){if(node.visible===false){return 0}result.push(node);node.renderNodeCount=1;if(!node.collapsed){for(const child of node.children){node.renderNodeCount+=this._updateNodeAfterCollapseChange(child,result)}}this._onDidChangeRenderNodeCount.fire(node);return node.renderNodeCount}updateNodeAfterFilterChange(node){const previousRenderNodeCount=node.renderNodeCount;const result=[];this._updateNodeAfterFilterChange(node,node.visible?1:0,result);this._updateAncestorsRenderNodeCount(node.parent,result.length-previousRenderNodeCount);return result}_updateNodeAfterFilterChange(node,parentVisibility,result,revealed=true){let visibility;if(node!==this.root){visibility=this._filterNode(node,parentVisibility);if(visibility===0){node.visible=false;node.renderNodeCount=0;return false}if(revealed){result.push(node)}}const resultStartLength=result.length;node.renderNodeCount=node===this.root?0:1;let hasVisibleDescendants=false;if(!node.collapsed||visibility!==0){let visibleChildIndex=0;for(const child of node.children){hasVisibleDescendants=this._updateNodeAfterFilterChange(child,visibility,result,revealed&&!node.collapsed)||hasVisibleDescendants;if(child.visible){child.visibleChildIndex=visibleChildIndex++}}node.visibleChildrenCount=visibleChildIndex}else{node.visibleChildrenCount=0}if(node!==this.root){node.visible=visibility===2?hasVisibleDescendants:visibility===1;node.visibility=visibility}if(!node.visible){node.renderNodeCount=0;if(revealed){result.pop()}}else if(!node.collapsed){node.renderNodeCount+=result.length-resultStartLength}this._onDidChangeRenderNodeCount.fire(node);return node.visible}_updateAncestorsRenderNodeCount(node,diff){if(diff===0){return}while(node){node.renderNodeCount+=diff;this._onDidChangeRenderNodeCount.fire(node);node=node.parent}}_filterNode(node,parentVisibility){const result=this.filter?this.filter.filter(node.element,parentVisibility):1;if(typeof result==="boolean"){node.filterData=void 0;return result?1:0}else if(isFilterResult(result)){node.filterData=result.data;return getVisibleState(result.visibility)}else{node.filterData=void 0;return getVisibleState(result)}}hasTreeNode(location,node=this.root){if(!location||location.length===0){return true}const[index,...rest]=location;if(index<0||index>node.children.length){return false}return this.hasTreeNode(rest,node.children[index])}getTreeNode(location,node=this.root){if(!location||location.length===0){return node}const[index,...rest]=location;if(index<0||index>node.children.length){throw new TreeError(this.user,"Invalid tree location")}return this.getTreeNode(rest,node.children[index])}getTreeNodeWithListIndex(location){if(location.length===0){return{node:this.root,listIndex:-1,revealed:true,visible:false}}const{parentNode:parentNode,listIndex:listIndex,revealed:revealed,visible:visible}=this.getParentNodeWithListIndex(location);const index=location[location.length-1];if(index<0||index>parentNode.children.length){throw new TreeError(this.user,"Invalid tree location")}const node=parentNode.children[index];return{node:node,listIndex:listIndex,revealed:revealed,visible:visible&&node.visible}}getParentNodeWithListIndex(location,node=this.root,listIndex=0,revealed=true,visible=true){const[index,...rest]=location;if(index<0||index>node.children.length){throw new TreeError(this.user,"Invalid tree location")}for(let i=0;i<index;i++){listIndex+=node.children[i].renderNodeCount}revealed=revealed&&!node.collapsed;visible=visible&&node.visible;if(rest.length===0){return{parentNode:node,listIndex:listIndex,revealed:revealed,visible:visible}}return this.getParentNodeWithListIndex(rest,node.children[index],listIndex+1,revealed,visible)}getNode(location=[]){return this.getTreeNode(location)}getNodeLocation(node){const location=[];let indexTreeNode=node;while(indexTreeNode.parent){location.push(indexTreeNode.parent.children.indexOf(indexTreeNode));indexTreeNode=indexTreeNode.parent}return location.reverse()}getParentNodeLocation(location){if(location.length===0){return void 0}else if(location.length===1){return[]}else{return tail2(location)[0]}}getFirstElementChild(location){const node=this.getTreeNode(location);if(node.children.length===0){return void 0}return node.children[0].element}}}});var init_40=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/tree/media/tree.css"(){}});function asTreeDragAndDropData(data){if(data instanceof ElementsDragAndDropData){return new TreeElementsDragAndDropData(data)}return data}function asListOptions(modelProvider,options2){return options2&&Object.assign(Object.assign({},options2),{identityProvider:options2.identityProvider&&{getId(el){return options2.identityProvider.getId(el.element)}},dnd:options2.dnd&&new TreeNodeListDragAndDrop(modelProvider,options2.dnd),multipleSelectionController:options2.multipleSelectionController&&{isSelectionSingleChangeEvent(e){return options2.multipleSelectionController.isSelectionSingleChangeEvent(Object.assign(Object.assign({},e),{element:e.element}))},isSelectionRangeChangeEvent(e){return options2.multipleSelectionController.isSelectionRangeChangeEvent(Object.assign(Object.assign({},e),{element:e.element}))}},accessibilityProvider:options2.accessibilityProvider&&Object.assign(Object.assign({},options2.accessibilityProvider),{getSetSize(node){const model=modelProvider();const ref=model.getNodeLocation(node);const parentRef=model.getParentNodeLocation(ref);const parentNode=model.getNode(parentRef);return parentNode.visibleChildrenCount},getPosInSet(node){return node.visibleChildIndex+1},isChecked:options2.accessibilityProvider&&options2.accessibilityProvider.isChecked?node=>options2.accessibilityProvider.isChecked(node.element):void 0,getRole:options2.accessibilityProvider&&options2.accessibilityProvider.getRole?node=>options2.accessibilityProvider.getRole(node.element):()=>"treeitem",getAriaLabel(e){return options2.accessibilityProvider.getAriaLabel(e.element)},getWidgetAriaLabel(){return options2.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:options2.accessibilityProvider&&options2.accessibilityProvider.getWidgetRole?()=>options2.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:options2.accessibilityProvider&&options2.accessibilityProvider.getAriaLevel?node=>options2.accessibilityProvider.getAriaLevel(node.element):node=>node.depth,getActiveDescendantId:options2.accessibilityProvider.getActiveDescendantId&&(node=>options2.accessibilityProvider.getActiveDescendantId(node.element))}),keyboardNavigationLabelProvider:options2.keyboardNavigationLabelProvider&&Object.assign(Object.assign({},options2.keyboardNavigationLabelProvider),{getKeyboardNavigationLabel(node){return options2.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(node.element)}})})}function asTreeMouseEvent(event){let target=TreeMouseEventTarget.Unknown;if(hasParentWithClass(event.browserEvent.target,"monaco-tl-twistie","monaco-tl-row")){target=TreeMouseEventTarget.Twistie}else if(hasParentWithClass(event.browserEvent.target,"monaco-tl-contents","monaco-tl-row")){target=TreeMouseEventTarget.Element}else if(hasParentWithClass(event.browserEvent.target,"monaco-tree-type-filter","monaco-list")){target=TreeMouseEventTarget.Filter}return{browserEvent:event.browserEvent,element:event.element?event.element.element:null,target:target}}function dfs(node,fn){fn(node);node.children.forEach((child=>dfs(child,fn)))}var TreeElementsDragAndDropData,TreeNodeListDragAndDrop,ComposedTreeDelegate,RenderIndentGuides,EventCollection,TreeRenderer,FindFilter,TreeFindMode,TreeFindMatchType,FindController,Trait2,TreeNodeListMouseController,TreeNodeList,AbstractTree;var init_abstractTree=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/tree/abstractTree.js"(){init_dom();init_event2();init_keyboardEvent();init_actionbar();init_findInput();init_inputBox();init_listView();init_listWidget();init_toggle();init_indexTreeModel();init_tree();init_actions();init_arrays();init_async();init_codicons();init_themables();init_collections();init_event();init_filters();init_lifecycle();init_numbers();init_types();init_40();init_nls();TreeElementsDragAndDropData=class extends ElementsDragAndDropData{constructor(data){super(data.elements.map((node=>node.element)));this.data=data}};TreeNodeListDragAndDrop=class{constructor(modelProvider,dnd){this.modelProvider=modelProvider;this.dnd=dnd;this.autoExpandDisposable=Disposable.None}getDragURI(node){return this.dnd.getDragURI(node.element)}getDragLabel(nodes,originalEvent){if(this.dnd.getDragLabel){return this.dnd.getDragLabel(nodes.map((node=>node.element)),originalEvent)}return void 0}onDragStart(data,originalEvent){var _a6,_b3;(_b3=(_a6=this.dnd).onDragStart)===null||_b3===void 0?void 0:_b3.call(_a6,asTreeDragAndDropData(data),originalEvent)}onDragOver(data,targetNode,targetIndex,originalEvent,raw=true){const result=this.dnd.onDragOver(asTreeDragAndDropData(data),targetNode&&targetNode.element,targetIndex,originalEvent);const didChangeAutoExpandNode=this.autoExpandNode!==targetNode;if(didChangeAutoExpandNode){this.autoExpandDisposable.dispose();this.autoExpandNode=targetNode}if(typeof targetNode==="undefined"){return result}if(didChangeAutoExpandNode&&typeof result!=="boolean"&&result.autoExpand){this.autoExpandDisposable=disposableTimeout((()=>{const model2=this.modelProvider();const ref2=model2.getNodeLocation(targetNode);if(model2.isCollapsed(ref2)){model2.setCollapsed(ref2,false)}this.autoExpandNode=void 0}),500)}if(typeof result==="boolean"||!result.accept||typeof result.bubble==="undefined"||result.feedback){if(!raw){const accept=typeof result==="boolean"?result:result.accept;const effect=typeof result==="boolean"?void 0:result.effect;return{accept:accept,effect:effect,feedback:[targetIndex]}}return result}if(result.bubble===1){const model2=this.modelProvider();const ref2=model2.getNodeLocation(targetNode);const parentRef=model2.getParentNodeLocation(ref2);const parentNode=model2.getNode(parentRef);const parentIndex=parentRef&&model2.getListIndex(parentRef);return this.onDragOver(data,parentNode,parentIndex,originalEvent,false)}const model=this.modelProvider();const ref=model.getNodeLocation(targetNode);const start=model.getListIndex(ref);const length2=model.getListRenderCount(ref);return Object.assign(Object.assign({},result),{feedback:range(start,start+length2)})}drop(data,targetNode,targetIndex,originalEvent){this.autoExpandDisposable.dispose();this.autoExpandNode=void 0;this.dnd.drop(asTreeDragAndDropData(data),targetNode&&targetNode.element,targetIndex,originalEvent)}onDragEnd(originalEvent){var _a6,_b3;(_b3=(_a6=this.dnd).onDragEnd)===null||_b3===void 0?void 0:_b3.call(_a6,originalEvent)}};ComposedTreeDelegate=class{constructor(delegate){this.delegate=delegate}getHeight(element){return this.delegate.getHeight(element.element)}getTemplateId(element){return this.delegate.getTemplateId(element.element)}hasDynamicHeight(element){return!!this.delegate.hasDynamicHeight&&this.delegate.hasDynamicHeight(element.element)}setDynamicHeight(element,height){var _a6,_b3;(_b3=(_a6=this.delegate).setDynamicHeight)===null||_b3===void 0?void 0:_b3.call(_a6,element.element,height)}};(function(RenderIndentGuides2){RenderIndentGuides2["None"]="none";RenderIndentGuides2["OnHover"]="onHover";RenderIndentGuides2["Always"]="always"})(RenderIndentGuides||(RenderIndentGuides={}));EventCollection=class{get elements(){return this._elements}constructor(onDidChange,_elements=[]){this._elements=_elements;this.disposables=new DisposableStore;this.onDidChange=Event.forEach(onDidChange,(elements=>this._elements=elements),this.disposables)}dispose(){this.disposables.dispose()}};TreeRenderer=class{constructor(renderer,modelProvider,onDidChangeCollapseState,activeNodes,renderedIndentGuides,options2={}){var _a6;this.renderer=renderer;this.modelProvider=modelProvider;this.activeNodes=activeNodes;this.renderedIndentGuides=renderedIndentGuides;this.renderedElements=new Map;this.renderedNodes=new Map;this.indent=TreeRenderer.DefaultIndent;this.hideTwistiesOfChildlessElements=false;this.shouldRenderIndentGuides=false;this.activeIndentNodes=new Set;this.indentGuidesDisposable=Disposable.None;this.disposables=new DisposableStore;this.templateId=renderer.templateId;this.updateOptions(options2);Event.map(onDidChangeCollapseState,(e=>e.node))(this.onDidChangeNodeTwistieState,this,this.disposables);(_a6=renderer.onDidChangeTwistieState)===null||_a6===void 0?void 0:_a6.call(renderer,this.onDidChangeTwistieState,this,this.disposables)}updateOptions(options2={}){if(typeof options2.indent!=="undefined"){const indent=clamp(options2.indent,0,40);if(indent!==this.indent){this.indent=indent;for(const[node,templateData]of this.renderedNodes){this.renderTreeElement(node,templateData)}}}if(typeof options2.renderIndentGuides!=="undefined"){const shouldRenderIndentGuides=options2.renderIndentGuides!==RenderIndentGuides.None;if(shouldRenderIndentGuides!==this.shouldRenderIndentGuides){this.shouldRenderIndentGuides=shouldRenderIndentGuides;for(const[node,templateData]of this.renderedNodes){this._renderIndentGuides(node,templateData)}this.indentGuidesDisposable.dispose();if(shouldRenderIndentGuides){const disposables=new DisposableStore;this.activeNodes.onDidChange(this._onDidChangeActiveNodes,this,disposables);this.indentGuidesDisposable=disposables;this._onDidChangeActiveNodes(this.activeNodes.elements)}}}if(typeof options2.hideTwistiesOfChildlessElements!=="undefined"){this.hideTwistiesOfChildlessElements=options2.hideTwistiesOfChildlessElements}}renderTemplate(container){const el=append(container,$(".monaco-tl-row"));const indent=append(el,$(".monaco-tl-indent"));const twistie=append(el,$(".monaco-tl-twistie"));const contents=append(el,$(".monaco-tl-contents"));const templateData=this.renderer.renderTemplate(contents);return{container:container,indent:indent,twistie:twistie,indentGuidesDisposable:Disposable.None,templateData:templateData}}renderElement(node,index,templateData,height){this.renderedNodes.set(node,templateData);this.renderedElements.set(node.element,node);this.renderTreeElement(node,templateData);this.renderer.renderElement(node,index,templateData.templateData,height)}disposeElement(node,index,templateData,height){var _a6,_b3;templateData.indentGuidesDisposable.dispose();(_b3=(_a6=this.renderer).disposeElement)===null||_b3===void 0?void 0:_b3.call(_a6,node,index,templateData.templateData,height);if(typeof height==="number"){this.renderedNodes.delete(node);this.renderedElements.delete(node.element)}}disposeTemplate(templateData){this.renderer.disposeTemplate(templateData.templateData)}onDidChangeTwistieState(element){const node=this.renderedElements.get(element);if(!node){return}this.onDidChangeNodeTwistieState(node)}onDidChangeNodeTwistieState(node){const templateData=this.renderedNodes.get(node);if(!templateData){return}this._onDidChangeActiveNodes(this.activeNodes.elements);this.renderTreeElement(node,templateData)}renderTreeElement(node,templateData){const indent=TreeRenderer.DefaultIndent+(node.depth-1)*this.indent;templateData.twistie.style.paddingLeft=`${indent}px`;templateData.indent.style.width=`${indent+this.indent-16}px`;if(node.collapsible){templateData.container.setAttribute("aria-expanded",String(!node.collapsed))}else{templateData.container.removeAttribute("aria-expanded")}templateData.twistie.classList.remove(...ThemeIcon.asClassNameArray(Codicon.treeItemExpanded));let twistieRendered=false;if(this.renderer.renderTwistie){twistieRendered=this.renderer.renderTwistie(node.element,templateData.twistie)}if(node.collapsible&&(!this.hideTwistiesOfChildlessElements||node.visibleChildrenCount>0)){if(!twistieRendered){templateData.twistie.classList.add(...ThemeIcon.asClassNameArray(Codicon.treeItemExpanded))}templateData.twistie.classList.add("collapsible");templateData.twistie.classList.toggle("collapsed",node.collapsed)}else{templateData.twistie.classList.remove("collapsible","collapsed")}this._renderIndentGuides(node,templateData)}_renderIndentGuides(node,templateData){clearNode(templateData.indent);templateData.indentGuidesDisposable.dispose();if(!this.shouldRenderIndentGuides){return}const disposableStore=new DisposableStore;const model=this.modelProvider();while(true){const ref=model.getNodeLocation(node);const parentRef=model.getParentNodeLocation(ref);if(!parentRef){break}const parent=model.getNode(parentRef);const guide=$(".indent-guide",{style:`width: ${this.indent}px`});if(this.activeIndentNodes.has(parent)){guide.classList.add("active")}if(templateData.indent.childElementCount===0){templateData.indent.appendChild(guide)}else{templateData.indent.insertBefore(guide,templateData.indent.firstElementChild)}this.renderedIndentGuides.add(parent,guide);disposableStore.add(toDisposable((()=>this.renderedIndentGuides.delete(parent,guide))));node=parent}templateData.indentGuidesDisposable=disposableStore}_onDidChangeActiveNodes(nodes){if(!this.shouldRenderIndentGuides){return}const set=new Set;const model=this.modelProvider();nodes.forEach((node=>{const ref=model.getNodeLocation(node);try{const parentRef=model.getParentNodeLocation(ref);if(node.collapsible&&node.children.length>0&&!node.collapsed){set.add(node)}else if(parentRef){set.add(model.getNode(parentRef))}}catch(_a6){}}));this.activeIndentNodes.forEach((node=>{if(!set.has(node)){this.renderedIndentGuides.forEach(node,(line=>line.classList.remove("active")))}}));set.forEach((node=>{if(!this.activeIndentNodes.has(node)){this.renderedIndentGuides.forEach(node,(line=>line.classList.add("active")))}}));this.activeIndentNodes=set}dispose(){this.renderedNodes.clear();this.renderedElements.clear();this.indentGuidesDisposable.dispose();dispose(this.disposables)}};TreeRenderer.DefaultIndent=8;FindFilter=class{get totalCount(){return this._totalCount}get matchCount(){return this._matchCount}constructor(tree,keyboardNavigationLabelProvider,_filter){this.tree=tree;this.keyboardNavigationLabelProvider=keyboardNavigationLabelProvider;this._filter=_filter;this._totalCount=0;this._matchCount=0;this._pattern="";this._lowercasePattern="";this.disposables=new DisposableStore;tree.onWillRefilter(this.reset,this,this.disposables)}filter(element,parentVisibility){let visibility=1;if(this._filter){const result=this._filter.filter(element,parentVisibility);if(typeof result==="boolean"){visibility=result?1:0}else if(isFilterResult(result)){visibility=getVisibleState(result.visibility)}else{visibility=result}if(visibility===0){return false}}this._totalCount++;if(!this._pattern){this._matchCount++;return{data:FuzzyScore.Default,visibility:visibility}}const label=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(element);const labels=Array.isArray(label)?label:[label];for(const l of labels){const labelStr=l&&l.toString();if(typeof labelStr==="undefined"){return{data:FuzzyScore.Default,visibility:visibility}}let score3;if(this.tree.findMatchType===TreeFindMatchType.Contiguous){const index=labelStr.toLowerCase().indexOf(this._lowercasePattern);if(index>-1){score3=[Number.MAX_SAFE_INTEGER,0];for(let i=this._lowercasePattern.length;i>0;i--){score3.push(index+i-1)}}}else{score3=fuzzyScore(this._pattern,this._lowercasePattern,0,labelStr,labelStr.toLowerCase(),0,{firstMatchCanBeWeak:true,boostFullMatch:true})}if(score3){this._matchCount++;return labels.length===1?{data:score3,visibility:visibility}:{data:{label:labelStr,score:score3},visibility:visibility}}}if(this.tree.findMode===TreeFindMode.Filter){if(typeof this.tree.options.defaultFindVisibility==="number"){return this.tree.options.defaultFindVisibility}else if(this.tree.options.defaultFindVisibility){return this.tree.options.defaultFindVisibility(element)}else{return 2}}else{return{data:FuzzyScore.Default,visibility:visibility}}}reset(){this._totalCount=0;this._matchCount=0}dispose(){dispose(this.disposables)}};(function(TreeFindMode2){TreeFindMode2[TreeFindMode2["Highlight"]=0]="Highlight";TreeFindMode2[TreeFindMode2["Filter"]=1]="Filter"})(TreeFindMode||(TreeFindMode={}));(function(TreeFindMatchType2){TreeFindMatchType2[TreeFindMatchType2["Fuzzy"]=0]="Fuzzy";TreeFindMatchType2[TreeFindMatchType2["Contiguous"]=1]="Contiguous"})(TreeFindMatchType||(TreeFindMatchType={}));FindController=class{get pattern(){return this._pattern}get mode(){return this._mode}set mode(mode){if(mode===this._mode){return}this._mode=mode;if(this.widget){this.widget.mode=this._mode}this.tree.refilter();this.render();this._onDidChangeMode.fire(mode)}get matchType(){return this._matchType}set matchType(matchType){if(matchType===this._matchType){return}this._matchType=matchType;if(this.widget){this.widget.matchType=this._matchType}this.tree.refilter();this.render();this._onDidChangeMatchType.fire(matchType)}constructor(tree,model,view,filter,contextViewProvider,options2={}){var _a6,_b3;this.tree=tree;this.view=view;this.filter=filter;this.contextViewProvider=contextViewProvider;this.options=options2;this._pattern="";this.width=0;this._onDidChangeMode=new Emitter;this.onDidChangeMode=this._onDidChangeMode.event;this._onDidChangeMatchType=new Emitter;this.onDidChangeMatchType=this._onDidChangeMatchType.event;this._onDidChangePattern=new Emitter;this._onDidChangeOpenState=new Emitter;this.onDidChangeOpenState=this._onDidChangeOpenState.event;this.enabledDisposables=new DisposableStore;this.disposables=new DisposableStore;this._mode=(_a6=tree.options.defaultFindMode)!==null&&_a6!==void 0?_a6:TreeFindMode.Highlight;this._matchType=(_b3=tree.options.defaultFindMatchType)!==null&&_b3!==void 0?_b3:TreeFindMatchType.Fuzzy;model.onDidSplice(this.onDidSpliceModel,this,this.disposables)}updateOptions(optionsUpdate={}){if(optionsUpdate.defaultFindMode!==void 0){this.mode=optionsUpdate.defaultFindMode}if(optionsUpdate.defaultFindMatchType!==void 0){this.matchType=optionsUpdate.defaultFindMatchType}}onDidSpliceModel(){if(!this.widget||this.pattern.length===0){return}this.tree.refilter();this.render()}render(){var _a6,_b3,_c2,_d2;const noMatches=this.filter.totalCount>0&&this.filter.matchCount===0;if(this.pattern&&noMatches){if((_a6=this.tree.options.showNotFoundMessage)!==null&&_a6!==void 0?_a6:true){(_b3=this.widget)===null||_b3===void 0?void 0:_b3.showMessage({type:2,content:localize("not found","No elements found.")})}else{(_c2=this.widget)===null||_c2===void 0?void 0:_c2.showMessage({type:2})}}else{(_d2=this.widget)===null||_d2===void 0?void 0:_d2.clearMessage()}}shouldAllowFocus(node){if(!this.widget||!this.pattern||this._mode===TreeFindMode.Filter){return true}if(this.filter.totalCount>0&&this.filter.matchCount<=1){return true}return!FuzzyScore.isDefault(node.filterData)}layout(width){var _a6;this.width=width;(_a6=this.widget)===null||_a6===void 0?void 0:_a6.layout(width)}dispose(){this._history=void 0;this._onDidChangePattern.dispose();this.enabledDisposables.dispose();this.disposables.dispose()}};Trait2=class{get nodeSet(){if(!this._nodeSet){this._nodeSet=this.createNodeSet()}return this._nodeSet}constructor(getFirstViewElementWithTrait,identityProvider){this.getFirstViewElementWithTrait=getFirstViewElementWithTrait;this.identityProvider=identityProvider;this.nodes=[];this._onDidChange=new Emitter;this.onDidChange=this._onDidChange.event}set(nodes,browserEvent){if(!(browserEvent===null||browserEvent===void 0?void 0:browserEvent.__forceEvent)&&equals(this.nodes,nodes)){return}this._set(nodes,false,browserEvent)}_set(nodes,silent,browserEvent){this.nodes=[...nodes];this.elements=void 0;this._nodeSet=void 0;if(!silent){const that=this;this._onDidChange.fire({get elements(){return that.get()},browserEvent:browserEvent})}}get(){if(!this.elements){this.elements=this.nodes.map((node=>node.element))}return[...this.elements]}getNodes(){return this.nodes}has(node){return this.nodeSet.has(node)}onDidModelSplice({insertedNodes:insertedNodes,deletedNodes:deletedNodes}){if(!this.identityProvider){const set=this.createNodeSet();const visit=node=>set.delete(node);deletedNodes.forEach((node=>dfs(node,visit)));this.set([...set.values()]);return}const deletedNodesIdSet=new Set;const deletedNodesVisitor=node=>deletedNodesIdSet.add(this.identityProvider.getId(node.element).toString());deletedNodes.forEach((node=>dfs(node,deletedNodesVisitor)));const insertedNodesMap=new Map;const insertedNodesVisitor=node=>insertedNodesMap.set(this.identityProvider.getId(node.element).toString(),node);insertedNodes.forEach((node=>dfs(node,insertedNodesVisitor)));const nodes=[];for(const node of this.nodes){const id=this.identityProvider.getId(node.element).toString();const wasDeleted=deletedNodesIdSet.has(id);if(!wasDeleted){nodes.push(node)}else{const insertedNode=insertedNodesMap.get(id);if(insertedNode&&insertedNode.visible){nodes.push(insertedNode)}}}if(this.nodes.length>0&&nodes.length===0){const node=this.getFirstViewElementWithTrait();if(node){nodes.push(node)}}this._set(nodes,true)}createNodeSet(){const set=new Set;for(const node of this.nodes){set.add(node)}return set}};TreeNodeListMouseController=class extends MouseController{constructor(list,tree){super(list);this.tree=tree}onViewPointer(e){if(isButton(e.browserEvent.target)||isInputElement(e.browserEvent.target)||isMonacoEditor(e.browserEvent.target)){return}if(e.browserEvent.isHandledByList){return}const node=e.element;if(!node){return super.onViewPointer(e)}if(this.isSelectionRangeChangeEvent(e)||this.isSelectionSingleChangeEvent(e)){return super.onViewPointer(e)}const target=e.browserEvent.target;const onTwistie=target.classList.contains("monaco-tl-twistie")||target.classList.contains("monaco-icon-label")&&target.classList.contains("folder-icon")&&e.browserEvent.offsetX<16;let expandOnlyOnTwistieClick=false;if(typeof this.tree.expandOnlyOnTwistieClick==="function"){expandOnlyOnTwistieClick=this.tree.expandOnlyOnTwistieClick(node.element)}else{expandOnlyOnTwistieClick=!!this.tree.expandOnlyOnTwistieClick}if(expandOnlyOnTwistieClick&&!onTwistie&&e.browserEvent.detail!==2){return super.onViewPointer(e)}if(!this.tree.expandOnDoubleClick&&e.browserEvent.detail===2){return super.onViewPointer(e)}if(node.collapsible){const location=this.tree.getNodeLocation(node);const recursive=e.browserEvent.altKey;this.tree.setFocus([location]);this.tree.toggleCollapsed(location,recursive);if(expandOnlyOnTwistieClick&&onTwistie){e.browserEvent.isHandledByList=true;return}}super.onViewPointer(e)}onDoubleClick(e){const onTwistie=e.browserEvent.target.classList.contains("monaco-tl-twistie");if(onTwistie||!this.tree.expandOnDoubleClick){return}if(e.browserEvent.isHandledByList){return}super.onDoubleClick(e)}};TreeNodeList=class extends List{constructor(user,container,virtualDelegate,renderers,focusTrait,selectionTrait,anchorTrait,options2){super(user,container,virtualDelegate,renderers,options2);this.focusTrait=focusTrait;this.selectionTrait=selectionTrait;this.anchorTrait=anchorTrait}createMouseController(options2){return new TreeNodeListMouseController(this,options2.tree)}splice(start,deleteCount,elements=[]){super.splice(start,deleteCount,elements);if(elements.length===0){return}const additionalFocus=[];const additionalSelection=[];let anchor;elements.forEach(((node,index)=>{if(this.focusTrait.has(node)){additionalFocus.push(start+index)}if(this.selectionTrait.has(node)){additionalSelection.push(start+index)}if(this.anchorTrait.has(node)){anchor=start+index}}));if(additionalFocus.length>0){super.setFocus(distinct([...super.getFocus(),...additionalFocus]))}if(additionalSelection.length>0){super.setSelection(distinct([...super.getSelection(),...additionalSelection]))}if(typeof anchor==="number"){super.setAnchor(anchor)}}setFocus(indexes,browserEvent,fromAPI=false){super.setFocus(indexes,browserEvent);if(!fromAPI){this.focusTrait.set(indexes.map((i=>this.element(i))),browserEvent)}}setSelection(indexes,browserEvent,fromAPI=false){super.setSelection(indexes,browserEvent);if(!fromAPI){this.selectionTrait.set(indexes.map((i=>this.element(i))),browserEvent)}}setAnchor(index,fromAPI=false){super.setAnchor(index);if(!fromAPI){if(typeof index==="undefined"){this.anchorTrait.set([])}else{this.anchorTrait.set([this.element(index)])}}}};AbstractTree=class{get onDidScroll(){return this.view.onDidScroll}get onDidChangeFocus(){return this.eventBufferer.wrapEvent(this.focus.onDidChange)}get onDidChangeSelection(){return this.eventBufferer.wrapEvent(this.selection.onDidChange)}get onMouseDblClick(){return Event.filter(Event.map(this.view.onMouseDblClick,asTreeMouseEvent),(e=>e.target!==TreeMouseEventTarget.Filter))}get onPointer(){return Event.map(this.view.onPointer,asTreeMouseEvent)}get onDidFocus(){return this.view.onDidFocus}get onDidChangeModel(){return Event.signal(this.model.onDidSplice)}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get findMode(){var _a6,_b3;return(_b3=(_a6=this.findController)===null||_a6===void 0?void 0:_a6.mode)!==null&&_b3!==void 0?_b3:TreeFindMode.Highlight}set findMode(findMode){if(this.findController){this.findController.mode=findMode}}get findMatchType(){var _a6,_b3;return(_b3=(_a6=this.findController)===null||_a6===void 0?void 0:_a6.matchType)!==null&&_b3!==void 0?_b3:TreeFindMatchType.Fuzzy}set findMatchType(findFuzzy){if(this.findController){this.findController.matchType=findFuzzy}}get expandOnDoubleClick(){return typeof this._options.expandOnDoubleClick==="undefined"?true:this._options.expandOnDoubleClick}get expandOnlyOnTwistieClick(){return typeof this._options.expandOnlyOnTwistieClick==="undefined"?true:this._options.expandOnlyOnTwistieClick}get onDidDispose(){return this.view.onDidDispose}constructor(_user,container,delegate,renderers,_options={}){var _a6;this._user=_user;this._options=_options;this.eventBufferer=new EventBufferer;this.onDidChangeFindOpenState=Event.None;this.disposables=new DisposableStore;this._onWillRefilter=new Emitter;this.onWillRefilter=this._onWillRefilter.event;this._onDidUpdateOptions=new Emitter;const treeDelegate=new ComposedTreeDelegate(delegate);const onDidChangeCollapseStateRelay=new Relay;const onDidChangeActiveNodes=new Relay;const activeNodes=this.disposables.add(new EventCollection(onDidChangeActiveNodes.event));const renderedIndentGuides=new SetMap;this.renderers=renderers.map((r=>new TreeRenderer(r,(()=>this.model),onDidChangeCollapseStateRelay.event,activeNodes,renderedIndentGuides,_options)));for(const r of this.renderers){this.disposables.add(r)}let filter;if(_options.keyboardNavigationLabelProvider){filter=new FindFilter(this,_options.keyboardNavigationLabelProvider,_options.filter);_options=Object.assign(Object.assign({},_options),{filter:filter});this.disposables.add(filter)}this.focus=new Trait2((()=>this.view.getFocusedElements()[0]),_options.identityProvider);this.selection=new Trait2((()=>this.view.getSelectedElements()[0]),_options.identityProvider);this.anchor=new Trait2((()=>this.view.getAnchorElement()),_options.identityProvider);this.view=new TreeNodeList(_user,container,treeDelegate,this.renderers,this.focus,this.selection,this.anchor,Object.assign(Object.assign({},asListOptions((()=>this.model),_options)),{tree:this}));this.model=this.createModel(_user,this.view,_options);onDidChangeCollapseStateRelay.input=this.model.onDidChangeCollapseState;const onDidModelSplice=Event.forEach(this.model.onDidSplice,(e=>{this.eventBufferer.bufferEvents((()=>{this.focus.onDidModelSplice(e);this.selection.onDidModelSplice(e)}))}),this.disposables);onDidModelSplice((()=>null),null,this.disposables);onDidChangeActiveNodes.input=Event.chain(Event.any(onDidModelSplice,this.focus.onDidChange,this.selection.onDidChange)).debounce((()=>null),0).map((()=>{const set=new Set;for(const node of this.focus.getNodes()){set.add(node)}for(const node of this.selection.getNodes()){set.add(node)}return[...set.values()]})).event;if(_options.keyboardSupport!==false){const onKeyDown=Event.chain(this.view.onKeyDown).filter((e=>!isInputElement(e.target))).map((e=>new StandardKeyboardEvent(e)));onKeyDown.filter((e=>e.keyCode===15)).on(this.onLeftArrow,this,this.disposables);onKeyDown.filter((e=>e.keyCode===17)).on(this.onRightArrow,this,this.disposables);onKeyDown.filter((e=>e.keyCode===10)).on(this.onSpace,this,this.disposables)}if(((_a6=_options.findWidgetEnabled)!==null&&_a6!==void 0?_a6:true)&&_options.keyboardNavigationLabelProvider&&_options.contextViewProvider){const opts=this.options.findWidgetStyles?{styles:this.options.findWidgetStyles}:void 0;this.findController=new FindController(this,this.model,this.view,filter,_options.contextViewProvider,opts);this.focusNavigationFilter=node=>this.findController.shouldAllowFocus(node);this.onDidChangeFindOpenState=this.findController.onDidChangeOpenState;this.disposables.add(this.findController);this.onDidChangeFindMode=this.findController.onDidChangeMode;this.onDidChangeFindMatchType=this.findController.onDidChangeMatchType}else{this.onDidChangeFindMode=Event.None;this.onDidChangeFindMatchType=Event.None}this.styleElement=createStyleSheet(this.view.getHTMLElement());this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===RenderIndentGuides.Always)}updateOptions(optionsUpdate={}){var _a6;this._options=Object.assign(Object.assign({},this._options),optionsUpdate);for(const renderer of this.renderers){renderer.updateOptions(optionsUpdate)}this.view.updateOptions(this._options);(_a6=this.findController)===null||_a6===void 0?void 0:_a6.updateOptions(optionsUpdate);this._onDidUpdateOptions.fire(this._options);this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===RenderIndentGuides.Always)}get options(){return this._options}getHTMLElement(){return this.view.getHTMLElement()}get scrollTop(){return this.view.scrollTop}set scrollTop(scrollTop){this.view.scrollTop=scrollTop}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}domFocus(){this.view.domFocus()}layout(height,width){var _a6;this.view.layout(height,width);if(isNumber(width)){(_a6=this.findController)===null||_a6===void 0?void 0:_a6.layout(width)}}style(styles){const suffix=`.${this.view.domId}`;const content=[];if(styles.treeIndentGuidesStroke){content.push(`.monaco-list${suffix}:hover .monaco-tl-indent > .indent-guide, .monaco-list${suffix}.always .monaco-tl-indent > .indent-guide { border-color: ${styles.treeInactiveIndentGuidesStroke}; }`);content.push(`.monaco-list${suffix} .monaco-tl-indent > .indent-guide.active { border-color: ${styles.treeIndentGuidesStroke}; }`)}this.styleElement.textContent=content.join("\n");this.view.style(styles)}getParentElement(location){const parentRef=this.model.getParentNodeLocation(location);const parentNode=this.model.getNode(parentRef);return parentNode.element}getFirstElementChild(location){return this.model.getFirstElementChild(location)}getNode(location){return this.model.getNode(location)}getNodeLocation(node){return this.model.getNodeLocation(node)}collapse(location,recursive=false){return this.model.setCollapsed(location,true,recursive)}expand(location,recursive=false){return this.model.setCollapsed(location,false,recursive)}toggleCollapsed(location,recursive=false){return this.model.setCollapsed(location,void 0,recursive)}isCollapsible(location){return this.model.isCollapsible(location)}setCollapsible(location,collapsible){return this.model.setCollapsible(location,collapsible)}isCollapsed(location){return this.model.isCollapsed(location)}refilter(){this._onWillRefilter.fire(void 0);this.model.refilter()}setSelection(elements,browserEvent){const nodes=elements.map((e=>this.model.getNode(e)));this.selection.set(nodes,browserEvent);const indexes=elements.map((e=>this.model.getListIndex(e))).filter((i=>i>-1));this.view.setSelection(indexes,browserEvent,true)}getSelection(){return this.selection.get()}setFocus(elements,browserEvent){const nodes=elements.map((e=>this.model.getNode(e)));this.focus.set(nodes,browserEvent);const indexes=elements.map((e=>this.model.getListIndex(e))).filter((i=>i>-1));this.view.setFocus(indexes,browserEvent,true)}getFocus(){return this.focus.get()}reveal(location,relativeTop){this.model.expandTo(location);const index=this.model.getListIndex(location);if(index===-1){return}this.view.reveal(index,relativeTop)}onLeftArrow(e){e.preventDefault();e.stopPropagation();const nodes=this.view.getFocusedElements();if(nodes.length===0){return}const node=nodes[0];const location=this.model.getNodeLocation(node);const didChange=this.model.setCollapsed(location,true);if(!didChange){const parentLocation=this.model.getParentNodeLocation(location);if(!parentLocation){return}const parentListIndex=this.model.getListIndex(parentLocation);this.view.reveal(parentListIndex);this.view.setFocus([parentListIndex])}}onRightArrow(e){e.preventDefault();e.stopPropagation();const nodes=this.view.getFocusedElements();if(nodes.length===0){return}const node=nodes[0];const location=this.model.getNodeLocation(node);const didChange=this.model.setCollapsed(location,false);if(!didChange){if(!node.children.some((child=>child.visible))){return}const[focusedIndex]=this.view.getFocus();const firstChildIndex=focusedIndex+1;this.view.reveal(firstChildIndex);this.view.setFocus([firstChildIndex])}}onSpace(e){e.preventDefault();e.stopPropagation();const nodes=this.view.getFocusedElements();if(nodes.length===0){return}const node=nodes[0];const location=this.model.getNodeLocation(node);const recursive=e.browserEvent.altKey;this.model.setCollapsed(location,void 0,recursive)}dispose(){dispose(this.disposables);this.view.dispose()}}}});var ObjectTreeModel;var init_objectTreeModel=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTreeModel.js"(){init_indexTreeModel();init_tree();init_iterator();ObjectTreeModel=class{constructor(user,list,options2={}){this.user=user;this.rootRef=null;this.nodes=new Map;this.nodesByIdentity=new Map;this.model=new IndexTreeModel(user,list,null,options2);this.onDidSplice=this.model.onDidSplice;this.onDidChangeCollapseState=this.model.onDidChangeCollapseState;this.onDidChangeRenderNodeCount=this.model.onDidChangeRenderNodeCount;if(options2.sorter){this.sorter={compare(a,b){return options2.sorter.compare(a.element,b.element)}}}this.identityProvider=options2.identityProvider}setChildren(element,children=Iterable.empty(),options2={}){const location=this.getElementLocation(element);this._setChildren(location,this.preserveCollapseState(children),options2)}_setChildren(location,children=Iterable.empty(),options2){const insertedElements=new Set;const insertedElementIds=new Set;const onDidCreateNode=node=>{var _a6;if(node.element===null){return}const tnode=node;insertedElements.add(tnode.element);this.nodes.set(tnode.element,tnode);if(this.identityProvider){const id=this.identityProvider.getId(tnode.element).toString();insertedElementIds.add(id);this.nodesByIdentity.set(id,tnode)}(_a6=options2.onDidCreateNode)===null||_a6===void 0?void 0:_a6.call(options2,tnode)};const onDidDeleteNode=node=>{var _a6;if(node.element===null){return}const tnode=node;if(!insertedElements.has(tnode.element)){this.nodes.delete(tnode.element)}if(this.identityProvider){const id=this.identityProvider.getId(tnode.element).toString();if(!insertedElementIds.has(id)){this.nodesByIdentity.delete(id)}}(_a6=options2.onDidDeleteNode)===null||_a6===void 0?void 0:_a6.call(options2,tnode)};this.model.splice([...location,0],Number.MAX_VALUE,children,Object.assign(Object.assign({},options2),{onDidCreateNode:onDidCreateNode,onDidDeleteNode:onDidDeleteNode}))}preserveCollapseState(elements=Iterable.empty()){if(this.sorter){elements=[...elements].sort(this.sorter.compare.bind(this.sorter))}return Iterable.map(elements,(treeElement=>{let node=this.nodes.get(treeElement.element);if(!node&&this.identityProvider){const id=this.identityProvider.getId(treeElement.element).toString();node=this.nodesByIdentity.get(id)}if(!node){let collapsed2;if(typeof treeElement.collapsed==="undefined"){collapsed2=void 0}else if(treeElement.collapsed===ObjectTreeElementCollapseState.Collapsed||treeElement.collapsed===ObjectTreeElementCollapseState.PreserveOrCollapsed){collapsed2=true}else if(treeElement.collapsed===ObjectTreeElementCollapseState.Expanded||treeElement.collapsed===ObjectTreeElementCollapseState.PreserveOrExpanded){collapsed2=false}else{collapsed2=Boolean(treeElement.collapsed)}return Object.assign(Object.assign({},treeElement),{children:this.preserveCollapseState(treeElement.children),collapsed:collapsed2})}const collapsible=typeof treeElement.collapsible==="boolean"?treeElement.collapsible:node.collapsible;let collapsed;if(typeof treeElement.collapsed==="undefined"||treeElement.collapsed===ObjectTreeElementCollapseState.PreserveOrCollapsed||treeElement.collapsed===ObjectTreeElementCollapseState.PreserveOrExpanded){collapsed=node.collapsed}else if(treeElement.collapsed===ObjectTreeElementCollapseState.Collapsed){collapsed=true}else if(treeElement.collapsed===ObjectTreeElementCollapseState.Expanded){collapsed=false}else{collapsed=Boolean(treeElement.collapsed)}return Object.assign(Object.assign({},treeElement),{collapsible:collapsible,collapsed:collapsed,children:this.preserveCollapseState(treeElement.children)})}))}rerender(element){const location=this.getElementLocation(element);this.model.rerender(location)}getFirstElementChild(ref=null){const location=this.getElementLocation(ref);return this.model.getFirstElementChild(location)}has(element){return this.nodes.has(element)}getListIndex(element){const location=this.getElementLocation(element);return this.model.getListIndex(location)}getListRenderCount(element){const location=this.getElementLocation(element);return this.model.getListRenderCount(location)}isCollapsible(element){const location=this.getElementLocation(element);return this.model.isCollapsible(location)}setCollapsible(element,collapsible){const location=this.getElementLocation(element);return this.model.setCollapsible(location,collapsible)}isCollapsed(element){const location=this.getElementLocation(element);return this.model.isCollapsed(location)}setCollapsed(element,collapsed,recursive){const location=this.getElementLocation(element);return this.model.setCollapsed(location,collapsed,recursive)}expandTo(element){const location=this.getElementLocation(element);this.model.expandTo(location)}refilter(){this.model.refilter()}getNode(element=null){if(element===null){return this.model.getNode(this.model.rootRef)}const node=this.nodes.get(element);if(!node){throw new TreeError(this.user,`Tree element not found: ${element}`)}return node}getNodeLocation(node){return node.element}getParentNodeLocation(element){if(element===null){throw new TreeError(this.user,`Invalid getParentNodeLocation call`)}const node=this.nodes.get(element);if(!node){throw new TreeError(this.user,`Tree element not found: ${element}`)}const location=this.model.getNodeLocation(node);const parentLocation=this.model.getParentNodeLocation(location);const parent=this.model.getNode(parentLocation);return parent.element}getElementLocation(element){if(element===null){return[]}const node=this.nodes.get(element);if(!node){throw new TreeError(this.user,`Tree element not found: ${element}`)}return this.model.getNodeLocation(node)}}}});function noCompress(element){const elements=[element.element];const incompressible=element.incompressible||false;return{element:{elements:elements,incompressible:incompressible},children:Iterable.map(Iterable.from(element.children),noCompress),collapsible:element.collapsible,collapsed:element.collapsed}}function compress(element){const elements=[element.element];const incompressible=element.incompressible||false;let childrenIterator;let children;while(true){[children,childrenIterator]=Iterable.consume(Iterable.from(element.children),2);if(children.length!==1){break}if(children[0].incompressible){break}element=children[0];elements.push(element.element)}return{element:{elements:elements,incompressible:incompressible},children:Iterable.map(Iterable.concat(children,childrenIterator),compress),collapsible:element.collapsible,collapsed:element.collapsed}}function _decompress(element,index=0){let children;if(index<element.element.elements.length-1){children=[_decompress(element,index+1)]}else{children=Iterable.map(Iterable.from(element.children),(el=>_decompress(el,0)))}if(index===0&&element.element.incompressible){return{element:element.element.elements[index],children:children,incompressible:true,collapsible:element.collapsible,collapsed:element.collapsed}}return{element:element.element.elements[index],children:children,collapsible:element.collapsible,collapsed:element.collapsed}}function decompress(element){return _decompress(element,0)}function splice2(treeElement,element,children){if(treeElement.element===element){return Object.assign(Object.assign({},treeElement),{children:children})}return Object.assign(Object.assign({},treeElement),{children:Iterable.map(Iterable.from(treeElement.children),(e=>splice2(e,element,children)))})}function mapList(nodeMapper,list){return{splice(start,deleteCount,toInsert){list.splice(start,deleteCount,toInsert.map((node=>nodeMapper.map(node))))},updateElementHeight(index,height){list.updateElementHeight(index,height)}}}function mapOptions(compressedNodeUnwrapper,options2){return Object.assign(Object.assign({},options2),{identityProvider:options2.identityProvider&&{getId(node){return options2.identityProvider.getId(compressedNodeUnwrapper(node))}},sorter:options2.sorter&&{compare(node,otherNode){return options2.sorter.compare(node.elements[0],otherNode.elements[0])}},filter:options2.filter&&{filter(node,parentVisibility){return options2.filter.filter(compressedNodeUnwrapper(node),parentVisibility)}}})}var wrapIdentityProvider,CompressedObjectTreeModel,DefaultElementMapper,CompressedTreeNodeWrapper,CompressibleObjectTreeModel;var init_compressedObjectTreeModel=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/tree/compressedObjectTreeModel.js"(){init_objectTreeModel();init_tree();init_arrays();init_event();init_iterator();wrapIdentityProvider=base=>({getId(node){return node.elements.map((e=>base.getId(e).toString())).join("\0")}});CompressedObjectTreeModel=class{get onDidSplice(){return this.model.onDidSplice}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get onDidChangeRenderNodeCount(){return this.model.onDidChangeRenderNodeCount}constructor(user,list,options2={}){this.user=user;this.rootRef=null;this.nodes=new Map;this.model=new ObjectTreeModel(user,list,options2);this.enabled=typeof options2.compressionEnabled==="undefined"?true:options2.compressionEnabled;this.identityProvider=options2.identityProvider}setChildren(element,children=Iterable.empty(),options2){const diffIdentityProvider=options2.diffIdentityProvider&&wrapIdentityProvider(options2.diffIdentityProvider);if(element===null){const compressedChildren=Iterable.map(children,this.enabled?compress:noCompress);this._setChildren(null,compressedChildren,{diffIdentityProvider:diffIdentityProvider,diffDepth:Infinity});return}const compressedNode=this.nodes.get(element);if(!compressedNode){throw new TreeError(this.user,"Unknown compressed tree node")}const node=this.model.getNode(compressedNode);const compressedParentNode=this.model.getParentNodeLocation(compressedNode);const parent=this.model.getNode(compressedParentNode);const decompressedElement=decompress(node);const splicedElement=splice2(decompressedElement,element,children);const recompressedElement=(this.enabled?compress:noCompress)(splicedElement);const elementComparator=options2.diffIdentityProvider?(a,b)=>options2.diffIdentityProvider.getId(a)===options2.diffIdentityProvider.getId(b):void 0;if(equals(recompressedElement.element.elements,node.element.elements,elementComparator)){this._setChildren(compressedNode,recompressedElement.children||Iterable.empty(),{diffIdentityProvider:diffIdentityProvider,diffDepth:1});return}const parentChildren=parent.children.map((child=>child===node?recompressedElement:child));this._setChildren(parent.element,parentChildren,{diffIdentityProvider:diffIdentityProvider,diffDepth:node.depth-parent.depth})}setCompressionEnabled(enabled){if(enabled===this.enabled){return}this.enabled=enabled;const root=this.model.getNode();const rootChildren=root.children;const decompressedRootChildren=Iterable.map(rootChildren,decompress);const recompressedRootChildren=Iterable.map(decompressedRootChildren,enabled?compress:noCompress);this._setChildren(null,recompressedRootChildren,{diffIdentityProvider:this.identityProvider,diffDepth:Infinity})}_setChildren(node,children,options2){const insertedElements=new Set;const onDidCreateNode=node2=>{for(const element of node2.element.elements){insertedElements.add(element);this.nodes.set(element,node2.element)}};const onDidDeleteNode=node2=>{for(const element of node2.element.elements){if(!insertedElements.has(element)){this.nodes.delete(element)}}};this.model.setChildren(node,children,Object.assign(Object.assign({},options2),{onDidCreateNode:onDidCreateNode,onDidDeleteNode:onDidDeleteNode}))}has(element){return this.nodes.has(element)}getListIndex(location){const node=this.getCompressedNode(location);return this.model.getListIndex(node)}getListRenderCount(location){const node=this.getCompressedNode(location);return this.model.getListRenderCount(node)}getNode(location){if(typeof location==="undefined"){return this.model.getNode()}const node=this.getCompressedNode(location);return this.model.getNode(node)}getNodeLocation(node){const compressedNode=this.model.getNodeLocation(node);if(compressedNode===null){return null}return compressedNode.elements[compressedNode.elements.length-1]}getParentNodeLocation(location){const compressedNode=this.getCompressedNode(location);const parentNode=this.model.getParentNodeLocation(compressedNode);if(parentNode===null){return null}return parentNode.elements[parentNode.elements.length-1]}getFirstElementChild(location){const compressedNode=this.getCompressedNode(location);return this.model.getFirstElementChild(compressedNode)}isCollapsible(location){const compressedNode=this.getCompressedNode(location);return this.model.isCollapsible(compressedNode)}setCollapsible(location,collapsible){const compressedNode=this.getCompressedNode(location);return this.model.setCollapsible(compressedNode,collapsible)}isCollapsed(location){const compressedNode=this.getCompressedNode(location);return this.model.isCollapsed(compressedNode)}setCollapsed(location,collapsed,recursive){const compressedNode=this.getCompressedNode(location);return this.model.setCollapsed(compressedNode,collapsed,recursive)}expandTo(location){const compressedNode=this.getCompressedNode(location);this.model.expandTo(compressedNode)}rerender(location){const compressedNode=this.getCompressedNode(location);this.model.rerender(compressedNode)}refilter(){this.model.refilter()}getCompressedNode(element){if(element===null){return null}const node=this.nodes.get(element);if(!node){throw new TreeError(this.user,`Tree element not found: ${element}`)}return node}};DefaultElementMapper=elements=>elements[elements.length-1];CompressedTreeNodeWrapper=class{get element(){return this.node.element===null?null:this.unwrapper(this.node.element)}get children(){return this.node.children.map((node=>new CompressedTreeNodeWrapper(this.unwrapper,node)))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(unwrapper,node){this.unwrapper=unwrapper;this.node=node}};CompressibleObjectTreeModel=class{get onDidSplice(){return Event.map(this.model.onDidSplice,(({insertedNodes:insertedNodes,deletedNodes:deletedNodes})=>({insertedNodes:insertedNodes.map((node=>this.nodeMapper.map(node))),deletedNodes:deletedNodes.map((node=>this.nodeMapper.map(node)))})))}get onDidChangeCollapseState(){return Event.map(this.model.onDidChangeCollapseState,(({node:node,deep:deep})=>({node:this.nodeMapper.map(node),deep:deep})))}get onDidChangeRenderNodeCount(){return Event.map(this.model.onDidChangeRenderNodeCount,(node=>this.nodeMapper.map(node)))}constructor(user,list,options2={}){this.rootRef=null;this.elementMapper=options2.elementMapper||DefaultElementMapper;const compressedNodeUnwrapper=node=>this.elementMapper(node.elements);this.nodeMapper=new WeakMapper((node=>new CompressedTreeNodeWrapper(compressedNodeUnwrapper,node)));this.model=new CompressedObjectTreeModel(user,mapList(this.nodeMapper,list),mapOptions(compressedNodeUnwrapper,options2))}setChildren(element,children=Iterable.empty(),options2={}){this.model.setChildren(element,children,options2)}setCompressionEnabled(enabled){this.model.setCompressionEnabled(enabled)}has(location){return this.model.has(location)}getListIndex(location){return this.model.getListIndex(location)}getListRenderCount(location){return this.model.getListRenderCount(location)}getNode(location){return this.nodeMapper.map(this.model.getNode(location))}getNodeLocation(node){return node.element}getParentNodeLocation(location){return this.model.getParentNodeLocation(location)}getFirstElementChild(location){const result=this.model.getFirstElementChild(location);if(result===null||typeof result==="undefined"){return result}return this.elementMapper(result.elements)}isCollapsible(location){return this.model.isCollapsible(location)}setCollapsible(location,collapsed){return this.model.setCollapsible(location,collapsed)}isCollapsed(location){return this.model.isCollapsed(location)}setCollapsed(location,collapsed,recursive){return this.model.setCollapsed(location,collapsed,recursive)}expandTo(location){return this.model.expandTo(location)}rerender(location){return this.model.rerender(location)}refilter(){return this.model.refilter()}getCompressedTreeNode(location=null){return this.model.getNode(location)}}}});function asObjectTreeOptions(compressedTreeNodeProvider,options2){return options2&&Object.assign(Object.assign({},options2),{keyboardNavigationLabelProvider:options2.keyboardNavigationLabelProvider&&{getKeyboardNavigationLabel(e){let compressedTreeNode;try{compressedTreeNode=compressedTreeNodeProvider().getCompressedTreeNode(e)}catch(_a6){return options2.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e)}if(compressedTreeNode.element.elements.length===1){return options2.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e)}else{return options2.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(compressedTreeNode.element.elements)}}}})}var __decorate33,ObjectTree,CompressibleRenderer,CompressibleObjectTree;var init_objectTree=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/tree/objectTree.js"(){init_abstractTree();init_compressedObjectTreeModel();init_objectTreeModel();init_decorators();init_iterator();__decorate33=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};ObjectTree=class extends AbstractTree{get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}constructor(user,container,delegate,renderers,options2={}){super(user,container,delegate,renderers,options2);this.user=user}setChildren(element,children=Iterable.empty(),options2){this.model.setChildren(element,children,options2)}rerender(element){if(element===void 0){this.view.rerender();return}this.model.rerender(element)}hasElement(element){return this.model.has(element)}createModel(user,view,options2){return new ObjectTreeModel(user,view,options2)}};CompressibleRenderer=class{get compressedTreeNodeProvider(){return this._compressedTreeNodeProvider()}constructor(_compressedTreeNodeProvider,renderer){this._compressedTreeNodeProvider=_compressedTreeNodeProvider;this.renderer=renderer;this.templateId=renderer.templateId;if(renderer.onDidChangeTwistieState){this.onDidChangeTwistieState=renderer.onDidChangeTwistieState}}renderTemplate(container){const data=this.renderer.renderTemplate(container);return{compressedTreeNode:void 0,data:data}}renderElement(node,index,templateData,height){const compressedTreeNode=this.compressedTreeNodeProvider.getCompressedTreeNode(node.element);if(compressedTreeNode.element.elements.length===1){templateData.compressedTreeNode=void 0;this.renderer.renderElement(node,index,templateData.data,height)}else{templateData.compressedTreeNode=compressedTreeNode;this.renderer.renderCompressedElements(compressedTreeNode,index,templateData.data,height)}}disposeElement(node,index,templateData,height){var _a6,_b3,_c2,_d2;if(templateData.compressedTreeNode){(_b3=(_a6=this.renderer).disposeCompressedElements)===null||_b3===void 0?void 0:_b3.call(_a6,templateData.compressedTreeNode,index,templateData.data,height)}else{(_d2=(_c2=this.renderer).disposeElement)===null||_d2===void 0?void 0:_d2.call(_c2,node,index,templateData.data,height)}}disposeTemplate(templateData){this.renderer.disposeTemplate(templateData.data)}renderTwistie(element,twistieElement){if(this.renderer.renderTwistie){return this.renderer.renderTwistie(element,twistieElement)}return false}};__decorate33([memoize],CompressibleRenderer.prototype,"compressedTreeNodeProvider",null);CompressibleObjectTree=class extends ObjectTree{constructor(user,container,delegate,renderers,options2={}){const compressedTreeNodeProvider=()=>this;const compressibleRenderers=renderers.map((r=>new CompressibleRenderer(compressedTreeNodeProvider,r)));super(user,container,delegate,compressibleRenderers,asObjectTreeOptions(compressedTreeNodeProvider,options2))}setChildren(element,children=Iterable.empty(),options2){this.model.setChildren(element,children,options2)}createModel(user,view,options2){return new CompressibleObjectTreeModel(user,view,options2)}updateOptions(optionsUpdate={}){super.updateOptions(optionsUpdate);if(typeof optionsUpdate.compressionEnabled!=="undefined"){this.model.setCompressionEnabled(optionsUpdate.compressionEnabled)}}getCompressedTreeNode(element=null){return this.model.getCompressedTreeNode(element)}}}});function createAsyncDataTreeNode(props){return Object.assign(Object.assign({},props),{children:[],refreshPromise:void 0,stale:true,slow:false,collapsedByDefault:void 0})}function isAncestor2(ancestor,descendant){if(!descendant.parent){return false}else if(descendant.parent===ancestor){return true}else{return isAncestor2(ancestor,descendant.parent)}}function intersects(node,other){return node===other||isAncestor2(node,other)||isAncestor2(other,node)}function asTreeEvent(e){return{browserEvent:e.browserEvent,elements:e.elements.map((e2=>e2.element))}}function asTreeMouseEvent2(e){return{browserEvent:e.browserEvent,element:e.element&&e.element.element,target:e.target}}function asAsyncDataTreeDragAndDropData(data){if(data instanceof ElementsDragAndDropData){return new AsyncDataTreeElementsDragAndDropData(data)}return data}function asObjectTreeOptions2(options2){return options2&&Object.assign(Object.assign({},options2),{collapseByDefault:true,identityProvider:options2.identityProvider&&{getId(el){return options2.identityProvider.getId(el.element)}},dnd:options2.dnd&&new AsyncDataTreeNodeListDragAndDrop(options2.dnd),multipleSelectionController:options2.multipleSelectionController&&{isSelectionSingleChangeEvent(e){return options2.multipleSelectionController.isSelectionSingleChangeEvent(Object.assign(Object.assign({},e),{element:e.element}))},isSelectionRangeChangeEvent(e){return options2.multipleSelectionController.isSelectionRangeChangeEvent(Object.assign(Object.assign({},e),{element:e.element}))}},accessibilityProvider:options2.accessibilityProvider&&Object.assign(Object.assign({},options2.accessibilityProvider),{getPosInSet:void 0,getSetSize:void 0,getRole:options2.accessibilityProvider.getRole?el=>options2.accessibilityProvider.getRole(el.element):()=>"treeitem",isChecked:options2.accessibilityProvider.isChecked?e=>{var _a6;return!!((_a6=options2.accessibilityProvider)===null||_a6===void 0?void 0:_a6.isChecked(e.element))}:void 0,getAriaLabel(e){return options2.accessibilityProvider.getAriaLabel(e.element)},getWidgetAriaLabel(){return options2.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:options2.accessibilityProvider.getWidgetRole?()=>options2.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:options2.accessibilityProvider.getAriaLevel&&(node=>options2.accessibilityProvider.getAriaLevel(node.element)),getActiveDescendantId:options2.accessibilityProvider.getActiveDescendantId&&(node=>options2.accessibilityProvider.getActiveDescendantId(node.element))}),filter:options2.filter&&{filter(e,parentVisibility){return options2.filter.filter(e.element,parentVisibility)}},keyboardNavigationLabelProvider:options2.keyboardNavigationLabelProvider&&Object.assign(Object.assign({},options2.keyboardNavigationLabelProvider),{getKeyboardNavigationLabel(e){return options2.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e.element)}}),sorter:void 0,expandOnlyOnTwistieClick:typeof options2.expandOnlyOnTwistieClick==="undefined"?void 0:typeof options2.expandOnlyOnTwistieClick!=="function"?options2.expandOnlyOnTwistieClick:e=>options2.expandOnlyOnTwistieClick(e.element),defaultFindVisibility:e=>{if(e.hasChildren&&e.stale){return 1}else if(typeof options2.defaultFindVisibility==="number"){return options2.defaultFindVisibility}else if(typeof options2.defaultFindVisibility==="undefined"){return 2}else{return options2.defaultFindVisibility(e.element)}}})}function dfs2(node,fn){fn(node);node.children.forEach((child=>dfs2(child,fn)))}function asCompressibleObjectTreeOptions(options2){const objectTreeOptions=options2&&asObjectTreeOptions2(options2);return objectTreeOptions&&Object.assign(Object.assign({},objectTreeOptions),{keyboardNavigationLabelProvider:objectTreeOptions.keyboardNavigationLabelProvider&&Object.assign(Object.assign({},objectTreeOptions.keyboardNavigationLabelProvider),{getCompressedNodeKeyboardNavigationLabel(els){return options2.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(els.map((e=>e.element)))}})})}function getVisibility(filterResult){if(typeof filterResult==="boolean"){return filterResult?1:0}else if(isFilterResult(filterResult)){return getVisibleState(filterResult.visibility)}else{return getVisibleState(filterResult)}}var __awaiter23,AsyncDataTreeNodeWrapper,AsyncDataTreeRenderer,AsyncDataTreeElementsDragAndDropData,AsyncDataTreeNodeListDragAndDrop,AsyncDataTree,CompressibleAsyncDataTreeNodeWrapper,CompressibleAsyncDataTreeRenderer,CompressibleAsyncDataTree;var init_asyncDataTree=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/tree/asyncDataTree.js"(){init_listView();init_abstractTree();init_indexTreeModel();init_objectTree();init_tree();init_async();init_codicons();init_themables();init_errors();init_event();init_iterator();init_lifecycle();init_types();__awaiter23=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};AsyncDataTreeNodeWrapper=class{get element(){return this.node.element.element}get children(){return this.node.children.map((node=>new AsyncDataTreeNodeWrapper(node)))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(node){this.node=node}};AsyncDataTreeRenderer=class{constructor(renderer,nodeMapper,onDidChangeTwistieState){this.renderer=renderer;this.nodeMapper=nodeMapper;this.onDidChangeTwistieState=onDidChangeTwistieState;this.renderedNodes=new Map;this.templateId=renderer.templateId}renderTemplate(container){const templateData=this.renderer.renderTemplate(container);return{templateData:templateData}}renderElement(node,index,templateData,height){this.renderer.renderElement(this.nodeMapper.map(node),index,templateData.templateData,height)}renderTwistie(element,twistieElement){if(element.slow){twistieElement.classList.add(...ThemeIcon.asClassNameArray(Codicon.treeItemLoading));return true}else{twistieElement.classList.remove(...ThemeIcon.asClassNameArray(Codicon.treeItemLoading));return false}}disposeElement(node,index,templateData,height){var _a6,_b3;(_b3=(_a6=this.renderer).disposeElement)===null||_b3===void 0?void 0:_b3.call(_a6,this.nodeMapper.map(node),index,templateData.templateData,height)}disposeTemplate(templateData){this.renderer.disposeTemplate(templateData.templateData)}dispose(){this.renderedNodes.clear()}};AsyncDataTreeElementsDragAndDropData=class extends ElementsDragAndDropData{constructor(data){super(data.elements.map((node=>node.element)));this.data=data}};AsyncDataTreeNodeListDragAndDrop=class{constructor(dnd){this.dnd=dnd}getDragURI(node){return this.dnd.getDragURI(node.element)}getDragLabel(nodes,originalEvent){if(this.dnd.getDragLabel){return this.dnd.getDragLabel(nodes.map((node=>node.element)),originalEvent)}return void 0}onDragStart(data,originalEvent){var _a6,_b3;(_b3=(_a6=this.dnd).onDragStart)===null||_b3===void 0?void 0:_b3.call(_a6,asAsyncDataTreeDragAndDropData(data),originalEvent)}onDragOver(data,targetNode,targetIndex,originalEvent,raw=true){return this.dnd.onDragOver(asAsyncDataTreeDragAndDropData(data),targetNode&&targetNode.element,targetIndex,originalEvent)}drop(data,targetNode,targetIndex,originalEvent){this.dnd.drop(asAsyncDataTreeDragAndDropData(data),targetNode&&targetNode.element,targetIndex,originalEvent)}onDragEnd(originalEvent){var _a6,_b3;(_b3=(_a6=this.dnd).onDragEnd)===null||_b3===void 0?void 0:_b3.call(_a6,originalEvent)}};AsyncDataTree=class{get onDidScroll(){return this.tree.onDidScroll}get onDidChangeFocus(){return Event.map(this.tree.onDidChangeFocus,asTreeEvent)}get onDidChangeSelection(){return Event.map(this.tree.onDidChangeSelection,asTreeEvent)}get onMouseDblClick(){return Event.map(this.tree.onMouseDblClick,asTreeMouseEvent2)}get onPointer(){return Event.map(this.tree.onPointer,asTreeMouseEvent2)}get onDidFocus(){return this.tree.onDidFocus}get onDidChangeModel(){return this.tree.onDidChangeModel}get onDidChangeCollapseState(){return this.tree.onDidChangeCollapseState}get onDidChangeFindOpenState(){return this.tree.onDidChangeFindOpenState}get onDidDispose(){return this.tree.onDidDispose}constructor(user,container,delegate,renderers,dataSource,options2={}){this.user=user;this.dataSource=dataSource;this.nodes=new Map;this.subTreeRefreshPromises=new Map;this.refreshPromises=new Map;this._onDidRender=new Emitter;this._onDidChangeNodeSlowState=new Emitter;this.nodeMapper=new WeakMapper((node=>new AsyncDataTreeNodeWrapper(node)));this.disposables=new DisposableStore;this.identityProvider=options2.identityProvider;this.autoExpandSingleChildren=typeof options2.autoExpandSingleChildren==="undefined"?false:options2.autoExpandSingleChildren;this.sorter=options2.sorter;this.collapseByDefault=options2.collapseByDefault;this.tree=this.createTree(user,container,delegate,renderers,options2);this.onDidChangeFindMode=this.tree.onDidChangeFindMode;this.root=createAsyncDataTreeNode({element:void 0,parent:null,hasChildren:true});if(this.identityProvider){this.root=Object.assign(Object.assign({},this.root),{id:null})}this.nodes.set(null,this.root);this.tree.onDidChangeCollapseState(this._onDidChangeCollapseState,this,this.disposables)}createTree(user,container,delegate,renderers,options2){const objectTreeDelegate=new ComposedTreeDelegate(delegate);const objectTreeRenderers=renderers.map((r=>new AsyncDataTreeRenderer(r,this.nodeMapper,this._onDidChangeNodeSlowState.event)));const objectTreeOptions=asObjectTreeOptions2(options2)||{};return new ObjectTree(user,container,objectTreeDelegate,objectTreeRenderers,objectTreeOptions)}updateOptions(options2={}){this.tree.updateOptions(options2)}getHTMLElement(){return this.tree.getHTMLElement()}get scrollTop(){return this.tree.scrollTop}set scrollTop(scrollTop){this.tree.scrollTop=scrollTop}get scrollHeight(){return this.tree.scrollHeight}get renderHeight(){return this.tree.renderHeight}domFocus(){this.tree.domFocus()}layout(height,width){this.tree.layout(height,width)}style(styles){this.tree.style(styles)}getInput(){return this.root.element}setInput(input,viewState){return __awaiter23(this,void 0,void 0,(function*(){this.refreshPromises.forEach((promise=>promise.cancel()));this.refreshPromises.clear();this.root.element=input;const viewStateContext=viewState&&{viewState:viewState,focus:[],selection:[]};yield this._updateChildren(input,true,false,viewStateContext);if(viewStateContext){this.tree.setFocus(viewStateContext.focus);this.tree.setSelection(viewStateContext.selection)}if(viewState&&typeof viewState.scrollTop==="number"){this.scrollTop=viewState.scrollTop}}))}_updateChildren(element=this.root.element,recursive=true,rerender=false,viewStateContext,options2){return __awaiter23(this,void 0,void 0,(function*(){if(typeof this.root.element==="undefined"){throw new TreeError(this.user,"Tree input not set")}if(this.root.refreshPromise){yield this.root.refreshPromise;yield Event.toPromise(this._onDidRender.event)}const node=this.getDataNode(element);yield this.refreshAndRenderNode(node,recursive,viewStateContext,options2);if(rerender){try{this.tree.rerender(node)}catch(_a6){}}}))}rerender(element){if(element===void 0||element===this.root.element){this.tree.rerender();return}const node=this.getDataNode(element);this.tree.rerender(node)}getNode(element=this.root.element){const dataNode=this.getDataNode(element);const node=this.tree.getNode(dataNode===this.root?null:dataNode);return this.nodeMapper.map(node)}collapse(element,recursive=false){const node=this.getDataNode(element);return this.tree.collapse(node===this.root?null:node,recursive)}expand(element,recursive=false){return __awaiter23(this,void 0,void 0,(function*(){if(typeof this.root.element==="undefined"){throw new TreeError(this.user,"Tree input not set")}if(this.root.refreshPromise){yield this.root.refreshPromise;yield Event.toPromise(this._onDidRender.event)}const node=this.getDataNode(element);if(this.tree.hasElement(node)&&!this.tree.isCollapsible(node)){return false}if(node.refreshPromise){yield this.root.refreshPromise;yield Event.toPromise(this._onDidRender.event)}if(node!==this.root&&!node.refreshPromise&&!this.tree.isCollapsed(node)){return false}const result=this.tree.expand(node===this.root?null:node,recursive);if(node.refreshPromise){yield this.root.refreshPromise;yield Event.toPromise(this._onDidRender.event)}return result}))}setSelection(elements,browserEvent){const nodes=elements.map((e=>this.getDataNode(e)));this.tree.setSelection(nodes,browserEvent)}getSelection(){const nodes=this.tree.getSelection();return nodes.map((n=>n.element))}setFocus(elements,browserEvent){const nodes=elements.map((e=>this.getDataNode(e)));this.tree.setFocus(nodes,browserEvent)}getFocus(){const nodes=this.tree.getFocus();return nodes.map((n=>n.element))}reveal(element,relativeTop){this.tree.reveal(this.getDataNode(element),relativeTop)}getParentElement(element){const node=this.tree.getParentElement(this.getDataNode(element));return node&&node.element}getFirstElementChild(element=this.root.element){const dataNode=this.getDataNode(element);const node=this.tree.getFirstElementChild(dataNode===this.root?null:dataNode);return node&&node.element}getDataNode(element){const node=this.nodes.get(element===this.root.element?null:element);if(!node){throw new TreeError(this.user,`Data tree node not found: ${element}`)}return node}refreshAndRenderNode(node,recursive,viewStateContext,options2){return __awaiter23(this,void 0,void 0,(function*(){yield this.refreshNode(node,recursive,viewStateContext);this.render(node,viewStateContext,options2)}))}refreshNode(node,recursive,viewStateContext){return __awaiter23(this,void 0,void 0,(function*(){let result;this.subTreeRefreshPromises.forEach(((refreshPromise,refreshNode)=>{if(!result&&intersects(refreshNode,node)){result=refreshPromise.then((()=>this.refreshNode(node,recursive,viewStateContext)))}}));if(result){return result}if(node!==this.root){const treeNode=this.tree.getNode(node);if(treeNode.collapsed){node.hasChildren=!!this.dataSource.hasChildren(node.element);node.stale=true;return}}return this.doRefreshSubTree(node,recursive,viewStateContext)}))}doRefreshSubTree(node,recursive,viewStateContext){return __awaiter23(this,void 0,void 0,(function*(){let done;node.refreshPromise=new Promise((c=>done=c));this.subTreeRefreshPromises.set(node,node.refreshPromise);node.refreshPromise.finally((()=>{node.refreshPromise=void 0;this.subTreeRefreshPromises.delete(node)}));try{const childrenToRefresh=yield this.doRefreshNode(node,recursive,viewStateContext);node.stale=false;yield Promises.settled(childrenToRefresh.map((child=>this.doRefreshSubTree(child,recursive,viewStateContext))))}finally{done()}}))}doRefreshNode(node,recursive,viewStateContext){return __awaiter23(this,void 0,void 0,(function*(){node.hasChildren=!!this.dataSource.hasChildren(node.element);let childrenPromise;if(!node.hasChildren){childrenPromise=Promise.resolve(Iterable.empty())}else{const children=this.doGetChildren(node);if(isIterable(children)){childrenPromise=Promise.resolve(children)}else{const slowTimeout=timeout(800);slowTimeout.then((()=>{node.slow=true;this._onDidChangeNodeSlowState.fire(node)}),(_=>null));childrenPromise=children.finally((()=>slowTimeout.cancel()))}}try{const children=yield childrenPromise;return this.setChildren(node,children,recursive,viewStateContext)}catch(err){if(node!==this.root&&this.tree.hasElement(node)){this.tree.collapse(node)}if(isCancellationError(err)){return[]}throw err}finally{if(node.slow){node.slow=false;this._onDidChangeNodeSlowState.fire(node)}}}))}doGetChildren(node){let result=this.refreshPromises.get(node);if(result){return result}const children=this.dataSource.getChildren(node.element);if(isIterable(children)){return this.processChildren(children)}else{result=createCancelablePromise((()=>__awaiter23(this,void 0,void 0,(function*(){return this.processChildren(yield children)}))));this.refreshPromises.set(node,result);return result.finally((()=>{this.refreshPromises.delete(node)}))}}_onDidChangeCollapseState({node:node,deep:deep}){if(node.element===null){return}if(!node.collapsed&&node.element.stale){if(deep){this.collapse(node.element.element)}else{this.refreshAndRenderNode(node.element,false).catch(onUnexpectedError)}}}setChildren(node,childrenElementsIterable,recursive,viewStateContext){const childrenElements=[...childrenElementsIterable];if(node.children.length===0&&childrenElements.length===0){return[]}const nodesToForget=new Map;const childrenTreeNodesById=new Map;for(const child of node.children){nodesToForget.set(child.element,child);if(this.identityProvider){const collapsed=this.tree.isCollapsed(child);childrenTreeNodesById.set(child.id,{node:child,collapsed:collapsed})}}const childrenToRefresh=[];const children=childrenElements.map((element=>{const hasChildren=!!this.dataSource.hasChildren(element);if(!this.identityProvider){const asyncDataTreeNode=createAsyncDataTreeNode({element:element,parent:node,hasChildren:hasChildren});if(hasChildren&&this.collapseByDefault&&!this.collapseByDefault(element)){asyncDataTreeNode.collapsedByDefault=false;childrenToRefresh.push(asyncDataTreeNode)}return asyncDataTreeNode}const id=this.identityProvider.getId(element).toString();const result=childrenTreeNodesById.get(id);if(result){const asyncDataTreeNode=result.node;nodesToForget.delete(asyncDataTreeNode.element);this.nodes.delete(asyncDataTreeNode.element);this.nodes.set(element,asyncDataTreeNode);asyncDataTreeNode.element=element;asyncDataTreeNode.hasChildren=hasChildren;if(recursive){if(result.collapsed){asyncDataTreeNode.children.forEach((node2=>dfs2(node2,(node3=>this.nodes.delete(node3.element)))));asyncDataTreeNode.children.splice(0,asyncDataTreeNode.children.length);asyncDataTreeNode.stale=true}else{childrenToRefresh.push(asyncDataTreeNode)}}else if(hasChildren&&this.collapseByDefault&&!this.collapseByDefault(element)){asyncDataTreeNode.collapsedByDefault=false;childrenToRefresh.push(asyncDataTreeNode)}return asyncDataTreeNode}const childAsyncDataTreeNode=createAsyncDataTreeNode({element:element,parent:node,id:id,hasChildren:hasChildren});if(viewStateContext&&viewStateContext.viewState.focus&&viewStateContext.viewState.focus.indexOf(id)>-1){viewStateContext.focus.push(childAsyncDataTreeNode)}if(viewStateContext&&viewStateContext.viewState.selection&&viewStateContext.viewState.selection.indexOf(id)>-1){viewStateContext.selection.push(childAsyncDataTreeNode)}if(viewStateContext&&viewStateContext.viewState.expanded&&viewStateContext.viewState.expanded.indexOf(id)>-1){childrenToRefresh.push(childAsyncDataTreeNode)}else if(hasChildren&&this.collapseByDefault&&!this.collapseByDefault(element)){childAsyncDataTreeNode.collapsedByDefault=false;childrenToRefresh.push(childAsyncDataTreeNode)}return childAsyncDataTreeNode}));for(const node2 of nodesToForget.values()){dfs2(node2,(node3=>this.nodes.delete(node3.element)))}for(const child of children){this.nodes.set(child.element,child)}node.children.splice(0,node.children.length,...children);if(node!==this.root&&this.autoExpandSingleChildren&&children.length===1&&childrenToRefresh.length===0){children[0].collapsedByDefault=false;childrenToRefresh.push(children[0])}return childrenToRefresh}render(node,viewStateContext,options2){const children=node.children.map((node2=>this.asTreeElement(node2,viewStateContext)));const objectTreeOptions=options2&&Object.assign(Object.assign({},options2),{diffIdentityProvider:options2.diffIdentityProvider&&{getId(node2){return options2.diffIdentityProvider.getId(node2.element)}}});this.tree.setChildren(node===this.root?null:node,children,objectTreeOptions);if(node!==this.root){this.tree.setCollapsible(node,node.hasChildren)}this._onDidRender.fire()}asTreeElement(node,viewStateContext){if(node.stale){return{element:node,collapsible:node.hasChildren,collapsed:true}}let collapsed;if(viewStateContext&&viewStateContext.viewState.expanded&&node.id&&viewStateContext.viewState.expanded.indexOf(node.id)>-1){collapsed=false}else{collapsed=node.collapsedByDefault}node.collapsedByDefault=void 0;return{element:node,children:node.hasChildren?Iterable.map(node.children,(child=>this.asTreeElement(child,viewStateContext))):[],collapsible:node.hasChildren,collapsed:collapsed}}processChildren(children){if(this.sorter){children=[...children].sort(this.sorter.compare.bind(this.sorter))}return children}dispose(){this.disposables.dispose()}};CompressibleAsyncDataTreeNodeWrapper=class{get element(){return{elements:this.node.element.elements.map((e=>e.element)),incompressible:this.node.element.incompressible}}get children(){return this.node.children.map((node=>new CompressibleAsyncDataTreeNodeWrapper(node)))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(node){this.node=node}};CompressibleAsyncDataTreeRenderer=class{constructor(renderer,nodeMapper,compressibleNodeMapperProvider,onDidChangeTwistieState){this.renderer=renderer;this.nodeMapper=nodeMapper;this.compressibleNodeMapperProvider=compressibleNodeMapperProvider;this.onDidChangeTwistieState=onDidChangeTwistieState;this.renderedNodes=new Map;this.disposables=[];this.templateId=renderer.templateId}renderTemplate(container){const templateData=this.renderer.renderTemplate(container);return{templateData:templateData}}renderElement(node,index,templateData,height){this.renderer.renderElement(this.nodeMapper.map(node),index,templateData.templateData,height)}renderCompressedElements(node,index,templateData,height){this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(node),index,templateData.templateData,height)}renderTwistie(element,twistieElement){if(element.slow){twistieElement.classList.add(...ThemeIcon.asClassNameArray(Codicon.treeItemLoading));return true}else{twistieElement.classList.remove(...ThemeIcon.asClassNameArray(Codicon.treeItemLoading));return false}}disposeElement(node,index,templateData,height){var _a6,_b3;(_b3=(_a6=this.renderer).disposeElement)===null||_b3===void 0?void 0:_b3.call(_a6,this.nodeMapper.map(node),index,templateData.templateData,height)}disposeCompressedElements(node,index,templateData,height){var _a6,_b3;(_b3=(_a6=this.renderer).disposeCompressedElements)===null||_b3===void 0?void 0:_b3.call(_a6,this.compressibleNodeMapperProvider().map(node),index,templateData.templateData,height)}disposeTemplate(templateData){this.renderer.disposeTemplate(templateData.templateData)}dispose(){this.renderedNodes.clear();this.disposables=dispose(this.disposables)}};CompressibleAsyncDataTree=class extends AsyncDataTree{constructor(user,container,virtualDelegate,compressionDelegate,renderers,dataSource,options2={}){super(user,container,virtualDelegate,renderers,dataSource,options2);this.compressionDelegate=compressionDelegate;this.compressibleNodeMapper=new WeakMapper((node=>new CompressibleAsyncDataTreeNodeWrapper(node)));this.filter=options2.filter}createTree(user,container,delegate,renderers,options2){const objectTreeDelegate=new ComposedTreeDelegate(delegate);const objectTreeRenderers=renderers.map((r=>new CompressibleAsyncDataTreeRenderer(r,this.nodeMapper,(()=>this.compressibleNodeMapper),this._onDidChangeNodeSlowState.event)));const objectTreeOptions=asCompressibleObjectTreeOptions(options2)||{};return new CompressibleObjectTree(user,container,objectTreeDelegate,objectTreeRenderers,objectTreeOptions)}asTreeElement(node,viewStateContext){return Object.assign({incompressible:this.compressionDelegate.isIncompressible(node.element)},super.asTreeElement(node,viewStateContext))}updateOptions(options2={}){this.tree.updateOptions(options2)}render(node,viewStateContext){if(!this.identityProvider){return super.render(node,viewStateContext)}const getId=element=>this.identityProvider.getId(element).toString();const getUncompressedIds=nodes=>{const result=new Set;for(const node2 of nodes){const compressedNode=this.tree.getCompressedTreeNode(node2===this.root?null:node2);if(!compressedNode.element){continue}for(const node3 of compressedNode.element.elements){result.add(getId(node3.element))}}return result};const oldSelection=getUncompressedIds(this.tree.getSelection());const oldFocus=getUncompressedIds(this.tree.getFocus());super.render(node,viewStateContext);const selection=this.getSelection();let didChangeSelection=false;const focus=this.getFocus();let didChangeFocus=false;const visit=node2=>{const compressedNode=node2.element;if(compressedNode){for(let i=0;i<compressedNode.elements.length;i++){const id=getId(compressedNode.elements[i].element);const element=compressedNode.elements[compressedNode.elements.length-1].element;if(oldSelection.has(id)&&selection.indexOf(element)===-1){selection.push(element);didChangeSelection=true}if(oldFocus.has(id)&&focus.indexOf(element)===-1){focus.push(element);didChangeFocus=true}}}node2.children.forEach(visit)};visit(this.tree.getCompressedTreeNode(node===this.root?null:node));if(didChangeSelection){this.setSelection(selection)}if(didChangeFocus){this.setFocus(focus)}}processChildren(children){if(this.filter){children=Iterable.filter(children,(e=>{const result=this.filter.filter(e,1);const visibility=getVisibility(result);if(visibility===2){throw new Error("Recursive tree visibility not supported in async data compressed trees")}return visibility===1}))}return super.processChildren(children)}}}});var DataTree;var init_dataTree=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/tree/dataTree.js"(){init_abstractTree();init_objectTreeModel();DataTree=class extends AbstractTree{constructor(user,container,delegate,renderers,dataSource,options2={}){super(user,container,delegate,renderers,options2);this.user=user;this.dataSource=dataSource;this.identityProvider=options2.identityProvider}createModel(user,view,options2){return new ObjectTreeModel(user,view,options2)}}}});var IsMacContext,IsLinuxContext,IsWindowsContext,IsWebContext,IsMacNativeContext,IsIOSContext,IsMobileContext,IsDevelopmentContext,ProductQualityContext,InputFocusedContextKey,InputFocusedContext;var init_contextkeys=__esm({"node_modules/monaco-editor/esm/vs/platform/contextkey/common/contextkeys.js"(){init_platform();init_nls();init_contextkey();IsMacContext=new RawContextKey("isMac",isMacintosh,localize("isMac","Whether the operating system is macOS"));IsLinuxContext=new RawContextKey("isLinux",isLinux,localize("isLinux","Whether the operating system is Linux"));IsWindowsContext=new RawContextKey("isWindows",isWindows,localize("isWindows","Whether the operating system is Windows"));IsWebContext=new RawContextKey("isWeb",isWeb,localize("isWeb","Whether the platform is a web browser"));IsMacNativeContext=new RawContextKey("isMacNative",isMacintosh&&!isWeb,localize("isMacNative","Whether the operating system is macOS on a non-browser platform"));IsIOSContext=new RawContextKey("isIOS",isIOS,localize("isIOS","Whether the operating system is iOS"));IsMobileContext=new RawContextKey("isMobile",isMobile,localize("isMobile","Whether the platform is a mobile web browser"));IsDevelopmentContext=new RawContextKey("isDevelopment",false,true);ProductQualityContext=new RawContextKey("productQualityType","",localize("productQualityType","Quality type of VS Code"));InputFocusedContextKey="inputFocus";InputFocusedContext=new RawContextKey(InputFocusedContextKey,false,localize("inputFocus","Whether keyboard focus is inside an input box"))}});function createScopedContextKeyService(contextKeyService,widget){const result=contextKeyService.createScoped(widget.getHTMLElement());RawWorkbenchListFocusContextKey.bindTo(result);return result}function createScrollObserver(contextKeyService,widget){const listScrollAt=RawWorkbenchListScrollAtBoundaryContextKey.bindTo(contextKeyService);const update=()=>{const atTop=widget.scrollTop===0;const atBottom=widget.scrollHeight-widget.renderHeight-widget.scrollTop<1;if(atTop&&atBottom){listScrollAt.set("both")}else if(atTop){listScrollAt.set("top")}else if(atBottom){listScrollAt.set("bottom")}else{listScrollAt.set("none")}};update();return widget.onDidScroll(update)}function useAltAsMultipleSelectionModifier(configurationService){return configurationService.getValue(multiSelectModifierSettingKey)==="alt"}function toWorkbenchListOptions(accessor,options2){var _a6;const configurationService=accessor.get(IConfigurationService);const keybindingService=accessor.get(IKeybindingService);const disposables=new DisposableStore;const result=Object.assign(Object.assign({},options2),{keyboardNavigationDelegate:{mightProducePrintableCharacter(e){return keybindingService.mightProducePrintableCharacter(e)}},smoothScrolling:Boolean(configurationService.getValue(listSmoothScrolling)),mouseWheelScrollSensitivity:configurationService.getValue(mouseWheelScrollSensitivityKey),fastScrollSensitivity:configurationService.getValue(fastScrollSensitivityKey),multipleSelectionController:(_a6=options2.multipleSelectionController)!==null&&_a6!==void 0?_a6:disposables.add(new MultipleSelectionController(configurationService)),keyboardNavigationEventFilter:createKeyboardNavigationEventFilter(keybindingService),scrollByPage:Boolean(configurationService.getValue(scrollByPageKey))});return[result,disposables]}function createKeyboardNavigationEventFilter(keybindingService){let inMultiChord=false;return event=>{if(event.toKeyCodeChord().isModifierKey()){return false}if(inMultiChord){inMultiChord=false;return false}const result=keybindingService.softDispatch(event,event.target);if(result.kind===1){inMultiChord=true;return false}inMultiChord=false;return result.kind===0}}function getDefaultTreeFindMode(configurationService){const value=configurationService.getValue(defaultFindModeSettingKey);if(value==="highlight"){return TreeFindMode.Highlight}else if(value==="filter"){return TreeFindMode.Filter}const deprecatedValue=configurationService.getValue(keyboardNavigationSettingKey);if(deprecatedValue==="simple"||deprecatedValue==="highlight"){return TreeFindMode.Highlight}else if(deprecatedValue==="filter"){return TreeFindMode.Filter}return void 0}function getDefaultTreeFindMatchType(configurationService){const value=configurationService.getValue(defaultFindMatchTypeSettingKey);if(value==="fuzzy"){return TreeFindMatchType.Fuzzy}else if(value==="contiguous"){return TreeFindMatchType.Contiguous}return void 0}function workbenchTreeDataPreamble(accessor,options2){var _a6;const configurationService=accessor.get(IConfigurationService);const contextViewService=accessor.get(IContextViewService);const contextKeyService=accessor.get(IContextKeyService);const instantiationService=accessor.get(IInstantiationService);const getTypeNavigationMode=()=>{const modeString=contextKeyService.getContextKeyValue(WorkbenchListTypeNavigationModeKey);if(modeString==="automatic"){return TypeNavigationMode.Automatic}else if(modeString==="trigger"){return TypeNavigationMode.Trigger}const modeBoolean=contextKeyService.getContextKeyValue(WorkbenchListAutomaticKeyboardNavigationLegacyKey);if(modeBoolean===false){return TypeNavigationMode.Trigger}const configString=configurationService.getValue(typeNavigationModeSettingKey);if(configString==="automatic"){return TypeNavigationMode.Automatic}else if(configString==="trigger"){return TypeNavigationMode.Trigger}return void 0};const horizontalScrolling=options2.horizontalScrolling!==void 0?options2.horizontalScrolling:Boolean(configurationService.getValue(horizontalScrollingKey));const[workbenchListOptions,disposable]=instantiationService.invokeFunction(toWorkbenchListOptions,options2);const paddingBottom=options2.paddingBottom;const renderIndentGuides=options2.renderIndentGuides!==void 0?options2.renderIndentGuides:configurationService.getValue(treeRenderIndentGuidesKey);return{getTypeNavigationMode:getTypeNavigationMode,disposable:disposable,options:Object.assign(Object.assign({keyboardSupport:false},workbenchListOptions),{indent:typeof configurationService.getValue(treeIndentKey)==="number"?configurationService.getValue(treeIndentKey):void 0,renderIndentGuides:renderIndentGuides,smoothScrolling:Boolean(configurationService.getValue(listSmoothScrolling)),defaultFindMode:getDefaultTreeFindMode(configurationService),defaultFindMatchType:getDefaultTreeFindMatchType(configurationService),horizontalScrolling:horizontalScrolling,scrollByPage:Boolean(configurationService.getValue(scrollByPageKey)),paddingBottom:paddingBottom,hideTwistiesOfChildlessElements:options2.hideTwistiesOfChildlessElements,expandOnlyOnTwistieClick:(_a6=options2.expandOnlyOnTwistieClick)!==null&&_a6!==void 0?_a6:configurationService.getValue(treeExpandMode)==="doubleClick",contextViewProvider:contextViewService,findWidgetStyles:defaultFindWidgetStyles})}}var __decorate34,__param29,IListService,ListService,RawWorkbenchListScrollAtBoundaryContextKey,WorkbenchListScrollAtTopContextKey,WorkbenchListScrollAtBottomContextKey,RawWorkbenchListFocusContextKey,WorkbenchListSupportsMultiSelectContextKey,WorkbenchListFocusContextKey,WorkbenchListHasSelectionOrFocus,WorkbenchListDoubleSelection,WorkbenchListMultiSelection,WorkbenchListSelectionNavigation,WorkbenchListSupportsFind,WorkbenchTreeElementCanCollapse,WorkbenchTreeElementHasParent,WorkbenchTreeElementCanExpand,WorkbenchTreeElementHasChild,WorkbenchTreeFindOpen,WorkbenchListTypeNavigationModeKey,WorkbenchListAutomaticKeyboardNavigationLegacyKey,multiSelectModifierSettingKey,openModeSettingKey,horizontalScrollingKey,defaultFindModeSettingKey,typeNavigationModeSettingKey,keyboardNavigationSettingKey,scrollByPageKey,defaultFindMatchTypeSettingKey,treeIndentKey,treeRenderIndentGuidesKey,listSmoothScrolling,mouseWheelScrollSensitivityKey,fastScrollSensitivityKey,treeExpandMode,MultipleSelectionController,WorkbenchList,WorkbenchPagedList,WorkbenchTable,ResourceNavigator,ListResourceNavigator,TableResourceNavigator,TreeResourceNavigator,WorkbenchObjectTree,WorkbenchCompressibleObjectTree,WorkbenchDataTree,WorkbenchAsyncDataTree,WorkbenchCompressibleAsyncDataTree,WorkbenchTreeInternals,configurationRegistry3;var init_listService=__esm({"node_modules/monaco-editor/esm/vs/platform/list/browser/listService.js"(){init_dom();init_listPaging();init_listWidget();init_tableWidget();init_abstractTree();init_asyncDataTree();init_dataTree();init_objectTree();init_event();init_lifecycle();init_nls();init_configuration();init_configurationRegistry();init_contextkey();init_contextkeys();init_contextView();init_instantiation();init_keybinding();init_platform2();init_defaultStyles();__decorate34=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param29=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};IListService=createDecorator("listService");ListService=class{get lastFocusedList(){return this._lastFocusedWidget}constructor(){this.disposables=new DisposableStore;this.lists=[];this._lastFocusedWidget=void 0;this._hasCreatedStyleController=false}setLastFocusedList(widget){var _a6,_b3;if(widget===this._lastFocusedWidget){return}(_a6=this._lastFocusedWidget)===null||_a6===void 0?void 0:_a6.getHTMLElement().classList.remove("last-focused");this._lastFocusedWidget=widget;(_b3=this._lastFocusedWidget)===null||_b3===void 0?void 0:_b3.getHTMLElement().classList.add("last-focused")}register(widget,extraContextKeys){if(!this._hasCreatedStyleController){this._hasCreatedStyleController=true;const styleController=new DefaultStyleController(createStyleSheet(),"");styleController.style(defaultListStyles)}if(this.lists.some((l=>l.widget===widget))){throw new Error("Cannot register the same widget multiple times")}const registeredList={widget:widget,extraContextKeys:extraContextKeys};this.lists.push(registeredList);if(widget.getHTMLElement()===document.activeElement){this.setLastFocusedList(widget)}return combinedDisposable(widget.onDidFocus((()=>this.setLastFocusedList(widget))),toDisposable((()=>this.lists.splice(this.lists.indexOf(registeredList),1))),widget.onDidDispose((()=>{this.lists=this.lists.filter((l=>l!==registeredList));if(this._lastFocusedWidget===widget){this.setLastFocusedList(void 0)}})))}dispose(){this.disposables.dispose()}};RawWorkbenchListScrollAtBoundaryContextKey=new RawContextKey("listScrollAtBoundary","none");WorkbenchListScrollAtTopContextKey=ContextKeyExpr.or(RawWorkbenchListScrollAtBoundaryContextKey.isEqualTo("top"),RawWorkbenchListScrollAtBoundaryContextKey.isEqualTo("both"));WorkbenchListScrollAtBottomContextKey=ContextKeyExpr.or(RawWorkbenchListScrollAtBoundaryContextKey.isEqualTo("bottom"),RawWorkbenchListScrollAtBoundaryContextKey.isEqualTo("both"));RawWorkbenchListFocusContextKey=new RawContextKey("listFocus",true);WorkbenchListSupportsMultiSelectContextKey=new RawContextKey("listSupportsMultiselect",true);WorkbenchListFocusContextKey=ContextKeyExpr.and(RawWorkbenchListFocusContextKey,ContextKeyExpr.not(InputFocusedContextKey));WorkbenchListHasSelectionOrFocus=new RawContextKey("listHasSelectionOrFocus",false);WorkbenchListDoubleSelection=new RawContextKey("listDoubleSelection",false);WorkbenchListMultiSelection=new RawContextKey("listMultiSelection",false);WorkbenchListSelectionNavigation=new RawContextKey("listSelectionNavigation",false);WorkbenchListSupportsFind=new RawContextKey("listSupportsFind",true);WorkbenchTreeElementCanCollapse=new RawContextKey("treeElementCanCollapse",false);WorkbenchTreeElementHasParent=new RawContextKey("treeElementHasParent",false);WorkbenchTreeElementCanExpand=new RawContextKey("treeElementCanExpand",false);WorkbenchTreeElementHasChild=new RawContextKey("treeElementHasChild",false);WorkbenchTreeFindOpen=new RawContextKey("treeFindOpen",false);WorkbenchListTypeNavigationModeKey="listTypeNavigationMode";WorkbenchListAutomaticKeyboardNavigationLegacyKey="listAutomaticKeyboardNavigation";multiSelectModifierSettingKey="workbench.list.multiSelectModifier";openModeSettingKey="workbench.list.openMode";horizontalScrollingKey="workbench.list.horizontalScrolling";defaultFindModeSettingKey="workbench.list.defaultFindMode";typeNavigationModeSettingKey="workbench.list.typeNavigationMode";keyboardNavigationSettingKey="workbench.list.keyboardNavigation";scrollByPageKey="workbench.list.scrollByPage";defaultFindMatchTypeSettingKey="workbench.list.defaultFindMatchType";treeIndentKey="workbench.tree.indent";treeRenderIndentGuidesKey="workbench.tree.renderIndentGuides";listSmoothScrolling="workbench.list.smoothScrolling";mouseWheelScrollSensitivityKey="workbench.list.mouseWheelScrollSensitivity";fastScrollSensitivityKey="workbench.list.fastScrollSensitivity";treeExpandMode="workbench.tree.expandMode";MultipleSelectionController=class extends Disposable{constructor(configurationService){super();this.configurationService=configurationService;this.useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(configurationService);this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration((e=>{if(e.affectsConfiguration(multiSelectModifierSettingKey)){this.useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(this.configurationService)}})))}isSelectionSingleChangeEvent(event){if(this.useAltAsMultipleSelectionModifier){return event.browserEvent.altKey}return isSelectionSingleChangeEvent(event)}isSelectionRangeChangeEvent(event){return isSelectionRangeChangeEvent(event)}};WorkbenchList=class WorkbenchList2 extends List{constructor(user,container,delegate,renderers,options2,contextKeyService,listService,configurationService,instantiationService){const horizontalScrolling=typeof options2.horizontalScrolling!=="undefined"?options2.horizontalScrolling:Boolean(configurationService.getValue(horizontalScrollingKey));const[workbenchListOptions,workbenchListOptionsDisposable]=instantiationService.invokeFunction(toWorkbenchListOptions,options2);super(user,container,delegate,renderers,Object.assign(Object.assign({keyboardSupport:false},workbenchListOptions),{horizontalScrolling:horizontalScrolling}));this.disposables.add(workbenchListOptionsDisposable);this.contextKeyService=createScopedContextKeyService(contextKeyService,this);this.disposables.add(createScrollObserver(this.contextKeyService,this));this.listSupportsMultiSelect=WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService);this.listSupportsMultiSelect.set(options2.multipleSelectionSupport!==false);const listSelectionNavigation=WorkbenchListSelectionNavigation.bindTo(this.contextKeyService);listSelectionNavigation.set(Boolean(options2.selectionNavigation));this.listHasSelectionOrFocus=WorkbenchListHasSelectionOrFocus.bindTo(this.contextKeyService);this.listDoubleSelection=WorkbenchListDoubleSelection.bindTo(this.contextKeyService);this.listMultiSelection=WorkbenchListMultiSelection.bindTo(this.contextKeyService);this.horizontalScrolling=options2.horizontalScrolling;this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(configurationService);this.disposables.add(this.contextKeyService);this.disposables.add(listService.register(this));this.updateStyles(options2.overrideStyles);this.disposables.add(this.onDidChangeSelection((()=>{const selection=this.getSelection();const focus=this.getFocus();this.contextKeyService.bufferChangeEvents((()=>{this.listHasSelectionOrFocus.set(selection.length>0||focus.length>0);this.listMultiSelection.set(selection.length>1);this.listDoubleSelection.set(selection.length===2)}))})));this.disposables.add(this.onDidChangeFocus((()=>{const selection=this.getSelection();const focus=this.getFocus();this.listHasSelectionOrFocus.set(selection.length>0||focus.length>0)})));this.disposables.add(configurationService.onDidChangeConfiguration((e=>{if(e.affectsConfiguration(multiSelectModifierSettingKey)){this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(configurationService)}let options3={};if(e.affectsConfiguration(horizontalScrollingKey)&&this.horizontalScrolling===void 0){const horizontalScrolling2=Boolean(configurationService.getValue(horizontalScrollingKey));options3=Object.assign(Object.assign({},options3),{horizontalScrolling:horizontalScrolling2})}if(e.affectsConfiguration(scrollByPageKey)){const scrollByPage=Boolean(configurationService.getValue(scrollByPageKey));options3=Object.assign(Object.assign({},options3),{scrollByPage:scrollByPage})}if(e.affectsConfiguration(listSmoothScrolling)){const smoothScrolling=Boolean(configurationService.getValue(listSmoothScrolling));options3=Object.assign(Object.assign({},options3),{smoothScrolling:smoothScrolling})}if(e.affectsConfiguration(mouseWheelScrollSensitivityKey)){const mouseWheelScrollSensitivity=configurationService.getValue(mouseWheelScrollSensitivityKey);options3=Object.assign(Object.assign({},options3),{mouseWheelScrollSensitivity:mouseWheelScrollSensitivity})}if(e.affectsConfiguration(fastScrollSensitivityKey)){const fastScrollSensitivity=configurationService.getValue(fastScrollSensitivityKey);options3=Object.assign(Object.assign({},options3),{fastScrollSensitivity:fastScrollSensitivity})}if(Object.keys(options3).length>0){this.updateOptions(options3)}})));this.navigator=new ListResourceNavigator(this,Object.assign({configurationService:configurationService},options2));this.disposables.add(this.navigator)}updateOptions(options2){super.updateOptions(options2);if(options2.overrideStyles!==void 0){this.updateStyles(options2.overrideStyles)}if(options2.multipleSelectionSupport!==void 0){this.listSupportsMultiSelect.set(!!options2.multipleSelectionSupport)}}updateStyles(styles){this.style(styles?getListStyles(styles):defaultListStyles)}};WorkbenchList=__decorate34([__param29(5,IContextKeyService),__param29(6,IListService),__param29(7,IConfigurationService),__param29(8,IInstantiationService)],WorkbenchList);WorkbenchPagedList=class WorkbenchPagedList2 extends PagedList{constructor(user,container,delegate,renderers,options2,contextKeyService,listService,configurationService,instantiationService){const horizontalScrolling=typeof options2.horizontalScrolling!=="undefined"?options2.horizontalScrolling:Boolean(configurationService.getValue(horizontalScrollingKey));const[workbenchListOptions,workbenchListOptionsDisposable]=instantiationService.invokeFunction(toWorkbenchListOptions,options2);super(user,container,delegate,renderers,Object.assign(Object.assign({keyboardSupport:false},workbenchListOptions),{horizontalScrolling:horizontalScrolling}));this.disposables=new DisposableStore;this.disposables.add(workbenchListOptionsDisposable);this.contextKeyService=createScopedContextKeyService(contextKeyService,this);this.disposables.add(createScrollObserver(this.contextKeyService,this.widget));this.horizontalScrolling=options2.horizontalScrolling;this.listSupportsMultiSelect=WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService);this.listSupportsMultiSelect.set(options2.multipleSelectionSupport!==false);const listSelectionNavigation=WorkbenchListSelectionNavigation.bindTo(this.contextKeyService);listSelectionNavigation.set(Boolean(options2.selectionNavigation));this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(configurationService);this.disposables.add(this.contextKeyService);this.disposables.add(listService.register(this));this.updateStyles(options2.overrideStyles);this.disposables.add(configurationService.onDidChangeConfiguration((e=>{if(e.affectsConfiguration(multiSelectModifierSettingKey)){this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(configurationService)}let options3={};if(e.affectsConfiguration(horizontalScrollingKey)&&this.horizontalScrolling===void 0){const horizontalScrolling2=Boolean(configurationService.getValue(horizontalScrollingKey));options3=Object.assign(Object.assign({},options3),{horizontalScrolling:horizontalScrolling2})}if(e.affectsConfiguration(scrollByPageKey)){const scrollByPage=Boolean(configurationService.getValue(scrollByPageKey));options3=Object.assign(Object.assign({},options3),{scrollByPage:scrollByPage})}if(e.affectsConfiguration(listSmoothScrolling)){const smoothScrolling=Boolean(configurationService.getValue(listSmoothScrolling));options3=Object.assign(Object.assign({},options3),{smoothScrolling:smoothScrolling})}if(e.affectsConfiguration(mouseWheelScrollSensitivityKey)){const mouseWheelScrollSensitivity=configurationService.getValue(mouseWheelScrollSensitivityKey);options3=Object.assign(Object.assign({},options3),{mouseWheelScrollSensitivity:mouseWheelScrollSensitivity})}if(e.affectsConfiguration(fastScrollSensitivityKey)){const fastScrollSensitivity=configurationService.getValue(fastScrollSensitivityKey);options3=Object.assign(Object.assign({},options3),{fastScrollSensitivity:fastScrollSensitivity})}if(Object.keys(options3).length>0){this.updateOptions(options3)}})));this.navigator=new ListResourceNavigator(this,Object.assign({configurationService:configurationService},options2));this.disposables.add(this.navigator)}updateOptions(options2){super.updateOptions(options2);if(options2.overrideStyles!==void 0){this.updateStyles(options2.overrideStyles)}if(options2.multipleSelectionSupport!==void 0){this.listSupportsMultiSelect.set(!!options2.multipleSelectionSupport)}}updateStyles(styles){this.style(styles?getListStyles(styles):defaultListStyles)}dispose(){this.disposables.dispose();super.dispose()}};WorkbenchPagedList=__decorate34([__param29(5,IContextKeyService),__param29(6,IListService),__param29(7,IConfigurationService),__param29(8,IInstantiationService)],WorkbenchPagedList);WorkbenchTable=class WorkbenchTable2 extends Table{constructor(user,container,delegate,columns,renderers,options2,contextKeyService,listService,configurationService,instantiationService){const horizontalScrolling=typeof options2.horizontalScrolling!=="undefined"?options2.horizontalScrolling:Boolean(configurationService.getValue(horizontalScrollingKey));const[workbenchListOptions,workbenchListOptionsDisposable]=instantiationService.invokeFunction(toWorkbenchListOptions,options2);super(user,container,delegate,columns,renderers,Object.assign(Object.assign({keyboardSupport:false},workbenchListOptions),{horizontalScrolling:horizontalScrolling}));this.disposables.add(workbenchListOptionsDisposable);this.contextKeyService=createScopedContextKeyService(contextKeyService,this);this.disposables.add(createScrollObserver(this.contextKeyService,this));this.listSupportsMultiSelect=WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService);this.listSupportsMultiSelect.set(options2.multipleSelectionSupport!==false);const listSelectionNavigation=WorkbenchListSelectionNavigation.bindTo(this.contextKeyService);listSelectionNavigation.set(Boolean(options2.selectionNavigation));this.listHasSelectionOrFocus=WorkbenchListHasSelectionOrFocus.bindTo(this.contextKeyService);this.listDoubleSelection=WorkbenchListDoubleSelection.bindTo(this.contextKeyService);this.listMultiSelection=WorkbenchListMultiSelection.bindTo(this.contextKeyService);this.horizontalScrolling=options2.horizontalScrolling;this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(configurationService);this.disposables.add(this.contextKeyService);this.disposables.add(listService.register(this));this.updateStyles(options2.overrideStyles);this.disposables.add(this.onDidChangeSelection((()=>{const selection=this.getSelection();const focus=this.getFocus();this.contextKeyService.bufferChangeEvents((()=>{this.listHasSelectionOrFocus.set(selection.length>0||focus.length>0);this.listMultiSelection.set(selection.length>1);this.listDoubleSelection.set(selection.length===2)}))})));this.disposables.add(this.onDidChangeFocus((()=>{const selection=this.getSelection();const focus=this.getFocus();this.listHasSelectionOrFocus.set(selection.length>0||focus.length>0)})));this.disposables.add(configurationService.onDidChangeConfiguration((e=>{if(e.affectsConfiguration(multiSelectModifierSettingKey)){this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(configurationService)}let options3={};if(e.affectsConfiguration(horizontalScrollingKey)&&this.horizontalScrolling===void 0){const horizontalScrolling2=Boolean(configurationService.getValue(horizontalScrollingKey));options3=Object.assign(Object.assign({},options3),{horizontalScrolling:horizontalScrolling2})}if(e.affectsConfiguration(scrollByPageKey)){const scrollByPage=Boolean(configurationService.getValue(scrollByPageKey));options3=Object.assign(Object.assign({},options3),{scrollByPage:scrollByPage})}if(e.affectsConfiguration(listSmoothScrolling)){const smoothScrolling=Boolean(configurationService.getValue(listSmoothScrolling));options3=Object.assign(Object.assign({},options3),{smoothScrolling:smoothScrolling})}if(e.affectsConfiguration(mouseWheelScrollSensitivityKey)){const mouseWheelScrollSensitivity=configurationService.getValue(mouseWheelScrollSensitivityKey);options3=Object.assign(Object.assign({},options3),{mouseWheelScrollSensitivity:mouseWheelScrollSensitivity})}if(e.affectsConfiguration(fastScrollSensitivityKey)){const fastScrollSensitivity=configurationService.getValue(fastScrollSensitivityKey);options3=Object.assign(Object.assign({},options3),{fastScrollSensitivity:fastScrollSensitivity})}if(Object.keys(options3).length>0){this.updateOptions(options3)}})));this.navigator=new TableResourceNavigator(this,Object.assign({configurationService:configurationService},options2));this.disposables.add(this.navigator)}updateOptions(options2){super.updateOptions(options2);if(options2.overrideStyles!==void 0){this.updateStyles(options2.overrideStyles)}if(options2.multipleSelectionSupport!==void 0){this.listSupportsMultiSelect.set(!!options2.multipleSelectionSupport)}}updateStyles(styles){this.style(styles?getListStyles(styles):defaultListStyles)}dispose(){this.disposables.dispose();super.dispose()}};WorkbenchTable=__decorate34([__param29(6,IContextKeyService),__param29(7,IListService),__param29(8,IConfigurationService),__param29(9,IInstantiationService)],WorkbenchTable);ResourceNavigator=class extends Disposable{constructor(widget,options2){var _a6;super();this.widget=widget;this._onDidOpen=this._register(new Emitter);this.onDidOpen=this._onDidOpen.event;this._register(Event.filter(this.widget.onDidChangeSelection,(e=>e.browserEvent instanceof KeyboardEvent))((e=>this.onSelectionFromKeyboard(e))));this._register(this.widget.onPointer((e=>this.onPointer(e.element,e.browserEvent))));this._register(this.widget.onMouseDblClick((e=>this.onMouseDblClick(e.element,e.browserEvent))));if(typeof(options2===null||options2===void 0?void 0:options2.openOnSingleClick)!=="boolean"&&(options2===null||options2===void 0?void 0:options2.configurationService)){this.openOnSingleClick=(options2===null||options2===void 0?void 0:options2.configurationService.getValue(openModeSettingKey))!=="doubleClick";this._register(options2===null||options2===void 0?void 0:options2.configurationService.onDidChangeConfiguration((e=>{if(e.affectsConfiguration(openModeSettingKey)){this.openOnSingleClick=(options2===null||options2===void 0?void 0:options2.configurationService.getValue(openModeSettingKey))!=="doubleClick"}})))}else{this.openOnSingleClick=(_a6=options2===null||options2===void 0?void 0:options2.openOnSingleClick)!==null&&_a6!==void 0?_a6:true}}onSelectionFromKeyboard(event){if(event.elements.length!==1){return}const selectionKeyboardEvent=event.browserEvent;const preserveFocus=typeof selectionKeyboardEvent.preserveFocus==="boolean"?selectionKeyboardEvent.preserveFocus:true;const pinned=typeof selectionKeyboardEvent.pinned==="boolean"?selectionKeyboardEvent.pinned:!preserveFocus;const sideBySide=false;this._open(this.getSelectedElement(),preserveFocus,pinned,sideBySide,event.browserEvent)}onPointer(element,browserEvent){if(!this.openOnSingleClick){return}const isDoubleClick=browserEvent.detail===2;if(isDoubleClick){return}const isMiddleClick=browserEvent.button===1;const preserveFocus=true;const pinned=isMiddleClick;const sideBySide=browserEvent.ctrlKey||browserEvent.metaKey||browserEvent.altKey;this._open(element,preserveFocus,pinned,sideBySide,browserEvent)}onMouseDblClick(element,browserEvent){if(!browserEvent){return}const target=browserEvent.target;const onTwistie=target.classList.contains("monaco-tl-twistie")||target.classList.contains("monaco-icon-label")&&target.classList.contains("folder-icon")&&browserEvent.offsetX<16;if(onTwistie){return}const preserveFocus=false;const pinned=true;const sideBySide=browserEvent.ctrlKey||browserEvent.metaKey||browserEvent.altKey;this._open(element,preserveFocus,pinned,sideBySide,browserEvent)}_open(element,preserveFocus,pinned,sideBySide,browserEvent){if(!element){return}this._onDidOpen.fire({editorOptions:{preserveFocus:preserveFocus,pinned:pinned,revealIfVisible:true},sideBySide:sideBySide,element:element,browserEvent:browserEvent})}};ListResourceNavigator=class extends ResourceNavigator{constructor(widget,options2){super(widget,options2);this.widget=widget}getSelectedElement(){return this.widget.getSelectedElements()[0]}};TableResourceNavigator=class extends ResourceNavigator{constructor(widget,options2){super(widget,options2)}getSelectedElement(){return this.widget.getSelectedElements()[0]}};TreeResourceNavigator=class extends ResourceNavigator{constructor(widget,options2){super(widget,options2)}getSelectedElement(){var _a6;return(_a6=this.widget.getSelection()[0])!==null&&_a6!==void 0?_a6:void 0}};WorkbenchObjectTree=class WorkbenchObjectTree2 extends ObjectTree{constructor(user,container,delegate,renderers,options2,instantiationService,contextKeyService,listService,configurationService){const{options:treeOptions,getTypeNavigationMode:getTypeNavigationMode,disposable:disposable}=instantiationService.invokeFunction(workbenchTreeDataPreamble,options2);super(user,container,delegate,renderers,treeOptions);this.disposables.add(disposable);this.internals=new WorkbenchTreeInternals(this,options2,getTypeNavigationMode,options2.overrideStyles,contextKeyService,listService,configurationService);this.disposables.add(this.internals)}updateOptions(options2){super.updateOptions(options2);this.internals.updateOptions(options2)}};WorkbenchObjectTree=__decorate34([__param29(5,IInstantiationService),__param29(6,IContextKeyService),__param29(7,IListService),__param29(8,IConfigurationService)],WorkbenchObjectTree);WorkbenchCompressibleObjectTree=class WorkbenchCompressibleObjectTree2 extends CompressibleObjectTree{constructor(user,container,delegate,renderers,options2,instantiationService,contextKeyService,listService,configurationService){const{options:treeOptions,getTypeNavigationMode:getTypeNavigationMode,disposable:disposable}=instantiationService.invokeFunction(workbenchTreeDataPreamble,options2);super(user,container,delegate,renderers,treeOptions);this.disposables.add(disposable);this.internals=new WorkbenchTreeInternals(this,options2,getTypeNavigationMode,options2.overrideStyles,contextKeyService,listService,configurationService);this.disposables.add(this.internals)}updateOptions(options2={}){super.updateOptions(options2);if(options2.overrideStyles){this.internals.updateStyleOverrides(options2.overrideStyles)}this.internals.updateOptions(options2)}};WorkbenchCompressibleObjectTree=__decorate34([__param29(5,IInstantiationService),__param29(6,IContextKeyService),__param29(7,IListService),__param29(8,IConfigurationService)],WorkbenchCompressibleObjectTree);WorkbenchDataTree=class WorkbenchDataTree2 extends DataTree{constructor(user,container,delegate,renderers,dataSource,options2,instantiationService,contextKeyService,listService,configurationService){const{options:treeOptions,getTypeNavigationMode:getTypeNavigationMode,disposable:disposable}=instantiationService.invokeFunction(workbenchTreeDataPreamble,options2);super(user,container,delegate,renderers,dataSource,treeOptions);this.disposables.add(disposable);this.internals=new WorkbenchTreeInternals(this,options2,getTypeNavigationMode,options2.overrideStyles,contextKeyService,listService,configurationService);this.disposables.add(this.internals)}updateOptions(options2={}){super.updateOptions(options2);if(options2.overrideStyles!==void 0){this.internals.updateStyleOverrides(options2.overrideStyles)}this.internals.updateOptions(options2)}};WorkbenchDataTree=__decorate34([__param29(6,IInstantiationService),__param29(7,IContextKeyService),__param29(8,IListService),__param29(9,IConfigurationService)],WorkbenchDataTree);WorkbenchAsyncDataTree=class WorkbenchAsyncDataTree2 extends AsyncDataTree{get onDidOpen(){return this.internals.onDidOpen}constructor(user,container,delegate,renderers,dataSource,options2,instantiationService,contextKeyService,listService,configurationService){const{options:treeOptions,getTypeNavigationMode:getTypeNavigationMode,disposable:disposable}=instantiationService.invokeFunction(workbenchTreeDataPreamble,options2);super(user,container,delegate,renderers,dataSource,treeOptions);this.disposables.add(disposable);this.internals=new WorkbenchTreeInternals(this,options2,getTypeNavigationMode,options2.overrideStyles,contextKeyService,listService,configurationService);this.disposables.add(this.internals)}updateOptions(options2={}){super.updateOptions(options2);if(options2.overrideStyles){this.internals.updateStyleOverrides(options2.overrideStyles)}this.internals.updateOptions(options2)}};WorkbenchAsyncDataTree=__decorate34([__param29(6,IInstantiationService),__param29(7,IContextKeyService),__param29(8,IListService),__param29(9,IConfigurationService)],WorkbenchAsyncDataTree);WorkbenchCompressibleAsyncDataTree=class WorkbenchCompressibleAsyncDataTree2 extends CompressibleAsyncDataTree{constructor(user,container,virtualDelegate,compressionDelegate,renderers,dataSource,options2,instantiationService,contextKeyService,listService,configurationService){const{options:treeOptions,getTypeNavigationMode:getTypeNavigationMode,disposable:disposable}=instantiationService.invokeFunction(workbenchTreeDataPreamble,options2);super(user,container,virtualDelegate,compressionDelegate,renderers,dataSource,treeOptions);this.disposables.add(disposable);this.internals=new WorkbenchTreeInternals(this,options2,getTypeNavigationMode,options2.overrideStyles,contextKeyService,listService,configurationService);this.disposables.add(this.internals)}updateOptions(options2){super.updateOptions(options2);this.internals.updateOptions(options2)}};WorkbenchCompressibleAsyncDataTree=__decorate34([__param29(7,IInstantiationService),__param29(8,IContextKeyService),__param29(9,IListService),__param29(10,IConfigurationService)],WorkbenchCompressibleAsyncDataTree);WorkbenchTreeInternals=class WorkbenchTreeInternals2{get onDidOpen(){return this.navigator.onDidOpen}constructor(tree,options2,getTypeNavigationMode,overrideStyles2,contextKeyService,listService,configurationService){var _a6;this.tree=tree;this.disposables=[];this.contextKeyService=createScopedContextKeyService(contextKeyService,tree);this.disposables.push(createScrollObserver(this.contextKeyService,tree));this.listSupportsMultiSelect=WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService);this.listSupportsMultiSelect.set(options2.multipleSelectionSupport!==false);const listSelectionNavigation=WorkbenchListSelectionNavigation.bindTo(this.contextKeyService);listSelectionNavigation.set(Boolean(options2.selectionNavigation));this.listSupportFindWidget=WorkbenchListSupportsFind.bindTo(this.contextKeyService);this.listSupportFindWidget.set((_a6=options2.findWidgetEnabled)!==null&&_a6!==void 0?_a6:true);this.hasSelectionOrFocus=WorkbenchListHasSelectionOrFocus.bindTo(this.contextKeyService);this.hasDoubleSelection=WorkbenchListDoubleSelection.bindTo(this.contextKeyService);this.hasMultiSelection=WorkbenchListMultiSelection.bindTo(this.contextKeyService);this.treeElementCanCollapse=WorkbenchTreeElementCanCollapse.bindTo(this.contextKeyService);this.treeElementHasParent=WorkbenchTreeElementHasParent.bindTo(this.contextKeyService);this.treeElementCanExpand=WorkbenchTreeElementCanExpand.bindTo(this.contextKeyService);this.treeElementHasChild=WorkbenchTreeElementHasChild.bindTo(this.contextKeyService);this.treeFindOpen=WorkbenchTreeFindOpen.bindTo(this.contextKeyService);this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(configurationService);this.updateStyleOverrides(overrideStyles2);const updateCollapseContextKeys=()=>{const focus=tree.getFocus()[0];if(!focus){return}const node=tree.getNode(focus);this.treeElementCanCollapse.set(node.collapsible&&!node.collapsed);this.treeElementHasParent.set(!!tree.getParentElement(focus));this.treeElementCanExpand.set(node.collapsible&&node.collapsed);this.treeElementHasChild.set(!!tree.getFirstElementChild(focus))};const interestingContextKeys=new Set;interestingContextKeys.add(WorkbenchListTypeNavigationModeKey);interestingContextKeys.add(WorkbenchListAutomaticKeyboardNavigationLegacyKey);this.disposables.push(this.contextKeyService,listService.register(tree),tree.onDidChangeSelection((()=>{const selection=tree.getSelection();const focus=tree.getFocus();this.contextKeyService.bufferChangeEvents((()=>{this.hasSelectionOrFocus.set(selection.length>0||focus.length>0);this.hasMultiSelection.set(selection.length>1);this.hasDoubleSelection.set(selection.length===2)}))})),tree.onDidChangeFocus((()=>{const selection=tree.getSelection();const focus=tree.getFocus();this.hasSelectionOrFocus.set(selection.length>0||focus.length>0);updateCollapseContextKeys()})),tree.onDidChangeCollapseState(updateCollapseContextKeys),tree.onDidChangeModel(updateCollapseContextKeys),tree.onDidChangeFindOpenState((enabled=>this.treeFindOpen.set(enabled))),configurationService.onDidChangeConfiguration((e=>{let newOptions={};if(e.affectsConfiguration(multiSelectModifierSettingKey)){this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(configurationService)}if(e.affectsConfiguration(treeIndentKey)){const indent=configurationService.getValue(treeIndentKey);newOptions=Object.assign(Object.assign({},newOptions),{indent:indent})}if(e.affectsConfiguration(treeRenderIndentGuidesKey)&&options2.renderIndentGuides===void 0){const renderIndentGuides=configurationService.getValue(treeRenderIndentGuidesKey);newOptions=Object.assign(Object.assign({},newOptions),{renderIndentGuides:renderIndentGuides})}if(e.affectsConfiguration(listSmoothScrolling)){const smoothScrolling=Boolean(configurationService.getValue(listSmoothScrolling));newOptions=Object.assign(Object.assign({},newOptions),{smoothScrolling:smoothScrolling})}if(e.affectsConfiguration(defaultFindModeSettingKey)||e.affectsConfiguration(keyboardNavigationSettingKey)){const defaultFindMode=getDefaultTreeFindMode(configurationService);newOptions=Object.assign(Object.assign({},newOptions),{defaultFindMode:defaultFindMode})}if(e.affectsConfiguration(typeNavigationModeSettingKey)||e.affectsConfiguration(keyboardNavigationSettingKey)){const typeNavigationMode=getTypeNavigationMode();newOptions=Object.assign(Object.assign({},newOptions),{typeNavigationMode:typeNavigationMode})}if(e.affectsConfiguration(defaultFindMatchTypeSettingKey)){const defaultFindMatchType=getDefaultTreeFindMatchType(configurationService);newOptions=Object.assign(Object.assign({},newOptions),{defaultFindMatchType:defaultFindMatchType})}if(e.affectsConfiguration(horizontalScrollingKey)&&options2.horizontalScrolling===void 0){const horizontalScrolling=Boolean(configurationService.getValue(horizontalScrollingKey));newOptions=Object.assign(Object.assign({},newOptions),{horizontalScrolling:horizontalScrolling})}if(e.affectsConfiguration(scrollByPageKey)){const scrollByPage=Boolean(configurationService.getValue(scrollByPageKey));newOptions=Object.assign(Object.assign({},newOptions),{scrollByPage:scrollByPage})}if(e.affectsConfiguration(treeExpandMode)&&options2.expandOnlyOnTwistieClick===void 0){newOptions=Object.assign(Object.assign({},newOptions),{expandOnlyOnTwistieClick:configurationService.getValue(treeExpandMode)==="doubleClick"})}if(e.affectsConfiguration(mouseWheelScrollSensitivityKey)){const mouseWheelScrollSensitivity=configurationService.getValue(mouseWheelScrollSensitivityKey);newOptions=Object.assign(Object.assign({},newOptions),{mouseWheelScrollSensitivity:mouseWheelScrollSensitivity})}if(e.affectsConfiguration(fastScrollSensitivityKey)){const fastScrollSensitivity=configurationService.getValue(fastScrollSensitivityKey);newOptions=Object.assign(Object.assign({},newOptions),{fastScrollSensitivity:fastScrollSensitivity})}if(Object.keys(newOptions).length>0){tree.updateOptions(newOptions)}})),this.contextKeyService.onDidChangeContext((e=>{if(e.affectsSome(interestingContextKeys)){tree.updateOptions({typeNavigationMode:getTypeNavigationMode()})}})));this.navigator=new TreeResourceNavigator(tree,Object.assign({configurationService:configurationService},options2));this.disposables.push(this.navigator)}updateOptions(options2){if(options2.multipleSelectionSupport!==void 0){this.listSupportsMultiSelect.set(!!options2.multipleSelectionSupport)}}updateStyleOverrides(overrideStyles2){this.tree.style(overrideStyles2?getListStyles(overrideStyles2):defaultListStyles)}dispose(){this.disposables=dispose(this.disposables)}};WorkbenchTreeInternals=__decorate34([__param29(4,IContextKeyService),__param29(5,IListService),__param29(6,IConfigurationService)],WorkbenchTreeInternals);configurationRegistry3=Registry.as(Extensions2.Configuration);configurationRegistry3.registerConfiguration({id:"workbench",order:7,title:localize("workbenchConfigurationTitle","Workbench"),type:"object",properties:{[multiSelectModifierSettingKey]:{type:"string",enum:["ctrlCmd","alt"],markdownEnumDescriptions:[localize("multiSelectModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),localize("multiSelectModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:"ctrlCmd",description:localize({key:"multiSelectModifier",comment:["- `ctrlCmd` refers to a value the setting can take and should not be localized.","- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized."]},"The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.")},[openModeSettingKey]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:localize({key:"openModeModifier",comment:["`singleClick` and `doubleClick` refers to a value the setting can take and should not be localized."]},"Controls how to open items in trees and lists using the mouse (if supported). Note that some trees and lists might choose to ignore this setting if it is not applicable.")},[horizontalScrollingKey]:{type:"boolean",default:false,description:localize("horizontalScrolling setting","Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.")},[scrollByPageKey]:{type:"boolean",default:false,description:localize("list.scrollByPage","Controls whether clicks in the scrollbar scroll page by page.")},[treeIndentKey]:{type:"number",default:8,minimum:4,maximum:40,description:localize("tree indent setting","Controls tree indentation in pixels.")},[treeRenderIndentGuidesKey]:{type:"string",enum:["none","onHover","always"],default:"onHover",description:localize("render tree indent guides","Controls whether the tree should render indent guides.")},[listSmoothScrolling]:{type:"boolean",default:false,description:localize("list smoothScrolling setting","Controls whether lists and trees have smooth scrolling.")},[mouseWheelScrollSensitivityKey]:{type:"number",default:1,markdownDescription:localize("Mouse Wheel Scroll Sensitivity","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")},[fastScrollSensitivityKey]:{type:"number",default:5,markdownDescription:localize("Fast Scroll Sensitivity","Scrolling speed multiplier when pressing `Alt`.")},[defaultFindModeSettingKey]:{type:"string",enum:["highlight","filter"],enumDescriptions:[localize("defaultFindModeSettingKey.highlight","Highlight elements when searching. Further up and down navigation will traverse only the highlighted elements."),localize("defaultFindModeSettingKey.filter","Filter elements when searching.")],default:"highlight",description:localize("defaultFindModeSettingKey","Controls the default find mode for lists and trees in the workbench.")},[keyboardNavigationSettingKey]:{type:"string",enum:["simple","highlight","filter"],enumDescriptions:[localize("keyboardNavigationSettingKey.simple","Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes."),localize("keyboardNavigationSettingKey.highlight","Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements."),localize("keyboardNavigationSettingKey.filter","Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.")],default:"highlight",description:localize("keyboardNavigationSettingKey","Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter."),deprecated:true,deprecationMessage:localize("keyboardNavigationSettingKeyDeprecated","Please use 'workbench.list.defaultFindMode' and\t'workbench.list.typeNavigationMode' instead.")},[defaultFindMatchTypeSettingKey]:{type:"string",enum:["fuzzy","contiguous"],enumDescriptions:[localize("defaultFindMatchTypeSettingKey.fuzzy","Use fuzzy matching when searching."),localize("defaultFindMatchTypeSettingKey.contiguous","Use contiguous matching when searching.")],default:"fuzzy",description:localize("defaultFindMatchTypeSettingKey","Controls the type of matching used when searching lists and trees in the workbench.")},[treeExpandMode]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:localize("expand mode","Controls how tree folders are expanded when clicking the folder names. Note that some trees and lists might choose to ignore this setting if it is not applicable.")},[typeNavigationModeSettingKey]:{type:"string",enum:["automatic","trigger"],default:"automatic",description:localize("typeNavigationMode","Controls the how type navigation works in lists and trees in the workbench. When set to 'trigger', type navigation begins once the 'list.triggerTypeNavigation' command is run.")}}})}});var DefaultQuickAccessFilterValue,Extensions9,QuickAccessRegistry;var init_quickAccess=__esm({"node_modules/monaco-editor/esm/vs/platform/quickinput/common/quickAccess.js"(){init_arrays();init_lifecycle();init_platform2();(function(DefaultQuickAccessFilterValue2){DefaultQuickAccessFilterValue2[DefaultQuickAccessFilterValue2["PRESERVE"]=0]="PRESERVE";DefaultQuickAccessFilterValue2[DefaultQuickAccessFilterValue2["LAST"]=1]="LAST"})(DefaultQuickAccessFilterValue||(DefaultQuickAccessFilterValue={}));Extensions9={Quickaccess:"workbench.contributions.quickaccess"};QuickAccessRegistry=class{constructor(){this.providers=[];this.defaultProvider=void 0}registerQuickAccessProvider(provider){if(provider.prefix.length===0){this.defaultProvider=provider}else{this.providers.push(provider)}this.providers.sort(((providerA,providerB)=>providerB.prefix.length-providerA.prefix.length));return toDisposable((()=>{this.providers.splice(this.providers.indexOf(provider),1);if(this.defaultProvider===provider){this.defaultProvider=void 0}}))}getQuickAccessProviders(){return coalesce([this.defaultProvider,...this.providers])}getQuickAccessProvider(prefix){const result=prefix?this.providers.find((provider=>prefix.startsWith(provider.prefix)))||void 0:void 0;return result||this.defaultProvider}};Registry.add(Extensions9.Quickaccess,new QuickAccessRegistry)}});var NO_KEY_MODS,QuickInputHideReason,ItemActivation,QuickPickItemScorerAccessor,quickPickItemScorerAccessor,IQuickInputService;var init_quickInput=__esm({"node_modules/monaco-editor/esm/vs/platform/quickinput/common/quickInput.js"(){init_instantiation();NO_KEY_MODS={ctrlCmd:false,alt:false};(function(QuickInputHideReason2){QuickInputHideReason2[QuickInputHideReason2["Blur"]=1]="Blur";QuickInputHideReason2[QuickInputHideReason2["Gesture"]=2]="Gesture";QuickInputHideReason2[QuickInputHideReason2["Other"]=3]="Other"})(QuickInputHideReason||(QuickInputHideReason={}));(function(ItemActivation2){ItemActivation2[ItemActivation2["NONE"]=0]="NONE";ItemActivation2[ItemActivation2["FIRST"]=1]="FIRST";ItemActivation2[ItemActivation2["SECOND"]=2]="SECOND";ItemActivation2[ItemActivation2["LAST"]=3]="LAST"})(ItemActivation||(ItemActivation={}));QuickPickItemScorerAccessor=class{constructor(options2){this.options=options2}};quickPickItemScorerAccessor=new QuickPickItemScorerAccessor;IQuickInputService=createDecorator("quickInputService")}});var __decorate35,__param30,QuickAccessController;var init_quickAccess2=__esm({"node_modules/monaco-editor/esm/vs/platform/quickinput/browser/quickAccess.js"(){init_async();init_cancellation();init_functional();init_lifecycle();init_instantiation();init_quickAccess();init_quickInput();init_platform2();__decorate35=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param30=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};QuickAccessController=class QuickAccessController2 extends Disposable{constructor(quickInputService,instantiationService){super();this.quickInputService=quickInputService;this.instantiationService=instantiationService;this.registry=Registry.as(Extensions9.Quickaccess);this.mapProviderToDescriptor=new Map;this.lastAcceptedPickerValues=new Map;this.visibleQuickAccess=void 0}show(value="",options2){this.doShowOrPick(value,false,options2)}doShowOrPick(value,pick,options2){var _a6;const[provider,descriptor]=this.getOrInstantiateProvider(value);const visibleQuickAccess=this.visibleQuickAccess;const visibleDescriptor=visibleQuickAccess===null||visibleQuickAccess===void 0?void 0:visibleQuickAccess.descriptor;if(visibleQuickAccess&&descriptor&&visibleDescriptor===descriptor){if(value!==descriptor.prefix&&!(options2===null||options2===void 0?void 0:options2.preserveValue)){visibleQuickAccess.picker.value=value}this.adjustValueSelection(visibleQuickAccess.picker,descriptor,options2);return}if(descriptor&&!(options2===null||options2===void 0?void 0:options2.preserveValue)){let newValue=void 0;if(visibleQuickAccess&&visibleDescriptor&&visibleDescriptor!==descriptor){const newValueCandidateWithoutPrefix=visibleQuickAccess.value.substr(visibleDescriptor.prefix.length);if(newValueCandidateWithoutPrefix){newValue=`${descriptor.prefix}${newValueCandidateWithoutPrefix}`}}if(!newValue){const defaultFilterValue=provider===null||provider===void 0?void 0:provider.defaultFilterValue;if(defaultFilterValue===DefaultQuickAccessFilterValue.LAST){newValue=this.lastAcceptedPickerValues.get(descriptor)}else if(typeof defaultFilterValue==="string"){newValue=`${descriptor.prefix}${defaultFilterValue}`}}if(typeof newValue==="string"){value=newValue}}const disposables=new DisposableStore;const picker=disposables.add(this.quickInputService.createQuickPick());picker.value=value;this.adjustValueSelection(picker,descriptor,options2);picker.placeholder=descriptor===null||descriptor===void 0?void 0:descriptor.placeholder;picker.quickNavigate=options2===null||options2===void 0?void 0:options2.quickNavigateConfiguration;picker.hideInput=!!picker.quickNavigate&&!visibleQuickAccess;if(typeof(options2===null||options2===void 0?void 0:options2.itemActivation)==="number"||(options2===null||options2===void 0?void 0:options2.quickNavigateConfiguration)){picker.itemActivation=(_a6=options2===null||options2===void 0?void 0:options2.itemActivation)!==null&&_a6!==void 0?_a6:ItemActivation.SECOND}picker.contextKey=descriptor===null||descriptor===void 0?void 0:descriptor.contextKey;picker.filterValue=value2=>value2.substring(descriptor?descriptor.prefix.length:0);let pickPromise=void 0;if(pick){pickPromise=new DeferredPromise;disposables.add(once(picker.onWillAccept)((e=>{e.veto();picker.hide()})))}disposables.add(this.registerPickerListeners(picker,provider,descriptor,value,options2===null||options2===void 0?void 0:options2.providerOptions));const cts=disposables.add(new CancellationTokenSource);if(provider){disposables.add(provider.provide(picker,cts.token,options2===null||options2===void 0?void 0:options2.providerOptions))}once(picker.onDidHide)((()=>{if(picker.selectedItems.length===0){cts.cancel()}disposables.dispose();pickPromise===null||pickPromise===void 0?void 0:pickPromise.complete(picker.selectedItems.slice(0))}));picker.show();if(pick){return pickPromise===null||pickPromise===void 0?void 0:pickPromise.p}}adjustValueSelection(picker,descriptor,options2){var _a6;let valueSelection;if(options2===null||options2===void 0?void 0:options2.preserveValue){valueSelection=[picker.value.length,picker.value.length]}else{valueSelection=[(_a6=descriptor===null||descriptor===void 0?void 0:descriptor.prefix.length)!==null&&_a6!==void 0?_a6:0,picker.value.length]}picker.valueSelection=valueSelection}registerPickerListeners(picker,provider,descriptor,value,providerOptions){const disposables=new DisposableStore;const visibleQuickAccess=this.visibleQuickAccess={picker:picker,descriptor:descriptor,value:value};disposables.add(toDisposable((()=>{if(visibleQuickAccess===this.visibleQuickAccess){this.visibleQuickAccess=void 0}})));disposables.add(picker.onDidChangeValue((value2=>{const[providerForValue]=this.getOrInstantiateProvider(value2);if(providerForValue!==provider){this.show(value2,{preserveValue:true,providerOptions:providerOptions})}else{visibleQuickAccess.value=value2}})));if(descriptor){disposables.add(picker.onDidAccept((()=>{this.lastAcceptedPickerValues.set(descriptor,picker.value)})))}return disposables}getOrInstantiateProvider(value){const providerDescriptor=this.registry.getQuickAccessProvider(value);if(!providerDescriptor){return[void 0,void 0]}let provider=this.mapProviderToDescriptor.get(providerDescriptor);if(!provider){provider=this.instantiationService.createInstance(providerDescriptor.ctor);this.mapProviderToDescriptor.set(providerDescriptor,provider)}return[provider,providerDescriptor]}};QuickAccessController=__decorate35([__param30(0,IQuickInputService),__param30(1,IInstantiationService)],QuickAccessController)}});var init_41=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/button/button.css"(){}});var unthemedButtonStyles,Button;var init_button=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/button/button.js"(){init_dom();init_dompurify();init_keyboardEvent();init_markdownRenderer();init_touch();init_iconLabels2();init_color();init_event();init_htmlContent();init_lifecycle();init_41();unthemedButtonStyles={buttonBackground:"#0E639C",buttonHoverBackground:"#006BB3",buttonSeparator:Color.white.toString(),buttonForeground:Color.white.toString(),buttonBorder:void 0,buttonSecondaryBackground:void 0,buttonSecondaryForeground:void 0,buttonSecondaryHoverBackground:void 0};Button=class extends Disposable{get onDidClick(){return this._onDidClick.event}constructor(container,options2){super();this._label="";this._onDidClick=this._register(new Emitter);this.options=options2;this._element=document.createElement("a");this._element.classList.add("monaco-button");this._element.tabIndex=0;this._element.setAttribute("role","button");this._element.classList.toggle("secondary",!!options2.secondary);const background=options2.secondary?options2.buttonSecondaryBackground:options2.buttonBackground;const foreground2=options2.secondary?options2.buttonSecondaryForeground:options2.buttonForeground;this._element.style.color=foreground2||"";this._element.style.backgroundColor=background||"";if(options2.supportShortLabel){this._labelShortElement=document.createElement("div");this._labelShortElement.classList.add("monaco-button-label-short");this._element.appendChild(this._labelShortElement);this._labelElement=document.createElement("div");this._labelElement.classList.add("monaco-button-label");this._element.appendChild(this._labelElement);this._element.classList.add("monaco-text-button-with-short-label")}container.appendChild(this._element);this._register(Gesture.addTarget(this._element));[EventType.CLICK,EventType2.Tap].forEach((eventType=>{this._register(addDisposableListener(this._element,eventType,(e=>{if(!this.enabled){EventHelper.stop(e);return}this._onDidClick.fire(e)})))}));this._register(addDisposableListener(this._element,EventType.KEY_DOWN,(e=>{const event=new StandardKeyboardEvent(e);let eventHandled=false;if(this.enabled&&(event.equals(3)||event.equals(10))){this._onDidClick.fire(e);eventHandled=true}else if(event.equals(9)){this._element.blur();eventHandled=true}if(eventHandled){EventHelper.stop(event,true)}})));this._register(addDisposableListener(this._element,EventType.MOUSE_OVER,(e=>{if(!this._element.classList.contains("disabled")){this.updateBackground(true)}})));this._register(addDisposableListener(this._element,EventType.MOUSE_OUT,(e=>{this.updateBackground(false)})));this.focusTracker=this._register(trackFocus(this._element));this._register(this.focusTracker.onDidFocus((()=>{if(this.enabled){this.updateBackground(true)}})));this._register(this.focusTracker.onDidBlur((()=>{if(this.enabled){this.updateBackground(false)}})))}dispose(){super.dispose();this._element.remove()}getContentElements(content){const elements=[];for(let segment of renderLabelWithIcons(content)){if(typeof segment==="string"){segment=segment.trim();if(segment===""){continue}const node=document.createElement("span");node.textContent=segment;elements.push(node)}else{elements.push(segment)}}return elements}updateBackground(hover){let background;if(this.options.secondary){background=hover?this.options.buttonSecondaryHoverBackground:this.options.buttonSecondaryBackground}else{background=hover?this.options.buttonHoverBackground:this.options.buttonBackground}if(background){this._element.style.backgroundColor=background}}get element(){return this._element}set label(value){var _a6;if(this._label===value){return}if(isMarkdownString(this._label)&&isMarkdownString(value)&&markdownStringEqual(this._label,value)){return}this._element.classList.add("monaco-text-button");const labelElement=this.options.supportShortLabel?this._labelElement:this._element;if(isMarkdownString(value)){const rendered=renderMarkdown(value,{inline:true});rendered.dispose();const root=(_a6=rendered.element.querySelector("p"))===null||_a6===void 0?void 0:_a6.innerHTML;if(root){const sanitized=sanitize2(root,{ADD_TAGS:["b","i","u","code","span"],ALLOWED_ATTR:["class"],RETURN_TRUSTED_TYPE:true});labelElement.innerHTML=sanitized}else{reset(labelElement)}}else{if(this.options.supportIcons){reset(labelElement,...this.getContentElements(value))}else{labelElement.textContent=value}}if(typeof this.options.title==="string"){this._element.title=this.options.title}else if(this.options.title){this._element.title=renderStringAsPlaintext(value)}this._label=value}get label(){return this._label}set enabled(value){if(value){this._element.classList.remove("disabled");this._element.setAttribute("aria-disabled",String(false));this._element.tabIndex=0}else{this._element.classList.add("disabled");this._element.setAttribute("aria-disabled",String(true))}}get enabled(){return!this._element.classList.contains("disabled")}}}});var init_42=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/countBadge/countBadge.css"(){}});var CountBadge;var init_countBadge=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/countBadge/countBadge.js"(){init_dom();init_strings();init_42();CountBadge=class{constructor(container,options2,styles){this.options=options2;this.styles=styles;this.count=0;this.element=append(container,$(".monaco-count-badge"));this.countFormat=this.options.countFormat||"{0}";this.titleFormat=this.options.titleFormat||"";this.setCount(this.options.count||0)}setCount(count){this.count=count;this.render()}setTitleFormat(titleFormat){this.titleFormat=titleFormat;this.render()}render(){var _a6,_b3;this.element.textContent=format(this.countFormat,this.count);this.element.title=format(this.titleFormat,this.count);this.element.style.backgroundColor=(_a6=this.styles.badgeBackground)!==null&&_a6!==void 0?_a6:"";this.element.style.color=(_b3=this.styles.badgeForeground)!==null&&_b3!==void 0?_b3:"";if(this.styles.badgeBorder){this.element.style.border=`1px solid ${this.styles.badgeBorder}`}}}}});var init_43=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/progressbar/progressbar.css"(){}});var CSS_DONE,CSS_ACTIVE,CSS_INFINITE,CSS_INFINITE_LONG_RUNNING,CSS_DISCRETE,ProgressBar;var init_progressbar=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/progressbar/progressbar.js"(){init_dom();init_async();init_lifecycle();init_43();CSS_DONE="done";CSS_ACTIVE="active";CSS_INFINITE="infinite";CSS_INFINITE_LONG_RUNNING="infinite-long-running";CSS_DISCRETE="discrete";ProgressBar=class extends Disposable{constructor(container,options2){super();this.workedVal=0;this.showDelayedScheduler=this._register(new RunOnceScheduler((()=>show(this.element)),0));this.longRunningScheduler=this._register(new RunOnceScheduler((()=>this.infiniteLongRunning()),ProgressBar.LONG_RUNNING_INFINITE_THRESHOLD));this.create(container,options2)}create(container,options2){this.element=document.createElement("div");this.element.classList.add("monaco-progress-container");this.element.setAttribute("role","progressbar");this.element.setAttribute("aria-valuemin","0");container.appendChild(this.element);this.bit=document.createElement("div");this.bit.classList.add("progress-bit");this.bit.style.backgroundColor=(options2===null||options2===void 0?void 0:options2.progressBarBackground)||"#0E70C0";this.element.appendChild(this.bit)}off(){this.bit.style.width="inherit";this.bit.style.opacity="1";this.element.classList.remove(CSS_ACTIVE,CSS_INFINITE,CSS_INFINITE_LONG_RUNNING,CSS_DISCRETE);this.workedVal=0;this.totalWork=void 0;this.longRunningScheduler.cancel()}stop(){return this.doDone(false)}doDone(delayed){this.element.classList.add(CSS_DONE);if(!this.element.classList.contains(CSS_INFINITE)){this.bit.style.width="inherit";if(delayed){setTimeout((()=>this.off()),200)}else{this.off()}}else{this.bit.style.opacity="0";if(delayed){setTimeout((()=>this.off()),200)}else{this.off()}}return this}infinite(){this.bit.style.width="2%";this.bit.style.opacity="1";this.element.classList.remove(CSS_DISCRETE,CSS_DONE,CSS_INFINITE_LONG_RUNNING);this.element.classList.add(CSS_ACTIVE,CSS_INFINITE);this.longRunningScheduler.schedule();return this}infiniteLongRunning(){this.element.classList.add(CSS_INFINITE_LONG_RUNNING)}getContainer(){return this.element}};ProgressBar.LONG_RUNNING_INFINITE_THRESHOLD=1e4}});var init_44=__esm({"node_modules/monaco-editor/esm/vs/platform/quickinput/browser/media/quickInput.css"(){}});var $4,QuickInputBox;var init_quickInputBox=__esm({"node_modules/monaco-editor/esm/vs/platform/quickinput/browser/quickInputBox.js"(){init_dom();init_keyboardEvent();init_mouseEvent();init_findInput();init_lifecycle();init_severity();init_44();$4=$;QuickInputBox=class extends Disposable{constructor(parent,inputBoxStyles,toggleStyles){super();this.parent=parent;this.onKeyDown=handler=>addDisposableListener(this.findInput.inputBox.inputElement,EventType.KEY_DOWN,(e=>{handler(new StandardKeyboardEvent(e))}));this.onMouseDown=handler=>addDisposableListener(this.findInput.inputBox.inputElement,EventType.MOUSE_DOWN,(e=>{handler(new StandardMouseEvent(e))}));this.onDidChange=handler=>this.findInput.onDidChange(handler);this.container=append(this.parent,$4(".quick-input-box"));this.findInput=this._register(new FindInput(this.container,void 0,{label:"",inputBoxStyles:inputBoxStyles,toggleStyles:toggleStyles}));const input=this.findInput.inputBox.inputElement;input.role="combobox";input.ariaHasPopup="menu";input.ariaAutoComplete="list";input.ariaExpanded="true"}get value(){return this.findInput.getValue()}set value(value){this.findInput.setValue(value)}select(range2=null){this.findInput.inputBox.select(range2)}isSelectionAtEnd(){return this.findInput.inputBox.isSelectionAtEnd()}get placeholder(){return this.findInput.inputBox.inputElement.getAttribute("placeholder")||""}set placeholder(placeholder){this.findInput.inputBox.setPlaceHolder(placeholder)}get password(){return this.findInput.inputBox.inputElement.type==="password"}set password(password){this.findInput.inputBox.inputElement.type=password?"password":"text"}set enabled(enabled){this.findInput.inputBox.inputElement.toggleAttribute("readonly",!enabled)}set toggles(toggles){this.findInput.setAdditionalToggles(toggles)}setAttribute(name,value){this.findInput.inputBox.inputElement.setAttribute(name,value)}showDecoration(decoration2){if(decoration2===severity_default.Ignore){this.findInput.clearMessage()}else{this.findInput.showMessage({type:decoration2===severity_default.Info?1:decoration2===severity_default.Warning?2:3,content:""})}}stylesForType(decoration2){return this.findInput.inputBox.stylesForType(decoration2===severity_default.Info?1:decoration2===severity_default.Warning?2:3)}setFocus(){this.findInput.focus()}layout(){this.findInput.inputBox.layout()}}}});var init_45=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconlabel.css"(){}});var HighlightedLabel;var init_highlightedLabel=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/highlightedlabel/highlightedLabel.js"(){init_dom();init_iconLabels2();init_objects();HighlightedLabel=class{constructor(container,options2){var _a6;this.text="";this.title="";this.highlights=[];this.didEverRender=false;this.supportIcons=(_a6=options2===null||options2===void 0?void 0:options2.supportIcons)!==null&&_a6!==void 0?_a6:false;this.domNode=append(container,$("span.monaco-highlighted-label"))}get element(){return this.domNode}set(text2,highlights=[],title="",escapeNewLines){if(!text2){text2=""}if(escapeNewLines){text2=HighlightedLabel.escapeNewLines(text2,highlights)}if(this.didEverRender&&this.text===text2&&this.title===title&&equals2(this.highlights,highlights)){return}this.text=text2;this.title=title;this.highlights=highlights;this.render()}render(){const children=[];let pos=0;for(const highlight of this.highlights){if(highlight.end===highlight.start){continue}if(pos<highlight.start){const substring2=this.text.substring(pos,highlight.start);if(this.supportIcons){children.push(...renderLabelWithIcons(substring2))}else{children.push(substring2)}pos=highlight.start}const substring=this.text.substring(pos,highlight.end);const element=$("span.highlight",void 0,...this.supportIcons?renderLabelWithIcons(substring):[substring]);if(highlight.extraClasses){element.classList.add(...highlight.extraClasses)}children.push(element);pos=highlight.end}if(pos<this.text.length){const substring=this.text.substring(pos);if(this.supportIcons){children.push(...renderLabelWithIcons(substring))}else{children.push(substring)}}reset(this.domNode,...children);if(this.title){this.domNode.title=this.title}else{this.domNode.removeAttribute("title")}this.didEverRender=true}static escapeNewLines(text2,highlights){let total=0;let extra=0;return text2.replace(/\r\n|\r|\n/g,((match2,offset)=>{extra=match2==="\r\n"?-1:0;offset+=total;for(const highlight of highlights){if(highlight.end<=offset){continue}if(highlight.start>=offset){highlight.start+=extra}if(highlight.end>=offset){highlight.end+=extra}}total+=extra;return"⏎"}))}}}});function splitMatches(labels,separator,matches){if(!matches){return void 0}let labelStart=0;return labels.map((label=>{const labelRange={start:labelStart,end:labelStart+label.length};const result=matches.map((match2=>Range2.intersect(labelRange,match2))).filter((range2=>!Range2.isEmpty(range2))).map((({start:start,end:end})=>({start:start-labelStart,end:end-labelStart})));labelStart=labelRange.end+separator.length;return result}))}var FastLabelNode,IconLabel,Label,LabelWithHighlights;var init_iconLabel=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/iconLabel/iconLabel.js"(){init_45();init_dom();init_highlightedLabel();init_iconLabelHover();init_lifecycle();init_objects();init_range2();FastLabelNode=class{constructor(_element){this._element=_element}get element(){return this._element}set textContent(content){if(this.disposed||content===this._textContent){return}this._textContent=content;this._element.textContent=content}set className(className){if(this.disposed||className===this._className){return}this._className=className;this._element.className=className}set empty(empty2){if(this.disposed||empty2===this._empty){return}this._empty=empty2;this._element.style.marginLeft=empty2?"0":""}dispose(){this.disposed=true}};IconLabel=class extends Disposable{constructor(container,options2){super();this.customHovers=new Map;this.creationOptions=options2;this.domNode=this._register(new FastLabelNode(append(container,$(".monaco-icon-label"))));this.labelContainer=append(this.domNode.element,$(".monaco-icon-label-container"));const nameContainer=append(this.labelContainer,$("span.monaco-icon-name-container"));if((options2===null||options2===void 0?void 0:options2.supportHighlights)||(options2===null||options2===void 0?void 0:options2.supportIcons)){this.nameNode=new LabelWithHighlights(nameContainer,!!options2.supportIcons)}else{this.nameNode=new Label(nameContainer)}this.hoverDelegate=options2===null||options2===void 0?void 0:options2.hoverDelegate}get element(){return this.domNode.element}setLabel(label,description,options2){const labelClasses=["monaco-icon-label"];const containerClasses=["monaco-icon-label-container"];let ariaLabel="";if(options2){if(options2.extraClasses){labelClasses.push(...options2.extraClasses)}if(options2.italic){labelClasses.push("italic")}if(options2.strikethrough){labelClasses.push("strikethrough")}if(options2.disabledCommand){containerClasses.push("disabled")}if(options2.title){ariaLabel+=options2.title}}this.domNode.className=labelClasses.join(" ");this.domNode.element.setAttribute("aria-label",ariaLabel);this.labelContainer.className=containerClasses.join(" ");this.setupHover((options2===null||options2===void 0?void 0:options2.descriptionTitle)?this.labelContainer:this.element,options2===null||options2===void 0?void 0:options2.title);this.nameNode.setLabel(label,options2);if(description||this.descriptionNode){const descriptionNode=this.getOrCreateDescriptionNode();if(descriptionNode instanceof HighlightedLabel){descriptionNode.set(description||"",options2?options2.descriptionMatches:void 0,void 0,options2===null||options2===void 0?void 0:options2.labelEscapeNewLines);this.setupHover(descriptionNode.element,options2===null||options2===void 0?void 0:options2.descriptionTitle)}else{descriptionNode.textContent=description&&(options2===null||options2===void 0?void 0:options2.labelEscapeNewLines)?HighlightedLabel.escapeNewLines(description,[]):description||"";this.setupHover(descriptionNode.element,(options2===null||options2===void 0?void 0:options2.descriptionTitle)||"");descriptionNode.empty=!description}}}setupHover(htmlElement,tooltip){const previousCustomHover=this.customHovers.get(htmlElement);if(previousCustomHover){previousCustomHover.dispose();this.customHovers.delete(htmlElement)}if(!tooltip){htmlElement.removeAttribute("title");return}if(!this.hoverDelegate){setupNativeHover(htmlElement,tooltip)}else{const hoverDisposable=setupCustomHover(this.hoverDelegate,htmlElement,tooltip);if(hoverDisposable){this.customHovers.set(htmlElement,hoverDisposable)}}}dispose(){super.dispose();for(const disposable of this.customHovers.values()){disposable.dispose()}this.customHovers.clear()}getOrCreateDescriptionNode(){var _a6;if(!this.descriptionNode){const descriptionContainer=this._register(new FastLabelNode(append(this.labelContainer,$("span.monaco-icon-description-container"))));if((_a6=this.creationOptions)===null||_a6===void 0?void 0:_a6.supportDescriptionHighlights){this.descriptionNode=new HighlightedLabel(append(descriptionContainer.element,$("span.label-description")),{supportIcons:!!this.creationOptions.supportIcons})}else{this.descriptionNode=this._register(new FastLabelNode(append(descriptionContainer.element,$("span.label-description"))))}}return this.descriptionNode}};Label=class{constructor(container){this.container=container;this.label=void 0;this.singleLabel=void 0}setLabel(label,options2){if(this.label===label&&equals2(this.options,options2)){return}this.label=label;this.options=options2;if(typeof label==="string"){if(!this.singleLabel){this.container.innerText="";this.container.classList.remove("multiple");this.singleLabel=append(this.container,$("a.label-name",{id:options2===null||options2===void 0?void 0:options2.domId}))}this.singleLabel.textContent=label}else{this.container.innerText="";this.container.classList.add("multiple");this.singleLabel=void 0;for(let i=0;i<label.length;i++){const l=label[i];const id=(options2===null||options2===void 0?void 0:options2.domId)&&`${options2===null||options2===void 0?void 0:options2.domId}_${i}`;append(this.container,$("a.label-name",{id:id,"data-icon-label-count":label.length,"data-icon-label-index":i,role:"treeitem"},l));if(i<label.length-1){append(this.container,$("span.label-separator",void 0,(options2===null||options2===void 0?void 0:options2.separator)||"/"))}}}}};LabelWithHighlights=class{constructor(container,supportIcons){this.container=container;this.supportIcons=supportIcons;this.label=void 0;this.singleLabel=void 0}setLabel(label,options2){if(this.label===label&&equals2(this.options,options2)){return}this.label=label;this.options=options2;if(typeof label==="string"){if(!this.singleLabel){this.container.innerText="";this.container.classList.remove("multiple");this.singleLabel=new HighlightedLabel(append(this.container,$("a.label-name",{id:options2===null||options2===void 0?void 0:options2.domId})),{supportIcons:this.supportIcons})}this.singleLabel.set(label,options2===null||options2===void 0?void 0:options2.matches,void 0,options2===null||options2===void 0?void 0:options2.labelEscapeNewLines)}else{this.container.innerText="";this.container.classList.add("multiple");this.singleLabel=void 0;const separator=(options2===null||options2===void 0?void 0:options2.separator)||"/";const matches=splitMatches(label,separator,options2===null||options2===void 0?void 0:options2.matches);for(let i=0;i<label.length;i++){const l=label[i];const m=matches?matches[i]:void 0;const id=(options2===null||options2===void 0?void 0:options2.domId)&&`${options2===null||options2===void 0?void 0:options2.domId}_${i}`;const name=$("a.label-name",{id:id,"data-icon-label-count":label.length,"data-icon-label-index":i,role:"treeitem"});const highlightedLabel=new HighlightedLabel(append(this.container,name),{supportIcons:this.supportIcons});highlightedLabel.set(l,m,void 0,options2===null||options2===void 0?void 0:options2.labelEscapeNewLines);if(i<label.length-1){append(name,$("span.label-separator",void 0,separator))}}}}}}});var init_46=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.css"(){}});var $5,unthemedKeybindingLabelOptions,KeybindingLabel;var init_keybindingLabel=__esm({"node_modules/monaco-editor/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.js"(){init_dom();init_keybindingLabels();init_objects();init_46();init_nls();$5=$;unthemedKeybindingLabelOptions={keybindingLabelBackground:void 0,keybindingLabelForeground:void 0,keybindingLabelBorder:void 0,keybindingLabelBottomBorder:void 0,keybindingLabelShadow:void 0};KeybindingLabel=class{constructor(container,os,options2){this.os=os;this.keyElements=new Set;this.options=options2||Object.create(null);const labelForeground=this.options.keybindingLabelForeground;this.domNode=append(container,$5(".monaco-keybinding"));if(labelForeground){this.domNode.style.color=labelForeground}this.didEverRender=false;container.appendChild(this.domNode)}get element(){return this.domNode}set(keybinding,matches){if(this.didEverRender&&this.keybinding===keybinding&&KeybindingLabel.areSame(this.matches,matches)){return}this.keybinding=keybinding;this.matches=matches;this.render()}render(){var _a6;this.clear();if(this.keybinding){const chords=this.keybinding.getChords();if(chords[0]){this.renderChord(this.domNode,chords[0],this.matches?this.matches.firstPart:null)}for(let i=1;i<chords.length;i++){append(this.domNode,$5("span.monaco-keybinding-key-chord-separator",void 0," "));this.renderChord(this.domNode,chords[i],this.matches?this.matches.chordPart:null)}const title=((_a6=this.options.disableTitle)!==null&&_a6!==void 0?_a6:false)?void 0:this.keybinding.getAriaLabel()||void 0;if(title!==void 0){this.domNode.title=title}else{this.domNode.removeAttribute("title")}}else if(this.options&&this.options.renderUnboundKeybindings){this.renderUnbound(this.domNode)}this.didEverRender=true}clear(){clearNode(this.domNode);this.keyElements.clear()}renderChord(parent,chord,match2){const modifierLabels=UILabelProvider.modifierLabels[this.os];if(chord.ctrlKey){this.renderKey(parent,modifierLabels.ctrlKey,Boolean(match2===null||match2===void 0?void 0:match2.ctrlKey),modifierLabels.separator)}if(chord.shiftKey){this.renderKey(parent,modifierLabels.shiftKey,Boolean(match2===null||match2===void 0?void 0:match2.shiftKey),modifierLabels.separator)}if(chord.altKey){this.renderKey(parent,modifierLabels.altKey,Boolean(match2===null||match2===void 0?void 0:match2.altKey),modifierLabels.separator)}if(chord.metaKey){this.renderKey(parent,modifierLabels.metaKey,Boolean(match2===null||match2===void 0?void 0:match2.metaKey),modifierLabels.separator)}const keyLabel=chord.keyLabel;if(keyLabel){this.renderKey(parent,keyLabel,Boolean(match2===null||match2===void 0?void 0:match2.keyCode),"")}}renderKey(parent,label,highlight,separator){append(parent,this.createKeyElement(label,highlight?".highlight":""));if(separator){append(parent,$5("span.monaco-keybinding-key-separator",void 0,separator))}}renderUnbound(parent){append(parent,this.createKeyElement(localize("unbound","Unbound")))}createKeyElement(label,extraClass=""){const keyElement=$5("span.monaco-keybinding-key"+extraClass,void 0,label);this.keyElements.add(keyElement);if(this.options.keybindingLabelBackground){keyElement.style.backgroundColor=this.options.keybindingLabelBackground}if(this.options.keybindingLabelBorder){keyElement.style.borderColor=this.options.keybindingLabelBorder}if(this.options.keybindingLabelBottomBorder){keyElement.style.borderBottomColor=this.options.keybindingLabelBottomBorder}if(this.options.keybindingLabelShadow){keyElement.style.boxShadow=`inset 0 -1px 0 ${this.options.keybindingLabelShadow}`}return keyElement}static areSame(a,b){if(a===b||!a&&!b){return true}return!!a&&!!b&&equals2(a.firstPart,b.firstPart)&&equals2(a.chordPart,b.chordPart)}}}});function compareFileNames(one,other,caseSensitive=false){const a=one||"";const b=other||"";const result=intlFileNameCollatorBaseNumeric.value.collator.compare(a,b);if(intlFileNameCollatorBaseNumeric.value.collatorIsNumeric&&result===0&&a!==b){return a<b?-1:1}return result}function compareAnything(one,other,lookFor){const elementAName=one.toLowerCase();const elementBName=other.toLowerCase();const prefixCompare=compareByPrefix(one,other,lookFor);if(prefixCompare){return prefixCompare}const elementASuffixMatch=elementAName.endsWith(lookFor);const elementBSuffixMatch=elementBName.endsWith(lookFor);if(elementASuffixMatch!==elementBSuffixMatch){return elementASuffixMatch?-1:1}const r=compareFileNames(elementAName,elementBName);if(r!==0){return r}return elementAName.localeCompare(elementBName)}function compareByPrefix(one,other,lookFor){const elementAName=one.toLowerCase();const elementBName=other.toLowerCase();const elementAPrefixMatch=elementAName.startsWith(lookFor);const elementBPrefixMatch=elementBName.startsWith(lookFor);if(elementAPrefixMatch!==elementBPrefixMatch){return elementAPrefixMatch?-1:1}else if(elementAPrefixMatch&&elementBPrefixMatch){if(elementAName.length<elementBName.length){return-1}if(elementAName.length>elementBName.length){return 1}}return 0}var intlFileNameCollatorBaseNumeric,intlFileNameCollatorNumeric,intlFileNameCollatorNumericCaseInsensitive;var init_comparers=__esm({"node_modules/monaco-editor/esm/vs/base/common/comparers.js"(){init_lazy();intlFileNameCollatorBaseNumeric=new Lazy((()=>{const collator=new Intl.Collator(void 0,{numeric:true,sensitivity:"base"});return{collator:collator,collatorIsNumeric:collator.resolvedOptions().numeric}}));intlFileNameCollatorNumeric=new Lazy((()=>{const collator=new Intl.Collator(void 0,{numeric:true});return{collator:collator}}));intlFileNameCollatorNumericCaseInsensitive=new Lazy((()=>{const collator=new Intl.Collator(void 0,{numeric:true,sensitivity:"accent"});return{collator:collator}}))}});function parseLinkedText(text2){const result=[];let index=0;let match2;while(match2=LINK_REGEX.exec(text2)){if(match2.index-index>0){result.push(text2.substring(index,match2.index))}const[,label,href,,title]=match2;if(title){result.push({label:label,href:href,title:title})}else{result.push({label:label,href:href})}index=match2.index+match2[0].length}if(index<text2.length){result.push(text2.substring(index))}return new LinkedText(result)}var __decorate36,LinkedText,LINK_REGEX;var init_linkedText=__esm({"node_modules/monaco-editor/esm/vs/base/common/linkedText.js"(){init_decorators();__decorate36=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};LinkedText=class{constructor(nodes){this.nodes=nodes}toString(){return this.nodes.map((node=>typeof node==="string"?node:node.label)).join("")}};__decorate36([memoize],LinkedText.prototype,"toString",null);LINK_REGEX=/\[([^\]]+)\]\(((?:https?:\/\/|command:|file:)[^\)\s]+)(?: (["'])(.+?)(\3))?\)/gi}});function getIconClass(iconPath){if(!iconPath){return void 0}let iconClass;const key=iconPath.dark.toString();if(iconPathToClass[key]){iconClass=iconPathToClass[key]}else{iconClass=iconClassGenerator.nextId();createCSSRule(`.${iconClass}, .hc-light .${iconClass}`,`background-image: ${asCSSUrl(iconPath.light||iconPath.dark)}`);createCSSRule(`.vs-dark .${iconClass}, .hc-black .${iconClass}`,`background-image: ${asCSSUrl(iconPath.dark)}`);iconPathToClass[key]=iconClass}return iconClass}function renderQuickInputDescription(description,container,actionHandler){reset(container);const parsed=parseLinkedText(description);let tabIndex=0;for(const node of parsed.nodes){if(typeof node==="string"){container.append(...renderLabelWithIcons(node))}else{let title=node.title;if(!title&&node.href.startsWith("command:")){title=localize("executeCommand","Click to execute command '{0}'",node.href.substring("command:".length))}else if(!title){title=node.href}const anchor=$("a",{href:node.href,title:title,tabIndex:tabIndex++},node.label);anchor.style.textDecoration="underline";const handleOpen=e=>{if(isEventLike(e)){EventHelper.stop(e,true)}actionHandler.callback(node.href)};const onClick=actionHandler.disposables.add(new DomEmitter(anchor,EventType.CLICK)).event;const onKeydown=actionHandler.disposables.add(new DomEmitter(anchor,EventType.KEY_DOWN)).event;const onSpaceOrEnter=actionHandler.disposables.add(Event.chain(onKeydown)).filter((e=>{const event=new StandardKeyboardEvent(e);return event.equals(10)||event.equals(3)})).event;actionHandler.disposables.add(Gesture.addTarget(anchor));const onTap=actionHandler.disposables.add(new DomEmitter(anchor,EventType2.Tap)).event;Event.any(onClick,onTap,onSpaceOrEnter)(handleOpen,null,actionHandler.disposables);container.appendChild(anchor)}}}var iconPathToClass,iconClassGenerator;var init_quickInputUtils=__esm({"node_modules/monaco-editor/esm/vs/platform/quickinput/browser/quickInputUtils.js"(){init_dom();init_event2();init_event();init_keyboardEvent();init_touch();init_iconLabels2();init_idGenerator();init_linkedText();init_44();init_nls();iconPathToClass={};iconClassGenerator=new IdGenerator("quick-input-button-icon-")}});function matchesContiguousIconAware(query,target){const{text:text2,iconOffsets:iconOffsets}=target;if(!iconOffsets||iconOffsets.length===0){return matchesContiguous(query,text2)}const wordToMatchAgainstWithoutIconsTrimmed=ltrim(text2," ");const leadingWhitespaceOffset=text2.length-wordToMatchAgainstWithoutIconsTrimmed.length;const matches=matchesContiguous(query,wordToMatchAgainstWithoutIconsTrimmed);if(matches){for(const match2 of matches){const iconOffset=iconOffsets[match2.start+leadingWhitespaceOffset]+leadingWhitespaceOffset;match2.start+=iconOffset;match2.end+=iconOffset}}return matches}function matchesContiguous(word,wordToMatchAgainst){const matchIndex=wordToMatchAgainst.toLowerCase().indexOf(word.toLowerCase());if(matchIndex!==-1){return[{start:matchIndex,end:matchIndex+word.length}]}return null}function compareEntries(elementA,elementB,lookFor){const labelHighlightsA=elementA.labelHighlights||[];const labelHighlightsB=elementB.labelHighlights||[];if(labelHighlightsA.length&&!labelHighlightsB.length){return-1}if(!labelHighlightsA.length&&labelHighlightsB.length){return 1}if(labelHighlightsA.length===0&&labelHighlightsB.length===0){return 0}return compareAnything(elementA.saneSortLabel,elementB.saneSortLabel,lookFor)}var __decorate37,__awaiter24,$6,ListElement,ListElementRenderer,ListElementDelegate,QuickInputListFocus,QuickInputList,QuickInputAccessibilityProvider;var init_quickInputList=__esm({"node_modules/monaco-editor/esm/vs/platform/quickinput/browser/quickInputList.js"(){init_dom();init_keyboardEvent();init_actionbar();init_iconLabel();init_keybindingLabel();init_arrays();init_async();init_comparers();init_decorators();init_errors();init_event();init_iconLabels();init_lifecycle();init_platform();init_strings();init_44();init_nls();init_quickInputUtils();init_lazy();init_uri();init_theme();__decorate37=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__awaiter24=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};$6=$;ListElement=class{constructor(mainItem,previous,index,hasCheckbox,fireButtonTriggered,fireSeparatorButtonTriggered,onCheckedEmitter){var _a6,_b3,_c2;this._checked=false;this._hidden=false;this.hasCheckbox=hasCheckbox;this.index=index;this.fireButtonTriggered=fireButtonTriggered;this.fireSeparatorButtonTriggered=fireSeparatorButtonTriggered;this._onChecked=onCheckedEmitter;this.onChecked=hasCheckbox?Event.map(Event.filter(this._onChecked.event,(e=>e.listElement===this)),(e=>e.checked)):Event.None;if(mainItem.type==="separator"){this._separator=mainItem}else{this.item=mainItem;if(previous&&previous.type==="separator"&&!previous.buttons){this._separator=previous}this.saneDescription=this.item.description;this.saneDetail=this.item.detail;this._labelHighlights=(_a6=this.item.highlights)===null||_a6===void 0?void 0:_a6.label;this._descriptionHighlights=(_b3=this.item.highlights)===null||_b3===void 0?void 0:_b3.description;this._detailHighlights=(_c2=this.item.highlights)===null||_c2===void 0?void 0:_c2.detail;this.saneTooltip=this.item.tooltip}this._init=new Lazy((()=>{var _a7;const saneLabel=(_a7=mainItem.label)!==null&&_a7!==void 0?_a7:"";const saneSortLabel=parseLabelWithIcons(saneLabel).text.trim();const saneAriaLabel=mainItem.ariaLabel||[saneLabel,this.saneDescription,this.saneDetail].map((s=>getCodiconAriaLabel(s))).filter((s=>!!s)).join(", ");return{saneLabel:saneLabel,saneSortLabel:saneSortLabel,saneAriaLabel:saneAriaLabel}}))}get saneLabel(){return this._init.value.saneLabel}get saneSortLabel(){return this._init.value.saneSortLabel}get saneAriaLabel(){return this._init.value.saneAriaLabel}get element(){return this._element}set element(value){this._element=value}get hidden(){return this._hidden}set hidden(value){this._hidden=value}get checked(){return this._checked}set checked(value){if(value!==this._checked){this._checked=value;this._onChecked.fire({listElement:this,checked:value})}}get separator(){return this._separator}set separator(value){this._separator=value}get labelHighlights(){return this._labelHighlights}set labelHighlights(value){this._labelHighlights=value}get descriptionHighlights(){return this._descriptionHighlights}set descriptionHighlights(value){this._descriptionHighlights=value}get detailHighlights(){return this._detailHighlights}set detailHighlights(value){this._detailHighlights=value}};ListElementRenderer=class{constructor(themeService){this.themeService=themeService}get templateId(){return ListElementRenderer.ID}renderTemplate(container){const data=Object.create(null);data.toDisposeElement=[];data.toDisposeTemplate=[];data.entry=append(container,$6(".quick-input-list-entry"));const label=append(data.entry,$6("label.quick-input-list-label"));data.toDisposeTemplate.push(addStandardDisposableListener(label,EventType.CLICK,(e=>{if(!data.checkbox.offsetParent){e.preventDefault()}})));data.checkbox=append(label,$6("input.quick-input-list-checkbox"));data.checkbox.type="checkbox";data.toDisposeTemplate.push(addStandardDisposableListener(data.checkbox,EventType.CHANGE,(e=>{data.element.checked=data.checkbox.checked})));const rows=append(label,$6(".quick-input-list-rows"));const row1=append(rows,$6(".quick-input-list-row"));const row2=append(rows,$6(".quick-input-list-row"));data.label=new IconLabel(row1,{supportHighlights:true,supportDescriptionHighlights:true,supportIcons:true});data.icon=prepend(data.label.element,$6(".quick-input-list-icon"));const keybindingContainer=append(row1,$6(".quick-input-list-entry-keybinding"));data.keybinding=new KeybindingLabel(keybindingContainer,OS);const detailContainer=append(row2,$6(".quick-input-list-label-meta"));data.detail=new IconLabel(detailContainer,{supportHighlights:true,supportIcons:true});data.separator=append(data.entry,$6(".quick-input-list-separator"));data.actionBar=new ActionBar(data.entry);data.actionBar.domNode.classList.add("quick-input-list-entry-action-bar");data.toDisposeTemplate.push(data.actionBar);return data}renderElement(element,index,data){var _a6,_b3,_c2,_d2;data.element=element;element.element=(_a6=data.entry)!==null&&_a6!==void 0?_a6:void 0;const mainItem=element.item?element.item:element.separator;data.checkbox.checked=element.checked;data.toDisposeElement.push(element.onChecked((checked=>data.checkbox.checked=checked)));const{labelHighlights:labelHighlights,descriptionHighlights:descriptionHighlights,detailHighlights:detailHighlights}=element;if((_b3=element.item)===null||_b3===void 0?void 0:_b3.iconPath){const icon=isDark(this.themeService.getColorTheme().type)?element.item.iconPath.dark:(_c2=element.item.iconPath.light)!==null&&_c2!==void 0?_c2:element.item.iconPath.dark;const iconUrl=URI.revive(icon);data.icon.className="quick-input-list-icon";data.icon.style.backgroundImage=asCSSUrl(iconUrl)}else{data.icon.style.backgroundImage="";data.icon.className=((_d2=element.item)===null||_d2===void 0?void 0:_d2.iconClass)?`quick-input-list-icon ${element.item.iconClass}`:""}const options2={matches:labelHighlights||[],descriptionTitle:element.saneDescription,descriptionMatches:descriptionHighlights||[],labelEscapeNewLines:true};if(mainItem.type!=="separator"){options2.extraClasses=mainItem.iconClasses;options2.italic=mainItem.italic;options2.strikethrough=mainItem.strikethrough;data.entry.classList.remove("quick-input-list-separator-as-item")}else{data.entry.classList.add("quick-input-list-separator-as-item")}data.label.setLabel(element.saneLabel,element.saneDescription,options2);data.keybinding.set(mainItem.type==="separator"?void 0:mainItem.keybinding);if(element.saneDetail){data.detail.element.style.display="";data.detail.setLabel(element.saneDetail,void 0,{matches:detailHighlights,title:element.saneDetail,labelEscapeNewLines:true})}else{data.detail.element.style.display="none"}if(element.item&&element.separator&&element.separator.label){data.separator.textContent=element.separator.label;data.separator.style.display=""}else{data.separator.style.display="none"}data.entry.classList.toggle("quick-input-list-separator-border",!!element.separator);const buttons=mainItem.buttons;if(buttons&&buttons.length){data.actionBar.push(buttons.map(((button,index2)=>{let cssClasses=button.iconClass||(button.iconPath?getIconClass(button.iconPath):void 0);if(button.alwaysVisible){cssClasses=cssClasses?`${cssClasses} always-visible`:"always-visible"}return{id:`id-${index2}`,class:cssClasses,enabled:true,label:"",tooltip:button.tooltip||"",run:()=>{mainItem.type!=="separator"?element.fireButtonTriggered({button:button,item:mainItem}):element.fireSeparatorButtonTriggered({button:button,separator:mainItem})}}})),{icon:true,label:false});data.entry.classList.add("has-actions")}else{data.entry.classList.remove("has-actions")}}disposeElement(element,index,data){data.toDisposeElement=dispose(data.toDisposeElement);data.actionBar.clear()}disposeTemplate(data){data.toDisposeElement=dispose(data.toDisposeElement);data.toDisposeTemplate=dispose(data.toDisposeTemplate)}};ListElementRenderer.ID="listelement";ListElementDelegate=class{getHeight(element){if(!element.item){return 24}return element.saneDetail?44:22}getTemplateId(element){return ListElementRenderer.ID}};(function(QuickInputListFocus2){QuickInputListFocus2[QuickInputListFocus2["First"]=1]="First";QuickInputListFocus2[QuickInputListFocus2["Second"]=2]="Second";QuickInputListFocus2[QuickInputListFocus2["Last"]=3]="Last";QuickInputListFocus2[QuickInputListFocus2["Next"]=4]="Next";QuickInputListFocus2[QuickInputListFocus2["Previous"]=5]="Previous";QuickInputListFocus2[QuickInputListFocus2["NextPage"]=6]="NextPage";QuickInputListFocus2[QuickInputListFocus2["PreviousPage"]=7]="PreviousPage"})(QuickInputListFocus||(QuickInputListFocus={}));QuickInputList=class{constructor(parent,id,options2,themeService){this.parent=parent;this.options=options2;this.inputElements=[];this.elements=[];this.elementsToIndexes=new Map;this.matchOnDescription=false;this.matchOnDetail=false;this.matchOnLabel=true;this.matchOnLabelMode="fuzzy";this.sortByLabel=true;this._onChangedAllVisibleChecked=new Emitter;this.onChangedAllVisibleChecked=this._onChangedAllVisibleChecked.event;this._onChangedCheckedCount=new Emitter;this.onChangedCheckedCount=this._onChangedCheckedCount.event;this._onChangedVisibleCount=new Emitter;this.onChangedVisibleCount=this._onChangedVisibleCount.event;this._onChangedCheckedElements=new Emitter;this.onChangedCheckedElements=this._onChangedCheckedElements.event;this._onButtonTriggered=new Emitter;this.onButtonTriggered=this._onButtonTriggered.event;this._onSeparatorButtonTriggered=new Emitter;this.onSeparatorButtonTriggered=this._onSeparatorButtonTriggered.event;this._onKeyDown=new Emitter;this.onKeyDown=this._onKeyDown.event;this._onLeave=new Emitter;this.onLeave=this._onLeave.event;this._listElementChecked=new Emitter;this._fireCheckedEvents=true;this.elementDisposables=[];this.disposables=[];this.id=id;this.container=append(this.parent,$6(".quick-input-list"));const delegate=new ListElementDelegate;const accessibilityProvider=new QuickInputAccessibilityProvider;this.list=options2.createList("QuickInput",this.container,delegate,[new ListElementRenderer(themeService)],{identityProvider:{getId:element=>{var _a6,_b3,_c2,_d2,_e2,_f2,_g2,_h2;return(_h2=(_f2=(_d2=(_b3=(_a6=element.item)===null||_a6===void 0?void 0:_a6.id)!==null&&_b3!==void 0?_b3:(_c2=element.item)===null||_c2===void 0?void 0:_c2.label)!==null&&_d2!==void 0?_d2:(_e2=element.separator)===null||_e2===void 0?void 0:_e2.id)!==null&&_f2!==void 0?_f2:(_g2=element.separator)===null||_g2===void 0?void 0:_g2.label)!==null&&_h2!==void 0?_h2:""}},setRowLineHeight:false,multipleSelectionSupport:false,horizontalScrolling:false,accessibilityProvider:accessibilityProvider});this.list.getHTMLElement().id=id;this.disposables.push(this.list);this.disposables.push(this.list.onKeyDown((e=>{const event=new StandardKeyboardEvent(e);switch(event.keyCode){case 10:this.toggleCheckbox();break;case 31:if(isMacintosh?e.metaKey:e.ctrlKey){this.list.setFocus(range(this.list.length))}break;case 16:{const focus1=this.list.getFocus();if(focus1.length===1&&focus1[0]===0){this._onLeave.fire()}break}case 18:{const focus2=this.list.getFocus();if(focus2.length===1&&focus2[0]===this.list.length-1){this._onLeave.fire()}break}}this._onKeyDown.fire(event)})));this.disposables.push(this.list.onMouseDown((e=>{if(e.browserEvent.button!==2){e.browserEvent.preventDefault()}})));this.disposables.push(addDisposableListener(this.container,EventType.CLICK,(e=>{if(e.x||e.y){this._onLeave.fire()}})));this.disposables.push(this.list.onMouseMiddleClick((e=>{this._onLeave.fire()})));this.disposables.push(this.list.onContextMenu((e=>{if(typeof e.index==="number"){e.browserEvent.preventDefault();this.list.setSelection([e.index])}})));if(options2.hoverDelegate){const delayer3=new ThrottledDelayer(options2.hoverDelegate.delay);this.disposables.push(this.list.onMouseOver((e=>__awaiter24(this,void 0,void 0,(function*(){var _a6;if(e.browserEvent.target instanceof HTMLAnchorElement){delayer3.cancel();return}if(!(e.browserEvent.relatedTarget instanceof HTMLAnchorElement)&&isAncestor(e.browserEvent.relatedTarget,(_a6=e.element)===null||_a6===void 0?void 0:_a6.element)){return}try{yield delayer3.trigger((()=>__awaiter24(this,void 0,void 0,(function*(){if(e.element){this.showHover(e.element)}}))))}catch(e2){if(!isCancellationError(e2)){throw e2}}})))));this.disposables.push(this.list.onMouseOut((e=>{var _a6;if(isAncestor(e.browserEvent.relatedTarget,(_a6=e.element)===null||_a6===void 0?void 0:_a6.element)){return}delayer3.cancel()})));this.disposables.push(delayer3)}this.disposables.push(this._listElementChecked.event((_=>this.fireCheckedEvents())));this.disposables.push(this._onChangedAllVisibleChecked,this._onChangedCheckedCount,this._onChangedVisibleCount,this._onChangedCheckedElements,this._onButtonTriggered,this._onSeparatorButtonTriggered,this._onLeave,this._onKeyDown)}get onDidChangeFocus(){return Event.map(this.list.onDidChangeFocus,(e=>e.elements.map((e2=>e2.item))))}get onDidChangeSelection(){return Event.map(this.list.onDidChangeSelection,(e=>({items:e.elements.map((e2=>e2.item)),event:e.browserEvent})))}get scrollTop(){return this.list.scrollTop}set scrollTop(scrollTop){this.list.scrollTop=scrollTop}get ariaLabel(){return this.list.getHTMLElement().ariaLabel}set ariaLabel(label){this.list.getHTMLElement().ariaLabel=label}getAllVisibleChecked(){return this.allVisibleChecked(this.elements,false)}allVisibleChecked(elements,whenNoneVisible=true){for(let i=0,n=elements.length;i<n;i++){const element=elements[i];if(!element.hidden){if(!element.checked){return false}else{whenNoneVisible=true}}}return whenNoneVisible}getCheckedCount(){let count=0;const elements=this.elements;for(let i=0,n=elements.length;i<n;i++){if(elements[i].checked){count++}}return count}getVisibleCount(){let count=0;const elements=this.elements;for(let i=0,n=elements.length;i<n;i++){if(!elements[i].hidden){count++}}return count}setAllVisibleChecked(checked){try{this._fireCheckedEvents=false;this.elements.forEach((element=>{if(!element.hidden){element.checked=checked}}))}finally{this._fireCheckedEvents=true;this.fireCheckedEvents()}}setElements(inputElements){this.elementDisposables=dispose(this.elementDisposables);const fireButtonTriggered=event=>this.fireButtonTriggered(event);const fireSeparatorButtonTriggered=event=>this.fireSeparatorButtonTriggered(event);this.inputElements=inputElements;const elementsToIndexes=new Map;const hasCheckbox=this.parent.classList.contains("show-checkboxes");this.elements=inputElements.reduce(((result,item,index)=>{var _a6;const previous=index>0?inputElements[index-1]:void 0;if(item.type==="separator"){if(!item.buttons){return result}}const element=new ListElement(item,previous,index,hasCheckbox,fireButtonTriggered,fireSeparatorButtonTriggered,this._listElementChecked);const resultIndex=result.length;result.push(element);elementsToIndexes.set((_a6=element.item)!==null&&_a6!==void 0?_a6:element.separator,resultIndex);return result}),[]);this.elementsToIndexes=elementsToIndexes;this.list.splice(0,this.list.length);this.list.splice(0,this.list.length,this.elements);this._onChangedVisibleCount.fire(this.elements.length)}getFocusedElements(){return this.list.getFocusedElements().map((e=>e.item))}setFocusedElements(items){this.list.setFocus(items.filter((item=>this.elementsToIndexes.has(item))).map((item=>this.elementsToIndexes.get(item))));if(items.length>0){const focused=this.list.getFocus()[0];if(typeof focused==="number"){this.list.reveal(focused)}}}getActiveDescendant(){return this.list.getHTMLElement().getAttribute("aria-activedescendant")}setSelectedElements(items){this.list.setSelection(items.filter((item=>this.elementsToIndexes.has(item))).map((item=>this.elementsToIndexes.get(item))))}getCheckedElements(){return this.elements.filter((e=>e.checked)).map((e=>e.item)).filter((e=>!!e))}setCheckedElements(items){try{this._fireCheckedEvents=false;const checked=new Set;for(const item of items){checked.add(item)}for(const element of this.elements){element.checked=checked.has(element.item)}}finally{this._fireCheckedEvents=true;this.fireCheckedEvents()}}set enabled(value){this.list.getHTMLElement().style.pointerEvents=value?"":"none"}focus(what){if(!this.list.length){return}if(what===QuickInputListFocus.Second&&this.list.length<2){what=QuickInputListFocus.First}switch(what){case QuickInputListFocus.First:this.list.scrollTop=0;this.list.focusFirst(void 0,(e=>!!e.item));break;case QuickInputListFocus.Second:this.list.scrollTop=0;this.list.focusNth(1,void 0,(e=>!!e.item));break;case QuickInputListFocus.Last:this.list.scrollTop=this.list.scrollHeight;this.list.focusLast(void 0,(e=>!!e.item));break;case QuickInputListFocus.Next:{this.list.focusNext(void 0,true,void 0,(e=>!!e.item));const index=this.list.getFocus()[0];if(index!==0&&!this.elements[index-1].item&&this.list.firstVisibleIndex>index-1){this.list.reveal(index-1)}break}case QuickInputListFocus.Previous:{this.list.focusPrevious(void 0,true,void 0,(e=>!!e.item));const index=this.list.getFocus()[0];if(index!==0&&!this.elements[index-1].item&&this.list.firstVisibleIndex>index-1){this.list.reveal(index-1)}break}case QuickInputListFocus.NextPage:this.list.focusNextPage(void 0,(e=>!!e.item));break;case QuickInputListFocus.PreviousPage:this.list.focusPreviousPage(void 0,(e=>!!e.item));break}const focused=this.list.getFocus()[0];if(typeof focused==="number"){this.list.reveal(focused)}}clearFocus(){this.list.setFocus([])}domFocus(){this.list.domFocus()}showHover(element){var _a6,_b3,_c2;if(this.options.hoverDelegate===void 0){return}if(this._lastHover&&!this._lastHover.isDisposed){(_b3=(_a6=this.options.hoverDelegate).onDidHideHover)===null||_b3===void 0?void 0:_b3.call(_a6);(_c2=this._lastHover)===null||_c2===void 0?void 0:_c2.dispose()}if(!element.element||!element.saneTooltip){return}this._lastHover=this.options.hoverDelegate.showHover({content:element.saneTooltip,target:element.element,linkHandler:url=>{this.options.linkOpenerDelegate(url)},showPointer:true,container:this.container,hoverPosition:1},false)}layout(maxHeight){this.list.getHTMLElement().style.maxHeight=maxHeight?`${Math.floor(maxHeight/44)*44+6}px`:"";this.list.layout()}filter(query){if(!(this.sortByLabel||this.matchOnLabel||this.matchOnDescription||this.matchOnDetail)){this.list.layout();return false}const queryWithWhitespace=query;query=query.trim();if(!query||!(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail)){this.elements.forEach((element=>{element.labelHighlights=void 0;element.descriptionHighlights=void 0;element.detailHighlights=void 0;element.hidden=false;const previous=element.index&&this.inputElements[element.index-1];if(element.item){element.separator=previous&&previous.type==="separator"&&!previous.buttons?previous:void 0}}))}else{let currentSeparator;this.elements.forEach((element=>{var _a6,_b3,_c2,_d2;let labelHighlights;if(this.matchOnLabelMode==="fuzzy"){labelHighlights=this.matchOnLabel?(_a6=matchesFuzzyIconAware(query,parseLabelWithIcons(element.saneLabel)))!==null&&_a6!==void 0?_a6:void 0:void 0}else{labelHighlights=this.matchOnLabel?(_b3=matchesContiguousIconAware(queryWithWhitespace,parseLabelWithIcons(element.saneLabel)))!==null&&_b3!==void 0?_b3:void 0:void 0}const descriptionHighlights=this.matchOnDescription?(_c2=matchesFuzzyIconAware(query,parseLabelWithIcons(element.saneDescription||"")))!==null&&_c2!==void 0?_c2:void 0:void 0;const detailHighlights=this.matchOnDetail?(_d2=matchesFuzzyIconAware(query,parseLabelWithIcons(element.saneDetail||"")))!==null&&_d2!==void 0?_d2:void 0:void 0;if(labelHighlights||descriptionHighlights||detailHighlights){element.labelHighlights=labelHighlights;element.descriptionHighlights=descriptionHighlights;element.detailHighlights=detailHighlights;element.hidden=false}else{element.labelHighlights=void 0;element.descriptionHighlights=void 0;element.detailHighlights=void 0;element.hidden=element.item?!element.item.alwaysShow:true}if(element.item){element.separator=void 0}else if(element.separator){element.hidden=true}if(!this.sortByLabel){const previous=element.index&&this.inputElements[element.index-1];currentSeparator=previous&&previous.type==="separator"?previous:currentSeparator;if(currentSeparator&&!element.hidden){element.separator=currentSeparator;currentSeparator=void 0}}}))}const shownElements=this.elements.filter((element=>!element.hidden));if(this.sortByLabel&&query){const normalizedSearchValue=query.toLowerCase();shownElements.sort(((a,b)=>compareEntries(a,b,normalizedSearchValue)))}this.elementsToIndexes=shownElements.reduce(((map,element,index)=>{var _a6;map.set((_a6=element.item)!==null&&_a6!==void 0?_a6:element.separator,index);return map}),new Map);this.list.splice(0,this.list.length,shownElements);this.list.setFocus([]);this.list.layout();this._onChangedAllVisibleChecked.fire(this.getAllVisibleChecked());this._onChangedVisibleCount.fire(shownElements.length);return true}toggleCheckbox(){try{this._fireCheckedEvents=false;const elements=this.list.getFocusedElements();const allChecked=this.allVisibleChecked(elements);for(const element of elements){element.checked=!allChecked}}finally{this._fireCheckedEvents=true;this.fireCheckedEvents()}}display(display){this.container.style.display=display?"":"none"}isDisplayed(){return this.container.style.display!=="none"}dispose(){this.elementDisposables=dispose(this.elementDisposables);this.disposables=dispose(this.disposables)}fireCheckedEvents(){if(this._fireCheckedEvents){this._onChangedAllVisibleChecked.fire(this.getAllVisibleChecked());this._onChangedCheckedCount.fire(this.getCheckedCount());this._onChangedCheckedElements.fire(this.getCheckedElements())}}fireButtonTriggered(event){this._onButtonTriggered.fire(event)}fireSeparatorButtonTriggered(event){this._onSeparatorButtonTriggered.fire(event)}style(styles){this.list.style(styles)}toggleHover(){const element=this.list.getFocusedElements()[0];if(!(element===null||element===void 0?void 0:element.saneTooltip)){return}if(this._lastHover&&!this._lastHover.isDisposed){this._lastHover.dispose();return}const focused=this.list.getFocusedElements()[0];if(!focused){return}this.showHover(focused);const store=new DisposableStore;store.add(this.list.onDidChangeFocus((e=>{if(e.indexes.length){this.showHover(e.elements[0])}})));if(this._lastHover){store.add(this._lastHover)}this._toggleHover=store;this.elementDisposables.push(this._toggleHover)}};__decorate37([memoize],QuickInputList.prototype,"onDidChangeFocus",null);__decorate37([memoize],QuickInputList.prototype,"onDidChangeSelection",null);QuickInputAccessibilityProvider=class{getWidgetAriaLabel(){return localize("quickInput","Quick Input")}getAriaLabel(element){var _a6;return((_a6=element.separator)===null||_a6===void 0?void 0:_a6.label)?`${element.saneAriaLabel}, ${element.separator.label}`:element.saneAriaLabel}getWidgetRole(){return"listbox"}getRole(element){return element.hasCheckbox?"checkbox":"option"}isChecked(element){if(!element.hasCheckbox){return void 0}return{value:element.checked,onDidChange:element.onChecked}}}}});var __awaiter25,backButton,QuickInput,QuickPick,InputBox2;var init_quickInput2=__esm({"node_modules/monaco-editor/esm/vs/platform/quickinput/browser/quickInput.js"(){init_dom();init_keyboardEvent();init_toggle();init_actions();init_arrays();init_async();init_codicons();init_event();init_lifecycle();init_platform();init_severity();init_themables();init_44();init_nls();init_quickInput();init_quickInputList();init_quickInputUtils();__awaiter25=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};backButton={iconClass:ThemeIcon.asClassName(Codicon.quickInputBack),tooltip:localize("quickInput.back","Back"),handle:-1};QuickInput=class extends Disposable{constructor(ui){super();this.ui=ui;this._widgetUpdated=false;this.visible=false;this._enabled=true;this._busy=false;this._ignoreFocusOut=false;this._buttons=[];this.buttonsUpdated=false;this._toggles=[];this.togglesUpdated=false;this.noValidationMessage=QuickInput.noPromptMessage;this._severity=severity_default.Ignore;this.onDidTriggerButtonEmitter=this._register(new Emitter);this.onDidHideEmitter=this._register(new Emitter);this.onDisposeEmitter=this._register(new Emitter);this.visibleDisposables=this._register(new DisposableStore);this.onDidHide=this.onDidHideEmitter.event}get title(){return this._title}set title(title){this._title=title;this.update()}get description(){return this._description}set description(description){this._description=description;this.update()}get step(){return this._steps}set step(step){this._steps=step;this.update()}get totalSteps(){return this._totalSteps}set totalSteps(totalSteps){this._totalSteps=totalSteps;this.update()}get enabled(){return this._enabled}set enabled(enabled){this._enabled=enabled;this.update()}get contextKey(){return this._contextKey}set contextKey(contextKey){this._contextKey=contextKey;this.update()}get busy(){return this._busy}set busy(busy){this._busy=busy;this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(ignoreFocusOut){const shouldUpdate=this._ignoreFocusOut!==ignoreFocusOut&&!isIOS;this._ignoreFocusOut=ignoreFocusOut&&!isIOS;if(shouldUpdate){this.update()}}get buttons(){return this._buttons}set buttons(buttons){this._buttons=buttons;this.buttonsUpdated=true;this.update()}get toggles(){return this._toggles}set toggles(toggles){this._toggles=toggles!==null&&toggles!==void 0?toggles:[];this.togglesUpdated=true;this.update()}get validationMessage(){return this._validationMessage}set validationMessage(validationMessage){this._validationMessage=validationMessage;this.update()}get severity(){return this._severity}set severity(severity){this._severity=severity;this.update()}show(){if(this.visible){return}this.visibleDisposables.add(this.ui.onDidTriggerButton((button=>{if(this.buttons.indexOf(button)!==-1){this.onDidTriggerButtonEmitter.fire(button)}})));this.ui.show(this);this.visible=true;this._lastValidationMessage=void 0;this._lastSeverity=void 0;if(this.buttons.length){this.buttonsUpdated=true}if(this.toggles.length){this.togglesUpdated=true}this.update()}hide(){if(!this.visible){return}this.ui.hide()}didHide(reason=QuickInputHideReason.Other){this.visible=false;this.visibleDisposables.clear();this.onDidHideEmitter.fire({reason:reason})}update(){var _a6,_b3;if(!this.visible){return}const title=this.getTitle();if(title&&this.ui.title.textContent!==title){this.ui.title.textContent=title}else if(!title&&this.ui.title.innerHTML!=="&nbsp;"){this.ui.title.innerText=" "}const description=this.getDescription();if(this.ui.description1.textContent!==description){this.ui.description1.textContent=description}if(this.ui.description2.textContent!==description){this.ui.description2.textContent=description}if(this._widgetUpdated){this._widgetUpdated=false;if(this._widget){reset(this.ui.widget,this._widget)}else{reset(this.ui.widget)}}if(this.busy&&!this.busyDelay){this.busyDelay=new TimeoutTimer;this.busyDelay.setIfNotSet((()=>{if(this.visible){this.ui.progressBar.infinite()}}),800)}if(!this.busy&&this.busyDelay){this.ui.progressBar.stop();this.busyDelay.cancel();this.busyDelay=void 0}if(this.buttonsUpdated){this.buttonsUpdated=false;this.ui.leftActionBar.clear();const leftButtons=this.buttons.filter((button=>button===backButton));this.ui.leftActionBar.push(leftButtons.map(((button,index)=>{const action=new Action(`id-${index}`,"",button.iconClass||getIconClass(button.iconPath),true,(()=>__awaiter25(this,void 0,void 0,(function*(){this.onDidTriggerButtonEmitter.fire(button)}))));action.tooltip=button.tooltip||"";return action})),{icon:true,label:false});this.ui.rightActionBar.clear();const rightButtons=this.buttons.filter((button=>button!==backButton));this.ui.rightActionBar.push(rightButtons.map(((button,index)=>{const action=new Action(`id-${index}`,"",button.iconClass||getIconClass(button.iconPath),true,(()=>__awaiter25(this,void 0,void 0,(function*(){this.onDidTriggerButtonEmitter.fire(button)}))));action.tooltip=button.tooltip||"";return action})),{icon:true,label:false})}if(this.togglesUpdated){this.togglesUpdated=false;const concreteToggles=(_b3=(_a6=this.toggles)===null||_a6===void 0?void 0:_a6.filter((opts=>opts instanceof Toggle)))!==null&&_b3!==void 0?_b3:[];this.ui.inputBox.toggles=concreteToggles}this.ui.ignoreFocusOut=this.ignoreFocusOut;this.ui.setEnabled(this.enabled);this.ui.setContextKey(this.contextKey);const validationMessage=this.validationMessage||this.noValidationMessage;if(this._lastValidationMessage!==validationMessage){this._lastValidationMessage=validationMessage;reset(this.ui.message);renderQuickInputDescription(validationMessage,this.ui.message,{callback:content=>{this.ui.linkOpenerDelegate(content)},disposables:this.visibleDisposables})}if(this._lastSeverity!==this.severity){this._lastSeverity=this.severity;this.showMessageDecoration(this.severity)}}getTitle(){if(this.title&&this.step){return`${this.title} (${this.getSteps()})`}if(this.title){return this.title}if(this.step){return this.getSteps()}return""}getDescription(){return this.description||""}getSteps(){if(this.step&&this.totalSteps){return localize("quickInput.steps","{0}/{1}",this.step,this.totalSteps)}if(this.step){return String(this.step)}return""}showMessageDecoration(severity){this.ui.inputBox.showDecoration(severity);if(severity!==severity_default.Ignore){const styles=this.ui.inputBox.stylesForType(severity);this.ui.message.style.color=styles.foreground?`${styles.foreground}`:"";this.ui.message.style.backgroundColor=styles.background?`${styles.background}`:"";this.ui.message.style.border=styles.border?`1px solid ${styles.border}`:"";this.ui.message.style.marginBottom="-2px"}else{this.ui.message.style.color="";this.ui.message.style.backgroundColor="";this.ui.message.style.border="";this.ui.message.style.marginBottom=""}}dispose(){this.hide();this.onDisposeEmitter.fire();super.dispose()}};QuickInput.noPromptMessage=localize("inputModeEntry","Press 'Enter' to confirm your input or 'Escape' to cancel");QuickPick=class extends QuickInput{constructor(){super(...arguments);this._value="";this.onDidChangeValueEmitter=this._register(new Emitter);this.onWillAcceptEmitter=this._register(new Emitter);this.onDidAcceptEmitter=this._register(new Emitter);this.onDidCustomEmitter=this._register(new Emitter);this._items=[];this.itemsUpdated=false;this._canSelectMany=false;this._canAcceptInBackground=false;this._matchOnDescription=false;this._matchOnDetail=false;this._matchOnLabel=true;this._matchOnLabelMode="fuzzy";this._sortByLabel=true;this._autoFocusOnList=true;this._keepScrollPosition=false;this._itemActivation=ItemActivation.FIRST;this._activeItems=[];this.activeItemsUpdated=false;this.activeItemsToConfirm=[];this.onDidChangeActiveEmitter=this._register(new Emitter);this._selectedItems=[];this.selectedItemsUpdated=false;this.selectedItemsToConfirm=[];this.onDidChangeSelectionEmitter=this._register(new Emitter);this.onDidTriggerItemButtonEmitter=this._register(new Emitter);this.onDidTriggerSeparatorButtonEmitter=this._register(new Emitter);this.valueSelectionUpdated=true;this._ok="default";this._customButton=false;this.filterValue=value=>value;this.onDidChangeValue=this.onDidChangeValueEmitter.event;this.onWillAccept=this.onWillAcceptEmitter.event;this.onDidAccept=this.onDidAcceptEmitter.event;this.onDidChangeActive=this.onDidChangeActiveEmitter.event;this.onDidChangeSelection=this.onDidChangeSelectionEmitter.event;this.onDidTriggerItemButton=this.onDidTriggerItemButtonEmitter.event;this.onDidTriggerSeparatorButton=this.onDidTriggerSeparatorButtonEmitter.event}get quickNavigate(){return this._quickNavigate}set quickNavigate(quickNavigate){this._quickNavigate=quickNavigate;this.update()}get value(){return this._value}set value(value){this.doSetValue(value)}doSetValue(value,skipUpdate){if(this._value!==value){this._value=value;if(!skipUpdate){this.update()}if(this.visible){const didFilter=this.ui.list.filter(this.filterValue(this._value));if(didFilter){this.trySelectFirst()}}this.onDidChangeValueEmitter.fire(this._value)}}set ariaLabel(ariaLabel){this._ariaLabel=ariaLabel;this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(placeholder){this._placeholder=placeholder;this.update()}get items(){return this._items}get scrollTop(){return this.ui.list.scrollTop}set scrollTop(scrollTop){this.ui.list.scrollTop=scrollTop}set items(items){this._items=items;this.itemsUpdated=true;this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(canSelectMany){this._canSelectMany=canSelectMany;this.update()}get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(canAcceptInBackground){this._canAcceptInBackground=canAcceptInBackground}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(matchOnDescription){this._matchOnDescription=matchOnDescription;this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(matchOnDetail){this._matchOnDetail=matchOnDetail;this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(matchOnLabel){this._matchOnLabel=matchOnLabel;this.update()}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(matchOnLabelMode){this._matchOnLabelMode=matchOnLabelMode;this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(sortByLabel){this._sortByLabel=sortByLabel;this.update()}get autoFocusOnList(){return this._autoFocusOnList}set autoFocusOnList(autoFocusOnList){this._autoFocusOnList=autoFocusOnList;this.update()}get keepScrollPosition(){return this._keepScrollPosition}set keepScrollPosition(keepScrollPosition){this._keepScrollPosition=keepScrollPosition}get itemActivation(){return this._itemActivation}set itemActivation(itemActivation){this._itemActivation=itemActivation}get activeItems(){return this._activeItems}set activeItems(activeItems){this._activeItems=activeItems;this.activeItemsUpdated=true;this.update()}get selectedItems(){return this._selectedItems}set selectedItems(selectedItems){this._selectedItems=selectedItems;this.selectedItemsUpdated=true;this.update()}get keyMods(){if(this._quickNavigate){return NO_KEY_MODS}return this.ui.keyMods}set valueSelection(valueSelection){this._valueSelection=valueSelection;this.valueSelectionUpdated=true;this.update()}get customButton(){return this._customButton}set customButton(showCustomButton){this._customButton=showCustomButton;this.update()}get customLabel(){return this._customButtonLabel}set customLabel(label){this._customButtonLabel=label;this.update()}get customHover(){return this._customButtonHover}set customHover(hover){this._customButtonHover=hover;this.update()}get ok(){return this._ok}set ok(showOkButton){this._ok=showOkButton;this.update()}get hideInput(){return!!this._hideInput}set hideInput(hideInput){this._hideInput=hideInput;this.update()}trySelectFirst(){if(this.autoFocusOnList){if(!this.canSelectMany){this.ui.list.focus(QuickInputListFocus.First)}}}show(){if(!this.visible){this.visibleDisposables.add(this.ui.inputBox.onDidChange((value=>{this.doSetValue(value,true)})));this.visibleDisposables.add(this.ui.inputBox.onMouseDown((event=>{if(!this.autoFocusOnList){this.ui.list.clearFocus()}})));this.visibleDisposables.add((this._hideInput?this.ui.list:this.ui.inputBox).onKeyDown((event=>{switch(event.keyCode){case 18:this.ui.list.focus(QuickInputListFocus.Next);if(this.canSelectMany){this.ui.list.domFocus()}EventHelper.stop(event,true);break;case 16:if(this.ui.list.getFocusedElements().length){this.ui.list.focus(QuickInputListFocus.Previous)}else{this.ui.list.focus(QuickInputListFocus.Last)}if(this.canSelectMany){this.ui.list.domFocus()}EventHelper.stop(event,true);break;case 12:this.ui.list.focus(QuickInputListFocus.NextPage);if(this.canSelectMany){this.ui.list.domFocus()}EventHelper.stop(event,true);break;case 11:this.ui.list.focus(QuickInputListFocus.PreviousPage);if(this.canSelectMany){this.ui.list.domFocus()}EventHelper.stop(event,true);break;case 17:if(!this._canAcceptInBackground){return}if(!this.ui.inputBox.isSelectionAtEnd()){return}if(this.activeItems[0]){this._selectedItems=[this.activeItems[0]];this.onDidChangeSelectionEmitter.fire(this.selectedItems);this.handleAccept(true)}break;case 14:if((event.ctrlKey||event.metaKey)&&!event.shiftKey&&!event.altKey){this.ui.list.focus(QuickInputListFocus.First);EventHelper.stop(event,true)}break;case 13:if((event.ctrlKey||event.metaKey)&&!event.shiftKey&&!event.altKey){this.ui.list.focus(QuickInputListFocus.Last);EventHelper.stop(event,true)}break}})));this.visibleDisposables.add(this.ui.onDidAccept((()=>{if(this.canSelectMany){if(!this.ui.list.getCheckedElements().length){this._selectedItems=[];this.onDidChangeSelectionEmitter.fire(this.selectedItems)}}else if(this.activeItems[0]){this._selectedItems=[this.activeItems[0]];this.onDidChangeSelectionEmitter.fire(this.selectedItems)}this.handleAccept(false)})));this.visibleDisposables.add(this.ui.onDidCustom((()=>{this.onDidCustomEmitter.fire()})));this.visibleDisposables.add(this.ui.list.onDidChangeFocus((focusedItems=>{if(this.activeItemsUpdated){return}if(this.activeItemsToConfirm!==this._activeItems&&equals(focusedItems,this._activeItems,((a,b)=>a===b))){return}this._activeItems=focusedItems;this.onDidChangeActiveEmitter.fire(focusedItems)})));this.visibleDisposables.add(this.ui.list.onDidChangeSelection((({items:selectedItems,event:event})=>{if(this.canSelectMany){if(selectedItems.length){this.ui.list.setSelectedElements([])}return}if(this.selectedItemsToConfirm!==this._selectedItems&&equals(selectedItems,this._selectedItems,((a,b)=>a===b))){return}this._selectedItems=selectedItems;this.onDidChangeSelectionEmitter.fire(selectedItems);if(selectedItems.length){this.handleAccept(event instanceof MouseEvent&&event.button===1)}})));this.visibleDisposables.add(this.ui.list.onChangedCheckedElements((checkedItems=>{if(!this.canSelectMany){return}if(this.selectedItemsToConfirm!==this._selectedItems&&equals(checkedItems,this._selectedItems,((a,b)=>a===b))){return}this._selectedItems=checkedItems;this.onDidChangeSelectionEmitter.fire(checkedItems)})));this.visibleDisposables.add(this.ui.list.onButtonTriggered((event=>this.onDidTriggerItemButtonEmitter.fire(event))));this.visibleDisposables.add(this.ui.list.onSeparatorButtonTriggered((event=>this.onDidTriggerSeparatorButtonEmitter.fire(event))));this.visibleDisposables.add(this.registerQuickNavigation());this.valueSelectionUpdated=true}super.show()}handleAccept(inBackground){let veto=false;this.onWillAcceptEmitter.fire({veto:()=>veto=true});if(!veto){this.onDidAcceptEmitter.fire({inBackground:inBackground})}}registerQuickNavigation(){return addDisposableListener(this.ui.container,EventType.KEY_UP,(e=>{if(this.canSelectMany||!this._quickNavigate){return}const keyboardEvent=new StandardKeyboardEvent(e);const keyCode=keyboardEvent.keyCode;const quickNavKeys=this._quickNavigate.keybindings;const wasTriggerKeyPressed=quickNavKeys.some((k=>{const chords=k.getChords();if(chords.length>1){return false}if(chords[0].shiftKey&&keyCode===4){if(keyboardEvent.ctrlKey||keyboardEvent.altKey||keyboardEvent.metaKey){return false}return true}if(chords[0].altKey&&keyCode===6){return true}if(chords[0].ctrlKey&&keyCode===5){return true}if(chords[0].metaKey&&keyCode===57){return true}return false}));if(wasTriggerKeyPressed){if(this.activeItems[0]){this._selectedItems=[this.activeItems[0]];this.onDidChangeSelectionEmitter.fire(this.selectedItems);this.handleAccept(false)}this._quickNavigate=void 0}}))}update(){if(!this.visible){return}const scrollTopBefore=this.keepScrollPosition?this.scrollTop:0;const hasDescription=!!this.description;const visibilities={title:!!this.title||!!this.step||!!this.buttons.length,description:hasDescription,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!this._hideInput,progressBar:!this._hideInput||hasDescription,visibleCount:true,count:this.canSelectMany&&!this._hideCountBadge,ok:this.ok==="default"?this.canSelectMany:this.ok,list:true,message:!!this.validationMessage,customButton:this.customButton};this.ui.setVisibilities(visibilities);super.update();if(this.ui.inputBox.value!==this.value){this.ui.inputBox.value=this.value}if(this.valueSelectionUpdated){this.valueSelectionUpdated=false;this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})}if(this.ui.inputBox.placeholder!==(this.placeholder||"")){this.ui.inputBox.placeholder=this.placeholder||""}let ariaLabel=this.ariaLabel;if(!ariaLabel&&visibilities.inputBox){ariaLabel=this.placeholder||QuickPick.DEFAULT_ARIA_LABEL;if(this.title){ariaLabel+=` - ${this.title}`}}if(this.ui.list.ariaLabel!==ariaLabel){this.ui.list.ariaLabel=ariaLabel!==null&&ariaLabel!==void 0?ariaLabel:null}this.ui.list.matchOnDescription=this.matchOnDescription;this.ui.list.matchOnDetail=this.matchOnDetail;this.ui.list.matchOnLabel=this.matchOnLabel;this.ui.list.matchOnLabelMode=this.matchOnLabelMode;this.ui.list.sortByLabel=this.sortByLabel;if(this.itemsUpdated){this.itemsUpdated=false;this.ui.list.setElements(this.items);this.ui.list.filter(this.filterValue(this.ui.inputBox.value));this.ui.checkAll.checked=this.ui.list.getAllVisibleChecked();this.ui.visibleCount.setCount(this.ui.list.getVisibleCount());this.ui.count.setCount(this.ui.list.getCheckedCount());switch(this._itemActivation){case ItemActivation.NONE:this._itemActivation=ItemActivation.FIRST;break;case ItemActivation.SECOND:this.ui.list.focus(QuickInputListFocus.Second);this._itemActivation=ItemActivation.FIRST;break;case ItemActivation.LAST:this.ui.list.focus(QuickInputListFocus.Last);this._itemActivation=ItemActivation.FIRST;break;default:this.trySelectFirst();break}}if(this.ui.container.classList.contains("show-checkboxes")!==!!this.canSelectMany){if(this.canSelectMany){this.ui.list.clearFocus()}else{this.trySelectFirst()}}if(this.activeItemsUpdated){this.activeItemsUpdated=false;this.activeItemsToConfirm=this._activeItems;this.ui.list.setFocusedElements(this.activeItems);if(this.activeItemsToConfirm===this._activeItems){this.activeItemsToConfirm=null}}if(this.selectedItemsUpdated){this.selectedItemsUpdated=false;this.selectedItemsToConfirm=this._selectedItems;if(this.canSelectMany){this.ui.list.setCheckedElements(this.selectedItems)}else{this.ui.list.setSelectedElements(this.selectedItems)}if(this.selectedItemsToConfirm===this._selectedItems){this.selectedItemsToConfirm=null}}this.ui.customButton.label=this.customLabel||"";this.ui.customButton.element.title=this.customHover||"";if(!visibilities.inputBox){this.ui.list.domFocus();if(this.canSelectMany){this.ui.list.focus(QuickInputListFocus.First)}}if(this.keepScrollPosition){this.scrollTop=scrollTopBefore}}};QuickPick.DEFAULT_ARIA_LABEL=localize("quickInputBox.ariaLabel","Type to narrow down results.");InputBox2=class extends QuickInput{constructor(){super(...arguments);this._value="";this.valueSelectionUpdated=true;this._password=false;this.onDidValueChangeEmitter=this._register(new Emitter);this.onDidAcceptEmitter=this._register(new Emitter);this.onDidChangeValue=this.onDidValueChangeEmitter.event;this.onDidAccept=this.onDidAcceptEmitter.event}get value(){return this._value}set value(value){this._value=value||"";this.update()}get placeholder(){return this._placeholder}set placeholder(placeholder){this._placeholder=placeholder;this.update()}get password(){return this._password}set password(password){this._password=password;this.update()}show(){if(!this.visible){this.visibleDisposables.add(this.ui.inputBox.onDidChange((value=>{if(value===this.value){return}this._value=value;this.onDidValueChangeEmitter.fire(value)})));this.visibleDisposables.add(this.ui.onDidAccept((()=>this.onDidAcceptEmitter.fire())));this.valueSelectionUpdated=true}super.show()}update(){if(!this.visible){return}this.ui.container.classList.remove("hidden-input");const visibilities={title:!!this.title||!!this.step||!!this.buttons.length,description:!!this.description||!!this.step,inputBox:true,message:true,progressBar:true};this.ui.setVisibilities(visibilities);super.update();if(this.ui.inputBox.value!==this.value){this.ui.inputBox.value=this.value}if(this.valueSelectionUpdated){this.valueSelectionUpdated=false;this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})}if(this.ui.inputBox.placeholder!==(this.placeholder||"")){this.ui.inputBox.placeholder=this.placeholder||""}if(this.ui.inputBox.password!==this.password){this.ui.inputBox.password=this.password}}}}});var $7,QuickInputController;var init_quickInputController=__esm({"node_modules/monaco-editor/esm/vs/platform/quickinput/browser/quickInputController.js"(){init_dom();init_actionbar();init_button();init_countBadge();init_progressbar();init_cancellation();init_event();init_lifecycle();init_severity();init_nls();init_quickInput();init_quickInputBox();init_quickInputList();init_quickInput2();$7=$;QuickInputController=class extends Disposable{constructor(options2,themeService){super();this.options=options2;this.themeService=themeService;this.enabled=true;this.onDidAcceptEmitter=this._register(new Emitter);this.onDidCustomEmitter=this._register(new Emitter);this.onDidTriggerButtonEmitter=this._register(new Emitter);this.keyMods={ctrlCmd:false,alt:false};this.controller=null;this.onShowEmitter=this._register(new Emitter);this.onShow=this.onShowEmitter.event;this.onHideEmitter=this._register(new Emitter);this.onHide=this.onHideEmitter.event;this.idPrefix=options2.idPrefix;this.parentElement=options2.container;this.styles=options2.styles;this.registerKeyModsListeners()}registerKeyModsListeners(){const listener=e=>{this.keyMods.ctrlCmd=e.ctrlKey||e.metaKey;this.keyMods.alt=e.altKey};this._register(addDisposableListener(window,EventType.KEY_DOWN,listener,true));this._register(addDisposableListener(window,EventType.KEY_UP,listener,true));this._register(addDisposableListener(window,EventType.MOUSE_DOWN,listener,true))}getUI(){if(this.ui){return this.ui}const container=append(this.parentElement,$7(".quick-input-widget.show-file-icons"));container.tabIndex=-1;container.style.display="none";const styleSheet=createStyleSheet(container);const titleBar=append(container,$7(".quick-input-titlebar"));const actionBarOption=this.options.hoverDelegate?{hoverDelegate:this.options.hoverDelegate}:void 0;const leftActionBar=this._register(new ActionBar(titleBar,actionBarOption));leftActionBar.domNode.classList.add("quick-input-left-action-bar");const title=append(titleBar,$7(".quick-input-title"));const rightActionBar=this._register(new ActionBar(titleBar,actionBarOption));rightActionBar.domNode.classList.add("quick-input-right-action-bar");const headerContainer=append(container,$7(".quick-input-header"));const checkAll=append(headerContainer,$7("input.quick-input-check-all"));checkAll.type="checkbox";checkAll.setAttribute("aria-label",localize("quickInput.checkAll","Toggle all checkboxes"));this._register(addStandardDisposableListener(checkAll,EventType.CHANGE,(e=>{const checked=checkAll.checked;list.setAllVisibleChecked(checked)})));this._register(addDisposableListener(checkAll,EventType.CLICK,(e=>{if(e.x||e.y){inputBox.setFocus()}})));const description2=append(headerContainer,$7(".quick-input-description"));const inputContainer=append(headerContainer,$7(".quick-input-and-message"));const filterContainer=append(inputContainer,$7(".quick-input-filter"));const inputBox=this._register(new QuickInputBox(filterContainer,this.styles.inputBox,this.styles.toggle));inputBox.setAttribute("aria-describedby",`${this.idPrefix}message`);const visibleCountContainer=append(filterContainer,$7(".quick-input-visible-count"));visibleCountContainer.setAttribute("aria-live","polite");visibleCountContainer.setAttribute("aria-atomic","true");const visibleCount=new CountBadge(visibleCountContainer,{countFormat:localize({key:"quickInput.visibleCount",comment:["This tells the user how many items are shown in a list of items to select from. The items can be anything. Currently not visible, but read by screen readers."]},"{0} Results")},this.styles.countBadge);const countContainer=append(filterContainer,$7(".quick-input-count"));countContainer.setAttribute("aria-live","polite");const count=new CountBadge(countContainer,{countFormat:localize({key:"quickInput.countSelected",comment:["This tells the user how many items are selected in a list of items to select from. The items can be anything."]},"{0} Selected")},this.styles.countBadge);const okContainer=append(headerContainer,$7(".quick-input-action"));const ok2=new Button(okContainer,this.styles.button);ok2.label=localize("ok","OK");this._register(ok2.onDidClick((e=>{this.onDidAcceptEmitter.fire()})));const customButtonContainer=append(headerContainer,$7(".quick-input-action"));const customButton=new Button(customButtonContainer,this.styles.button);customButton.label=localize("custom","Custom");this._register(customButton.onDidClick((e=>{this.onDidCustomEmitter.fire()})));const message=append(inputContainer,$7(`#${this.idPrefix}message.quick-input-message`));const progressBar=new ProgressBar(container,this.styles.progressBar);progressBar.getContainer().classList.add("quick-input-progress");const widget=append(container,$7(".quick-input-html-widget"));widget.tabIndex=-1;const description1=append(container,$7(".quick-input-description"));const listId=this.idPrefix+"list";const list=this._register(new QuickInputList(container,listId,this.options,this.themeService));inputBox.setAttribute("aria-controls",listId);this._register(list.onDidChangeFocus((()=>{var _a6;inputBox.setAttribute("aria-activedescendant",(_a6=list.getActiveDescendant())!==null&&_a6!==void 0?_a6:"")})));this._register(list.onChangedAllVisibleChecked((checked=>{checkAll.checked=checked})));this._register(list.onChangedVisibleCount((c=>{visibleCount.setCount(c)})));this._register(list.onChangedCheckedCount((c=>{count.setCount(c)})));this._register(list.onLeave((()=>{setTimeout((()=>{inputBox.setFocus();if(this.controller instanceof QuickPick&&this.controller.canSelectMany){list.clearFocus()}}),0)})));const focusTracker=trackFocus(container);this._register(focusTracker);this._register(addDisposableListener(container,EventType.FOCUS,(e=>{if(isAncestor(e.relatedTarget,container)){return}this.previousFocusElement=e.relatedTarget instanceof HTMLElement?e.relatedTarget:void 0}),true));this._register(focusTracker.onDidBlur((()=>{if(!this.getUI().ignoreFocusOut&&!this.options.ignoreFocusOut()){this.hide(QuickInputHideReason.Blur)}this.previousFocusElement=void 0})));this._register(addDisposableListener(container,EventType.FOCUS,(e=>{inputBox.setFocus()})));this._register(addStandardDisposableListener(container,EventType.KEY_DOWN,(event=>{if(isAncestor(event.target,widget)){return}switch(event.keyCode){case 3:EventHelper.stop(event,true);if(this.enabled){this.onDidAcceptEmitter.fire()}break;case 9:EventHelper.stop(event,true);this.hide(QuickInputHideReason.Gesture);break;case 2:if(!event.altKey&&!event.ctrlKey&&!event.metaKey){const selectors=[".quick-input-list .monaco-action-bar .always-visible",".quick-input-list-entry:hover .monaco-action-bar",".monaco-list-row.focused .monaco-action-bar"];if(container.classList.contains("show-checkboxes")){selectors.push("input")}else{selectors.push("input[type=text]")}if(this.getUI().list.isDisplayed()){selectors.push(".monaco-list")}if(this.getUI().message){selectors.push(".quick-input-message a")}if(this.getUI().widget){if(isAncestor(event.target,this.getUI().widget)){break}selectors.push(".quick-input-html-widget")}const stops=container.querySelectorAll(selectors.join(", "));if(event.shiftKey&&event.target===stops[0]){EventHelper.stop(event,true);list.clearFocus()}else if(!event.shiftKey&&isAncestor(event.target,stops[stops.length-1])){EventHelper.stop(event,true);stops[0].focus()}}break;case 10:if(event.ctrlKey){EventHelper.stop(event,true);this.getUI().list.toggleHover()}break}})));this.ui={container:container,styleSheet:styleSheet,leftActionBar:leftActionBar,titleBar:titleBar,title:title,description1:description1,description2:description2,widget:widget,rightActionBar:rightActionBar,checkAll:checkAll,inputContainer:inputContainer,filterContainer:filterContainer,inputBox:inputBox,visibleCountContainer:visibleCountContainer,visibleCount:visibleCount,countContainer:countContainer,count:count,okContainer:okContainer,ok:ok2,message:message,customButtonContainer:customButtonContainer,customButton:customButton,list:list,progressBar:progressBar,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:false,keyMods:this.keyMods,show:controller=>this.show(controller),hide:()=>this.hide(),setVisibilities:visibilities=>this.setVisibilities(visibilities),setEnabled:enabled=>this.setEnabled(enabled),setContextKey:contextKey=>this.options.setContextKey(contextKey),linkOpenerDelegate:content=>this.options.linkOpenerDelegate(content)};this.updateStyles();return this.ui}pick(picks,options2={},token=CancellationToken.None){return new Promise(((doResolve,reject)=>{let resolve2=result=>{var _a6;resolve2=doResolve;(_a6=options2.onKeyMods)===null||_a6===void 0?void 0:_a6.call(options2,input.keyMods);doResolve(result)};if(token.isCancellationRequested){resolve2(void 0);return}const input=this.createQuickPick();let activeItem;const disposables=[input,input.onDidAccept((()=>{if(input.canSelectMany){resolve2(input.selectedItems.slice());input.hide()}else{const result=input.activeItems[0];if(result){resolve2(result);input.hide()}}})),input.onDidChangeActive((items=>{const focused=items[0];if(focused&&options2.onDidFocus){options2.onDidFocus(focused)}})),input.onDidChangeSelection((items=>{if(!input.canSelectMany){const result=items[0];if(result){resolve2(result);input.hide()}}})),input.onDidTriggerItemButton((event=>options2.onDidTriggerItemButton&&options2.onDidTriggerItemButton(Object.assign(Object.assign({},event),{removeItem:()=>{const index=input.items.indexOf(event.item);if(index!==-1){const items=input.items.slice();const removed=items.splice(index,1);const activeItems=input.activeItems.filter((activeItem2=>activeItem2!==removed[0]));const keepScrollPositionBefore=input.keepScrollPosition;input.keepScrollPosition=true;input.items=items;if(activeItems){input.activeItems=activeItems}input.keepScrollPosition=keepScrollPositionBefore}}})))),input.onDidTriggerSeparatorButton((event=>{var _a6;return(_a6=options2.onDidTriggerSeparatorButton)===null||_a6===void 0?void 0:_a6.call(options2,event)})),input.onDidChangeValue((value=>{if(activeItem&&!value&&(input.activeItems.length!==1||input.activeItems[0]!==activeItem)){input.activeItems=[activeItem]}})),token.onCancellationRequested((()=>{input.hide()})),input.onDidHide((()=>{dispose(disposables);resolve2(void 0)}))];input.title=options2.title;input.canSelectMany=!!options2.canPickMany;input.placeholder=options2.placeHolder;input.ignoreFocusOut=!!options2.ignoreFocusLost;input.matchOnDescription=!!options2.matchOnDescription;input.matchOnDetail=!!options2.matchOnDetail;input.matchOnLabel=options2.matchOnLabel===void 0||options2.matchOnLabel;input.autoFocusOnList=options2.autoFocusOnList===void 0||options2.autoFocusOnList;input.quickNavigate=options2.quickNavigate;input.hideInput=!!options2.hideInput;input.contextKey=options2.contextKey;input.busy=true;Promise.all([picks,options2.activeItem]).then((([items,_activeItem])=>{activeItem=_activeItem;input.busy=false;input.items=items;if(input.canSelectMany){input.selectedItems=items.filter((item=>item.type!=="separator"&&item.picked))}if(activeItem){input.activeItems=[activeItem]}}));input.show();Promise.resolve(picks).then(void 0,(err=>{reject(err);input.hide()}))}))}createQuickPick(){const ui=this.getUI();return new QuickPick(ui)}createInputBox(){const ui=this.getUI();return new InputBox2(ui)}show(controller){const ui=this.getUI();this.onShowEmitter.fire();const oldController=this.controller;this.controller=controller;oldController===null||oldController===void 0?void 0:oldController.didHide();this.setEnabled(true);ui.leftActionBar.clear();ui.title.textContent="";ui.description1.textContent="";ui.description2.textContent="";reset(ui.widget);ui.rightActionBar.clear();ui.checkAll.checked=false;ui.inputBox.placeholder="";ui.inputBox.password=false;ui.inputBox.showDecoration(severity_default.Ignore);ui.visibleCount.setCount(0);ui.count.setCount(0);reset(ui.message);ui.progressBar.stop();ui.list.setElements([]);ui.list.matchOnDescription=false;ui.list.matchOnDetail=false;ui.list.matchOnLabel=true;ui.list.sortByLabel=true;ui.ignoreFocusOut=false;ui.inputBox.toggles=void 0;const backKeybindingLabel=this.options.backKeybindingLabel();backButton.tooltip=backKeybindingLabel?localize("quickInput.backWithKeybinding","Back ({0})",backKeybindingLabel):localize("quickInput.back","Back");ui.container.style.display="";this.updateLayout();ui.inputBox.setFocus()}setVisibilities(visibilities){const ui=this.getUI();ui.title.style.display=visibilities.title?"":"none";ui.description1.style.display=visibilities.description&&(visibilities.inputBox||visibilities.checkAll)?"":"none";ui.description2.style.display=visibilities.description&&!(visibilities.inputBox||visibilities.checkAll)?"":"none";ui.checkAll.style.display=visibilities.checkAll?"":"none";ui.inputContainer.style.display=visibilities.inputBox?"":"none";ui.filterContainer.style.display=visibilities.inputBox?"":"none";ui.visibleCountContainer.style.display=visibilities.visibleCount?"":"none";ui.countContainer.style.display=visibilities.count?"":"none";ui.okContainer.style.display=visibilities.ok?"":"none";ui.customButtonContainer.style.display=visibilities.customButton?"":"none";ui.message.style.display=visibilities.message?"":"none";ui.progressBar.getContainer().style.display=visibilities.progressBar?"":"none";ui.list.display(!!visibilities.list);ui.container.classList.toggle("show-checkboxes",!!visibilities.checkBox);ui.container.classList.toggle("hidden-input",!visibilities.inputBox&&!visibilities.description);this.updateLayout()}setEnabled(enabled){if(enabled!==this.enabled){this.enabled=enabled;for(const item of this.getUI().leftActionBar.viewItems){item.action.enabled=enabled}for(const item of this.getUI().rightActionBar.viewItems){item.action.enabled=enabled}this.getUI().checkAll.disabled=!enabled;this.getUI().inputBox.enabled=enabled;this.getUI().ok.enabled=enabled;this.getUI().list.enabled=enabled}}hide(reason){var _a6,_b3,_c2;const controller=this.controller;if(!controller){return}const focusChanged=!isAncestor(document.activeElement,(_b3=(_a6=this.ui)===null||_a6===void 0?void 0:_a6.container)!==null&&_b3!==void 0?_b3:null);this.controller=null;this.onHideEmitter.fire();this.getUI().container.style.display="none";if(!focusChanged){let currentElement=this.previousFocusElement;while(currentElement&&!currentElement.offsetParent){currentElement=(_c2=currentElement.parentElement)!==null&&_c2!==void 0?_c2:void 0}if(currentElement===null||currentElement===void 0?void 0:currentElement.offsetParent){currentElement.focus();this.previousFocusElement=void 0}else{this.options.returnFocus()}}controller.didHide(reason)}layout(dimension,titleBarOffset){this.dimension=dimension;this.titleBarOffset=titleBarOffset;this.updateLayout()}updateLayout(){if(this.ui&&this.isDisplayed()){this.ui.container.style.top=`${this.titleBarOffset}px`;const style=this.ui.container.style;const width=Math.min(this.dimension.width*.62,QuickInputController.MAX_WIDTH);style.width=width+"px";style.marginLeft="-"+width/2+"px";this.ui.inputBox.layout();this.ui.list.layout(this.dimension&&this.dimension.height*.4)}}applyStyles(styles){this.styles=styles;this.updateStyles()}updateStyles(){if(this.ui){const{quickInputTitleBackground:quickInputTitleBackground2,quickInputBackground:quickInputBackground2,quickInputForeground:quickInputForeground2,widgetBorder:widgetBorder2,widgetShadow:widgetShadow2}=this.styles.widget;this.ui.titleBar.style.backgroundColor=quickInputTitleBackground2!==null&&quickInputTitleBackground2!==void 0?quickInputTitleBackground2:"";this.ui.container.style.backgroundColor=quickInputBackground2!==null&&quickInputBackground2!==void 0?quickInputBackground2:"";this.ui.container.style.color=quickInputForeground2!==null&&quickInputForeground2!==void 0?quickInputForeground2:"";this.ui.container.style.border=widgetBorder2?`1px solid ${widgetBorder2}`:"";this.ui.container.style.boxShadow=widgetShadow2?`0 0 8px 2px ${widgetShadow2}`:"";this.ui.list.style(this.styles.list);const content=[];if(this.styles.pickerGroup.pickerGroupBorder){content.push(`.quick-input-list .quick-input-list-entry { border-top-color: ${this.styles.pickerGroup.pickerGroupBorder}; }`)}if(this.styles.pickerGroup.pickerGroupForeground){content.push(`.quick-input-list .quick-input-list-separator { color: ${this.styles.pickerGroup.pickerGroupForeground}; }`)}if(this.styles.pickerGroup.pickerGroupForeground){content.push(`.quick-input-list .quick-input-list-separator-as-item { color: var(--vscode-descriptionForeground); }`)}if(this.styles.keybindingLabel.keybindingLabelBackground||this.styles.keybindingLabel.keybindingLabelBorder||this.styles.keybindingLabel.keybindingLabelBottomBorder||this.styles.keybindingLabel.keybindingLabelShadow||this.styles.keybindingLabel.keybindingLabelForeground){content.push(".quick-input-list .monaco-keybinding > .monaco-keybinding-key {");if(this.styles.keybindingLabel.keybindingLabelBackground){content.push(`background-color: ${this.styles.keybindingLabel.keybindingLabelBackground};`)}if(this.styles.keybindingLabel.keybindingLabelBorder){content.push(`border-color: ${this.styles.keybindingLabel.keybindingLabelBorder};`)}if(this.styles.keybindingLabel.keybindingLabelBottomBorder){content.push(`border-bottom-color: ${this.styles.keybindingLabel.keybindingLabelBottomBorder};`)}if(this.styles.keybindingLabel.keybindingLabelShadow){content.push(`box-shadow: inset 0 -1px 0 ${this.styles.keybindingLabel.keybindingLabelShadow};`)}if(this.styles.keybindingLabel.keybindingLabelForeground){content.push(`color: ${this.styles.keybindingLabel.keybindingLabelForeground};`)}content.push("}")}const newStyles=content.join("\n");if(newStyles!==this.ui.styleSheet.textContent){this.ui.styleSheet.textContent=newStyles}}}isDisplayed(){return this.ui&&this.ui.container.style.display!=="none"}};QuickInputController.MAX_WIDTH=600}});var __decorate38,__param31,QuickInputService;var init_quickInputService=__esm({"node_modules/monaco-editor/esm/vs/platform/quickinput/browser/quickInputService.js"(){init_cancellation();init_event();init_contextkey();init_instantiation();init_layoutService();init_listService();init_opener();init_quickAccess2();init_defaultStyles();init_colorRegistry();init_themeService();init_quickInputController();__decorate38=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param31=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};QuickInputService=class QuickInputService2 extends Themable{get controller(){if(!this._controller){this._controller=this._register(this.createController())}return this._controller}get hasController(){return!!this._controller}get quickAccess(){if(!this._quickAccess){this._quickAccess=this._register(this.instantiationService.createInstance(QuickAccessController))}return this._quickAccess}constructor(instantiationService,contextKeyService,themeService,layoutService){super(themeService);this.instantiationService=instantiationService;this.contextKeyService=contextKeyService;this.layoutService=layoutService;this._onShow=this._register(new Emitter);this._onHide=this._register(new Emitter);this.contexts=new Map}createController(host=this.layoutService,options2){const defaultOptions4={idPrefix:"quickInput_",container:host.container,ignoreFocusOut:()=>false,backKeybindingLabel:()=>void 0,setContextKey:id=>this.setContextKey(id),linkOpenerDelegate:content=>{this.instantiationService.invokeFunction((accessor=>{const openerService=accessor.get(IOpenerService);openerService.open(content,{allowCommands:true,fromUserGesture:true})}))},returnFocus:()=>host.focus(),createList:(user,container,delegate,renderers,options3)=>this.instantiationService.createInstance(WorkbenchList,user,container,delegate,renderers,options3),styles:this.computeStyles()};const controller=this._register(new QuickInputController(Object.assign(Object.assign({},defaultOptions4),options2),this.themeService));controller.layout(host.dimension,host.offset.quickPickTop);this._register(host.onDidLayout((dimension=>controller.layout(dimension,host.offset.quickPickTop))));this._register(controller.onShow((()=>{this.resetContextKeys();this._onShow.fire()})));this._register(controller.onHide((()=>{this.resetContextKeys();this._onHide.fire()})));return controller}setContextKey(id){let key;if(id){key=this.contexts.get(id);if(!key){key=new RawContextKey(id,false).bindTo(this.contextKeyService);this.contexts.set(id,key)}}if(key&&key.get()){return}this.resetContextKeys();key===null||key===void 0?void 0:key.set(true)}resetContextKeys(){this.contexts.forEach((context=>{if(context.get()){context.reset()}}))}pick(picks,options2={},token=CancellationToken.None){return this.controller.pick(picks,options2,token)}createQuickPick(){return this.controller.createQuickPick()}createInputBox(){return this.controller.createInputBox()}updateStyles(){if(this.hasController){this.controller.applyStyles(this.computeStyles())}}computeStyles(){return{widget:{quickInputBackground:asCssVariable(quickInputBackground),quickInputForeground:asCssVariable(quickInputForeground),quickInputTitleBackground:asCssVariable(quickInputTitleBackground),widgetBorder:asCssVariable(widgetBorder),widgetShadow:asCssVariable(widgetShadow)},inputBox:defaultInputBoxStyles,toggle:defaultToggleStyles,countBadge:defaultCountBadgeStyles,button:defaultButtonStyles,progressBar:defaultProgressBarStyles,keybindingLabel:defaultKeybindingLabelStyles,list:getListStyles({listBackground:quickInputBackground,listFocusBackground:quickInputListFocusBackground,listFocusForeground:quickInputListFocusForeground,listInactiveFocusForeground:quickInputListFocusForeground,listInactiveSelectionIconForeground:quickInputListFocusIconForeground,listInactiveFocusBackground:quickInputListFocusBackground,listFocusOutline:activeContrastBorder,listInactiveFocusOutline:activeContrastBorder}),pickerGroup:{pickerGroupBorder:asCssVariable(pickerGroupBorder),pickerGroupForeground:asCssVariable(pickerGroupForeground)}}}};QuickInputService=__decorate38([__param31(0,IInstantiationService),__param31(1,IContextKeyService),__param31(2,IThemeService),__param31(3,ILayoutService)],QuickInputService)}});var __decorate39,__param32,EditorScopedQuickInputService,StandaloneQuickInputService,QuickInputEditorContribution,QuickInputEditorWidget;var init_standaloneQuickInputService=__esm({"node_modules/monaco-editor/esm/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js"(){init_34();init_editorExtensions();init_themeService();init_cancellation();init_instantiation();init_contextkey();init_standaloneLayoutService();init_codeEditorService();init_quickInputService();init_functional();__decorate39=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param32=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};EditorScopedQuickInputService=class EditorScopedQuickInputService2 extends QuickInputService{constructor(editor2,instantiationService,contextKeyService,themeService,codeEditorService){super(instantiationService,contextKeyService,themeService,new EditorScopedLayoutService(editor2.getContainerDomNode(),codeEditorService));this.host=void 0;const contribution=QuickInputEditorContribution.get(editor2);if(contribution){const widget=contribution.widget;this.host={_serviceBrand:void 0,get hasContainer(){return true},get container(){return widget.getDomNode()},get dimension(){return editor2.getLayoutInfo()},get onDidLayout(){return editor2.onDidLayoutChange},focus:()=>editor2.focus(),offset:{top:0,quickPickTop:0}}}else{this.host=void 0}}createController(){return super.createController(this.host)}};EditorScopedQuickInputService=__decorate39([__param32(1,IInstantiationService),__param32(2,IContextKeyService),__param32(3,IThemeService),__param32(4,ICodeEditorService)],EditorScopedQuickInputService);StandaloneQuickInputService=class StandaloneQuickInputService2{get activeService(){const editor2=this.codeEditorService.getFocusedCodeEditor();if(!editor2){throw new Error("Quick input service needs a focused editor to work.")}let quickInputService=this.mapEditorToService.get(editor2);if(!quickInputService){const newQuickInputService=quickInputService=this.instantiationService.createInstance(EditorScopedQuickInputService,editor2);this.mapEditorToService.set(editor2,quickInputService);once(editor2.onDidDispose)((()=>{newQuickInputService.dispose();this.mapEditorToService.delete(editor2)}))}return quickInputService}get quickAccess(){return this.activeService.quickAccess}constructor(instantiationService,codeEditorService){this.instantiationService=instantiationService;this.codeEditorService=codeEditorService;this.mapEditorToService=new Map}pick(picks,options2={},token=CancellationToken.None){return this.activeService.pick(picks,options2,token)}createQuickPick(){return this.activeService.createQuickPick()}createInputBox(){return this.activeService.createInputBox()}};StandaloneQuickInputService=__decorate39([__param32(0,IInstantiationService),__param32(1,ICodeEditorService)],StandaloneQuickInputService);QuickInputEditorContribution=class{static get(editor2){return editor2.getContribution(QuickInputEditorContribution.ID)}constructor(editor2){this.editor=editor2;this.widget=new QuickInputEditorWidget(this.editor)}dispose(){this.widget.dispose()}};QuickInputEditorContribution.ID="editor.controller.quickInput";QuickInputEditorWidget=class{constructor(codeEditor){this.codeEditor=codeEditor;this.domNode=document.createElement("div");this.codeEditor.addOverlayWidget(this)}getId(){return QuickInputEditorWidget.ID}getDomNode(){return this.domNode}getPosition(){return{preference:2}}dispose(){this.codeEditor.removeOverlayWidget(this)}};QuickInputEditorWidget.ID="editor.contrib.quickInputWidget";registerEditorContribution(QuickInputEditorContribution.ID,QuickInputEditorContribution,4)}});function parseTokenTheme(source){if(!source||!Array.isArray(source)){return[]}const result=[];let resultLen=0;for(let i=0,len=source.length;i<len;i++){const entry=source[i];let fontStyle=-1;if(typeof entry.fontStyle==="string"){fontStyle=0;const segments=entry.fontStyle.split(" ");for(let j=0,lenJ=segments.length;j<lenJ;j++){const segment=segments[j];switch(segment){case"italic":fontStyle=fontStyle|1;break;case"bold":fontStyle=fontStyle|2;break;case"underline":fontStyle=fontStyle|4;break;case"strikethrough":fontStyle=fontStyle|8;break}}}let foreground2=null;if(typeof entry.foreground==="string"){foreground2=entry.foreground}let background=null;if(typeof entry.background==="string"){background=entry.background}result[resultLen++]=new ParsedTokenThemeRule(entry.token||"",i,fontStyle,foreground2,background)}return result}function resolveParsedTokenThemeRules(parsedThemeRules,customTokenColors){parsedThemeRules.sort(((a,b)=>{const r=strcmp(a.token,b.token);if(r!==0){return r}return a.index-b.index}));let defaultFontStyle=0;let defaultForeground="000000";let defaultBackground="ffffff";while(parsedThemeRules.length>=1&&parsedThemeRules[0].token===""){const incomingDefaults=parsedThemeRules.shift();if(incomingDefaults.fontStyle!==-1){defaultFontStyle=incomingDefaults.fontStyle}if(incomingDefaults.foreground!==null){defaultForeground=incomingDefaults.foreground}if(incomingDefaults.background!==null){defaultBackground=incomingDefaults.background}}const colorMap=new ColorMap;for(const color of customTokenColors){colorMap.getId(color)}const foregroundColorId=colorMap.getId(defaultForeground);const backgroundColorId=colorMap.getId(defaultBackground);const defaults=new ThemeTrieElementRule(defaultFontStyle,foregroundColorId,backgroundColorId);const root=new ThemeTrieElement(defaults);for(let i=0,len=parsedThemeRules.length;i<len;i++){const rule=parsedThemeRules[i];root.insert(rule.token,rule.fontStyle,colorMap.getId(rule.foreground),colorMap.getId(rule.background))}return new TokenTheme(colorMap,root)}function toStandardTokenType(tokenType){const m=tokenType.match(STANDARD_TOKEN_TYPE_REGEXP);if(!m){return 0}switch(m[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"regexp":return 3}throw new Error("Unexpected match for standard token type!")}function strcmp(a,b){if(a<b){return-1}if(a>b){return 1}return 0}function generateTokensCSSForColorMap(colorMap){const rules=[];for(let i=1,len=colorMap.length;i<len;i++){const color=colorMap[i];rules[i]=`.mtk${i} { color: ${color}; }`}rules.push(".mtki { font-style: italic; }");rules.push(".mtkb { font-weight: bold; }");rules.push(".mtku { text-decoration: underline; text-underline-position: under; }");rules.push(".mtks { text-decoration: line-through; }");rules.push(".mtks.mtku { text-decoration: underline line-through; text-underline-position: under; }");return rules.join("\n")}var ParsedTokenThemeRule,colorRegExp,ColorMap,TokenTheme,STANDARD_TOKEN_TYPE_REGEXP,ThemeTrieElementRule,ThemeTrieElement;var init_tokenization=__esm({"node_modules/monaco-editor/esm/vs/editor/common/languages/supports/tokenization.js"(){init_color();ParsedTokenThemeRule=class{constructor(token,index,fontStyle,foreground2,background){this._parsedThemeRuleBrand=void 0;this.token=token;this.index=index;this.fontStyle=fontStyle;this.foreground=foreground2;this.background=background}};colorRegExp=/^#?([0-9A-Fa-f]{6})([0-9A-Fa-f]{2})?$/;ColorMap=class{constructor(){this._lastColorId=0;this._id2color=[];this._color2id=new Map}getId(color){if(color===null){return 0}const match2=color.match(colorRegExp);if(!match2){throw new Error("Illegal value for token color: "+color)}color=match2[1].toUpperCase();let value=this._color2id.get(color);if(value){return value}value=++this._lastColorId;this._color2id.set(color,value);this._id2color[value]=Color.fromHex("#"+color);return value}getColorMap(){return this._id2color.slice(0)}};TokenTheme=class{static createFromRawTokenTheme(source,customTokenColors){return this.createFromParsedTokenTheme(parseTokenTheme(source),customTokenColors)}static createFromParsedTokenTheme(source,customTokenColors){return resolveParsedTokenThemeRules(source,customTokenColors)}constructor(colorMap,root){this._colorMap=colorMap;this._root=root;this._cache=new Map}getColorMap(){return this._colorMap.getColorMap()}_match(token){return this._root.match(token)}match(languageId,token){let result=this._cache.get(token);if(typeof result==="undefined"){const rule=this._match(token);const standardToken=toStandardTokenType(token);result=(rule.metadata|standardToken<<8)>>>0;this._cache.set(token,result)}return(result|languageId<<0)>>>0}};STANDARD_TOKEN_TYPE_REGEXP=/\b(comment|string|regex|regexp)\b/;ThemeTrieElementRule=class{constructor(fontStyle,foreground2,background){this._themeTrieElementRuleBrand=void 0;this._fontStyle=fontStyle;this._foreground=foreground2;this._background=background;this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}clone(){return new ThemeTrieElementRule(this._fontStyle,this._foreground,this._background)}acceptOverwrite(fontStyle,foreground2,background){if(fontStyle!==-1){this._fontStyle=fontStyle}if(foreground2!==0){this._foreground=foreground2}if(background!==0){this._background=background}this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}};ThemeTrieElement=class{constructor(mainRule){this._themeTrieElementBrand=void 0;this._mainRule=mainRule;this._children=new Map}match(token){if(token===""){return this._mainRule}const dotIndex=token.indexOf(".");let head;let tail3;if(dotIndex===-1){head=token;tail3=""}else{head=token.substring(0,dotIndex);tail3=token.substring(dotIndex+1)}const child=this._children.get(head);if(typeof child!=="undefined"){return child.match(tail3)}return this._mainRule}insert(token,fontStyle,foreground2,background){if(token===""){this._mainRule.acceptOverwrite(fontStyle,foreground2,background);return}const dotIndex=token.indexOf(".");let head;let tail3;if(dotIndex===-1){head=token;tail3=""}else{head=token.substring(0,dotIndex);tail3=token.substring(dotIndex+1)}let child=this._children.get(head);if(typeof child==="undefined"){child=new ThemeTrieElement(this._mainRule.clone());this._children.set(head,child)}child.insert(tail3,fontStyle,foreground2,background)}}}});var vs,vs_dark,hc_black,hc_light;var init_themes=__esm({"node_modules/monaco-editor/esm/vs/editor/standalone/common/themes.js"(){init_editorColorRegistry();init_colorRegistry();vs={base:"vs",inherit:false,rules:[{token:"",foreground:"000000",background:"fffffe"},{token:"invalid",foreground:"cd3131"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"001188"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"098658"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"delimiter.xml",foreground:"0000FF"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"FF0000"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"FF0000"},{token:"attribute.value",foreground:"0451A5"},{token:"attribute.value.number",foreground:"098658"},{token:"attribute.value.unit",foreground:"098658"},{token:"attribute.value.html",foreground:"0000FF"},{token:"attribute.value.xml",foreground:"0000FF"},{token:"string",foreground:"A31515"},{token:"string.html",foreground:"0000FF"},{token:"string.sql",foreground:"FF0000"},{token:"string.yaml",foreground:"0451A5"},{token:"keyword",foreground:"0000FF"},{token:"keyword.json",foreground:"0451A5"},{token:"keyword.flow",foreground:"AF00DB"},{token:"keyword.flow.scss",foreground:"0000FF"},{token:"operator.scss",foreground:"666666"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"C700C7"}],colors:{[editorBackground]:"#FFFFFE",[editorForeground]:"#000000",[editorInactiveSelection]:"#E5EBF1",[editorIndentGuide1]:"#D3D3D3",[editorActiveIndentGuide1]:"#939393",[editorSelectionHighlight]:"#ADD6FF4D"}};vs_dark={base:"vs-dark",inherit:false,rules:[{token:"",foreground:"D4D4D4",background:"1E1E1E"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"74B0DF"},{token:"variable.predefined",foreground:"4864AA"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"B5CEA8"},{token:"number.hex",foreground:"5BB498"},{token:"regexp",foreground:"B46695"},{token:"annotation",foreground:"cc6666"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"DCDCDC"},{token:"delimiter.html",foreground:"808080"},{token:"delimiter.xml",foreground:"808080"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"A79873"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"DD6A6F"},{token:"metatag.content.html",foreground:"9CDCFE"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key.json",foreground:"9CDCFE"},{token:"string.value.json",foreground:"CE9178"},{token:"attribute.name",foreground:"9CDCFE"},{token:"attribute.value",foreground:"CE9178"},{token:"attribute.value.number.css",foreground:"B5CEA8"},{token:"attribute.value.unit.css",foreground:"B5CEA8"},{token:"attribute.value.hex.css",foreground:"D4D4D4"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"keyword.json",foreground:"CE9178"},{token:"keyword.flow.scss",foreground:"569CD6"},{token:"operator.scss",foreground:"909090"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[editorBackground]:"#1E1E1E",[editorForeground]:"#D4D4D4",[editorInactiveSelection]:"#3A3D41",[editorIndentGuide1]:"#404040",[editorActiveIndentGuide1]:"#707070",[editorSelectionHighlight]:"#ADD6FF26"}};hc_black={base:"hc-black",inherit:false,rules:[{token:"",foreground:"FFFFFF",background:"000000"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"1AEBFF"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"FFFFFF"},{token:"regexp",foreground:"C0C0C0"},{token:"annotation",foreground:"569CD6"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"FFFF00"},{token:"delimiter.html",foreground:"FFFF00"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta",foreground:"D4D4D4"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"569CD6"},{token:"metatag.content.html",foreground:"1AEBFF"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key",foreground:"9CDCFE"},{token:"string.value",foreground:"CE9178"},{token:"attribute.name",foreground:"569CD6"},{token:"attribute.value",foreground:"3FF23F"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[editorBackground]:"#000000",[editorForeground]:"#FFFFFF",[editorIndentGuide1]:"#FFFFFF",[editorActiveIndentGuide1]:"#FFFFFF"}};hc_light={base:"hc-light",inherit:false,rules:[{token:"",foreground:"292929",background:"FFFFFF"},{token:"invalid",foreground:"B5200D"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"264F70"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"098658"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"B5200D"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"264F78"},{token:"attribute.value",foreground:"0451A5"},{token:"string",foreground:"A31515"},{token:"string.sql",foreground:"B5200D"},{token:"keyword",foreground:"0000FF"},{token:"keyword.flow",foreground:"AF00DB"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"C700C7"}],colors:{[editorBackground]:"#FFFFFF",[editorForeground]:"#292929",[editorIndentGuide1]:"#292929",[editorActiveIndentGuide1]:"#292929"}}}});function getIconsStyleSheet(themeService){const onDidChangeEmmiter=new Emitter;const iconRegistry2=getIconRegistry();iconRegistry2.onDidChange((()=>onDidChangeEmmiter.fire()));themeService===null||themeService===void 0?void 0:themeService.onDidProductIconThemeChange((()=>onDidChangeEmmiter.fire()));return{onDidChange:onDidChangeEmmiter.event,getCSS(){const productIconTheme=themeService?themeService.getProductIconTheme():new UnthemedProductIconTheme;const usedFontIds={};const formatIconRule=contribution=>{const definition=productIconTheme.getIcon(contribution);if(!definition){return void 0}const fontContribution=definition.font;if(fontContribution){usedFontIds[fontContribution.id]=fontContribution.definition;return`.codicon-${contribution.id}:before { content: '${definition.fontCharacter}'; font-family: ${asCSSPropertyValue(fontContribution.id)}; }`}return`.codicon-${contribution.id}:before { content: '${definition.fontCharacter}'; }`};const rules=[];for(const contribution of iconRegistry2.getIcons()){const rule=formatIconRule(contribution);if(rule){rules.push(rule)}}for(const id in usedFontIds){const definition=usedFontIds[id];const fontWeight=definition.weight?`font-weight: ${definition.weight};`:"";const fontStyle=definition.style?`font-style: ${definition.style};`:"";const src=definition.src.map((l=>`${asCSSUrl(l.location)} format('${l.format}')`)).join(", ");rules.push(`@font-face { src: ${src}; font-family: ${asCSSPropertyValue(id)};${fontWeight}${fontStyle} font-display: block; }`)}return rules.join("\n")}}}var UnthemedProductIconTheme;var init_iconsStyleSheet=__esm({"node_modules/monaco-editor/esm/vs/platform/theme/browser/iconsStyleSheet.js"(){init_dom();init_event();init_themables();init_iconRegistry();UnthemedProductIconTheme=class{getIcon(contribution){const iconRegistry2=getIconRegistry();let definition=contribution.defaults;while(ThemeIcon.isThemeIcon(definition)){const c=iconRegistry2.getIcon(definition.id);if(!c){return void 0}definition=c.defaults}return definition}}}});function isBuiltinTheme(themeName){return themeName===VS_LIGHT_THEME_NAME||themeName===VS_DARK_THEME_NAME||themeName===HC_BLACK_THEME_NAME||themeName===HC_LIGHT_THEME_NAME}function getBuiltinRules(builtinTheme){switch(builtinTheme){case VS_LIGHT_THEME_NAME:return vs;case VS_DARK_THEME_NAME:return vs_dark;case HC_BLACK_THEME_NAME:return hc_black;case HC_LIGHT_THEME_NAME:return hc_light}}function newBuiltInTheme(builtinTheme){const themeData=getBuiltinRules(builtinTheme);return new StandaloneTheme(builtinTheme,themeData)}var VS_LIGHT_THEME_NAME,VS_DARK_THEME_NAME,HC_BLACK_THEME_NAME,HC_LIGHT_THEME_NAME,colorRegistry2,themingRegistry2,StandaloneTheme,StandaloneThemeService;var init_standaloneThemeService=__esm({"node_modules/monaco-editor/esm/vs/editor/standalone/browser/standaloneThemeService.js"(){init_dom();init_browser();init_color();init_event();init_languages();init_encodedTokenAttributes();init_tokenization();init_themes();init_platform2();init_colorRegistry();init_themeService();init_lifecycle();init_theme();init_iconsStyleSheet();VS_LIGHT_THEME_NAME="vs";VS_DARK_THEME_NAME="vs-dark";HC_BLACK_THEME_NAME="hc-black";HC_LIGHT_THEME_NAME="hc-light";colorRegistry2=Registry.as(Extensions6.ColorContribution);themingRegistry2=Registry.as(Extensions7.ThemingContribution);StandaloneTheme=class{constructor(name,standaloneThemeData){this.semanticHighlighting=false;this.themeData=standaloneThemeData;const base=standaloneThemeData.base;if(name.length>0){if(isBuiltinTheme(name)){this.id=name}else{this.id=base+" "+name}this.themeName=name}else{this.id=base;this.themeName=base}this.colors=null;this.defaultColors=Object.create(null);this._tokenTheme=null}get base(){return this.themeData.base}notifyBaseUpdated(){if(this.themeData.inherit){this.colors=null;this._tokenTheme=null}}getColors(){if(!this.colors){const colors=new Map;for(const id in this.themeData.colors){colors.set(id,Color.fromHex(this.themeData.colors[id]))}if(this.themeData.inherit){const baseData=getBuiltinRules(this.themeData.base);for(const id in baseData.colors){if(!colors.has(id)){colors.set(id,Color.fromHex(baseData.colors[id]))}}}this.colors=colors}return this.colors}getColor(colorId,useDefault){const color=this.getColors().get(colorId);if(color){return color}if(useDefault!==false){return this.getDefault(colorId)}return void 0}getDefault(colorId){let color=this.defaultColors[colorId];if(color){return color}color=colorRegistry2.resolveDefaultColor(colorId,this);this.defaultColors[colorId]=color;return color}defines(colorId){return this.getColors().has(colorId)}get type(){switch(this.base){case VS_LIGHT_THEME_NAME:return ColorScheme.LIGHT;case HC_BLACK_THEME_NAME:return ColorScheme.HIGH_CONTRAST_DARK;case HC_LIGHT_THEME_NAME:return ColorScheme.HIGH_CONTRAST_LIGHT;default:return ColorScheme.DARK}}get tokenTheme(){if(!this._tokenTheme){let rules=[];let encodedTokensColors=[];if(this.themeData.inherit){const baseData=getBuiltinRules(this.themeData.base);rules=baseData.rules;if(baseData.encodedTokensColors){encodedTokensColors=baseData.encodedTokensColors}}const editorForeground2=this.themeData.colors["editor.foreground"];const editorBackground2=this.themeData.colors["editor.background"];if(editorForeground2||editorBackground2){const rule={token:""};if(editorForeground2){rule.foreground=editorForeground2}if(editorBackground2){rule.background=editorBackground2}rules.push(rule)}rules=rules.concat(this.themeData.rules);if(this.themeData.encodedTokensColors){encodedTokensColors=this.themeData.encodedTokensColors}this._tokenTheme=TokenTheme.createFromRawTokenTheme(rules,encodedTokensColors)}return this._tokenTheme}getTokenStyleMetadata(type,modifiers,modelLanguage){const style=this.tokenTheme._match([type].concat(modifiers).join("."));const metadata=style.metadata;const foreground2=TokenMetadata.getForeground(metadata);const fontStyle=TokenMetadata.getFontStyle(metadata);return{foreground:foreground2,italic:Boolean(fontStyle&1),bold:Boolean(fontStyle&2),underline:Boolean(fontStyle&4),strikethrough:Boolean(fontStyle&8)}}};StandaloneThemeService=class extends Disposable{constructor(){super();this._onColorThemeChange=this._register(new Emitter);this.onDidColorThemeChange=this._onColorThemeChange.event;this._onProductIconThemeChange=this._register(new Emitter);this.onDidProductIconThemeChange=this._onProductIconThemeChange.event;this._environment=Object.create(null);this._builtInProductIconTheme=new UnthemedProductIconTheme;this._autoDetectHighContrast=true;this._knownThemes=new Map;this._knownThemes.set(VS_LIGHT_THEME_NAME,newBuiltInTheme(VS_LIGHT_THEME_NAME));this._knownThemes.set(VS_DARK_THEME_NAME,newBuiltInTheme(VS_DARK_THEME_NAME));this._knownThemes.set(HC_BLACK_THEME_NAME,newBuiltInTheme(HC_BLACK_THEME_NAME));this._knownThemes.set(HC_LIGHT_THEME_NAME,newBuiltInTheme(HC_LIGHT_THEME_NAME));const iconsStyleSheet=getIconsStyleSheet(this);this._codiconCSS=iconsStyleSheet.getCSS();this._themeCSS="";this._allCSS=`${this._codiconCSS}\n${this._themeCSS}`;this._globalStyleElement=null;this._styleElements=[];this._colorMapOverride=null;this.setTheme(VS_LIGHT_THEME_NAME);this._onOSSchemeChanged();iconsStyleSheet.onDidChange((()=>{this._codiconCSS=iconsStyleSheet.getCSS();this._updateCSS()}));addMatchMediaChangeListener("(forced-colors: active)",(()=>{this._onOSSchemeChanged()}))}registerEditorContainer(domNode){if(isInShadowDOM(domNode)){return this._registerShadowDomContainer(domNode)}return this._registerRegularEditorContainer()}_registerRegularEditorContainer(){if(!this._globalStyleElement){this._globalStyleElement=createStyleSheet(void 0,(style=>{style.className="monaco-colors";style.textContent=this._allCSS}));this._styleElements.push(this._globalStyleElement)}return Disposable.None}_registerShadowDomContainer(domNode){const styleElement=createStyleSheet(domNode,(style=>{style.className="monaco-colors";style.textContent=this._allCSS}));this._styleElements.push(styleElement);return{dispose:()=>{for(let i=0;i<this._styleElements.length;i++){if(this._styleElements[i]===styleElement){this._styleElements.splice(i,1);return}}}}}defineTheme(themeName,themeData){if(!/^[a-z0-9\-]+$/i.test(themeName)){throw new Error("Illegal theme name!")}if(!isBuiltinTheme(themeData.base)&&!isBuiltinTheme(themeName)){throw new Error("Illegal theme base!")}this._knownThemes.set(themeName,new StandaloneTheme(themeName,themeData));if(isBuiltinTheme(themeName)){this._knownThemes.forEach((theme=>{if(theme.base===themeName){theme.notifyBaseUpdated()}}))}if(this._theme.themeName===themeName){this.setTheme(themeName)}}getColorTheme(){return this._theme}setColorMapOverride(colorMapOverride){this._colorMapOverride=colorMapOverride;this._updateThemeOrColorMap()}setTheme(themeName){let theme;if(this._knownThemes.has(themeName)){theme=this._knownThemes.get(themeName)}else{theme=this._knownThemes.get(VS_LIGHT_THEME_NAME)}this._updateActualTheme(theme)}_updateActualTheme(desiredTheme){if(!desiredTheme||this._theme===desiredTheme){return}this._theme=desiredTheme;this._updateThemeOrColorMap()}_onOSSchemeChanged(){if(this._autoDetectHighContrast){const wantsHighContrast=window.matchMedia(`(forced-colors: active)`).matches;if(wantsHighContrast!==isHighContrast(this._theme.type)){let newThemeName;if(isDark(this._theme.type)){newThemeName=wantsHighContrast?HC_BLACK_THEME_NAME:VS_DARK_THEME_NAME}else{newThemeName=wantsHighContrast?HC_LIGHT_THEME_NAME:VS_LIGHT_THEME_NAME}this._updateActualTheme(this._knownThemes.get(newThemeName))}}}setAutoDetectHighContrast(autoDetectHighContrast){this._autoDetectHighContrast=autoDetectHighContrast;this._onOSSchemeChanged()}_updateThemeOrColorMap(){const cssRules=[];const hasRule={};const ruleCollector={addRule:rule=>{if(!hasRule[rule]){cssRules.push(rule);hasRule[rule]=true}}};themingRegistry2.getThemingParticipants().forEach((p=>p(this._theme,ruleCollector,this._environment)));const colorVariables=[];for(const item of colorRegistry2.getColors()){const color=this._theme.getColor(item.id,true);if(color){colorVariables.push(`${asCssVariableName(item.id)}: ${color.toString()};`)}}ruleCollector.addRule(`.monaco-editor, .monaco-diff-editor { ${colorVariables.join("\n")} }`);const colorMap=this._colorMapOverride||this._theme.tokenTheme.getColorMap();ruleCollector.addRule(generateTokensCSSForColorMap(colorMap));this._themeCSS=cssRules.join("\n");this._updateCSS();TokenizationRegistry2.setColorMap(colorMap);this._onColorThemeChange.fire(this._theme)}_updateCSS(){this._allCSS=`${this._codiconCSS}\n${this._themeCSS}`;this._styleElements.forEach((styleElement=>styleElement.textContent=this._allCSS))}getFileIconTheme(){return{hasFileIcons:false,hasFolderIcons:false,hidesExplorerArrows:false}}getProductIconTheme(){return this._builtInProductIconTheme}}}});var IStandaloneThemeService;var init_standaloneTheme=__esm({"node_modules/monaco-editor/esm/vs/editor/standalone/common/standaloneTheme.js"(){init_instantiation();IStandaloneThemeService=createDecorator("themeService")}});var __decorate40,__param33,AccessibilityService;var init_accessibilityService=__esm({"node_modules/monaco-editor/esm/vs/platform/accessibility/browser/accessibilityService.js"(){init_dom();init_event();init_lifecycle();init_accessibility();init_configuration();init_contextkey();init_layoutService();__decorate40=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param33=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};AccessibilityService=class AccessibilityService2 extends Disposable{constructor(_contextKeyService,_layoutService,_configurationService){super();this._contextKeyService=_contextKeyService;this._layoutService=_layoutService;this._configurationService=_configurationService;this._accessibilitySupport=0;this._onDidChangeScreenReaderOptimized=new Emitter;this._onDidChangeReducedMotion=new Emitter;this._accessibilityModeEnabledContext=CONTEXT_ACCESSIBILITY_MODE_ENABLED.bindTo(this._contextKeyService);const updateContextKey=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration((e=>{if(e.affectsConfiguration("editor.accessibilitySupport")){updateContextKey();this._onDidChangeScreenReaderOptimized.fire()}if(e.affectsConfiguration("workbench.reduceMotion")){this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion");this._onDidChangeReducedMotion.fire()}})));updateContextKey();this._register(this.onDidChangeScreenReaderOptimized((()=>updateContextKey())));const reduceMotionMatcher=window.matchMedia(`(prefers-reduced-motion: reduce)`);this._systemMotionReduced=reduceMotionMatcher.matches;this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion");this.initReducedMotionListeners(reduceMotionMatcher)}initReducedMotionListeners(reduceMotionMatcher){if(!this._layoutService.hasContainer){return}this._register(addDisposableListener(reduceMotionMatcher,"change",(()=>{this._systemMotionReduced=reduceMotionMatcher.matches;if(this._configMotionReduced==="auto"){this._onDidChangeReducedMotion.fire()}})));const updateRootClasses=()=>{const reduce=this.isMotionReduced();this._layoutService.container.classList.toggle("reduce-motion",reduce);this._layoutService.container.classList.toggle("enable-motion",!reduce)};updateRootClasses();this._register(this.onDidChangeReducedMotion((()=>updateRootClasses())))}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){const config=this._configurationService.getValue("editor.accessibilitySupport");return config==="on"||config==="auto"&&this._accessibilitySupport===2}get onDidChangeReducedMotion(){return this._onDidChangeReducedMotion.event}isMotionReduced(){const config=this._configMotionReduced;return config==="on"||config==="auto"&&this._systemMotionReduced}getAccessibilitySupport(){return this._accessibilitySupport}};AccessibilityService=__decorate40([__param33(0,IContextKeyService),__param33(1,ILayoutService),__param33(2,IConfigurationService)],AccessibilityService)}});function createMenuHide(menu,command,states){const id=isISubmenuItem(command)?command.submenu.id:command.id;const title=typeof command.title==="string"?command.title:command.title.value;const hide2=toAction({id:`hide/${menu.id}/${id}`,label:localize("hide.label","Hide '{0}'",title),run(){states.updateHidden(menu,id,true)}});const toggle=toAction({id:`toggle/${menu.id}/${id}`,label:title,get checked(){return!states.isHidden(menu,id)},run(){states.updateHidden(menu,id,!!this.checked)}});return{hide:hide2,toggle:toggle,get isHidden(){return!toggle.checked}}}var __decorate41,__param34,PersistedMenuHideState_1,MenuInfo_1,MenuService,PersistedMenuHideState,MenuInfo,MenuImpl;var init_menuService=__esm({"node_modules/monaco-editor/esm/vs/platform/actions/common/menuService.js"(){init_async();init_event();init_lifecycle();init_actions2();init_commands();init_contextkey();init_actions();init_storage2();init_arrays();init_nls();__decorate41=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param34=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};MenuService=class MenuService2{constructor(_commandService,storageService){this._commandService=_commandService;this._hiddenStates=new PersistedMenuHideState(storageService)}createMenu(id,contextKeyService,options2){return new MenuImpl(id,this._hiddenStates,Object.assign({emitEventsForSubmenuChanges:false,eventDebounceDelay:50},options2),this._commandService,contextKeyService)}resetHiddenStates(ids){this._hiddenStates.reset(ids)}};MenuService=__decorate41([__param34(0,ICommandService),__param34(1,IStorageService)],MenuService);PersistedMenuHideState=PersistedMenuHideState_1=class PersistedMenuHideState2{constructor(_storageService){this._storageService=_storageService;this._disposables=new DisposableStore;this._onDidChange=new Emitter;this.onDidChange=this._onDidChange.event;this._ignoreChangeEvent=false;this._hiddenByDefaultCache=new Map;try{const raw=_storageService.get(PersistedMenuHideState_1._key,0,"{}");this._data=JSON.parse(raw)}catch(err){this._data=Object.create(null)}this._disposables.add(_storageService.onDidChangeValue(0,PersistedMenuHideState_1._key,this._disposables)((()=>{if(!this._ignoreChangeEvent){try{const raw=_storageService.get(PersistedMenuHideState_1._key,0,"{}");this._data=JSON.parse(raw)}catch(err){console.log("FAILED to read storage after UPDATE",err)}}this._onDidChange.fire()})))}dispose(){this._onDidChange.dispose();this._disposables.dispose()}_isHiddenByDefault(menu,commandId){var _a6;return(_a6=this._hiddenByDefaultCache.get(`${menu.id}/${commandId}`))!==null&&_a6!==void 0?_a6:false}setDefaultState(menu,commandId,hidden){this._hiddenByDefaultCache.set(`${menu.id}/${commandId}`,hidden)}isHidden(menu,commandId){var _a6,_b3;const hiddenByDefault=this._isHiddenByDefault(menu,commandId);const state=(_b3=(_a6=this._data[menu.id])===null||_a6===void 0?void 0:_a6.includes(commandId))!==null&&_b3!==void 0?_b3:false;return hiddenByDefault?!state:state}updateHidden(menu,commandId,hidden){const hiddenByDefault=this._isHiddenByDefault(menu,commandId);if(hiddenByDefault){hidden=!hidden}const entries2=this._data[menu.id];if(!hidden){if(entries2){const idx=entries2.indexOf(commandId);if(idx>=0){removeFastWithoutKeepingOrder(entries2,idx)}if(entries2.length===0){delete this._data[menu.id]}}}else{if(!entries2){this._data[menu.id]=[commandId]}else{const idx=entries2.indexOf(commandId);if(idx<0){entries2.push(commandId)}}}this._persist()}reset(menus){if(menus===void 0){this._data=Object.create(null);this._persist()}else{for(const{id:id}of menus){if(this._data[id]){delete this._data[id]}}this._persist()}}_persist(){try{this._ignoreChangeEvent=true;const raw=JSON.stringify(this._data);this._storageService.store(PersistedMenuHideState_1._key,raw,0,0)}finally{this._ignoreChangeEvent=false}}};PersistedMenuHideState._key="menu.hiddenCommands";PersistedMenuHideState=PersistedMenuHideState_1=__decorate41([__param34(0,IStorageService)],PersistedMenuHideState);MenuInfo=MenuInfo_1=class MenuInfo2{constructor(_id,_hiddenStates,_collectContextKeysForSubmenus,_commandService,_contextKeyService){this._id=_id;this._hiddenStates=_hiddenStates;this._collectContextKeysForSubmenus=_collectContextKeysForSubmenus;this._commandService=_commandService;this._contextKeyService=_contextKeyService;this._menuGroups=[];this._structureContextKeys=new Set;this._preconditionContextKeys=new Set;this._toggledContextKeys=new Set;this.refresh()}get structureContextKeys(){return this._structureContextKeys}get preconditionContextKeys(){return this._preconditionContextKeys}get toggledContextKeys(){return this._toggledContextKeys}refresh(){this._menuGroups.length=0;this._structureContextKeys.clear();this._preconditionContextKeys.clear();this._toggledContextKeys.clear();const menuItems=MenuRegistry.getMenuItems(this._id);let group3;menuItems.sort(MenuInfo_1._compareMenuItems);for(const item of menuItems){const groupName=item.group||"";if(!group3||group3[0]!==groupName){group3=[groupName,[]];this._menuGroups.push(group3)}group3[1].push(item);this._collectContextKeys(item)}}_collectContextKeys(item){MenuInfo_1._fillInKbExprKeys(item.when,this._structureContextKeys);if(isIMenuItem(item)){if(item.command.precondition){MenuInfo_1._fillInKbExprKeys(item.command.precondition,this._preconditionContextKeys)}if(item.command.toggled){const toggledExpression=item.command.toggled.condition||item.command.toggled;MenuInfo_1._fillInKbExprKeys(toggledExpression,this._toggledContextKeys)}}else if(this._collectContextKeysForSubmenus){MenuRegistry.getMenuItems(item.submenu).forEach(this._collectContextKeys,this)}}createActionGroups(options2){const result=[];for(const group3 of this._menuGroups){const[id,items]=group3;const activeActions=[];for(const item of items){if(this._contextKeyService.contextMatchesRules(item.when)){const isMenuItem=isIMenuItem(item);if(isMenuItem){this._hiddenStates.setDefaultState(this._id,item.command.id,!!item.isHiddenByDefault)}const menuHide=createMenuHide(this._id,isMenuItem?item.command:item,this._hiddenStates);if(isMenuItem){activeActions.push(new MenuItemAction(item.command,item.alt,options2,menuHide,this._contextKeyService,this._commandService))}else{const groups=new MenuInfo_1(item.submenu,this._hiddenStates,this._collectContextKeysForSubmenus,this._commandService,this._contextKeyService).createActionGroups(options2);const submenuActions=Separator.join(...groups.map((g=>g[1])));if(submenuActions.length>0){activeActions.push(new SubmenuItemAction(item,menuHide,submenuActions))}}}}if(activeActions.length>0){result.push([id,activeActions])}}return result}static _fillInKbExprKeys(exp,set){if(exp){for(const key of exp.keys()){set.add(key)}}}static _compareMenuItems(a,b){const aGroup=a.group;const bGroup=b.group;if(aGroup!==bGroup){if(!aGroup){return 1}else if(!bGroup){return-1}if(aGroup==="navigation"){return-1}else if(bGroup==="navigation"){return 1}const value=aGroup.localeCompare(bGroup);if(value!==0){return value}}const aPrio=a.order||0;const bPrio=b.order||0;if(aPrio<bPrio){return-1}else if(aPrio>bPrio){return 1}return MenuInfo_1._compareTitles(isIMenuItem(a)?a.command.title:a.title,isIMenuItem(b)?b.command.title:b.title)}static _compareTitles(a,b){const aStr=typeof a==="string"?a:a.original;const bStr=typeof b==="string"?b:b.original;return aStr.localeCompare(bStr)}};MenuInfo=MenuInfo_1=__decorate41([__param34(3,ICommandService),__param34(4,IContextKeyService)],MenuInfo);MenuImpl=class MenuImpl2{constructor(id,hiddenStates,options2,commandService,contextKeyService){this._disposables=new DisposableStore;this._menuInfo=new MenuInfo(id,hiddenStates,options2.emitEventsForSubmenuChanges,commandService,contextKeyService);const rebuildMenuSoon=new RunOnceScheduler((()=>{this._menuInfo.refresh();this._onDidChange.fire({menu:this,isStructuralChange:true,isEnablementChange:true,isToggleChange:true})}),options2.eventDebounceDelay);this._disposables.add(rebuildMenuSoon);this._disposables.add(MenuRegistry.onDidChangeMenu((e=>{if(e.has(id)){rebuildMenuSoon.schedule()}})));const lazyListener=this._disposables.add(new DisposableStore);const merge=events=>{let isStructuralChange=false;let isEnablementChange=false;let isToggleChange=false;for(const item of events){isStructuralChange=isStructuralChange||item.isStructuralChange;isEnablementChange=isEnablementChange||item.isEnablementChange;isToggleChange=isToggleChange||item.isToggleChange;if(isStructuralChange&&isEnablementChange&&isToggleChange){break}}return{menu:this,isStructuralChange:isStructuralChange,isEnablementChange:isEnablementChange,isToggleChange:isToggleChange}};const startLazyListener=()=>{lazyListener.add(contextKeyService.onDidChangeContext((e=>{const isStructuralChange=e.affectsSome(this._menuInfo.structureContextKeys);const isEnablementChange=e.affectsSome(this._menuInfo.preconditionContextKeys);const isToggleChange=e.affectsSome(this._menuInfo.toggledContextKeys);if(isStructuralChange||isEnablementChange||isToggleChange){this._onDidChange.fire({menu:this,isStructuralChange:isStructuralChange,isEnablementChange:isEnablementChange,isToggleChange:isToggleChange})}})));lazyListener.add(hiddenStates.onDidChange((e=>{this._onDidChange.fire({menu:this,isStructuralChange:true,isEnablementChange:false,isToggleChange:false})})))};this._onDidChange=new DebounceEmitter({onWillAddFirstListener:startLazyListener,onDidRemoveLastListener:lazyListener.clear.bind(lazyListener),delay:options2.eventDebounceDelay,merge:merge});this.onDidChange=this._onDidChange.event}getActions(options2){return this._menuInfo.createActionGroups(options2)}dispose(){this._disposables.dispose();this._onDidChange.dispose()}};MenuImpl=__decorate41([__param34(3,ICommandService),__param34(4,IContextKeyService)],MenuImpl)}});var __decorate42,__param35,__awaiter26,BrowserClipboardService;var init_clipboardService2=__esm({"node_modules/monaco-editor/esm/vs/platform/clipboard/browser/clipboardService.js"(){init_browser();init_dom();init_async();init_lifecycle();init_layoutService();init_log();__decorate42=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param35=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};__awaiter26=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};BrowserClipboardService=class BrowserClipboardService2 extends Disposable{constructor(layoutService,logService){super();this.layoutService=layoutService;this.logService=logService;this.mapTextToType=new Map;this.findText="";this.resources=[];if(isSafari2||isWebkitWebView){this.installWebKitWriteTextWorkaround()}}installWebKitWriteTextWorkaround(){const handler=()=>{const currentWritePromise=new DeferredPromise;if(this.webKitPendingClipboardWritePromise&&!this.webKitPendingClipboardWritePromise.isSettled){this.webKitPendingClipboardWritePromise.cancel()}this.webKitPendingClipboardWritePromise=currentWritePromise;navigator.clipboard.write([new ClipboardItem({"text/plain":currentWritePromise.p})]).catch((err=>__awaiter26(this,void 0,void 0,(function*(){if(!(err instanceof Error)||err.name!=="NotAllowedError"||!currentWritePromise.isRejected){this.logService.error(err)}}))))};if(this.layoutService.hasContainer){this._register(addDisposableListener(this.layoutService.container,"click",handler));this._register(addDisposableListener(this.layoutService.container,"keydown",handler))}}writeText(text2,type){return __awaiter26(this,void 0,void 0,(function*(){if(type){this.mapTextToType.set(type,text2);return}if(this.webKitPendingClipboardWritePromise){return this.webKitPendingClipboardWritePromise.complete(text2)}try{return yield navigator.clipboard.writeText(text2)}catch(error){console.error(error)}const activeElement=document.activeElement;const textArea=document.body.appendChild($("textarea",{"aria-hidden":true}));textArea.style.height="1px";textArea.style.width="1px";textArea.style.position="absolute";textArea.value=text2;textArea.focus();textArea.select();document.execCommand("copy");if(activeElement instanceof HTMLElement){activeElement.focus()}document.body.removeChild(textArea);return}))}readText(type){return __awaiter26(this,void 0,void 0,(function*(){if(type){return this.mapTextToType.get(type)||""}try{return yield navigator.clipboard.readText()}catch(error){console.error(error);return""}}))}readFindText(){return __awaiter26(this,void 0,void 0,(function*(){return this.findText}))}writeFindText(text2){return __awaiter26(this,void 0,void 0,(function*(){this.findText=text2}))}writeResources(resources){return __awaiter26(this,void 0,void 0,(function*(){this.resources=resources}))}readResources(){return __awaiter26(this,void 0,void 0,(function*(){return this.resources}))}};BrowserClipboardService=__decorate42([__param35(0,ILayoutService),__param35(1,ILogService)],BrowserClipboardService)}});function allEventKeysInContext(event,context){return event.allKeysContainedIn(new Set(Object.keys(context)))}function findContextAttr(domNode){while(domNode){if(domNode.hasAttribute(KEYBINDING_CONTEXT_ATTR)){const attr=domNode.getAttribute(KEYBINDING_CONTEXT_ATTR);if(attr){return parseInt(attr,10)}return NaN}domNode=domNode.parentElement}return 0}function setContext(accessor,contextKey,contextValue){const contextKeyService=accessor.get(IContextKeyService);contextKeyService.createKey(String(contextKey),stringifyURIs(contextValue))}function stringifyURIs(contextValue){return cloneAndChange(contextValue,(obj=>{if(typeof obj==="object"&&obj.$mid===1){return URI.revive(obj).toString()}if(obj instanceof URI){return obj.toString()}return void 0}))}var __decorate43,__param36,KEYBINDING_CONTEXT_ATTR,Context,NullContext,ConfigAwareContextValuesContainer,ContextKey,SimpleContextKeyChangeEvent,ArrayContextKeyChangeEvent,CompositeContextKeyChangeEvent,AbstractContextKeyService,ContextKeyService,ScopedContextKeyService;var init_contextKeyService=__esm({"node_modules/monaco-editor/esm/vs/platform/contextkey/browser/contextKeyService.js"(){init_event();init_iterator();init_lifecycle();init_objects();init_ternarySearchTree();init_uri();init_nls();init_commands();init_configuration();init_contextkey();__decorate43=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param36=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};KEYBINDING_CONTEXT_ATTR="data-keybinding-context";Context=class{constructor(id,parent){this._id=id;this._parent=parent;this._value=Object.create(null);this._value["_contextId"]=id}get value(){return Object.assign({},this._value)}setValue(key,value){if(this._value[key]!==value){this._value[key]=value;return true}return false}removeValue(key){if(key in this._value){delete this._value[key];return true}return false}getValue(key){const ret=this._value[key];if(typeof ret==="undefined"&&this._parent){return this._parent.getValue(key)}return ret}};NullContext=class extends Context{constructor(){super(-1,null)}setValue(key,value){return false}removeValue(key){return false}getValue(key){return void 0}};NullContext.INSTANCE=new NullContext;ConfigAwareContextValuesContainer=class extends Context{constructor(id,_configurationService,emitter){super(id,null);this._configurationService=_configurationService;this._values=TernarySearchTree.forConfigKeys();this._listener=this._configurationService.onDidChangeConfiguration((event=>{if(event.source===7){const allKeys=Array.from(this._values,(([k])=>k));this._values.clear();emitter.fire(new ArrayContextKeyChangeEvent(allKeys))}else{const changedKeys=[];for(const configKey of event.affectedKeys){const contextKey=`config.${configKey}`;const cachedItems=this._values.findSuperstr(contextKey);if(cachedItems!==void 0){changedKeys.push(...Iterable.map(cachedItems,(([key])=>key)));this._values.deleteSuperstr(contextKey)}if(this._values.has(contextKey)){changedKeys.push(contextKey);this._values.delete(contextKey)}}emitter.fire(new ArrayContextKeyChangeEvent(changedKeys))}}))}dispose(){this._listener.dispose()}getValue(key){if(key.indexOf(ConfigAwareContextValuesContainer._keyPrefix)!==0){return super.getValue(key)}if(this._values.has(key)){return this._values.get(key)}const configKey=key.substr(ConfigAwareContextValuesContainer._keyPrefix.length);const configValue=this._configurationService.getValue(configKey);let value=void 0;switch(typeof configValue){case"number":case"boolean":case"string":value=configValue;break;default:if(Array.isArray(configValue)){value=JSON.stringify(configValue)}else{value=configValue}}this._values.set(key,value);return value}setValue(key,value){return super.setValue(key,value)}removeValue(key){return super.removeValue(key)}};ConfigAwareContextValuesContainer._keyPrefix="config.";ContextKey=class{constructor(service,key,defaultValue){this._service=service;this._key=key;this._defaultValue=defaultValue;this.reset()}set(value){this._service.setContext(this._key,value)}reset(){if(typeof this._defaultValue==="undefined"){this._service.removeContext(this._key)}else{this._service.setContext(this._key,this._defaultValue)}}get(){return this._service.getContextKeyValue(this._key)}};SimpleContextKeyChangeEvent=class{constructor(key){this.key=key}affectsSome(keys){return keys.has(this.key)}allKeysContainedIn(keys){return this.affectsSome(keys)}};ArrayContextKeyChangeEvent=class{constructor(keys){this.keys=keys}affectsSome(keys){for(const key of this.keys){if(keys.has(key)){return true}}return false}allKeysContainedIn(keys){return this.keys.every((key=>keys.has(key)))}};CompositeContextKeyChangeEvent=class{constructor(events){this.events=events}affectsSome(keys){for(const e of this.events){if(e.affectsSome(keys)){return true}}return false}allKeysContainedIn(keys){return this.events.every((evt=>evt.allKeysContainedIn(keys)))}};AbstractContextKeyService=class{constructor(myContextId){this._onDidChangeContext=new PauseableEmitter({merge:input=>new CompositeContextKeyChangeEvent(input)});this.onDidChangeContext=this._onDidChangeContext.event;this._isDisposed=false;this._myContextId=myContextId}createKey(key,defaultValue){if(this._isDisposed){throw new Error(`AbstractContextKeyService has been disposed`)}return new ContextKey(this,key,defaultValue)}bufferChangeEvents(callback){this._onDidChangeContext.pause();try{callback()}finally{this._onDidChangeContext.resume()}}createScoped(domNode){if(this._isDisposed){throw new Error(`AbstractContextKeyService has been disposed`)}return new ScopedContextKeyService(this,domNode)}contextMatchesRules(rules){if(this._isDisposed){throw new Error(`AbstractContextKeyService has been disposed`)}const context=this.getContextValuesContainer(this._myContextId);const result=rules?rules.evaluate(context):true;return result}getContextKeyValue(key){if(this._isDisposed){return void 0}return this.getContextValuesContainer(this._myContextId).getValue(key)}setContext(key,value){if(this._isDisposed){return}const myContext=this.getContextValuesContainer(this._myContextId);if(!myContext){return}if(myContext.setValue(key,value)){this._onDidChangeContext.fire(new SimpleContextKeyChangeEvent(key))}}removeContext(key){if(this._isDisposed){return}if(this.getContextValuesContainer(this._myContextId).removeValue(key)){this._onDidChangeContext.fire(new SimpleContextKeyChangeEvent(key))}}getContext(target){if(this._isDisposed){return NullContext.INSTANCE}return this.getContextValuesContainer(findContextAttr(target))}};ContextKeyService=class ContextKeyService2 extends AbstractContextKeyService{constructor(configurationService){super(0);this._contexts=new Map;this._toDispose=new DisposableStore;this._lastContextId=0;const myContext=new ConfigAwareContextValuesContainer(this._myContextId,configurationService,this._onDidChangeContext);this._contexts.set(this._myContextId,myContext);this._toDispose.add(myContext)}dispose(){this._onDidChangeContext.dispose();this._isDisposed=true;this._toDispose.dispose()}getContextValuesContainer(contextId){if(this._isDisposed){return NullContext.INSTANCE}return this._contexts.get(contextId)||NullContext.INSTANCE}createChildContext(parentContextId=this._myContextId){if(this._isDisposed){throw new Error(`ContextKeyService has been disposed`)}const id=++this._lastContextId;this._contexts.set(id,new Context(id,this.getContextValuesContainer(parentContextId)));return id}disposeContext(contextId){if(!this._isDisposed){this._contexts.delete(contextId)}}};ContextKeyService=__decorate43([__param36(0,IConfigurationService)],ContextKeyService);ScopedContextKeyService=class extends AbstractContextKeyService{constructor(parent,domNode){super(parent.createChildContext());this._parentChangeListener=new MutableDisposable;this._parent=parent;this._updateParentChangeListener();this._domNode=domNode;if(this._domNode.hasAttribute(KEYBINDING_CONTEXT_ATTR)){let extraInfo="";if(this._domNode.classList){extraInfo=Array.from(this._domNode.classList.values()).join(", ")}console.error(`Element already has context attribute${extraInfo?": "+extraInfo:""}`)}this._domNode.setAttribute(KEYBINDING_CONTEXT_ATTR,String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext((e=>{const thisContainer=this._parent.getContextValuesContainer(this._myContextId);const thisContextValues=thisContainer.value;if(!allEventKeysInContext(e,thisContextValues)){this._onDidChangeContext.fire(e)}}))}dispose(){if(this._isDisposed){return}this._onDidChangeContext.dispose();this._parent.disposeContext(this._myContextId);this._parentChangeListener.dispose();this._domNode.removeAttribute(KEYBINDING_CONTEXT_ATTR);this._isDisposed=true}getContextValuesContainer(contextId){if(this._isDisposed){return NullContext.INSTANCE}return this._parent.getContextValuesContainer(contextId)}createChildContext(parentContextId=this._myContextId){if(this._isDisposed){throw new Error(`ScopedContextKeyService has been disposed`)}return this._parent.createChildContext(parentContextId)}disposeContext(contextId){if(this._isDisposed){return}this._parent.disposeContext(contextId)}};CommandsRegistry.registerCommand("_setContext",setContext);CommandsRegistry.registerCommand({id:"getContextKeyInfo",handler(){return[...RawContextKey.all()].sort(((a,b)=>a.key.localeCompare(b.key)))},description:{description:localize("getContextKeyInfo","A command that returns information about context keys"),args:[]}});CommandsRegistry.registerCommand("_generateContextKeyInfo",(function(){const result=[];const seen=new Set;for(const info of RawContextKey.all()){if(!seen.has(info.key)){seen.add(info.key);result.push(info)}}result.sort(((a,b)=>a.key.localeCompare(b.key)));console.log(JSON.stringify(result,void 0,2))}))}});var Node3,Graph;var init_graph=__esm({"node_modules/monaco-editor/esm/vs/platform/instantiation/common/graph.js"(){Node3=class{constructor(key,data){this.key=key;this.data=data;this.incoming=new Map;this.outgoing=new Map}};Graph=class{constructor(_hashFn){this._hashFn=_hashFn;this._nodes=new Map}roots(){const ret=[];for(const node of this._nodes.values()){if(node.outgoing.size===0){ret.push(node)}}return ret}insertEdge(from,to){const fromNode=this.lookupOrInsertNode(from);const toNode=this.lookupOrInsertNode(to);fromNode.outgoing.set(toNode.key,toNode);toNode.incoming.set(fromNode.key,fromNode)}removeNode(data){const key=this._hashFn(data);this._nodes.delete(key);for(const node of this._nodes.values()){node.outgoing.delete(key);node.incoming.delete(key)}}lookupOrInsertNode(data){const key=this._hashFn(data);let node=this._nodes.get(key);if(!node){node=new Node3(key,data);this._nodes.set(key,node)}return node}isEmpty(){return this._nodes.size===0}toString(){const data=[];for(const[key,value]of this._nodes){data.push(`${key}\n\t(-> incoming)[${[...value.incoming.keys()].join(", ")}]\n\t(outgoing ->)[${[...value.outgoing.keys()].join(",")}]\n`)}return data.join("\n")}findCycleSlow(){for(const[id,node]of this._nodes){const seen=new Set([id]);const res=this._findCycle(node,seen);if(res){return res}}return void 0}_findCycle(node,seen){for(const[id,outgoing]of node.outgoing){if(seen.has(id)){return[...seen,id].join(" -> ")}seen.add(id);const value=this._findCycle(outgoing,seen);if(value){return value}seen.delete(id)}return void 0}}}});var _enableAllTracing,CyclicDependencyError,InstantiationService,Trace;var init_instantiationService=__esm({"node_modules/monaco-editor/esm/vs/platform/instantiation/common/instantiationService.js"(){init_async();init_errors();init_lifecycle();init_descriptors();init_graph();init_instantiation();init_serviceCollection();init_linkedList();_enableAllTracing=false;CyclicDependencyError=class extends Error{constructor(graph){var _a6;super("cyclic dependency between services");this.message=(_a6=graph.findCycleSlow())!==null&&_a6!==void 0?_a6:`UNABLE to detect cycle, dumping graph: \n${graph.toString()}`}};InstantiationService=class{constructor(_services=new ServiceCollection,_strict=false,_parent,_enableTracing=_enableAllTracing){var _a6;this._services=_services;this._strict=_strict;this._parent=_parent;this._enableTracing=_enableTracing;this._activeInstantiations=new Set;this._services.set(IInstantiationService,this);this._globalGraph=_enableTracing?(_a6=_parent===null||_parent===void 0?void 0:_parent._globalGraph)!==null&&_a6!==void 0?_a6:new Graph((e=>e)):void 0}createChild(services){return new InstantiationService(services,this._strict,this,this._enableTracing)}invokeFunction(fn,...args){const _trace=Trace.traceInvocation(this._enableTracing,fn);let _done=false;try{const accessor={get:id=>{if(_done){throw illegalState("service accessor is only valid during the invocation of its target method")}const result=this._getOrCreateServiceInstance(id,_trace);if(!result){throw new Error(`[invokeFunction] unknown service '${id}'`)}return result}};return fn(accessor,...args)}finally{_done=true;_trace.stop()}}createInstance(ctorOrDescriptor,...rest){let _trace;let result;if(ctorOrDescriptor instanceof SyncDescriptor){_trace=Trace.traceCreation(this._enableTracing,ctorOrDescriptor.ctor);result=this._createInstance(ctorOrDescriptor.ctor,ctorOrDescriptor.staticArguments.concat(rest),_trace)}else{_trace=Trace.traceCreation(this._enableTracing,ctorOrDescriptor);result=this._createInstance(ctorOrDescriptor,rest,_trace)}_trace.stop();return result}_createInstance(ctor,args=[],_trace){const serviceDependencies=_util.getServiceDependencies(ctor).sort(((a,b)=>a.index-b.index));const serviceArgs=[];for(const dependency of serviceDependencies){const service=this._getOrCreateServiceInstance(dependency.id,_trace);if(!service){this._throwIfStrict(`[createInstance] ${ctor.name} depends on UNKNOWN service ${dependency.id}.`,false)}serviceArgs.push(service)}const firstServiceArgPos=serviceDependencies.length>0?serviceDependencies[0].index:args.length;if(args.length!==firstServiceArgPos){console.trace(`[createInstance] First service dependency of ${ctor.name} at position ${firstServiceArgPos+1} conflicts with ${args.length} static arguments`);const delta=firstServiceArgPos-args.length;if(delta>0){args=args.concat(new Array(delta))}else{args=args.slice(0,firstServiceArgPos)}}return Reflect.construct(ctor,args.concat(serviceArgs))}_setServiceInstance(id,instance){if(this._services.get(id)instanceof SyncDescriptor){this._services.set(id,instance)}else if(this._parent){this._parent._setServiceInstance(id,instance)}else{throw new Error("illegalState - setting UNKNOWN service instance")}}_getServiceInstanceOrDescriptor(id){const instanceOrDesc=this._services.get(id);if(!instanceOrDesc&&this._parent){return this._parent._getServiceInstanceOrDescriptor(id)}else{return instanceOrDesc}}_getOrCreateServiceInstance(id,_trace){if(this._globalGraph&&this._globalGraphImplicitDependency){this._globalGraph.insertEdge(this._globalGraphImplicitDependency,String(id))}const thing=this._getServiceInstanceOrDescriptor(id);if(thing instanceof SyncDescriptor){return this._safeCreateAndCacheServiceInstance(id,thing,_trace.branch(id,true))}else{_trace.branch(id,false);return thing}}_safeCreateAndCacheServiceInstance(id,desc,_trace){if(this._activeInstantiations.has(id)){throw new Error(`illegal state - RECURSIVELY instantiating service '${id}'`)}this._activeInstantiations.add(id);try{return this._createAndCacheServiceInstance(id,desc,_trace)}finally{this._activeInstantiations.delete(id)}}_createAndCacheServiceInstance(id,desc,_trace){var _a6;const graph=new Graph((data=>data.id.toString()));let cycleCount=0;const stack=[{id:id,desc:desc,_trace:_trace}];while(stack.length){const item=stack.pop();graph.lookupOrInsertNode(item);if(cycleCount++>1e3){throw new CyclicDependencyError(graph)}for(const dependency of _util.getServiceDependencies(item.desc.ctor)){const instanceOrDesc=this._getServiceInstanceOrDescriptor(dependency.id);if(!instanceOrDesc){this._throwIfStrict(`[createInstance] ${id} depends on ${dependency.id} which is NOT registered.`,true)}(_a6=this._globalGraph)===null||_a6===void 0?void 0:_a6.insertEdge(String(item.id),String(dependency.id));if(instanceOrDesc instanceof SyncDescriptor){const d={id:dependency.id,desc:instanceOrDesc,_trace:item._trace.branch(dependency.id,true)};graph.insertEdge(item,d);stack.push(d)}}}while(true){const roots=graph.roots();if(roots.length===0){if(!graph.isEmpty()){throw new CyclicDependencyError(graph)}break}for(const{data:data}of roots){const instanceOrDesc=this._getServiceInstanceOrDescriptor(data.id);if(instanceOrDesc instanceof SyncDescriptor){const instance=this._createServiceInstanceWithOwner(data.id,data.desc.ctor,data.desc.staticArguments,data.desc.supportsDelayedInstantiation,data._trace);this._setServiceInstance(data.id,instance)}graph.removeNode(data)}}return this._getServiceInstanceOrDescriptor(id)}_createServiceInstanceWithOwner(id,ctor,args=[],supportsDelayedInstantiation,_trace){if(this._services.get(id)instanceof SyncDescriptor){return this._createServiceInstance(id,ctor,args,supportsDelayedInstantiation,_trace)}else if(this._parent){return this._parent._createServiceInstanceWithOwner(id,ctor,args,supportsDelayedInstantiation,_trace)}else{throw new Error(`illegalState - creating UNKNOWN service instance ${ctor.name}`)}}_createServiceInstance(id,ctor,args=[],supportsDelayedInstantiation,_trace){if(!supportsDelayedInstantiation){return this._createInstance(ctor,args,_trace)}else{const child=new InstantiationService(void 0,this._strict,this,this._enableTracing);child._globalGraphImplicitDependency=String(id);const earlyListeners=new Map;const idle=new IdleValue((()=>{const result=child._createInstance(ctor,args,_trace);for(const[key,values]of earlyListeners){const candidate=result[key];if(typeof candidate==="function"){for(const listener of values){candidate.apply(result,listener)}}}earlyListeners.clear();return result}));return new Proxy(Object.create(null),{get(target,key){if(!idle.isInitialized){if(typeof key==="string"&&(key.startsWith("onDid")||key.startsWith("onWill"))){let list=earlyListeners.get(key);if(!list){list=new LinkedList;earlyListeners.set(key,list)}const event=(callback,thisArg,disposables)=>{const rm=list.push([callback,thisArg,disposables]);return toDisposable(rm)};return event}}if(key in target){return target[key]}const obj=idle.value;let prop=obj[key];if(typeof prop!=="function"){return prop}prop=prop.bind(obj);target[key]=prop;return prop},set(_target,p,value){idle.value[p]=value;return true},getPrototypeOf(_target){return ctor.prototype}})}}_throwIfStrict(msg,printWarning){if(printWarning){console.warn(msg)}if(this._strict){throw new Error(msg)}}};Trace=class{static traceInvocation(_enableTracing,ctor){return!_enableTracing?Trace._None:new Trace(2,ctor.name||(new Error).stack.split("\n").slice(3,4).join("\n"))}static traceCreation(_enableTracing,ctor){return!_enableTracing?Trace._None:new Trace(1,ctor.name)}constructor(type,name){this.type=type;this.name=name;this._start=Date.now();this._dep=[]}branch(id,first2){const child=new Trace(3,id.toString());this._dep.push([id,first2,child]);return child}stop(){const dur=Date.now()-this._start;Trace._totals+=dur;let causedCreation=false;function printChild(n,trace){const res=[];const prefix=new Array(n+1).join("\t");for(const[id,first2,child]of trace._dep){if(first2&&child){causedCreation=true;res.push(`${prefix}CREATES -> ${id}`);const nested=printChild(n+1,child);if(nested){res.push(nested)}}else{res.push(`${prefix}uses -> ${id}`)}}return res.join("\n")}const lines=[`${this.type===1?"CREATE":"CALL"} ${this.name}`,`${printChild(1,this)}`,`DONE, took ${dur.toFixed(2)}ms (grand total ${Trace._totals.toFixed(2)}ms)`];if(dur>2||causedCreation){Trace.all.add(lines.join("\n"))}}};Trace.all=new Set;Trace._None=new class extends Trace{constructor(){super(0,null)}stop(){}branch(){return this}};Trace._totals=0}});var unsupportedSchemas,DoubleResourceMap,MarkerStats,MarkerService;var init_markerService=__esm({"node_modules/monaco-editor/esm/vs/platform/markers/common/markerService.js"(){init_arrays();init_event();init_iterator();init_map();init_network();init_uri();init_markers();unsupportedSchemas=new Set([Schemas.inMemory,Schemas.vscodeSourceControl,Schemas.walkThrough,Schemas.walkThroughSnippet]);DoubleResourceMap=class{constructor(){this._byResource=new ResourceMap;this._byOwner=new Map}set(resource,owner,value){let ownerMap=this._byResource.get(resource);if(!ownerMap){ownerMap=new Map;this._byResource.set(resource,ownerMap)}ownerMap.set(owner,value);let resourceMap=this._byOwner.get(owner);if(!resourceMap){resourceMap=new ResourceMap;this._byOwner.set(owner,resourceMap)}resourceMap.set(resource,value)}get(resource,owner){const ownerMap=this._byResource.get(resource);return ownerMap===null||ownerMap===void 0?void 0:ownerMap.get(owner)}delete(resource,owner){let removedA=false;let removedB=false;const ownerMap=this._byResource.get(resource);if(ownerMap){removedA=ownerMap.delete(owner)}const resourceMap=this._byOwner.get(owner);if(resourceMap){removedB=resourceMap.delete(resource)}if(removedA!==removedB){throw new Error("illegal state")}return removedA&&removedB}values(key){var _a6,_b3,_c2,_d2;if(typeof key==="string"){return(_b3=(_a6=this._byOwner.get(key))===null||_a6===void 0?void 0:_a6.values())!==null&&_b3!==void 0?_b3:Iterable.empty()}if(URI.isUri(key)){return(_d2=(_c2=this._byResource.get(key))===null||_c2===void 0?void 0:_c2.values())!==null&&_d2!==void 0?_d2:Iterable.empty()}return Iterable.map(Iterable.concat(...this._byOwner.values()),(map=>map[1]))}};MarkerStats=class{constructor(service){this.errors=0;this.infos=0;this.warnings=0;this.unknowns=0;this._data=new ResourceMap;this._service=service;this._subscription=service.onMarkerChanged(this._update,this)}dispose(){this._subscription.dispose()}_update(resources){for(const resource of resources){const oldStats=this._data.get(resource);if(oldStats){this._substract(oldStats)}const newStats=this._resourceStats(resource);this._add(newStats);this._data.set(resource,newStats)}}_resourceStats(resource){const result={errors:0,warnings:0,infos:0,unknowns:0};if(unsupportedSchemas.has(resource.scheme)){return result}for(const{severity:severity}of this._service.read({resource:resource})){if(severity===MarkerSeverity2.Error){result.errors+=1}else if(severity===MarkerSeverity2.Warning){result.warnings+=1}else if(severity===MarkerSeverity2.Info){result.infos+=1}else{result.unknowns+=1}}return result}_substract(op){this.errors-=op.errors;this.warnings-=op.warnings;this.infos-=op.infos;this.unknowns-=op.unknowns}_add(op){this.errors+=op.errors;this.warnings+=op.warnings;this.infos+=op.infos;this.unknowns+=op.unknowns}};MarkerService=class{constructor(){this._onMarkerChanged=new DebounceEmitter({delay:0,merge:MarkerService._merge});this.onMarkerChanged=this._onMarkerChanged.event;this._data=new DoubleResourceMap;this._stats=new MarkerStats(this)}dispose(){this._stats.dispose();this._onMarkerChanged.dispose()}remove(owner,resources){for(const resource of resources||[]){this.changeOne(owner,resource,[])}}changeOne(owner,resource,markerData){if(isFalsyOrEmpty(markerData)){const removed=this._data.delete(resource,owner);if(removed){this._onMarkerChanged.fire([resource])}}else{const markers=[];for(const data of markerData){const marker=MarkerService._toMarker(owner,resource,data);if(marker){markers.push(marker)}}this._data.set(resource,owner,markers);this._onMarkerChanged.fire([resource])}}static _toMarker(owner,resource,data){let{code:code,severity:severity,message:message,source:source,startLineNumber:startLineNumber,startColumn:startColumn,endLineNumber:endLineNumber,endColumn:endColumn,relatedInformation:relatedInformation,tags:tags}=data;if(!message){return void 0}startLineNumber=startLineNumber>0?startLineNumber:1;startColumn=startColumn>0?startColumn:1;endLineNumber=endLineNumber>=startLineNumber?endLineNumber:startLineNumber;endColumn=endColumn>0?endColumn:startColumn;return{resource:resource,owner:owner,code:code,severity:severity,message:message,source:source,startLineNumber:startLineNumber,startColumn:startColumn,endLineNumber:endLineNumber,endColumn:endColumn,relatedInformation:relatedInformation,tags:tags}}changeAll(owner,data){const changes=[];const existing=this._data.values(owner);if(existing){for(const data2 of existing){const first2=Iterable.first(data2);if(first2){changes.push(first2.resource);this._data.delete(first2.resource,owner)}}}if(isNonEmptyArray(data)){const groups=new ResourceMap;for(const{resource:resource,marker:markerData}of data){const marker=MarkerService._toMarker(owner,resource,markerData);if(!marker){continue}const array2=groups.get(resource);if(!array2){groups.set(resource,[marker]);changes.push(resource)}else{array2.push(marker)}}for(const[resource,value]of groups){this._data.set(resource,owner,value)}}if(changes.length>0){this._onMarkerChanged.fire(changes)}}read(filter=Object.create(null)){let{owner:owner,resource:resource,severities:severities,take:take}=filter;if(!take||take<0){take=-1}if(owner&&resource){const data=this._data.get(resource,owner);if(!data){return[]}else{const result=[];for(const marker of data){if(MarkerService._accept(marker,severities)){const newLen=result.push(marker);if(take>0&&newLen===take){break}}}return result}}else if(!owner&&!resource){const result=[];for(const markers of this._data.values()){for(const data of markers){if(MarkerService._accept(data,severities)){const newLen=result.push(data);if(take>0&&newLen===take){return result}}}}return result}else{const iterable=this._data.values(resource!==null&&resource!==void 0?resource:owner);const result=[];for(const markers of iterable){for(const data of markers){if(MarkerService._accept(data,severities)){const newLen=result.push(data);if(take>0&&newLen===take){return result}}}}return result}}static _accept(marker,severities){return severities===void 0||(severities&marker.severity)===marker.severity}static _merge(all){const set=new ResourceMap;for(const array2 of all){for(const item of array2){set.set(item,true)}}return Array.from(set.keys())}}}});var DefaultConfiguration;var init_configurations=__esm({"node_modules/monaco-editor/esm/vs/platform/configuration/common/configurations.js"(){init_lifecycle();init_configurationModels();init_configurationRegistry();init_platform2();DefaultConfiguration=class extends Disposable{constructor(){super(...arguments);this._configurationModel=new ConfigurationModel}get configurationModel(){return this._configurationModel}reload(){this.resetConfigurationModel();return this.configurationModel}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=new ConfigurationModel;const properties=Registry.as(Extensions2.Configuration).getConfigurationProperties();this.updateConfigurationModel(Object.keys(properties),properties)}updateConfigurationModel(properties,configurationProperties){const configurationDefaultsOverrides=this.getConfigurationDefaultOverrides();for(const key of properties){const defaultOverrideValue=configurationDefaultsOverrides[key];const propertySchema=configurationProperties[key];if(defaultOverrideValue!==void 0){this._configurationModel.addValue(key,defaultOverrideValue)}else if(propertySchema){this._configurationModel.addValue(key,propertySchema.default)}else{this._configurationModel.removeValue(key)}}}}}});var LogService;var init_logService=__esm({"node_modules/monaco-editor/esm/vs/platform/log/common/logService.js"(){init_lifecycle();init_log();LogService=class extends Disposable{constructor(primaryLogger,otherLoggers=[]){super();this.logger=new MultiplexLogger([primaryLogger,...otherLoggers]);this._register(primaryLogger.onDidChangeLogLevel((level=>this.setLevel(level))))}get onDidChangeLogLevel(){return this.logger.onDidChangeLogLevel}setLevel(level){this.logger.setLevel(level)}getLevel(){return this.logger.getLevel()}trace(message,...args){this.logger.trace(message,...args)}debug(message,...args){this.logger.debug(message,...args)}info(message,...args){this.logger.info(message,...args)}warn(message,...args){this.logger.warn(message,...args)}error(message,...args){this.logger.error(message,...args)}}}});function registerEditorFeature(ctor){editorFeatures.push(ctor)}function getEditorFeatures(){return editorFeatures.slice(0)}var editorFeatures;var init_editorFeatures=__esm({"node_modules/monaco-editor/esm/vs/editor/common/editorFeatures.js"(){editorFeatures=[]}});function isConfigurationOverrides(thing){return thing&&typeof thing==="object"&&(!thing.overrideIdentifier||typeof thing.overrideIdentifier==="string")&&(!thing.resource||thing.resource instanceof URI)}function updateConfigurationService(configurationService,source,isDiffEditor2){if(!source){return}if(!(configurationService instanceof StandaloneConfigurationService)){return}const toUpdate=[];Object.keys(source).forEach((key=>{if(isEditorConfigurationKey(key)){toUpdate.push([`editor.${key}`,source[key]])}if(isDiffEditor2&&isDiffEditorConfigurationKey(key)){toUpdate.push([`diffEditor.${key}`,source[key]])}}));if(toUpdate.length>0){configurationService.updateValues(toUpdate)}}var __decorate44,__param37,__awaiter27,SimpleModel,StandaloneTextModelService,StandaloneEditorProgressService,StandaloneProgressService,StandaloneEnvironmentService,StandaloneDialogService,StandaloneNotificationService,StandaloneCommandService,StandaloneKeybindingService,DomNodeListeners,StandaloneConfigurationService,StandaloneResourceConfigurationService,StandaloneResourcePropertiesService,StandaloneTelemetryService,StandaloneWorkspaceContextService,StandaloneBulkEditService,StandaloneUriLabelService,StandaloneContextViewService,StandaloneWorkspaceTrustManagementService,StandaloneLanguageService,StandaloneLogService,StandaloneContextMenuService,StandaloneAudioService,StandaloneServices;var init_standaloneServices=__esm({"node_modules/monaco-editor/esm/vs/editor/standalone/browser/standaloneServices.js"(){init_languageConfigurationRegistry();init_standaloneCodeEditorService();init_standaloneLayoutService();init_undoRedoService();init_languageFeatureDebounce();init_semanticTokensStylingService();init_languageFeaturesService();init_strings();init_dom();init_keyboardEvent();init_event();init_keybindings();init_lifecycle();init_platform();init_severity();init_uri();init_bulkEditService();init_editorConfigurationSchema();init_editOperation();init_position();init_range();init_model2();init_resolverService();init_textResourceConfiguration();init_commands();init_configuration();init_configurationModels();init_contextkey();init_dialogs();init_instantiation();init_abstractKeybindingService();init_keybinding();init_keybindingResolver();init_keybindingsRegistry();init_resolvedKeybindingItem();init_usLayoutResolvedKeybinding();init_label();init_notification();init_progress();init_telemetry();init_workspace();init_layoutService();init_standaloneStrings();init_resources();init_codeEditorService();init_log();init_workspaceTrust();init_contextView();init_contextViewService();init_languageService();init_contextMenuService();init_extensions();init_openerService();init_editorWorker();init_editorWorkerService();init_language();init_markerDecorationsService();init_markerDecorations();init_modelService();init_standaloneQuickInputService();init_standaloneThemeService();init_standaloneTheme();init_accessibilityService();init_accessibility();init_actions2();init_menuService();init_clipboardService2();init_clipboardService();init_contextKeyService();init_descriptors();init_instantiationService();init_serviceCollection();init_listService();init_markers();init_markerService();init_opener();init_quickInput();init_storage2();init_configurations();init_audioCueService();init_logService();init_editorFeatures();init_errors();init_environment();__decorate44=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param37=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};__awaiter27=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};SimpleModel=class{constructor(model){this.disposed=false;this.model=model;this._onWillDispose=new Emitter}get textEditorModel(){return this.model}dispose(){this.disposed=true;this._onWillDispose.fire()}};StandaloneTextModelService=class StandaloneTextModelService2{constructor(modelService){this.modelService=modelService}createModelReference(resource){const model=this.modelService.getModel(resource);if(!model){return Promise.reject(new Error(`Model not found`))}return Promise.resolve(new ImmortalReference(new SimpleModel(model)))}};StandaloneTextModelService=__decorate44([__param37(0,IModelService)],StandaloneTextModelService);StandaloneEditorProgressService=class{show(){return StandaloneEditorProgressService.NULL_PROGRESS_RUNNER}showWhile(promise,delay){return __awaiter27(this,void 0,void 0,(function*(){yield promise}))}};StandaloneEditorProgressService.NULL_PROGRESS_RUNNER={done:()=>{},total:()=>{},worked:()=>{}};StandaloneProgressService=class{withProgress(_options,task,onDidCancel){return task({report:()=>{}})}};StandaloneEnvironmentService=class{constructor(){this.isExtensionDevelopment=false;this.isBuilt=false}};StandaloneDialogService=class{confirm(confirmation){return __awaiter27(this,void 0,void 0,(function*(){const confirmed=this.doConfirm(confirmation.message,confirmation.detail);return{confirmed:confirmed,checkboxChecked:false}}))}doConfirm(message,detail){let messageText=message;if(detail){messageText=messageText+"\n\n"+detail}return window.confirm(messageText)}prompt(prompt){var _a6,_b3;return __awaiter27(this,void 0,void 0,(function*(){let result=void 0;const confirmed=this.doConfirm(prompt.message,prompt.detail);if(confirmed){const promptButtons=[...(_a6=prompt.buttons)!==null&&_a6!==void 0?_a6:[]];if(prompt.cancelButton&&typeof prompt.cancelButton!=="string"&&typeof prompt.cancelButton!=="boolean"){promptButtons.push(prompt.cancelButton)}result=yield(_b3=promptButtons[0])===null||_b3===void 0?void 0:_b3.run({checkboxChecked:false})}return{result:result}}))}error(message,detail){return __awaiter27(this,void 0,void 0,(function*(){yield this.prompt({type:severity_default.Error,message:message,detail:detail})}))}};StandaloneNotificationService=class{info(message){return this.notify({severity:severity_default.Info,message:message})}warn(message){return this.notify({severity:severity_default.Warning,message:message})}error(error){return this.notify({severity:severity_default.Error,message:error})}notify(notification){switch(notification.severity){case severity_default.Error:console.error(notification.message);break;case severity_default.Warning:console.warn(notification.message);break;default:console.log(notification.message);break}return StandaloneNotificationService.NO_OP}prompt(severity,message,choices,options2){return StandaloneNotificationService.NO_OP}status(message,options2){return Disposable.None}};StandaloneNotificationService.NO_OP=new NoOpNotification;StandaloneCommandService=class StandaloneCommandService2{constructor(instantiationService){this._onWillExecuteCommand=new Emitter;this._onDidExecuteCommand=new Emitter;this.onDidExecuteCommand=this._onDidExecuteCommand.event;this._instantiationService=instantiationService}executeCommand(id,...args){const command=CommandsRegistry.getCommand(id);if(!command){return Promise.reject(new Error(`command '${id}' not found`))}try{this._onWillExecuteCommand.fire({commandId:id,args:args});const result=this._instantiationService.invokeFunction.apply(this._instantiationService,[command.handler,...args]);this._onDidExecuteCommand.fire({commandId:id,args:args});return Promise.resolve(result)}catch(err){return Promise.reject(err)}}};StandaloneCommandService=__decorate44([__param37(0,IInstantiationService)],StandaloneCommandService);StandaloneKeybindingService=class StandaloneKeybindingService2 extends AbstractKeybindingService{constructor(contextKeyService,commandService,telemetryService,notificationService,logService,codeEditorService){super(contextKeyService,commandService,telemetryService,notificationService,logService);this._cachedResolver=null;this._dynamicKeybindings=[];this._domNodeListeners=[];const addContainer=domNode=>{const disposables=new DisposableStore;disposables.add(addDisposableListener(domNode,EventType.KEY_DOWN,(e=>{const keyEvent=new StandardKeyboardEvent(e);const shouldPreventDefault=this._dispatch(keyEvent,keyEvent.target);if(shouldPreventDefault){keyEvent.preventDefault();keyEvent.stopPropagation()}})));disposables.add(addDisposableListener(domNode,EventType.KEY_UP,(e=>{const keyEvent=new StandardKeyboardEvent(e);const shouldPreventDefault=this._singleModifierDispatch(keyEvent,keyEvent.target);if(shouldPreventDefault){keyEvent.preventDefault()}})));this._domNodeListeners.push(new DomNodeListeners(domNode,disposables))};const removeContainer=domNode=>{for(let i=0;i<this._domNodeListeners.length;i++){const domNodeListeners=this._domNodeListeners[i];if(domNodeListeners.domNode===domNode){this._domNodeListeners.splice(i,1);domNodeListeners.dispose()}}};const addCodeEditor=codeEditor=>{if(codeEditor.getOption(60)){return}addContainer(codeEditor.getContainerDomNode())};const removeCodeEditor=codeEditor=>{if(codeEditor.getOption(60)){return}removeContainer(codeEditor.getContainerDomNode())};this._register(codeEditorService.onCodeEditorAdd(addCodeEditor));this._register(codeEditorService.onCodeEditorRemove(removeCodeEditor));codeEditorService.listCodeEditors().forEach(addCodeEditor);const addDiffEditor=diffEditor=>{addContainer(diffEditor.getContainerDomNode())};const removeDiffEditor=diffEditor=>{removeContainer(diffEditor.getContainerDomNode())};this._register(codeEditorService.onDiffEditorAdd(addDiffEditor));this._register(codeEditorService.onDiffEditorRemove(removeDiffEditor));codeEditorService.listDiffEditors().forEach(addDiffEditor)}addDynamicKeybinding(command,keybinding,handler,when){return combinedDisposable(CommandsRegistry.registerCommand(command,handler),this.addDynamicKeybindings([{keybinding:keybinding,command:command,when:when}]))}addDynamicKeybindings(rules){const entries2=rules.map((rule=>{var _a6;const keybinding=decodeKeybinding(rule.keybinding,OS);return{keybinding:keybinding,command:(_a6=rule.command)!==null&&_a6!==void 0?_a6:null,commandArgs:rule.commandArgs,when:rule.when,weight1:1e3,weight2:0,extensionId:null,isBuiltinExtension:false}}));this._dynamicKeybindings=this._dynamicKeybindings.concat(entries2);this.updateResolver();return toDisposable((()=>{for(let i=0;i<this._dynamicKeybindings.length;i++){if(this._dynamicKeybindings[i]===entries2[0]){this._dynamicKeybindings.splice(i,entries2.length);this.updateResolver();return}}}))}updateResolver(){this._cachedResolver=null;this._onDidUpdateKeybindings.fire()}_getResolver(){if(!this._cachedResolver){const defaults=this._toNormalizedKeybindingItems(KeybindingsRegistry.getDefaultKeybindings(),true);const overrides=this._toNormalizedKeybindingItems(this._dynamicKeybindings,false);this._cachedResolver=new KeybindingResolver(defaults,overrides,(str=>this._log(str)))}return this._cachedResolver}_documentHasFocus(){return document.hasFocus()}_toNormalizedKeybindingItems(items,isDefault){const result=[];let resultLen=0;for(const item of items){const when=item.when||void 0;const keybinding=item.keybinding;if(!keybinding){result[resultLen++]=new ResolvedKeybindingItem(void 0,item.command,item.commandArgs,when,isDefault,null,false)}else{const resolvedKeybindings=USLayoutResolvedKeybinding.resolveKeybinding(keybinding,OS);for(const resolvedKeybinding of resolvedKeybindings){result[resultLen++]=new ResolvedKeybindingItem(resolvedKeybinding,item.command,item.commandArgs,when,isDefault,null,false)}}}return result}resolveKeyboardEvent(keyboardEvent){const chord=new KeyCodeChord(keyboardEvent.ctrlKey,keyboardEvent.shiftKey,keyboardEvent.altKey,keyboardEvent.metaKey,keyboardEvent.keyCode);return new USLayoutResolvedKeybinding([chord],OS)}};StandaloneKeybindingService=__decorate44([__param37(0,IContextKeyService),__param37(1,ICommandService),__param37(2,ITelemetryService),__param37(3,INotificationService),__param37(4,ILogService),__param37(5,ICodeEditorService)],StandaloneKeybindingService);DomNodeListeners=class extends Disposable{constructor(domNode,disposables){super();this.domNode=domNode;this._register(disposables)}};StandaloneConfigurationService=class{constructor(){this._onDidChangeConfiguration=new Emitter;this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;const defaultConfiguration=new DefaultConfiguration;this._configuration=new Configuration(defaultConfiguration.reload(),new ConfigurationModel,new ConfigurationModel,new ConfigurationModel);defaultConfiguration.dispose()}getValue(arg1,arg2){const section=typeof arg1==="string"?arg1:void 0;const overrides=isConfigurationOverrides(arg1)?arg1:isConfigurationOverrides(arg2)?arg2:{};return this._configuration.getValue(section,overrides,void 0)}updateValues(values){const previous={data:this._configuration.toData()};const changedKeys=[];for(const entry of values){const[key,value]=entry;if(this.getValue(key)===value){continue}this._configuration.updateValue(key,value);changedKeys.push(key)}if(changedKeys.length>0){const configurationChangeEvent=new ConfigurationChangeEvent({keys:changedKeys,overrides:[]},previous,this._configuration);configurationChangeEvent.source=8;configurationChangeEvent.sourceConfig=null;this._onDidChangeConfiguration.fire(configurationChangeEvent)}return Promise.resolve()}updateValue(key,value,arg3,arg4){return this.updateValues([[key,value]])}inspect(key,options2={}){return this._configuration.inspect(key,options2,void 0)}};StandaloneResourceConfigurationService=class StandaloneResourceConfigurationService2{constructor(configurationService,modelService,languageService){this.configurationService=configurationService;this.modelService=modelService;this.languageService=languageService;this._onDidChangeConfiguration=new Emitter;this.configurationService.onDidChangeConfiguration((e=>{this._onDidChangeConfiguration.fire({affectedKeys:e.affectedKeys,affectsConfiguration:(resource,configuration)=>e.affectsConfiguration(configuration)})}))}getValue(resource,arg2,arg3){const position=Position.isIPosition(arg2)?arg2:null;const section=position?typeof arg3==="string"?arg3:void 0:typeof arg2==="string"?arg2:void 0;const language81=resource?this.getLanguage(resource,position):void 0;if(typeof section==="undefined"){return this.configurationService.getValue({resource:resource,overrideIdentifier:language81})}return this.configurationService.getValue(section,{resource:resource,overrideIdentifier:language81})}getLanguage(resource,position){const model=this.modelService.getModel(resource);if(model){return position?model.getLanguageIdAtPosition(position.lineNumber,position.column):model.getLanguageId()}return this.languageService.guessLanguageIdByFilepathOrFirstLine(resource)}};StandaloneResourceConfigurationService=__decorate44([__param37(0,IConfigurationService),__param37(1,IModelService),__param37(2,ILanguageService)],StandaloneResourceConfigurationService);StandaloneResourcePropertiesService=class StandaloneResourcePropertiesService2{constructor(configurationService){this.configurationService=configurationService}getEOL(resource,language81){const eol=this.configurationService.getValue("files.eol",{overrideIdentifier:language81,resource:resource});if(eol&&typeof eol==="string"&&eol!=="auto"){return eol}return isLinux||isMacintosh?"\n":"\r\n"}};StandaloneResourcePropertiesService=__decorate44([__param37(0,IConfigurationService)],StandaloneResourcePropertiesService);StandaloneTelemetryService=class{publicLog2(){}};StandaloneWorkspaceContextService=class{constructor(){const resource=URI.from({scheme:StandaloneWorkspaceContextService.SCHEME,authority:"model",path:"/"});this.workspace={id:STANDALONE_EDITOR_WORKSPACE_ID,folders:[new WorkspaceFolder({uri:resource,name:"",index:0})]}}getWorkspace(){return this.workspace}getWorkspaceFolder(resource){return resource&&resource.scheme===StandaloneWorkspaceContextService.SCHEME?this.workspace.folders[0]:null}};StandaloneWorkspaceContextService.SCHEME="inmemory";StandaloneBulkEditService=class StandaloneBulkEditService2{constructor(_modelService){this._modelService=_modelService}hasPreviewHandler(){return false}apply(editsIn,_options){return __awaiter27(this,void 0,void 0,(function*(){const edits=Array.isArray(editsIn)?editsIn:ResourceEdit.convert(editsIn);const textEdits=new Map;for(const edit of edits){if(!(edit instanceof ResourceTextEdit)){throw new Error("bad edit - only text edits are supported")}const model=this._modelService.getModel(edit.resource);if(!model){throw new Error("bad edit - model not found")}if(typeof edit.versionId==="number"&&model.getVersionId()!==edit.versionId){throw new Error("bad state - model changed in the meantime")}let array2=textEdits.get(model);if(!array2){array2=[];textEdits.set(model,array2)}array2.push(EditOperation.replaceMove(Range.lift(edit.textEdit.range),edit.textEdit.text))}let totalEdits=0;let totalFiles=0;for(const[model,edits2]of textEdits){model.pushStackElement();model.pushEditOperations([],edits2,(()=>[]));model.pushStackElement();totalFiles+=1;totalEdits+=edits2.length}return{ariaSummary:format(StandaloneServicesNLS.bulkEditServiceSummary,totalEdits,totalFiles),isApplied:totalEdits>0}}))}};StandaloneBulkEditService=__decorate44([__param37(0,IModelService)],StandaloneBulkEditService);StandaloneUriLabelService=class{getUriLabel(resource,options2){if(resource.scheme==="file"){return resource.fsPath}return resource.path}getUriBasenameLabel(resource){return basename2(resource)}};StandaloneContextViewService=class StandaloneContextViewService2 extends ContextViewService{constructor(layoutService,_codeEditorService){super(layoutService);this._codeEditorService=_codeEditorService}showContextView(delegate,container,shadowRoot){if(!container){const codeEditor=this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor();if(codeEditor){container=codeEditor.getContainerDomNode()}}return super.showContextView(delegate,container,shadowRoot)}};StandaloneContextViewService=__decorate44([__param37(0,ILayoutService),__param37(1,ICodeEditorService)],StandaloneContextViewService);StandaloneWorkspaceTrustManagementService=class{constructor(){this._neverEmitter=new Emitter;this.onDidChangeTrust=this._neverEmitter.event}isWorkspaceTrusted(){return true}};StandaloneLanguageService=class extends LanguageService{constructor(){super()}};StandaloneLogService=class extends LogService{constructor(){super(new ConsoleLogger)}};StandaloneContextMenuService=class StandaloneContextMenuService2 extends ContextMenuService{constructor(telemetryService,notificationService,contextViewService,keybindingService,menuService,contextKeyService){super(telemetryService,notificationService,contextViewService,keybindingService,menuService,contextKeyService);this.configure({blockMouse:false})}};StandaloneContextMenuService=__decorate44([__param37(0,ITelemetryService),__param37(1,INotificationService),__param37(2,IContextViewService),__param37(3,IKeybindingService),__param37(4,IMenuService),__param37(5,IContextKeyService)],StandaloneContextMenuService);StandaloneAudioService=class{playAudioCue(cue,options2){return __awaiter27(this,void 0,void 0,(function*(){}))}};registerSingleton(IConfigurationService,StandaloneConfigurationService,0);registerSingleton(ITextResourceConfigurationService,StandaloneResourceConfigurationService,0);registerSingleton(ITextResourcePropertiesService,StandaloneResourcePropertiesService,0);registerSingleton(IWorkspaceContextService,StandaloneWorkspaceContextService,0);registerSingleton(ILabelService,StandaloneUriLabelService,0);registerSingleton(ITelemetryService,StandaloneTelemetryService,0);registerSingleton(IDialogService,StandaloneDialogService,0);registerSingleton(IEnvironmentService,StandaloneEnvironmentService,0);registerSingleton(INotificationService,StandaloneNotificationService,0);registerSingleton(IMarkerService,MarkerService,0);registerSingleton(ILanguageService,StandaloneLanguageService,0);registerSingleton(IStandaloneThemeService,StandaloneThemeService,0);registerSingleton(ILogService,StandaloneLogService,0);registerSingleton(IModelService,ModelService,0);registerSingleton(IMarkerDecorationsService,MarkerDecorationsService,0);registerSingleton(IContextKeyService,ContextKeyService,0);registerSingleton(IProgressService,StandaloneProgressService,0);registerSingleton(IEditorProgressService,StandaloneEditorProgressService,0);registerSingleton(IStorageService,InMemoryStorageService,0);registerSingleton(IEditorWorkerService,EditorWorkerService,0);registerSingleton(IBulkEditService,StandaloneBulkEditService,0);registerSingleton(IWorkspaceTrustManagementService,StandaloneWorkspaceTrustManagementService,0);registerSingleton(ITextModelService,StandaloneTextModelService,0);registerSingleton(IAccessibilityService,AccessibilityService,0);registerSingleton(IListService,ListService,0);registerSingleton(ICommandService,StandaloneCommandService,0);registerSingleton(IKeybindingService,StandaloneKeybindingService,0);registerSingleton(IQuickInputService,StandaloneQuickInputService,0);registerSingleton(IContextViewService,StandaloneContextViewService,0);registerSingleton(IOpenerService,OpenerService,0);registerSingleton(IClipboardService,BrowserClipboardService,0);registerSingleton(IContextMenuService,StandaloneContextMenuService,0);registerSingleton(IMenuService,MenuService,0);registerSingleton(IAudioCueService,StandaloneAudioService,0);(function(StandaloneServices2){const serviceCollection=new ServiceCollection;for(const[id,descriptor]of getSingletonServiceDescriptors()){serviceCollection.set(id,descriptor)}const instantiationService=new InstantiationService(serviceCollection,true);serviceCollection.set(IInstantiationService,instantiationService);function get(serviceId){if(!initialized){initialize2({})}const r=serviceCollection.get(serviceId);if(!r){throw new Error("Missing service "+serviceId)}if(r instanceof SyncDescriptor){return instantiationService.invokeFunction((accessor=>accessor.get(serviceId)))}else{return r}}StandaloneServices2.get=get;let initialized=false;const onDidInitialize=new Emitter;function initialize2(overrides){if(initialized){return instantiationService}initialized=true;for(const[id,descriptor]of getSingletonServiceDescriptors()){if(!serviceCollection.get(id)){serviceCollection.set(id,descriptor)}}for(const serviceId in overrides){if(overrides.hasOwnProperty(serviceId)){const serviceIdentifier=createDecorator(serviceId);const r=serviceCollection.get(serviceIdentifier);if(r instanceof SyncDescriptor){serviceCollection.set(serviceIdentifier,overrides[serviceId])}}}const editorFeatures2=getEditorFeatures();for(const feature of editorFeatures2){try{instantiationService.createInstance(feature)}catch(err){onUnexpectedError(err)}}onDidInitialize.fire();return instantiationService}StandaloneServices2.initialize=initialize2;function withServices(callback){if(initialized){return callback()}const disposable=new DisposableStore;const listener=disposable.add(onDidInitialize.event((()=>{listener.dispose();disposable.add(callback())})));return disposable}StandaloneServices2.withServices=withServices})(StandaloneServices||(StandaloneServices={}))}});function setLogger(logger){globalObservableLogger=logger}function getLogger(){return globalObservableLogger}function consoleTextToArgs(text2){const styles=new Array;const data=[];let firstArg="";function process2(t2){if("length"in t2){for(const item of t2){if(item){process2(item)}}}else if("text"in t2){firstArg+=`%c${t2.text}`;styles.push(t2.style);if(t2.data){data.push(...t2.data)}}else if("data"in t2){data.push(...t2.data)}}process2(text2);const result=[firstArg,...styles];result.push(...data);return result}function normalText(text2){return styled(text2,{color:"black"})}function formatKind(kind){return styled(padStr(`${kind}: `,10),{color:"black",bold:true})}function styled(text2,options2={color:"black"}){function objToCss(styleObj){return Object.entries(styleObj).reduce(((styleString,[propName,propValue])=>`${styleString}${propName}:${propValue};`),"")}const style={color:options2.color};if(options2.strikeThrough){style["text-decoration"]="line-through"}if(options2.bold){style["font-weight"]="bold"}return{text:text2,style:objToCss(style)}}function formatValue(value,availableLen){switch(typeof value){case"number":return""+value;case"string":if(value.length+2<=availableLen){return`"${value}"`}return`"${value.substr(0,availableLen-7)}"+...`;case"boolean":return value?"true":"false";case"undefined":return"undefined";case"object":if(value===null){return"null"}if(Array.isArray(value)){return formatArray(value,availableLen)}return formatObject(value,availableLen);case"symbol":return value.toString();case"function":return`[[Function${value.name?" "+value.name:""}]]`;default:return""+value}}function formatArray(value,availableLen){let result="[ ";let first2=true;for(const val of value){if(!first2){result+=", "}if(result.length-5>availableLen){result+="...";break}first2=false;result+=`${formatValue(val,availableLen-result.length)}`}result+=" ]";return result}function formatObject(value,availableLen){let result="{ ";let first2=true;for(const[key,val]of Object.entries(value)){if(!first2){result+=", "}if(result.length-5>availableLen){result+="...";break}first2=false;result+=`${key}: ${formatValue(val,availableLen-result.length)}`}result+=" }";return result}function repeat(str,count){let result="";for(let i=1;i<=count;i++){result+=str}return result}function padStr(str,length2){while(str.length<length2){str+=" "}return str}var globalObservableLogger,ConsoleObservableLogger;var init_logging=__esm({"node_modules/monaco-editor/esm/vs/base/common/observableInternal/logging.js"(){ConsoleObservableLogger=class{constructor(){this.indentation=0;this.changedObservablesSets=new WeakMap}textToConsoleArgs(text2){return consoleTextToArgs([normalText(repeat("| ",this.indentation)),text2])}formatInfo(info){if(!info.hadValue){return[normalText(` `),styled(formatValue(info.newValue,60),{color:"green"}),normalText(` (initial)`)]}return info.didChange?[normalText(` `),styled(formatValue(info.oldValue,70),{color:"red",strikeThrough:true}),normalText(` `),styled(formatValue(info.newValue,60),{color:"green"})]:[normalText(` (unchanged)`)]}handleObservableChanged(observable,info){console.log(...this.textToConsoleArgs([formatKind("observable value changed"),styled(observable.debugName,{color:"BlueViolet"}),...this.formatInfo(info)]))}formatChanges(changes){if(changes.size===0){return void 0}return styled(" (changed deps: "+[...changes].map((o=>o.debugName)).join(", ")+")",{color:"gray"})}handleDerivedCreated(derived2){const existingHandleChange=derived2.handleChange;this.changedObservablesSets.set(derived2,new Set);derived2.handleChange=(observable,change)=>{this.changedObservablesSets.get(derived2).add(observable);return existingHandleChange.apply(derived2,[observable,change])}}handleDerivedRecomputed(derived2,info){const changedObservables=this.changedObservablesSets.get(derived2);console.log(...this.textToConsoleArgs([formatKind("derived recomputed"),styled(derived2.debugName,{color:"BlueViolet"}),...this.formatInfo(info),this.formatChanges(changedObservables),{data:[{fn:derived2._computeFn}]}]));changedObservables.clear()}handleFromEventObservableTriggered(observable,info){console.log(...this.textToConsoleArgs([formatKind("observable from event triggered"),styled(observable.debugName,{color:"BlueViolet"}),...this.formatInfo(info),{data:[{fn:observable._getValue}]}]))}handleAutorunCreated(autorun2){const existingHandleChange=autorun2.handleChange;this.changedObservablesSets.set(autorun2,new Set);autorun2.handleChange=(observable,change)=>{this.changedObservablesSets.get(autorun2).add(observable);return existingHandleChange.apply(autorun2,[observable,change])}}handleAutorunTriggered(autorun2){const changedObservables=this.changedObservablesSets.get(autorun2);console.log(...this.textToConsoleArgs([formatKind("autorun"),styled(autorun2.debugName,{color:"BlueViolet"}),this.formatChanges(changedObservables),{data:[{fn:autorun2._runFn}]}]));changedObservables.clear();this.indentation++}handleAutorunFinished(autorun2){this.indentation--}handleBeginTransaction(transaction2){let transactionName=transaction2.getDebugName();if(transactionName===void 0){transactionName=""}console.log(...this.textToConsoleArgs([formatKind("transaction"),styled(transactionName,{color:"BlueViolet"}),{data:[{fn:transaction2._fn}]}]));this.indentation++}handleEndTransaction(){this.indentation--}}}});function _setDerived(derived2){_derived=derived2}function transaction(fn,getDebugName){const tx=new TransactionImpl(fn,getDebugName);try{fn(tx)}finally{tx.finish()}}function subtransaction(tx,fn,getDebugName){if(!tx){transaction(fn,getDebugName)}else{fn(tx)}}function getFunctionName(fn){const fnSrc=fn.toString();const regexp=/\/\*\*\s*@description\s*([^*]*)\*\//;const match2=regexp.exec(fnSrc);const result=match2?match2[1]:void 0;return result===null||result===void 0?void 0:result.trim()}function observableValue(name,initialValue){return new ObservableValue(name,initialValue)}function disposableObservableValue(name,initialValue){return new DisposableObservableValue(name,initialValue)}var _derived,ConvenientObservable,BaseObservable,TransactionImpl,ObservableValue,DisposableObservableValue;var init_base=__esm({"node_modules/monaco-editor/esm/vs/base/common/observableInternal/base.js"(){init_logging();ConvenientObservable=class{get TChange(){return null}reportChanges(){this.get()}read(reader){if(reader){return reader.readObservable(this)}else{return this.get()}}map(fn){return _derived((reader=>fn(this.read(reader),reader)),(()=>{const name=getFunctionName(fn);if(name!==void 0){return name}const regexp=/^\s*\(?\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\)?\s*=>\s*\1\.([a-zA-Z_$][a-zA-Z_$0-9]*)\s*$/;const match2=regexp.exec(fn.toString());if(match2){return`${this.debugName}.${match2[2]}`}return`${this.debugName} (mapped)`}))}};BaseObservable=class extends ConvenientObservable{constructor(){super(...arguments);this.observers=new Set}addObserver(observer){const len=this.observers.size;this.observers.add(observer);if(len===0){this.onFirstObserverAdded()}}removeObserver(observer){const deleted=this.observers.delete(observer);if(deleted&&this.observers.size===0){this.onLastObserverRemoved()}}onFirstObserverAdded(){}onLastObserverRemoved(){}};TransactionImpl=class{constructor(_fn,_getDebugName){var _a6;this._fn=_fn;this._getDebugName=_getDebugName;this.updatingObservers=[];(_a6=getLogger())===null||_a6===void 0?void 0:_a6.handleBeginTransaction(this)}getDebugName(){if(this._getDebugName){return this._getDebugName()}return getFunctionName(this._fn)}updateObserver(observer,observable){this.updatingObservers.push({observer:observer,observable:observable});observer.beginUpdate(observable)}finish(){var _a6;const updatingObservers=this.updatingObservers;this.updatingObservers=null;for(const{observer:observer,observable:observable}of updatingObservers){observer.endUpdate(observable)}(_a6=getLogger())===null||_a6===void 0?void 0:_a6.handleEndTransaction()}};ObservableValue=class extends BaseObservable{constructor(debugName,initialValue){super();this.debugName=debugName;this._value=initialValue}get(){return this._value}set(value,tx,change){var _a6;if(this._value===value){return}let _tx;if(!tx){tx=_tx=new TransactionImpl((()=>{}),(()=>`Setting ${this.debugName}`))}try{const oldValue=this._value;this._setValue(value);(_a6=getLogger())===null||_a6===void 0?void 0:_a6.handleObservableChanged(this,{oldValue:oldValue,newValue:value,change:change,didChange:true,hadValue:true});for(const observer of this.observers){tx.updateObserver(observer,this);observer.handleChange(this,change)}}finally{if(_tx){_tx.finish()}}}toString(){return`${this.debugName}: ${this._value}`}_setValue(newValue){this._value=newValue}};DisposableObservableValue=class extends ObservableValue{_setValue(newValue){if(this._value===newValue){return}if(this._value){this._value.dispose()}this._value=newValue}dispose(){var _a6;(_a6=this._value)===null||_a6===void 0?void 0:_a6.dispose()}}}});function derived(computeFn,debugName){return new Derived(debugName,computeFn,void 0,void 0,void 0,defaultEqualityComparer)}function derivedOpts(options2,computeFn){var _a6;return new Derived(options2.debugName,computeFn,void 0,void 0,void 0,(_a6=options2.equalityComparer)!==null&&_a6!==void 0?_a6:defaultEqualityComparer)}function derivedHandleChanges(debugName,options2,computeFn){return new Derived(debugName,computeFn,options2.createEmptyChangeSummary,options2.handleChange,void 0,defaultEqualityComparer)}function derivedWithStore(name,computeFn){const store=new DisposableStore;return new Derived(name,(r=>{store.clear();return computeFn(r,store)}),void 0,void 0,(()=>store.dispose()),defaultEqualityComparer)}var defaultEqualityComparer,Derived;var init_derived=__esm({"node_modules/monaco-editor/esm/vs/base/common/observableInternal/derived.js"(){init_errors();init_lifecycle();init_base();init_logging();defaultEqualityComparer=(a,b)=>a===b;_setDerived(derived);Derived=class extends BaseObservable{get debugName(){if(!this._debugName){return getFunctionName(this._computeFn)||"(anonymous)"}return typeof this._debugName==="function"?this._debugName():this._debugName}constructor(_debugName,_computeFn,createChangeSummary,_handleChange,_handleLastObserverRemoved=void 0,_equalityComparator){var _a6,_b3;super();this._debugName=_debugName;this._computeFn=_computeFn;this.createChangeSummary=createChangeSummary;this._handleChange=_handleChange;this._handleLastObserverRemoved=_handleLastObserverRemoved;this._equalityComparator=_equalityComparator;this.state=0;this.value=void 0;this.updateCount=0;this.dependencies=new Set;this.dependenciesToBeRemoved=new Set;this.changeSummary=void 0;this.changeSummary=(_a6=this.createChangeSummary)===null||_a6===void 0?void 0:_a6.call(this);(_b3=getLogger())===null||_b3===void 0?void 0:_b3.handleDerivedCreated(this)}onLastObserverRemoved(){var _a6;this.state=0;this.value=void 0;for(const d of this.dependencies){d.removeObserver(this)}this.dependencies.clear();(_a6=this._handleLastObserverRemoved)===null||_a6===void 0?void 0:_a6.call(this)}get(){var _a6;if(this.observers.size===0){const result=this._computeFn(this,(_a6=this.createChangeSummary)===null||_a6===void 0?void 0:_a6.call(this));this.onLastObserverRemoved();return result}else{do{if(this.state===1){for(const d of this.dependencies){d.reportChanges();if(this.state===2){break}}}if(this.state===1){this.state=3}this._recomputeIfNeeded()}while(this.state!==3);return this.value}}_recomputeIfNeeded(){var _a6,_b3;if(this.state===3){return}const emptySet=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies;this.dependencies=emptySet;const hadValue=this.state!==0;const oldValue=this.value;this.state=3;const changeSummary=this.changeSummary;this.changeSummary=(_a6=this.createChangeSummary)===null||_a6===void 0?void 0:_a6.call(this);try{this.value=this._computeFn(this,changeSummary)}finally{for(const o of this.dependenciesToBeRemoved){o.removeObserver(this)}this.dependenciesToBeRemoved.clear()}const didChange=hadValue&&!this._equalityComparator(oldValue,this.value);(_b3=getLogger())===null||_b3===void 0?void 0:_b3.handleDerivedRecomputed(this,{oldValue:oldValue,newValue:this.value,change:void 0,didChange:didChange,hadValue:hadValue});if(didChange){for(const r of this.observers){r.handleChange(this,void 0)}}}toString(){return`LazyDerived<${this.debugName}>`}beginUpdate(_observable){this.updateCount++;const propagateBeginUpdate=this.updateCount===1;if(this.state===3){this.state=1;if(!propagateBeginUpdate){for(const r of this.observers){r.handlePossibleChange(this)}}}if(propagateBeginUpdate){for(const r of this.observers){r.beginUpdate(this)}}}endUpdate(_observable){this.updateCount--;if(this.updateCount===0){const observers=[...this.observers];for(const r of observers){r.endUpdate(this)}}if(this.updateCount<0){throw new BugIndicatingError}}handlePossibleChange(observable){if(this.state===3&&this.dependencies.has(observable)&&!this.dependenciesToBeRemoved.has(observable)){this.state=1;for(const r of this.observers){r.handlePossibleChange(this)}}}handleChange(observable,change){if(this.dependencies.has(observable)&&!this.dependenciesToBeRemoved.has(observable)){const shouldReact=this._handleChange?this._handleChange({changedObservable:observable,change:change,didChange:o=>o===observable},this.changeSummary):true;const wasUpToDate=this.state===3;if(shouldReact&&(this.state===1||wasUpToDate)){this.state=2;if(wasUpToDate){for(const r of this.observers){r.handlePossibleChange(this)}}}}}readObservable(observable){observable.addObserver(this);const value=observable.get();this.dependencies.add(observable);this.dependenciesToBeRemoved.delete(observable);return value}addObserver(observer){const shouldCallBeginUpdate=!this.observers.has(observer)&&this.updateCount>0;super.addObserver(observer);if(shouldCallBeginUpdate){observer.beginUpdate(this)}}removeObserver(observer){const shouldCallEndUpdate=this.observers.has(observer)&&this.updateCount>0;super.removeObserver(observer);if(shouldCallEndUpdate){observer.endUpdate(this)}}}}});function autorunOpts(options2,fn){return new AutorunObserver(options2.debugName,fn,void 0,void 0)}function autorun(fn){return new AutorunObserver(void 0,fn,void 0,void 0)}function autorunHandleChanges(options2,fn){return new AutorunObserver(options2.debugName,fn,options2.createEmptyChangeSummary,options2.handleChange)}function autorunWithStore(fn){const store=new DisposableStore;const disposable=autorunOpts({debugName:()=>getFunctionName(fn)||"(anonymous)"},(reader=>{store.clear();fn(reader,store)}));return toDisposable((()=>{disposable.dispose();store.dispose()}))}var AutorunObserver;var init_autorun=__esm({"node_modules/monaco-editor/esm/vs/base/common/observableInternal/autorun.js"(){init_assert();init_lifecycle();init_base();init_logging();AutorunObserver=class{get debugName(){if(typeof this._debugName==="string"){return this._debugName}if(typeof this._debugName==="function"){const name2=this._debugName();if(name2!==void 0){return name2}}const name=getFunctionName(this._runFn);if(name!==void 0){return name}return"(anonymous)"}constructor(_debugName,_runFn,createChangeSummary,_handleChange){var _a6,_b3;this._debugName=_debugName;this._runFn=_runFn;this.createChangeSummary=createChangeSummary;this._handleChange=_handleChange;this.state=2;this.updateCount=0;this.disposed=false;this.dependencies=new Set;this.dependenciesToBeRemoved=new Set;this.changeSummary=(_a6=this.createChangeSummary)===null||_a6===void 0?void 0:_a6.call(this);(_b3=getLogger())===null||_b3===void 0?void 0:_b3.handleAutorunCreated(this);this._runIfNeeded()}dispose(){this.disposed=true;for(const o of this.dependencies){o.removeObserver(this)}this.dependencies.clear()}_runIfNeeded(){var _a6,_b3,_c2;if(this.state===3){return}const emptySet=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies;this.dependencies=emptySet;this.state=3;try{if(!this.disposed){(_a6=getLogger())===null||_a6===void 0?void 0:_a6.handleAutorunTriggered(this);const changeSummary=this.changeSummary;this.changeSummary=(_b3=this.createChangeSummary)===null||_b3===void 0?void 0:_b3.call(this);this._runFn(this,changeSummary)}}finally{(_c2=getLogger())===null||_c2===void 0?void 0:_c2.handleAutorunFinished(this);for(const o of this.dependenciesToBeRemoved){o.removeObserver(this)}this.dependenciesToBeRemoved.clear()}}toString(){return`Autorun<${this.debugName}>`}beginUpdate(){if(this.state===3){this.state=1}this.updateCount++}endUpdate(){if(this.updateCount===1){do{if(this.state===1){this.state=3;for(const d of this.dependencies){d.reportChanges();if(this.state===2){break}}}this._runIfNeeded()}while(this.state!==3)}this.updateCount--;assertFn((()=>this.updateCount>=0))}handlePossibleChange(observable){if(this.state===3&&this.dependencies.has(observable)&&!this.dependenciesToBeRemoved.has(observable)){this.state=1}}handleChange(observable,change){if(this.dependencies.has(observable)&&!this.dependenciesToBeRemoved.has(observable)){const shouldReact=this._handleChange?this._handleChange({changedObservable:observable,change:change,didChange:o=>o===observable},this.changeSummary):true;if(shouldReact){this.state=2}}}readObservable(observable){if(this.disposed){return observable.get()}observable.addObserver(this);const value=observable.get();this.dependencies.add(observable);this.dependenciesToBeRemoved.delete(observable);return value}};(function(autorun2){autorun2.Observer=AutorunObserver})(autorun||(autorun={}))}});function constObservable(value){return new ConstObservable(value)}function waitForState(observable,predicate){return new Promise((resolve2=>{let didRun=false;let shouldDispose=false;const d=autorun((reader=>{const currentState=observable.read(reader);if(predicate(currentState)){if(!didRun){shouldDispose=true}else{d.dispose()}resolve2(currentState)}}));didRun=true;if(shouldDispose){d.dispose()}}))}function observableFromEvent(event,getValue){return new FromEventObservable(event,getValue)}function observableSignalFromEvent(debugName,event){return new FromEventObservableSignal(debugName,event)}function observableSignal(debugName){return new ObservableSignal(debugName)}function keepAlive(observable,forceRecompute){const o=new KeepAliveObserver(forceRecompute!==null&&forceRecompute!==void 0?forceRecompute:false);observable.addObserver(o);if(forceRecompute){observable.reportChanges()}return toDisposable((()=>{observable.removeObserver(o)}))}var ConstObservable,FromEventObservable,FromEventObservableSignal,ObservableSignal,KeepAliveObserver;var init_utils3=__esm({"node_modules/monaco-editor/esm/vs/base/common/observableInternal/utils.js"(){init_lifecycle();init_autorun();init_base();init_logging();ConstObservable=class extends ConvenientObservable{constructor(value){super();this.value=value}get debugName(){return this.toString()}get(){return this.value}addObserver(observer){}removeObserver(observer){}toString(){return`Const: ${this.value}`}};FromEventObservable=class extends BaseObservable{constructor(event,_getValue){super();this.event=event;this._getValue=_getValue;this.hasValue=false;this.handleEvent=args=>{var _a6;const newValue=this._getValue(args);const didChange=!this.hasValue||this.value!==newValue;(_a6=getLogger())===null||_a6===void 0?void 0:_a6.handleFromEventObservableTriggered(this,{oldValue:this.value,newValue:newValue,change:void 0,didChange:didChange,hadValue:this.hasValue});if(didChange){this.value=newValue;if(this.hasValue){transaction((tx=>{for(const o of this.observers){tx.updateObserver(o,this);o.handleChange(this,void 0)}}),(()=>{const name=this.getDebugName();return"Event fired"+(name?`: ${name}`:"")}))}this.hasValue=true}}}getDebugName(){return getFunctionName(this._getValue)}get debugName(){const name=this.getDebugName();return"From Event"+(name?`: ${name}`:"")}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose();this.subscription=void 0;this.hasValue=false;this.value=void 0}get(){if(this.subscription){if(!this.hasValue){this.handleEvent(void 0)}return this.value}else{return this._getValue(void 0)}}};(function(observableFromEvent2){observableFromEvent2.Observer=FromEventObservable})(observableFromEvent||(observableFromEvent={}));FromEventObservableSignal=class extends BaseObservable{constructor(debugName,event){super();this.debugName=debugName;this.event=event;this.handleEvent=()=>{transaction((tx=>{for(const o of this.observers){tx.updateObserver(o,this);o.handleChange(this,void 0)}}),(()=>this.debugName))}}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose();this.subscription=void 0}get(){}};ObservableSignal=class extends BaseObservable{constructor(debugName){super();this.debugName=debugName}trigger(tx,change){if(!tx){transaction((tx2=>{this.trigger(tx2,change)}),(()=>`Trigger signal ${this.debugName}`));return}for(const o of this.observers){tx.updateObserver(o,this);o.handleChange(this,change)}}get(){}};KeepAliveObserver=class{constructor(forceRecompute){this.forceRecompute=forceRecompute;this.counter=0}beginUpdate(observable){this.counter++}endUpdate(observable){this.counter--;if(this.counter===0&&this.forceRecompute){observable.reportChanges()}}handlePossibleChange(observable){}handleChange(observable,change){}}}});var enableLogging;var init_observable=__esm({"node_modules/monaco-editor/esm/vs/base/common/observable.js"(){init_base();init_derived();init_autorun();init_utils3();init_logging();enableLogging=false;if(enableLogging){setLogger(new ConsoleObservableLogger)}}});var init_47=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditorWidget2/style.css"(){}});function joinCombine(arr1,arr2,keySelector,combine){if(arr1.length===0){return arr2}if(arr2.length===0){return arr1}const result=[];let i=0;let j=0;while(i<arr1.length&&j<arr2.length){const val1=arr1[i];const val2=arr2[j];const key1=keySelector(val1);const key2=keySelector(val2);if(key1<key2){result.push(val1);i++}else if(key1>key2){result.push(val2);j++}else{result.push(combine(val1,val2));i++;j++}}while(i<arr1.length){result.push(arr1[i]);i++}while(j<arr2.length){result.push(arr2[j]);j++}return result}function applyObservableDecorations(editor2,decorations){const d=new DisposableStore;const decorationsCollection=editor2.createDecorationsCollection();d.add(autorunOpts({debugName:`Apply decorations from ${decorations.debugName}`},(reader=>{const d2=decorations.read(reader);decorationsCollection.set(d2)})));d.add({dispose:()=>{decorationsCollection.clear()}});return d}function appendRemoveOnDispose(parent,child){parent.appendChild(child);return toDisposable((()=>{parent.removeChild(child)}))}function animatedObservable(base,store){let targetVal=base.get();let startVal=targetVal;let curVal=targetVal;const result=observableValue("animatedValue",targetVal);let animationStartMs=-1;const durationMs=300;let animationFrame=void 0;store.add(autorunHandleChanges({createEmptyChangeSummary:()=>({animate:false}),handleChange:(ctx,s)=>{if(ctx.didChange(base)){s.animate=s.animate||ctx.change}return true}},((reader,s)=>{if(animationFrame!==void 0){cancelAnimationFrame(animationFrame);animationFrame=void 0}startVal=curVal;targetVal=base.read(reader);animationStartMs=Date.now()-(s.animate?0:durationMs);update()})));function update(){const passedMs=Date.now()-animationStartMs;curVal=Math.floor(easeOutExpo(passedMs,startVal,targetVal-startVal,durationMs));if(passedMs<durationMs){animationFrame=requestAnimationFrame(update)}else{curVal=targetVal}result.set(curVal,void 0)}return result}function easeOutExpo(t2,b,c,d){return t2===d?b+c:c*(-Math.pow(2,-10*t2/d)+1)+b}function applyStyle(domNode,style){return autorun((reader=>{for(let[key,val]of Object.entries(style)){if(val&&typeof val==="object"&&"read"in val){val=val.read(reader)}if(typeof val==="number"){val=`${val}px`}key=key.replace(/[A-Z]/g,(m=>"-"+m.toLowerCase()));domNode.style[key]=val}}))}function readHotReloadableExport(value,reader){observeHotReloadableExports([value],reader);return value}function observeHotReloadableExports(values,reader){const hotReload_deprecateExports=globalThis.$hotReload_deprecateExports;if(!hotReload_deprecateExports){return}const o=observableSignalFromEvent("reload",(e=>{function handleExports(oldExports,_newExports){if([...Object.values(oldExports)].some((v=>values.includes(v)))){e(void 0);return true}return false}hotReload_deprecateExports.add(handleExports);return{dispose(){hotReload_deprecateExports.delete(handleExports)}}}));o.read(reader)}function applyViewZones(editor2,viewZones,setIsUpdating){const store=new DisposableStore;const lastViewZoneIds=[];store.add(autorun((reader=>{const curViewZones=viewZones.read(reader);const viewZonIdsPerViewZone=new Map;const viewZoneIdPerOnChangeObservable=new Map;if(setIsUpdating){setIsUpdating(true)}editor2.changeViewZones((a=>{for(const id of lastViewZoneIds){a.removeZone(id)}lastViewZoneIds.length=0;for(const z of curViewZones){const id=a.addZone(z);lastViewZoneIds.push(id);viewZonIdsPerViewZone.set(z,id)}}));if(setIsUpdating){setIsUpdating(false)}store.add(autorunHandleChanges({createEmptyChangeSummary(){return[]},handleChange(context,changeSummary){const id=viewZoneIdPerOnChangeObservable.get(context.changedObservable);if(id!==void 0){changeSummary.push(id)}return true}},((reader2,changeSummary)=>{for(const vz of curViewZones){if(vz.onChange){viewZoneIdPerOnChangeObservable.set(vz.onChange,viewZonIdsPerViewZone.get(vz));vz.onChange.read(reader2)}}if(setIsUpdating){setIsUpdating(true)}editor2.changeViewZones((a=>{for(const id of changeSummary){a.layoutZone(id)}}));if(setIsUpdating){setIsUpdating(false)}})))})));store.add({dispose(){if(setIsUpdating){setIsUpdating(true)}editor2.changeViewZones((a=>{for(const id of lastViewZoneIds){a.removeZone(id)}}));if(setIsUpdating){setIsUpdating(false)}}});return store}var ObservableElementSizeObserver,ViewZoneOverlayWidget,PlaceholderViewZone,ManagedOverlayWidget;var init_utils4=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditorWidget2/utils.js"(){init_lifecycle();init_observable();init_elementSizeObserver();ObservableElementSizeObserver=class extends Disposable{get width(){return this._width}get height(){return this._height}constructor(element,dimension){super();this.elementSizeObserver=this._register(new ElementSizeObserver(element,dimension));this._width=observableValue("width",this.elementSizeObserver.getWidth());this._height=observableValue("height",this.elementSizeObserver.getHeight());this._register(this.elementSizeObserver.onDidChange((e=>transaction((tx=>{this._width.set(this.elementSizeObserver.getWidth(),tx);this._height.set(this.elementSizeObserver.getHeight(),tx)})))))}observe(dimension){this.elementSizeObserver.observe(dimension)}setAutomaticLayout(automaticLayout){if(automaticLayout){this.elementSizeObserver.startObserving()}else{this.elementSizeObserver.stopObserving()}}};ViewZoneOverlayWidget=class extends Disposable{constructor(editor2,viewZone,htmlElement){super();this._register(new ManagedOverlayWidget(editor2,htmlElement));this._register(applyStyle(htmlElement,{height:viewZone.actualHeight,top:viewZone.actualTop}))}};PlaceholderViewZone=class{get afterLineNumber(){return this._afterLineNumber.get()}constructor(_afterLineNumber,heightInPx){this._afterLineNumber=_afterLineNumber;this.heightInPx=heightInPx;this.domNode=document.createElement("div");this._actualTop=observableValue("actualTop",void 0);this._actualHeight=observableValue("actualHeight",void 0);this.actualTop=this._actualTop;this.actualHeight=this._actualHeight;this.showInHiddenAreas=true;this.onChange=this._afterLineNumber;this.onDomNodeTop=top=>{this._actualTop.set(top,void 0)};this.onComputedHeight=height=>{this._actualHeight.set(height,void 0)}}};ManagedOverlayWidget=class{constructor(_editor,_domElement){this._editor=_editor;this._domElement=_domElement;this._overlayWidgetId=`managedOverlayWidget-${ManagedOverlayWidget._counter++}`;this._overlayWidget={getId:()=>this._overlayWidgetId,getDomNode:()=>this._domElement,getPosition:()=>null};this._editor.addOverlayWidget(this._overlayWidget)}dispose(){this._editor.removeOverlayWidget(this._overlayWidget)}};ManagedOverlayWidget._counter=0}});function computeViewElementGroups(diffs,originalLineCount,modifiedLineCount){const result=[];for(const g of group2(diffs,((a,b)=>b.modifiedRange.startLineNumber-a.modifiedRange.endLineNumberExclusive<2*viewElementGroupLineMargin))){const viewElements=[];viewElements.push(new HeaderViewElement);const origFullRange=new LineRange(Math.max(1,g[0].originalRange.startLineNumber-viewElementGroupLineMargin),Math.min(g[g.length-1].originalRange.endLineNumberExclusive+viewElementGroupLineMargin,originalLineCount+1));const modifiedFullRange=new LineRange(Math.max(1,g[0].modifiedRange.startLineNumber-viewElementGroupLineMargin),Math.min(g[g.length-1].modifiedRange.endLineNumberExclusive+viewElementGroupLineMargin,modifiedLineCount+1));forEachAdjacentItems(g,((a,b)=>{const origRange=new LineRange(a?a.originalRange.endLineNumberExclusive:origFullRange.startLineNumber,b?b.originalRange.startLineNumber:origFullRange.endLineNumberExclusive);const modifiedRange2=new LineRange(a?a.modifiedRange.endLineNumberExclusive:modifiedFullRange.startLineNumber,b?b.modifiedRange.startLineNumber:modifiedFullRange.endLineNumberExclusive);origRange.forEach((origLineNumber=>{viewElements.push(new UnchangedLineViewElement(origLineNumber,modifiedRange2.startLineNumber+(origLineNumber-origRange.startLineNumber)))}));if(b){b.originalRange.forEach((origLineNumber=>{viewElements.push(new DeletedLineViewElement(b,origLineNumber))}));b.modifiedRange.forEach((modifiedLineNumber=>{viewElements.push(new AddedLineViewElement(b,modifiedLineNumber))}))}}));const modifiedRange=g[0].modifiedRange.join(g[g.length-1].modifiedRange);const originalRange=g[0].originalRange.join(g[g.length-1].originalRange);result.push(new ViewElementGroup(new SimpleLineRangeMapping(modifiedRange,originalRange),viewElements))}return result}function forEachAdjacentItems(items,callback){let last;for(const item of items){callback(last,item);last=item}callback(last,void 0)}function*group2(items,shouldBeGrouped){let currentGroup;let last;for(const item of items){if(last!==void 0&&shouldBeGrouped(last,item)){currentGroup.push(item)}else{if(currentGroup){yield currentGroup}currentGroup=[item]}last=item}if(currentGroup){yield currentGroup}}var __decorate45,__param38,__awaiter28,accessibleDiffViewerInsertIcon,accessibleDiffViewerRemoveIcon,accessibleDiffViewerCloseIcon,AccessibleDiffViewer,ViewModel2,viewElementGroupLineMargin,LineType,ViewElementGroup,HeaderViewElement,DeletedLineViewElement,AddedLineViewElement,UnchangedLineViewElement,View3;var init_accessibleDiffViewer=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditorWidget2/accessibleDiffViewer.js"(){init_dom();init_actionbar();init_scrollableElement();init_actions();init_codicons();init_lifecycle();init_observable();init_themables();init_domFontInfo();init_utils4();init_diffReview();init_editorOptions();init_lineRange();init_offsetRange();init_position();init_range();init_linesDiffComputer();init_language();init_lineTokens();init_viewLineRenderer();init_viewModel();init_nls();init_audioCueService();init_instantiation();init_iconRegistry();__decorate45=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param38=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};__awaiter28=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};accessibleDiffViewerInsertIcon=registerIcon("diff-review-insert",Codicon.add,localize("accessibleDiffViewerInsertIcon","Icon for 'Insert' in accessible diff viewer."));accessibleDiffViewerRemoveIcon=registerIcon("diff-review-remove",Codicon.remove,localize("accessibleDiffViewerRemoveIcon","Icon for 'Remove' in accessible diff viewer."));accessibleDiffViewerCloseIcon=registerIcon("diff-review-close",Codicon.close,localize("accessibleDiffViewerCloseIcon","Icon for 'Close' in accessible diff viewer."));AccessibleDiffViewer=class AccessibleDiffViewer2 extends Disposable{constructor(_parentNode,_visible,_setVisible,_canClose,_width,_height,_diffs,_editors,_instantiationService){super();this._parentNode=_parentNode;this._visible=_visible;this._setVisible=_setVisible;this._canClose=_canClose;this._width=_width;this._height=_height;this._diffs=_diffs;this._editors=_editors;this._instantiationService=_instantiationService;this.model=derivedWithStore("model",((reader,store)=>{const visible=this._visible.read(reader);this._parentNode.style.visibility=visible?"visible":"hidden";if(!visible){return null}const model=store.add(this._instantiationService.createInstance(ViewModel2,this._diffs,this._editors,this._setVisible,this._canClose));const view=store.add(this._instantiationService.createInstance(View3,this._parentNode,model,this._width,this._height,this._editors));return{model:model,view:view}}));this._register(keepAlive(this.model,true))}next(){transaction((tx=>{const isVisible=this._visible.get();this._setVisible(true,tx);if(isVisible){this.model.get().model.nextGroup(tx)}}))}prev(){transaction((tx=>{this._setVisible(true,tx);this.model.get().model.previousGroup(tx)}))}close(){transaction((tx=>{this._setVisible(false,tx)}))}};AccessibleDiffViewer=__decorate45([__param38(8,IInstantiationService)],AccessibleDiffViewer);ViewModel2=class ViewModel3 extends Disposable{constructor(_diffs,_editors,_setVisible,canClose,_audioCueService){super();this._diffs=_diffs;this._editors=_editors;this._setVisible=_setVisible;this.canClose=canClose;this._audioCueService=_audioCueService;this._groups=observableValue("groups",[]);this._currentGroupIdx=observableValue("currentGroupIdx",0);this._currentElementIdx=observableValue("currentElementIdx",0);this.groups=this._groups;this.currentGroup=this._currentGroupIdx.map(((idx,r)=>this._groups.read(r)[idx]));this.currentGroupIndex=this._currentGroupIdx;this.currentElement=this._currentElementIdx.map(((idx,r)=>{var _a6;return(_a6=this.currentGroup.read(r))===null||_a6===void 0?void 0:_a6.lines[idx]}));this._register(autorun((reader=>{const diffs=this._diffs.read(reader);if(!diffs){this._groups.set([],void 0);return}const groups=computeViewElementGroups(diffs,this._editors.original.getModel().getLineCount(),this._editors.modified.getModel().getLineCount());transaction((tx=>{const p=this._editors.modified.getPosition();if(p){const nextGroup=groups.findIndex((g=>(p===null||p===void 0?void 0:p.lineNumber)<g.range.modified.endLineNumberExclusive));if(nextGroup!==-1){this._currentGroupIdx.set(nextGroup,tx)}}this._groups.set(groups,tx)}))})));this._register(autorun((reader=>{const currentViewItem=this.currentElement.read(reader);if((currentViewItem===null||currentViewItem===void 0?void 0:currentViewItem.type)===LineType.Deleted){this._audioCueService.playAudioCue(AudioCue.diffLineDeleted,{source:"accessibleDiffViewer.currentElementChanged"})}else if((currentViewItem===null||currentViewItem===void 0?void 0:currentViewItem.type)===LineType.Added){this._audioCueService.playAudioCue(AudioCue.diffLineInserted,{source:"accessibleDiffViewer.currentElementChanged"})}})));this._register(autorun((reader=>{var _a6;const currentViewItem=this.currentElement.read(reader);if(currentViewItem&&currentViewItem.type!==LineType.Header){const lineNumber=(_a6=currentViewItem.modifiedLineNumber)!==null&&_a6!==void 0?_a6:currentViewItem.diff.modifiedRange.startLineNumber;this._editors.modified.setSelection(Range.fromPositions(new Position(lineNumber,1)))}})))}_goToGroupDelta(delta,tx){const groups=this.groups.get();if(!groups||groups.length<=1){return}subtransaction(tx,(tx2=>{this._currentGroupIdx.set(OffsetRange.ofLength(groups.length).clipCyclic(this._currentGroupIdx.get()+delta),tx2);this._currentElementIdx.set(0,tx2)}))}nextGroup(tx){this._goToGroupDelta(1,tx)}previousGroup(tx){this._goToGroupDelta(-1,tx)}_goToLineDelta(delta){const group3=this.currentGroup.get();if(!group3||group3.lines.length<=1){return}transaction((tx=>{this._currentElementIdx.set(OffsetRange.ofLength(group3.lines.length).clip(this._currentElementIdx.get()+delta),tx)}))}goToNextLine(){this._goToLineDelta(1)}goToPreviousLine(){this._goToLineDelta(-1)}goToLine(line){const group3=this.currentGroup.get();if(!group3){return}const idx=group3.lines.indexOf(line);if(idx===-1){return}transaction((tx=>{this._currentElementIdx.set(idx,tx)}))}revealCurrentElementInEditor(){this._setVisible(false,void 0);const curElem=this.currentElement.get();if(curElem){if(curElem.type===LineType.Deleted){this._editors.original.setSelection(Range.fromPositions(new Position(curElem.originalLineNumber,1)));this._editors.original.revealLine(curElem.originalLineNumber);this._editors.original.focus()}else{if(curElem.type!==LineType.Header){this._editors.modified.setSelection(Range.fromPositions(new Position(curElem.modifiedLineNumber,1)));this._editors.modified.revealLine(curElem.modifiedLineNumber)}this._editors.modified.focus()}}}close(){this._setVisible(false,void 0);this._editors.modified.focus()}};ViewModel2=__decorate45([__param38(4,IAudioCueService)],ViewModel2);viewElementGroupLineMargin=3;(function(LineType2){LineType2[LineType2["Header"]=0]="Header";LineType2[LineType2["Unchanged"]=1]="Unchanged";LineType2[LineType2["Deleted"]=2]="Deleted";LineType2[LineType2["Added"]=3]="Added"})(LineType||(LineType={}));ViewElementGroup=class{constructor(range2,lines){this.range=range2;this.lines=lines}};HeaderViewElement=class{constructor(){this.type=LineType.Header}};DeletedLineViewElement=class{constructor(diff,originalLineNumber){this.diff=diff;this.originalLineNumber=originalLineNumber;this.type=LineType.Deleted;this.modifiedLineNumber=void 0}};AddedLineViewElement=class{constructor(diff,modifiedLineNumber){this.diff=diff;this.modifiedLineNumber=modifiedLineNumber;this.type=LineType.Added;this.originalLineNumber=void 0}};UnchangedLineViewElement=class{constructor(originalLineNumber,modifiedLineNumber){this.originalLineNumber=originalLineNumber;this.modifiedLineNumber=modifiedLineNumber;this.type=LineType.Unchanged}};View3=class View4 extends Disposable{constructor(_element,_model,_width,_height,_editors,_languageService){super();this._element=_element;this._model=_model;this._width=_width;this._height=_height;this._editors=_editors;this._languageService=_languageService;this.domNode=this._element;this.domNode.className="diff-review monaco-editor-background";const actionBarContainer=document.createElement("div");actionBarContainer.className="diff-review-actions";this._actionBar=this._register(new ActionBar(actionBarContainer));this._register(autorun((reader=>{this._actionBar.clear();if(this._model.canClose.read(reader)){this._actionBar.push(new Action("diffreview.close",localize("label.close","Close"),"close-diff-review "+ThemeIcon.asClassName(accessibleDiffViewerCloseIcon),true,(()=>__awaiter28(this,void 0,void 0,(function*(){return _model.close()})))),{label:false,icon:true})}})));this._content=document.createElement("div");this._content.className="diff-review-content";this._content.setAttribute("role","code");this._scrollbar=this._register(new DomScrollableElement(this._content,{}));reset(this.domNode,this._scrollbar.getDomNode(),actionBarContainer);this._register(toDisposable((()=>{reset(this.domNode)})));this._register(applyStyle(this.domNode,{width:this._width,height:this._height}));this._register(applyStyle(this._content,{width:this._width,height:this._height}));this._register(autorunWithStore(((reader,store)=>{this._model.currentGroup.read(reader);this._render(store)})));this._register(addStandardDisposableListener(this.domNode,"keydown",(e=>{if(e.equals(18)||e.equals(2048|18)||e.equals(512|18)){e.preventDefault();this._model.goToNextLine()}if(e.equals(16)||e.equals(2048|16)||e.equals(512|16)){e.preventDefault();this._model.goToPreviousLine()}if(e.equals(9)||e.equals(2048|9)||e.equals(512|9)||e.equals(1024|9)){e.preventDefault();this._model.close()}if(e.equals(10)||e.equals(3)){e.preventDefault();this._model.revealCurrentElementInEditor()}})))}_render(store){const originalOptions=this._editors.original.getOptions();const modifiedOptions=this._editors.modified.getOptions();const container=document.createElement("div");container.className="diff-review-table";container.setAttribute("role","list");container.setAttribute("aria-label",localize("ariaLabel","Accessible Diff Viewer. Use arrow up and down to navigate."));applyFontInfo(container,modifiedOptions.get(49));reset(this._content,container);const originalModel=this._editors.original.getModel();const modifiedModel=this._editors.modified.getModel();if(!originalModel||!modifiedModel){return}const originalModelOpts=originalModel.getOptions();const modifiedModelOpts=modifiedModel.getOptions();const lineHeight=modifiedOptions.get(65);const group3=this._model.currentGroup.get();for(const viewItem of(group3===null||group3===void 0?void 0:group3.lines)||[]){if(!group3){break}let row;if(viewItem.type===LineType.Header){const header=document.createElement("div");header.className="diff-review-row";header.setAttribute("role","listitem");const r=group3.range;const diffIndex=this._model.currentGroupIndex.get();const diffsLength=this._model.groups.get().length;const getAriaLines=lines=>lines===0?localize("no_lines_changed","no lines changed"):lines===1?localize("one_line_changed","1 line changed"):localize("more_lines_changed","{0} lines changed",lines);const originalChangedLinesCntAria=getAriaLines(r.original.length);const modifiedChangedLinesCntAria=getAriaLines(r.modified.length);header.setAttribute("aria-label",localize({key:"header",comment:["This is the ARIA label for a git diff header.","A git diff header looks like this: @@ -154,12 +159,39 @@.","That encodes that at original line 154 (which is now line 159), 12 lines were removed/changed with 39 lines.","Variables 0 and 1 refer to the diff index out of total number of diffs.","Variables 2 and 4 will be numbers (a line number).",'Variables 3 and 5 will be "no lines changed", "1 line changed" or "X lines changed", localized separately.']},"Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}",diffIndex+1,diffsLength,r.original.startLineNumber,originalChangedLinesCntAria,r.modified.startLineNumber,modifiedChangedLinesCntAria));const cell=document.createElement("div");cell.className="diff-review-cell diff-review-summary";cell.appendChild(document.createTextNode(`${diffIndex+1}/${diffsLength}: @@ -${r.original.startLineNumber},${r.original.length} +${r.modified.startLineNumber},${r.modified.length} @@`));header.appendChild(cell);row=header}else{row=this._createRow(viewItem,lineHeight,this._width.get(),originalOptions,originalModel,originalModelOpts,modifiedOptions,modifiedModel,modifiedModelOpts)}container.appendChild(row);const isSelectedObs=derived((reader=>this._model.currentElement.read(reader)===viewItem));store.add(autorun((reader=>{const isSelected=isSelectedObs.read(reader);row.tabIndex=isSelected?0:-1;if(isSelected){row.focus()}})));store.add(addDisposableListener(row,"focus",(()=>{this._model.goToLine(viewItem)})))}this._scrollbar.scanDomNode()}_createRow(item,lineHeight,width,originalOptions,originalModel,originalModelOpts,modifiedOptions,modifiedModel,modifiedModelOpts){const originalLayoutInfo=originalOptions.get(142);const originalLineNumbersWidth=originalLayoutInfo.glyphMarginWidth+originalLayoutInfo.lineNumbersWidth;const modifiedLayoutInfo=modifiedOptions.get(142);const modifiedLineNumbersWidth=10+modifiedLayoutInfo.glyphMarginWidth+modifiedLayoutInfo.lineNumbersWidth;let rowClassName="diff-review-row";let lineNumbersExtraClassName="";const spacerClassName="diff-review-spacer";let spacerIcon=null;switch(item.type){case LineType.Added:rowClassName="diff-review-row line-insert";lineNumbersExtraClassName=" char-insert";spacerIcon=accessibleDiffViewerInsertIcon;break;case LineType.Deleted:rowClassName="diff-review-row line-delete";lineNumbersExtraClassName=" char-delete";spacerIcon=accessibleDiffViewerRemoveIcon;break}const row=document.createElement("div");row.style.minWidth=width+"px";row.className=rowClassName;row.setAttribute("role","listitem");row.ariaLevel="";const cell=document.createElement("div");cell.className="diff-review-cell";cell.style.height=`${lineHeight}px`;row.appendChild(cell);const originalLineNumber=document.createElement("span");originalLineNumber.style.width=originalLineNumbersWidth+"px";originalLineNumber.style.minWidth=originalLineNumbersWidth+"px";originalLineNumber.className="diff-review-line-number"+lineNumbersExtraClassName;if(item.originalLineNumber!==void 0){originalLineNumber.appendChild(document.createTextNode(String(item.originalLineNumber)))}else{originalLineNumber.innerText=" "}cell.appendChild(originalLineNumber);const modifiedLineNumber=document.createElement("span");modifiedLineNumber.style.width=modifiedLineNumbersWidth+"px";modifiedLineNumber.style.minWidth=modifiedLineNumbersWidth+"px";modifiedLineNumber.style.paddingRight="10px";modifiedLineNumber.className="diff-review-line-number"+lineNumbersExtraClassName;if(item.modifiedLineNumber!==void 0){modifiedLineNumber.appendChild(document.createTextNode(String(item.modifiedLineNumber)))}else{modifiedLineNumber.innerText=" "}cell.appendChild(modifiedLineNumber);const spacer=document.createElement("span");spacer.className=spacerClassName;if(spacerIcon){const spacerCodicon=document.createElement("span");spacerCodicon.className=ThemeIcon.asClassName(spacerIcon);spacerCodicon.innerText="  ";spacer.appendChild(spacerCodicon)}else{spacer.innerText="  "}cell.appendChild(spacer);let lineContent;if(item.modifiedLineNumber!==void 0){let html2=this._getLineHtml(modifiedModel,modifiedOptions,modifiedModelOpts.tabSize,item.modifiedLineNumber,this._languageService.languageIdCodec);if(DiffReview._ttPolicy){html2=DiffReview._ttPolicy.createHTML(html2)}cell.insertAdjacentHTML("beforeend",html2);lineContent=modifiedModel.getLineContent(item.modifiedLineNumber)}else{let html2=this._getLineHtml(originalModel,originalOptions,originalModelOpts.tabSize,item.originalLineNumber,this._languageService.languageIdCodec);if(DiffReview._ttPolicy){html2=DiffReview._ttPolicy.createHTML(html2)}cell.insertAdjacentHTML("beforeend",html2);lineContent=originalModel.getLineContent(item.originalLineNumber)}if(lineContent.length===0){lineContent=localize("blankLine","blank")}let ariaLabel="";switch(item.type){case LineType.Unchanged:if(item.originalLineNumber===item.modifiedLineNumber){ariaLabel=localize({key:"unchangedLine",comment:["The placeholders are contents of the line and should not be translated."]},"{0} unchanged line {1}",lineContent,item.originalLineNumber)}else{ariaLabel=localize("equalLine","{0} original line {1} modified line {2}",lineContent,item.originalLineNumber,item.modifiedLineNumber)}break;case LineType.Added:ariaLabel=localize("insertLine","+ {0} modified line {1}",lineContent,item.modifiedLineNumber);break;case LineType.Deleted:ariaLabel=localize("deleteLine","- {0} original line {1}",lineContent,item.originalLineNumber);break}row.setAttribute("aria-label",ariaLabel);return row}_getLineHtml(model,options2,tabSize,lineNumber,languageIdCodec){const lineContent=model.getLineContent(lineNumber);const fontInfo=options2.get(49);const lineTokens=LineTokens.createEmpty(lineContent,languageIdCodec);const isBasicASCII2=ViewLineRenderingData.isBasicASCII(lineContent,model.mightContainNonBasicASCII());const containsRTL2=ViewLineRenderingData.containsRTL(lineContent,isBasicASCII2,model.mightContainRTL());const r=renderViewLine2(new RenderLineInput(fontInfo.isMonospace&&!options2.get(32),fontInfo.canUseHalfwidthRightwardsArrow,lineContent,false,isBasicASCII2,containsRTL2,0,lineTokens,[],tabSize,0,fontInfo.spaceWidth,fontInfo.middotWidth,fontInfo.wsmiddotWidth,options2.get(115),options2.get(97),options2.get(92),options2.get(50)!==EditorFontLigatures.OFF,null));return r.html}};View3=__decorate45([__param38(5,ILanguageService)],View3)}});var diffInsertIcon2,diffRemoveIcon2,diffLineAddDecorationBackgroundWithIndicator,diffLineDeleteDecorationBackgroundWithIndicator,diffLineAddDecorationBackground,diffLineDeleteDecorationBackground,diffAddDecoration,diffWholeLineAddDecoration,diffAddDecorationEmpty,diffDeleteDecoration,diffWholeLineDeleteDecoration,diffDeleteDecorationEmpty,arrowRevertChange;var init_decorations2=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditorWidget2/decorations.js"(){init_codicons();init_htmlContent();init_themables();init_textModel();init_nls();init_iconRegistry();diffInsertIcon2=registerIcon("diff-insert",Codicon.add,localize("diffInsertIcon","Line decoration for inserts in the diff editor."));diffRemoveIcon2=registerIcon("diff-remove",Codicon.remove,localize("diffRemoveIcon","Line decoration for removals in the diff editor."));diffLineAddDecorationBackgroundWithIndicator=ModelDecorationOptions.register({className:"line-insert",description:"line-insert",isWholeLine:true,linesDecorationsClassName:"insert-sign "+ThemeIcon.asClassName(diffInsertIcon2),marginClassName:"gutter-insert"});diffLineDeleteDecorationBackgroundWithIndicator=ModelDecorationOptions.register({className:"line-delete",description:"line-delete",isWholeLine:true,linesDecorationsClassName:"delete-sign "+ThemeIcon.asClassName(diffRemoveIcon2),marginClassName:"gutter-delete"});diffLineAddDecorationBackground=ModelDecorationOptions.register({className:"line-insert",description:"line-insert",isWholeLine:true,marginClassName:"gutter-insert"});diffLineDeleteDecorationBackground=ModelDecorationOptions.register({className:"line-delete",description:"line-delete",isWholeLine:true,marginClassName:"gutter-delete"});diffAddDecoration=ModelDecorationOptions.register({className:"char-insert",description:"char-insert",shouldFillLineOnLineBreak:true});diffWholeLineAddDecoration=ModelDecorationOptions.register({className:"char-insert",description:"char-insert",isWholeLine:true});diffAddDecorationEmpty=ModelDecorationOptions.register({className:"char-insert diff-range-empty",description:"char-insert diff-range-empty"});diffDeleteDecoration=ModelDecorationOptions.register({className:"char-delete",description:"char-delete",shouldFillLineOnLineBreak:true});diffWholeLineDeleteDecoration=ModelDecorationOptions.register({className:"char-delete",description:"char-delete",isWholeLine:true});diffDeleteDecorationEmpty=ModelDecorationOptions.register({className:"char-delete diff-range-empty",description:"char-delete diff-range-empty"});arrowRevertChange=ModelDecorationOptions.register({description:"diff-editor-arrow-revert-change",glyphMarginHoverMessage:new MarkdownString(void 0,{isTrusted:true,supportThemeIcons:true}).appendMarkdown(localize("revertChangeHoverMessage","Click to revert change")),glyphMarginClassName:"arrow-revert-change "+ThemeIcon.asClassName(Codicon.arrowRight),zIndex:10001})}});var MovedBlocksLinesPart,LinesLayout2,MovedBlockOverlayWidget;var init_movedBlocksLines=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditorWidget2/movedBlocksLines.js"(){init_dom();init_actionbar();init_actions();init_arrays();init_codicons();init_lifecycle();init_observable();init_themables();init_utils4();init_offsetRange();init_nls();MovedBlocksLinesPart=class extends Disposable{constructor(_rootElement,_diffModel,_originalEditorLayoutInfo,_modifiedEditorLayoutInfo,_editors){super();this._rootElement=_rootElement;this._diffModel=_diffModel;this._originalEditorLayoutInfo=_originalEditorLayoutInfo;this._modifiedEditorLayoutInfo=_modifiedEditorLayoutInfo;this._editors=_editors;this._originalScrollTop=observableFromEvent(this._editors.original.onDidScrollChange,(()=>this._editors.original.getScrollTop()));this._modifiedScrollTop=observableFromEvent(this._editors.modified.onDidScrollChange,(()=>this._editors.modified.getScrollTop()));this._viewZonesChanged=observableSignalFromEvent("onDidChangeViewZones",this._editors.modified.onDidChangeViewZones);this.width=observableValue("width",0);this._modifiedViewZonesChangedSignal=observableSignalFromEvent("modified.onDidChangeViewZones",this._editors.modified.onDidChangeViewZones);this._originalViewZonesChangedSignal=observableSignalFromEvent("original.onDidChangeViewZones",this._editors.original.onDidChangeViewZones);this._state=derivedWithStore("state",((reader,store)=>{var _a6;this._element.replaceChildren();const model=this._diffModel.read(reader);const moves=(_a6=model===null||model===void 0?void 0:model.diff.read(reader))===null||_a6===void 0?void 0:_a6.movedTexts;if(!moves||moves.length===0){this.width.set(0,void 0);return}this._viewZonesChanged.read(reader);const infoOrig=this._originalEditorLayoutInfo.read(reader);const infoMod=this._modifiedEditorLayoutInfo.read(reader);if(!infoOrig||!infoMod){this.width.set(0,void 0);return}this._modifiedViewZonesChangedSignal.read(reader);this._originalViewZonesChangedSignal.read(reader);const lines=moves.map((move=>{function computeLineStart(range2,editor2){const t1=editor2.getTopForLineNumber(range2.startLineNumber,true);const t2=editor2.getTopForLineNumber(range2.endLineNumberExclusive,true);return(t1+t2)/2}const start=computeLineStart(move.lineRangeMapping.original,this._editors.original);const startOffset=this._originalScrollTop.read(reader);const end=computeLineStart(move.lineRangeMapping.modified,this._editors.modified);const endOffset=this._modifiedScrollTop.read(reader);const from=start-startOffset;const to=end-endOffset;const top=Math.min(start,end);const bottom=Math.max(start,end);return{range:new OffsetRange(top,bottom),from:from,to:to,fromWithoutScroll:start,toWithoutScroll:end,move:move}}));lines.sort(tieBreakComparators(compareBy((l=>l.fromWithoutScroll>l.toWithoutScroll),booleanComparator),compareBy((l=>l.fromWithoutScroll>l.toWithoutScroll?l.fromWithoutScroll:-l.toWithoutScroll),numberComparator)));const layout2=LinesLayout2.compute(lines.map((l=>l.range)));const padding=10;const lineAreaLeft=infoOrig.verticalScrollbarWidth;const lineAreaWidth=(layout2.getTrackCount()-1)*10+padding*2;const width=lineAreaLeft+lineAreaWidth+(infoMod.contentLeft-MovedBlocksLinesPart.movedCodeBlockPadding);let idx=0;for(const line of lines){const track=layout2.getTrack(idx);const verticalY=lineAreaLeft+padding+track*10;const arrowHeight=15;const arrowWidth=15;const right=width;const rectWidth=infoMod.glyphMarginWidth+infoMod.lineNumbersWidth;const rectHeight=18;const rect=document.createElementNS("http://www.w3.org/2000/svg","rect");rect.classList.add("arrow-rectangle");rect.setAttribute("x",`${right-rectWidth}`);rect.setAttribute("y",`${line.to-rectHeight/2}`);rect.setAttribute("width",`${rectWidth}`);rect.setAttribute("height",`${rectHeight}`);this._element.appendChild(rect);const g=document.createElementNS("http://www.w3.org/2000/svg","g");const path=document.createElementNS("http://www.w3.org/2000/svg","path");path.setAttribute("d",`M ${0} ${line.from} L ${verticalY} ${line.from} L ${verticalY} ${line.to} L ${right-arrowWidth} ${line.to}`);path.setAttribute("fill","none");g.appendChild(path);const arrowRight=document.createElementNS("http://www.w3.org/2000/svg","polygon");arrowRight.classList.add("arrow");store.add(autorun((reader2=>{path.classList.toggle("currentMove",line.move===model.activeMovedText.read(reader2));arrowRight.classList.toggle("currentMove",line.move===model.activeMovedText.read(reader2))})));arrowRight.setAttribute("points",`${right-arrowWidth},${line.to-arrowHeight/2} ${right},${line.to} ${right-arrowWidth},${line.to+arrowHeight/2}`);g.appendChild(arrowRight);this._element.appendChild(g);idx++}this.width.set(lineAreaWidth,void 0)}));this._element=document.createElementNS("http://www.w3.org/2000/svg","svg");this._element.setAttribute("class","moved-blocks-lines");this._rootElement.appendChild(this._element);this._register(toDisposable((()=>this._element.remove())));this._register(autorun((reader=>{const info=this._originalEditorLayoutInfo.read(reader);const info2=this._modifiedEditorLayoutInfo.read(reader);if(!info||!info2){return}this._element.style.left=`${info.width-info.verticalScrollbarWidth}px`;this._element.style.height=`${info.height}px`;this._element.style.width=`${info.verticalScrollbarWidth+info.contentLeft-MovedBlocksLinesPart.movedCodeBlockPadding+this.width.read(reader)}px`})));this._register(keepAlive(this._state,true));const movedBlockViewZones=derived((reader=>{const model=this._diffModel.read(reader);const d=model===null||model===void 0?void 0:model.diff.read(reader);if(!d){return[]}return d.movedTexts.map((move=>({move:move,original:new PlaceholderViewZone(constObservable(move.lineRangeMapping.original.startLineNumber-1),18),modified:new PlaceholderViewZone(constObservable(move.lineRangeMapping.modified.startLineNumber-1),18)})))}));this._register(applyViewZones(this._editors.original,movedBlockViewZones.map((zones=>zones.map((z=>z.original))))));this._register(applyViewZones(this._editors.modified,movedBlockViewZones.map((zones=>zones.map((z=>z.modified))))));this._register(autorunWithStore(((reader,store)=>{const blocks=movedBlockViewZones.read(reader);for(const b of blocks){store.add(new MovedBlockOverlayWidget(this._editors.original,b.original,b.move,"original",this._diffModel.get()));store.add(new MovedBlockOverlayWidget(this._editors.modified,b.modified,b.move,"modified",this._diffModel.get()))}})));const originalCursorPosition=observableFromEvent(this._editors.original.onDidChangeCursorPosition,(()=>this._editors.original.getPosition()));const modifiedCursorPosition=observableFromEvent(this._editors.modified.onDidChangeCursorPosition,(()=>this._editors.modified.getPosition()));const originalHasFocus=observableSignalFromEvent("original.onDidFocusEditorWidget",(e=>this._editors.original.onDidFocusEditorWidget((()=>setTimeout((()=>e(void 0)),0)))));const modifiedHasFocus=observableSignalFromEvent("modified.onDidFocusEditorWidget",(e=>this._editors.modified.onDidFocusEditorWidget((()=>setTimeout((()=>e(void 0)),0)))));let lastChangedEditor="modified";this._register(autorunHandleChanges({createEmptyChangeSummary:()=>void 0,handleChange:(ctx,summary)=>{if(ctx.didChange(originalHasFocus)){lastChangedEditor="original"}if(ctx.didChange(modifiedHasFocus)){lastChangedEditor="modified"}return true}},(reader=>{originalHasFocus.read(reader);modifiedHasFocus.read(reader);const m=this._diffModel.read(reader);if(!m){return}const diff=m.diff.read(reader);let movedText=void 0;if(diff&&lastChangedEditor==="original"){const originalPos=originalCursorPosition.read(reader);if(originalPos){movedText=diff.movedTexts.find((m2=>m2.lineRangeMapping.original.contains(originalPos.lineNumber)))}}if(diff&&lastChangedEditor==="modified"){const modifiedPos=modifiedCursorPosition.read(reader);if(modifiedPos){movedText=diff.movedTexts.find((m2=>m2.lineRangeMapping.modified.contains(modifiedPos.lineNumber)))}}if(movedText!==m.movedTextToCompare.get()){m.movedTextToCompare.set(void 0,void 0)}m.setActiveMovedText(movedText)})))}};MovedBlocksLinesPart.movedCodeBlockPadding=4;LinesLayout2=class{static compute(lines){const setsPerTrack=[];const trackPerLineIdx=[];for(const line of lines){let trackIdx=setsPerTrack.findIndex((set=>!set.intersectsStrict(line)));if(trackIdx===-1){const maxTrackCount=6;if(setsPerTrack.length>=maxTrackCount){trackIdx=findMaxIdxBy(setsPerTrack,compareBy((set=>set.intersectWithRangeLength(line)),numberComparator))}else{trackIdx=setsPerTrack.length;setsPerTrack.push(new OffsetRangeSet)}}setsPerTrack[trackIdx].addRange(line);trackPerLineIdx.push(trackIdx)}return new LinesLayout2(setsPerTrack.length,trackPerLineIdx)}constructor(_trackCount,trackPerLineIdx){this._trackCount=_trackCount;this.trackPerLineIdx=trackPerLineIdx}getTrack(lineIdx){return this.trackPerLineIdx[lineIdx]}getTrackCount(){return this._trackCount}};MovedBlockOverlayWidget=class extends ViewZoneOverlayWidget{constructor(_editor,_viewZone,_move,_kind,_diffModel){const root=h("div.diff-hidden-lines-widget");super(_editor,_viewZone,root.root);this._editor=_editor;this._move=_move;this._kind=_kind;this._diffModel=_diffModel;this._nodes=h("div.diff-moved-code-block",{style:{marginRight:"4px"}},[h("div.text-content@textContent"),h("div.action-bar@actionBar")]);root.root.appendChild(this._nodes.root);const editorLayout=observableFromEvent(this._editor.onDidLayoutChange,(()=>this._editor.getLayoutInfo()));this._register(applyStyle(this._nodes.root,{paddingRight:editorLayout.map((l=>l.verticalScrollbarWidth))}));let text2;if(_move.changes.length>0){text2=this._kind==="original"?localize("codeMovedToWithChanges","Code moved with changes to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive):localize("codeMovedFromWithChanges","Code moved with changes from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive)}else{text2=this._kind==="original"?localize("codeMovedTo","Code moved to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive):localize("codeMovedFrom","Code moved from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive)}const actionBar=this._register(new ActionBar(this._nodes.actionBar,{highlightToggledItems:true}));const caption=new Action("",text2,"",false);actionBar.push(caption,{icon:false,label:true});const actionCompare=new Action("","Compare",ThemeIcon.asClassName(Codicon.compareChanges),true,(()=>{this._editor.focus();this._diffModel.movedTextToCompare.set(this._diffModel.movedTextToCompare.get()===_move?void 0:this._move,void 0)}));this._register(autorun((reader=>{const isActive=this._diffModel.movedTextToCompare.read(reader)===_move;actionCompare.checked=isActive})));actionBar.push(actionCompare,{icon:false,label:true})}}}});var DiffEditorDecorations;var init_diffEditorDecorations=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditorWidget2/diffEditorDecorations.js"(){init_lifecycle();init_observable();init_decorations2();init_movedBlocksLines();init_utils4();init_position();init_range();DiffEditorDecorations=class extends Disposable{constructor(_editors,_diffModel,_options){super();this._editors=_editors;this._diffModel=_diffModel;this._options=_options;this._decorations=derived((reader=>{var _a6;const diff=(_a6=this._diffModel.read(reader))===null||_a6===void 0?void 0:_a6.diff.read(reader);if(!diff){return null}const movedTextToCompare=this._diffModel.read(reader).movedTextToCompare.read(reader);const renderIndicators=this._options.renderIndicators.read(reader);const showEmptyDecorations=this._options.showEmptyDecorations.read(reader);const originalDecorations=[];const modifiedDecorations=[];if(!movedTextToCompare){for(const m of diff.mappings){if(!m.lineRangeMapping.originalRange.isEmpty){originalDecorations.push({range:m.lineRangeMapping.originalRange.toInclusiveRange(),options:renderIndicators?diffLineDeleteDecorationBackgroundWithIndicator:diffLineDeleteDecorationBackground})}if(!m.lineRangeMapping.modifiedRange.isEmpty){modifiedDecorations.push({range:m.lineRangeMapping.modifiedRange.toInclusiveRange(),options:renderIndicators?diffLineAddDecorationBackgroundWithIndicator:diffLineAddDecorationBackground})}if(m.lineRangeMapping.modifiedRange.isEmpty||m.lineRangeMapping.originalRange.isEmpty){if(!m.lineRangeMapping.originalRange.isEmpty){originalDecorations.push({range:m.lineRangeMapping.originalRange.toInclusiveRange(),options:diffWholeLineDeleteDecoration})}if(!m.lineRangeMapping.modifiedRange.isEmpty){modifiedDecorations.push({range:m.lineRangeMapping.modifiedRange.toInclusiveRange(),options:diffWholeLineAddDecoration})}}else{for(const i of m.lineRangeMapping.innerChanges||[]){if(m.lineRangeMapping.originalRange.contains(i.originalRange.startLineNumber)){originalDecorations.push({range:i.originalRange,options:i.originalRange.isEmpty()&&showEmptyDecorations?diffDeleteDecorationEmpty:diffDeleteDecoration})}if(m.lineRangeMapping.modifiedRange.contains(i.modifiedRange.startLineNumber)){modifiedDecorations.push({range:i.modifiedRange,options:i.modifiedRange.isEmpty()&&showEmptyDecorations?diffAddDecorationEmpty:diffAddDecoration})}}}if(!m.lineRangeMapping.modifiedRange.isEmpty&&this._options.shouldRenderRevertArrows.read(reader)&&!movedTextToCompare){modifiedDecorations.push({range:Range.fromPositions(new Position(m.lineRangeMapping.modifiedRange.startLineNumber,1)),options:arrowRevertChange})}}}if(movedTextToCompare){for(const m of movedTextToCompare.changes){const fullRangeOriginal=m.originalRange.toInclusiveRange();if(fullRangeOriginal){originalDecorations.push({range:fullRangeOriginal,options:renderIndicators?diffLineDeleteDecorationBackgroundWithIndicator:diffLineDeleteDecorationBackground})}const fullRangeModified=m.modifiedRange.toInclusiveRange();if(fullRangeModified){modifiedDecorations.push({range:fullRangeModified,options:renderIndicators?diffLineAddDecorationBackgroundWithIndicator:diffLineAddDecorationBackground})}for(const i of m.innerChanges||[]){originalDecorations.push({range:i.originalRange,options:diffDeleteDecoration});modifiedDecorations.push({range:i.modifiedRange,options:diffAddDecoration})}}}const activeMovedText=this._diffModel.read(reader).activeMovedText.read(reader);for(const m of diff.movedTexts){originalDecorations.push({range:m.lineRangeMapping.original.toInclusiveRange(),options:{description:"moved",blockClassName:"movedOriginal"+(m===activeMovedText?" currentMove":""),blockPadding:[MovedBlocksLinesPart.movedCodeBlockPadding,0,MovedBlocksLinesPart.movedCodeBlockPadding,MovedBlocksLinesPart.movedCodeBlockPadding]}});modifiedDecorations.push({range:m.lineRangeMapping.modified.toInclusiveRange(),options:{description:"moved",blockClassName:"movedModified"+(m===activeMovedText?" currentMove":""),blockPadding:[4,0,4,4]}})}return{originalDecorations:originalDecorations,modifiedDecorations:modifiedDecorations}}));this._register(applyObservableDecorations(this._editors.original,this._decorations.map((d=>(d===null||d===void 0?void 0:d.originalDecorations)||[]))));this._register(applyObservableDecorations(this._editors.modified,this._decorations.map((d=>(d===null||d===void 0?void 0:d.modifiedDecorations)||[]))))}}}});var DiffEditorSash;var init_diffEditorSash=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditorWidget2/diffEditorSash.js"(){init_sash();init_lifecycle();init_observable();DiffEditorSash=class extends Disposable{constructor(_options,_domNode,_dimensions){super();this._options=_options;this._domNode=_domNode;this._dimensions=_dimensions;this._sashRatio=observableValue("sashRatio",void 0);this.sashLeft=derived((reader=>{var _a6;const ratio=(_a6=this._sashRatio.read(reader))!==null&&_a6!==void 0?_a6:this._options.splitViewDefaultRatio.read(reader);return this._computeSashLeft(ratio,reader)}));this._sash=this._register(new Sash(this._domNode,{getVerticalSashTop:_sash=>0,getVerticalSashLeft:_sash=>this.sashLeft.get(),getVerticalSashHeight:_sash=>this._dimensions.height.get()},{orientation:0}));this._startSashPosition=void 0;this._register(this._sash.onDidStart((()=>{this._startSashPosition=this.sashLeft.get()})));this._register(this._sash.onDidChange((e=>{const contentWidth=this._dimensions.width.get();const sashPosition=this._computeSashLeft((this._startSashPosition+(e.currentX-e.startX))/contentWidth,void 0);this._sashRatio.set(sashPosition/contentWidth,void 0)})));this._register(this._sash.onDidEnd((()=>this._sash.layout())));this._register(this._sash.onDidReset((()=>this._sashRatio.set(void 0,void 0))));this._register(autorun((reader=>{const enabled=this._options.enableSplitViewResizing.read(reader);this._sash.state=enabled?3:0;this.sashLeft.read(reader);this._sash.layout()})))}setBoundarySashes(sashes){this._sash.orthogonalEndSash=sashes.bottom}_computeSashLeft(desiredRatio,reader){const contentWidth=this._dimensions.width.read(reader);const midPoint=Math.floor(this._options.splitViewDefaultRatio.read(reader)*contentWidth);const sashLeft=this._options.enableSplitViewResizing.read(reader)?Math.floor(desiredRatio*contentWidth):midPoint;const MINIMUM_EDITOR_WIDTH=100;if(contentWidth<=MINIMUM_EDITOR_WIDTH*2){return midPoint}if(sashLeft<MINIMUM_EDITOR_WIDTH){return MINIMUM_EDITOR_WIDTH}if(sashLeft>contentWidth-MINIMUM_EDITOR_WIDTH){return contentWidth-MINIMUM_EDITOR_WIDTH}return sashLeft}}}});function applyOriginalEdits(diff,textEdits,originalTextModel,modifiedTextModel){return void 0}function applyModifiedEdits(diff,textEdits,originalTextModel,modifiedTextModel){return void 0}var __awaiter29,DiffEditorViewModel,DiffState,DiffMapping,UnchangedRegion;var init_diffEditorViewModel=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditorWidget2/diffEditorViewModel.js"(){init_async();init_cancellation();init_lifecycle();init_observable();init_utils4();init_lineRange();init_advancedLinesDiffComputer();init_linesDiffComputer();init_beforeEditPositionMapper();init_combineTextEditInfos();__awaiter29=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};DiffEditorViewModel=class extends Disposable{setActiveMovedText(movedText){this._activeMovedText.set(movedText,void 0)}constructor(model,_options,documentDiffProvider){super();this.model=model;this._options=_options;this._isDiffUpToDate=observableValue("isDiffUpToDate",false);this.isDiffUpToDate=this._isDiffUpToDate;this._diff=observableValue("diff",void 0);this.diff=this._diff;this._unchangedRegions=observableValue("unchangedRegion",{regions:[],originalDecorationIds:[],modifiedDecorationIds:[]});this.unchangedRegions=derived((r=>{if(this._options.hideUnchangedRegions.read(r)){return this._unchangedRegions.read(r).regions}else{transaction((tx=>{for(const r2 of this._unchangedRegions.get().regions){r2.collapseAll(tx)}}));return[]}}));this.movedTextToCompare=observableValue("movedTextToCompare",void 0);this._activeMovedText=observableValue("activeMovedText",void 0);this._hoveredMovedText=observableValue("hoveredMovedText",void 0);this.activeMovedText=derived((r=>{var _a6,_b3;return(_b3=(_a6=this.movedTextToCompare.read(r))!==null&&_a6!==void 0?_a6:this._hoveredMovedText.read(r))!==null&&_b3!==void 0?_b3:this._activeMovedText.read(r)}));this._cancellationTokenSource=new CancellationTokenSource;this._register(toDisposable((()=>this._cancellationTokenSource.cancel())));const contentChangedSignal=observableSignal("contentChangedSignal");const debouncer=this._register(new RunOnceScheduler((()=>contentChangedSignal.trigger(void 0)),200));const updateUnchangedRegions=(result,tx,reader)=>{const newUnchangedRegions=UnchangedRegion.fromDiffs(result.changes,model.original.getLineCount(),model.modified.getLineCount(),this._options.hideUnchangedRegionsminimumLineCount.read(reader),this._options.hideUnchangedRegionsContextLineCount.read(reader));const lastUnchangedRegions=this._unchangedRegions.get();const lastUnchangedRegionsOrigRanges=lastUnchangedRegions.originalDecorationIds.map((id=>model.original.getDecorationRange(id))).filter((r=>!!r)).map((r=>LineRange.fromRange(r)));const lastUnchangedRegionsModRanges=lastUnchangedRegions.modifiedDecorationIds.map((id=>model.modified.getDecorationRange(id))).filter((r=>!!r)).map((r=>LineRange.fromRange(r)));const originalDecorationIds=model.original.deltaDecorations(lastUnchangedRegions.originalDecorationIds,newUnchangedRegions.map((r=>({range:r.originalRange.toInclusiveRange(),options:{description:"unchanged"}}))));const modifiedDecorationIds=model.modified.deltaDecorations(lastUnchangedRegions.modifiedDecorationIds,newUnchangedRegions.map((r=>({range:r.modifiedRange.toInclusiveRange(),options:{description:"unchanged"}}))));for(const r of newUnchangedRegions){for(let i=0;i<lastUnchangedRegions.regions.length;i++){if(r.originalRange.intersectsStrict(lastUnchangedRegionsOrigRanges[i])&&r.modifiedRange.intersectsStrict(lastUnchangedRegionsModRanges[i])){r.setHiddenModifiedRange(lastUnchangedRegions.regions[i].getHiddenModifiedRange(void 0),tx);break}}}this._unchangedRegions.set({regions:newUnchangedRegions,originalDecorationIds:originalDecorationIds,modifiedDecorationIds:modifiedDecorationIds},tx)};this._register(model.modified.onDidChangeContent((e=>{const diff=this._diff.get();if(diff){const textEdits=TextEditInfo.fromModelContentChanges(e.changes);const result=applyModifiedEdits(this._lastDiff,textEdits,model.original,model.modified);if(result){this._lastDiff=result;transaction((tx=>{this._diff.set(DiffState.fromDiffResult(this._lastDiff),tx);updateUnchangedRegions(result,tx);const currentSyncedMovedText=this.movedTextToCompare.get();this.movedTextToCompare.set(currentSyncedMovedText?this._lastDiff.moves.find((m=>m.lineRangeMapping.modified.intersect(currentSyncedMovedText.lineRangeMapping.modified))):void 0,tx)}))}}debouncer.schedule()})));this._register(model.original.onDidChangeContent((e=>{const diff=this._diff.get();if(diff){const textEdits=TextEditInfo.fromModelContentChanges(e.changes);const result=applyOriginalEdits(this._lastDiff,textEdits,model.original,model.modified);if(result){this._lastDiff=result;transaction((tx=>{this._diff.set(DiffState.fromDiffResult(this._lastDiff),tx);updateUnchangedRegions(result,tx);const currentSyncedMovedText=this.movedTextToCompare.get();this.movedTextToCompare.set(currentSyncedMovedText?this._lastDiff.moves.find((m=>m.lineRangeMapping.modified.intersect(currentSyncedMovedText.lineRangeMapping.modified))):void 0,tx)}))}}debouncer.schedule()})));const documentDiffProviderOptionChanged=observableSignalFromEvent("documentDiffProviderOptionChanged",documentDiffProvider.onDidChange);this._register(autorunWithStore(((reader,store)=>__awaiter29(this,void 0,void 0,(function*(){var _a6,_b3;this._options.hideUnchangedRegionsminimumLineCount.read(reader);this._options.hideUnchangedRegionsContextLineCount.read(reader);debouncer.cancel();contentChangedSignal.read(reader);documentDiffProviderOptionChanged.read(reader);readHotReloadableExport(AdvancedLinesDiffComputer,reader);this._isDiffUpToDate.set(false,void 0);let originalTextEditInfos=[];store.add(model.original.onDidChangeContent((e=>{const edits=TextEditInfo.fromModelContentChanges(e.changes);originalTextEditInfos=combineTextEditInfos(originalTextEditInfos,edits)})));let modifiedTextEditInfos=[];store.add(model.modified.onDidChangeContent((e=>{const edits=TextEditInfo.fromModelContentChanges(e.changes);modifiedTextEditInfos=combineTextEditInfos(modifiedTextEditInfos,edits)})));let result=yield documentDiffProvider.computeDiff(model.original,model.modified,{ignoreTrimWhitespace:this._options.ignoreTrimWhitespace.read(reader),maxComputationTimeMs:this._options.maxComputationTimeMs.read(reader),computeMoves:this._options.showMoves.read(reader)},this._cancellationTokenSource.token);if(this._cancellationTokenSource.token.isCancellationRequested){return}result=(_a6=applyOriginalEdits(result,originalTextEditInfos,model.original,model.modified))!==null&&_a6!==void 0?_a6:result;result=(_b3=applyModifiedEdits(result,modifiedTextEditInfos,model.original,model.modified))!==null&&_b3!==void 0?_b3:result;transaction((tx=>{updateUnchangedRegions(result,tx);this._lastDiff=result;const state=DiffState.fromDiffResult(result);this._diff.set(state,tx);this._isDiffUpToDate.set(true,tx);const currentSyncedMovedText=this.movedTextToCompare.get();this.movedTextToCompare.set(currentSyncedMovedText?this._lastDiff.moves.find((m=>m.lineRangeMapping.modified.intersect(currentSyncedMovedText.lineRangeMapping.modified))):void 0,tx)}))})))))}ensureModifiedLineIsVisible(lineNumber,tx){var _a6;if(((_a6=this.diff.get())===null||_a6===void 0?void 0:_a6.mappings.length)===0){return}const unchangedRegions=this._unchangedRegions.get().regions;for(const r of unchangedRegions){if(r.getHiddenModifiedRange(void 0).contains(lineNumber)){r.showModifiedLine(lineNumber,tx);return}}}ensureOriginalLineIsVisible(lineNumber,tx){var _a6;if(((_a6=this.diff.get())===null||_a6===void 0?void 0:_a6.mappings.length)===0){return}const unchangedRegions=this._unchangedRegions.get().regions;for(const r of unchangedRegions){if(r.getHiddenOriginalRange(void 0).contains(lineNumber)){r.showOriginalLine(lineNumber,tx);return}}}waitForDiff(){return __awaiter29(this,void 0,void 0,(function*(){yield waitForState(this.isDiffUpToDate,(s=>s))}))}serializeState(){const regions=this._unchangedRegions.get();return{collapsedRegions:regions.regions.map((r=>({range:r.getHiddenModifiedRange(void 0).serialize()})))}}restoreSerializedState(state){const ranges=state.collapsedRegions.map((r=>LineRange.deserialize(r.range)));const regions=this._unchangedRegions.get();transaction((tx=>{for(const r of regions.regions){for(const range2 of ranges){if(r.modifiedRange.intersect(range2)){r.setHiddenModifiedRange(range2,tx);break}}}}))}};DiffState=class{static fromDiffResult(result){return new DiffState(result.changes.map((c=>new DiffMapping(c))),result.moves||[],result.identical,result.quitEarly)}constructor(mappings,movedTexts,identical,quitEarly){this.mappings=mappings;this.movedTexts=movedTexts;this.identical=identical;this.quitEarly=quitEarly}};DiffMapping=class{constructor(lineRangeMapping){this.lineRangeMapping=lineRangeMapping}};UnchangedRegion=class{static fromDiffs(changes,originalLineCount,modifiedLineCount,minHiddenLineCount,minContext){const inversedMappings=LineRangeMapping.inverse(changes,originalLineCount,modifiedLineCount);const result=[];for(const mapping of inversedMappings){let origStart=mapping.originalRange.startLineNumber;let modStart=mapping.modifiedRange.startLineNumber;let length2=mapping.originalRange.length;const atStart=origStart===1&&modStart===1;const atEnd=origStart+length2===originalLineCount+1&&modStart+length2===modifiedLineCount+1;if((atStart||atEnd)&&length2>=minContext+minHiddenLineCount){if(atStart&&!atEnd){length2-=minContext}if(atEnd&&!atStart){origStart+=minContext;modStart+=minContext;length2-=minContext}result.push(new UnchangedRegion(origStart,modStart,length2,0,0))}else if(length2>=minContext*2+minHiddenLineCount){origStart+=minContext;modStart+=minContext;length2-=minContext*2;result.push(new UnchangedRegion(origStart,modStart,length2,0,0))}}return result}get originalRange(){return LineRange.ofLength(this.originalLineNumber,this.lineCount)}get modifiedRange(){return LineRange.ofLength(this.modifiedLineNumber,this.lineCount)}constructor(originalLineNumber,modifiedLineNumber,lineCount,visibleLineCountTop,visibleLineCountBottom){this.originalLineNumber=originalLineNumber;this.modifiedLineNumber=modifiedLineNumber;this.lineCount=lineCount;this._visibleLineCountTop=observableValue("visibleLineCountTop",0);this.visibleLineCountTop=this._visibleLineCountTop;this._visibleLineCountBottom=observableValue("visibleLineCountBottom",0);this.visibleLineCountBottom=this._visibleLineCountBottom;this._shouldHideControls=derived((reader=>this.visibleLineCountTop.read(reader)+this.visibleLineCountBottom.read(reader)===this.lineCount&&!this.isDragged.read(reader)));this.isDragged=observableValue("isDragged",false);this._visibleLineCountTop.set(visibleLineCountTop,void 0);this._visibleLineCountBottom.set(visibleLineCountBottom,void 0)}shouldHideControls(reader){return this._shouldHideControls.read(reader)}getHiddenOriginalRange(reader){return LineRange.ofLength(this.originalLineNumber+this._visibleLineCountTop.read(reader),this.lineCount-this._visibleLineCountTop.read(reader)-this._visibleLineCountBottom.read(reader))}getHiddenModifiedRange(reader){return LineRange.ofLength(this.modifiedLineNumber+this._visibleLineCountTop.read(reader),this.lineCount-this._visibleLineCountTop.read(reader)-this._visibleLineCountBottom.read(reader))}setHiddenModifiedRange(range2,tx){const visibleLineCountTop=range2.startLineNumber-this.modifiedLineNumber;const visibleLineCountBottom=this.modifiedLineNumber+this.lineCount-range2.endLineNumberExclusive;this.setState(visibleLineCountTop,visibleLineCountBottom,tx)}getMaxVisibleLineCountTop(){return this.lineCount-this._visibleLineCountBottom.get()}getMaxVisibleLineCountBottom(){return this.lineCount-this._visibleLineCountTop.get()}showMoreAbove(count=10,tx){const maxVisibleLineCountTop=this.getMaxVisibleLineCountTop();this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+count,maxVisibleLineCountTop),tx)}showMoreBelow(count=10,tx){const maxVisibleLineCountBottom=this.lineCount-this._visibleLineCountTop.get();this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+count,maxVisibleLineCountBottom),tx)}showAll(tx){this._visibleLineCountBottom.set(this.lineCount-this._visibleLineCountTop.get(),tx)}showModifiedLine(lineNumber,tx){const top=lineNumber+1-(this.modifiedLineNumber+this._visibleLineCountTop.get());const bottom=this.modifiedLineNumber-this._visibleLineCountBottom.get()+this.lineCount-lineNumber;if(top<bottom){this._visibleLineCountTop.set(this._visibleLineCountTop.get()+top,tx)}else{this._visibleLineCountBottom.set(this._visibleLineCountBottom.get()+bottom,tx)}}showOriginalLine(lineNumber,tx){const top=lineNumber-this.originalLineNumber;const bottom=this.originalLineNumber+this.lineCount-lineNumber;if(top<bottom){this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+bottom-top,this.getMaxVisibleLineCountTop()),tx)}else{this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+top-bottom,this.getMaxVisibleLineCountBottom()),tx)}}collapseAll(tx){this._visibleLineCountTop.set(0,tx);this._visibleLineCountBottom.set(0,tx)}setState(visibleLineCountTop,visibleLineCountBottom,tx){visibleLineCountTop=Math.max(Math.min(visibleLineCountTop,this.lineCount),0);visibleLineCountBottom=Math.max(Math.min(visibleLineCountBottom,this.lineCount-visibleLineCountTop),0);this._visibleLineCountTop.set(visibleLineCountTop,tx);this._visibleLineCountBottom.set(visibleLineCountBottom,tx)}}}});var __awaiter30,InlineDiffDeletedCodeMargin;var init_inlineDiffDeletedCodeMargin=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditorWidget2/inlineDiffDeletedCodeMargin.js"(){init_dom();init_actions();init_codicons();init_lifecycle();init_platform();init_themables();init_nls();__awaiter30=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};InlineDiffDeletedCodeMargin=class extends Disposable{get visibility(){return this._visibility}set visibility(_visibility){if(this._visibility!==_visibility){this._visibility=_visibility;this._diffActions.style.visibility=_visibility?"visible":"hidden"}}constructor(_getViewZoneId,_marginDomNode,_modifiedEditor,_diff,_editor,_viewLineCounts,_originalTextModel,_contextMenuService,_clipboardService){super();this._getViewZoneId=_getViewZoneId;this._marginDomNode=_marginDomNode;this._modifiedEditor=_modifiedEditor;this._diff=_diff;this._editor=_editor;this._viewLineCounts=_viewLineCounts;this._originalTextModel=_originalTextModel;this._contextMenuService=_contextMenuService;this._clipboardService=_clipboardService;this._visibility=false;this._marginDomNode.style.zIndex="10";this._diffActions=document.createElement("div");this._diffActions.className=ThemeIcon.asClassName(Codicon.lightBulb)+" lightbulb-glyph";this._diffActions.style.position="absolute";const lineHeight=this._modifiedEditor.getOption(65);this._diffActions.style.right="0px";this._diffActions.style.visibility="hidden";this._diffActions.style.height=`${lineHeight}px`;this._diffActions.style.lineHeight=`${lineHeight}px`;this._marginDomNode.appendChild(this._diffActions);let currentLineNumberOffset=0;const useShadowDOM=_modifiedEditor.getOption(125)&&!isIOS;const showContextMenu=(x,y)=>{var _a6;this._contextMenuService.showContextMenu({domForShadowRoot:useShadowDOM?(_a6=_modifiedEditor.getDomNode())!==null&&_a6!==void 0?_a6:void 0:void 0,getAnchor:()=>({x:x,y:y}),getActions:()=>{const actions=[];const isDeletion=_diff.modifiedRange.isEmpty;actions.push(new Action("diff.clipboard.copyDeletedContent",isDeletion?_diff.originalRange.length>1?localize("diff.clipboard.copyDeletedLinesContent.label","Copy deleted lines"):localize("diff.clipboard.copyDeletedLinesContent.single.label","Copy deleted line"):_diff.originalRange.length>1?localize("diff.clipboard.copyChangedLinesContent.label","Copy changed lines"):localize("diff.clipboard.copyChangedLinesContent.single.label","Copy changed line"),void 0,true,(()=>__awaiter30(this,void 0,void 0,(function*(){const originalText=this._originalTextModel.getValueInRange(_diff.originalRange.toExclusiveRange());yield this._clipboardService.writeText(originalText)})))));if(_diff.originalRange.length>1){actions.push(new Action("diff.clipboard.copyDeletedLineContent",isDeletion?localize("diff.clipboard.copyDeletedLineContent.label","Copy deleted line ({0})",_diff.originalRange.startLineNumber+currentLineNumberOffset):localize("diff.clipboard.copyChangedLineContent.label","Copy changed line ({0})",_diff.originalRange.startLineNumber+currentLineNumberOffset),void 0,true,(()=>__awaiter30(this,void 0,void 0,(function*(){let lineContent=this._originalTextModel.getLineContent(_diff.originalRange.startLineNumber+currentLineNumberOffset);if(lineContent===""){const eof=this._originalTextModel.getEndOfLineSequence();lineContent=eof===0?"\n":"\r\n"}yield this._clipboardService.writeText(lineContent)})))))}const readOnly=_modifiedEditor.getOption(89);if(!readOnly){actions.push(new Action("diff.inline.revertChange",localize("diff.inline.revertChange.label","Revert this change"),void 0,true,(()=>__awaiter30(this,void 0,void 0,(function*(){this._editor.revert(this._diff)})))))}return actions},autoSelectFirstItem:true})};this._register(addStandardDisposableListener(this._diffActions,"mousedown",(e=>{const{top:top,height:height}=getDomNodePagePosition(this._diffActions);const pad=Math.floor(lineHeight/3);e.preventDefault();showContextMenu(e.posx,top+height+pad)})));this._register(_modifiedEditor.onMouseMove((e=>{if((e.target.type===8||e.target.type===5)&&e.target.detail.viewZoneId===this._getViewZoneId()){currentLineNumberOffset=this._updateLightBulbPosition(this._marginDomNode,e.event.browserEvent.y,lineHeight);this.visibility=true}else{this.visibility=false}})));this._register(_modifiedEditor.onMouseDown((e=>{if(!e.event.rightButton){return}if(e.target.type===8||e.target.type===5){const viewZoneId=e.target.detail.viewZoneId;if(viewZoneId===this._getViewZoneId()){e.event.preventDefault();currentLineNumberOffset=this._updateLightBulbPosition(this._marginDomNode,e.event.browserEvent.y,lineHeight);showContextMenu(e.event.posx,e.event.posy+lineHeight)}}})))}_updateLightBulbPosition(marginDomNode,y,lineHeight){const{top:top}=getDomNodePagePosition(marginDomNode);const offset=y-top;const lineNumberOffset=Math.floor(offset/lineHeight);const newTop=lineNumberOffset*lineHeight;this._diffActions.style.top=`${newTop}px`;if(this._viewLineCounts){let acc=0;for(let i=0;i<this._viewLineCounts.length;i++){acc+=this._viewLineCounts[i];if(lineNumberOffset<acc){return i}}}return lineNumberOffset}}}});function renderLines(source,options2,decorations,domNode){applyFontInfo(domNode,options2.fontInfo);const hasCharChanges=decorations.length>0;const sb=new StringBuilder(1e4);let maxCharsPerLine=0;let renderedLineCount=0;const viewLineCounts=[];for(let lineIndex=0;lineIndex<source.lineTokens.length;lineIndex++){const lineNumber=lineIndex+1;const lineTokens=source.lineTokens[lineIndex];const lineBreakData=source.lineBreakData[lineIndex];const actualDecorations=LineDecoration.filter(decorations,lineNumber,1,Number.MAX_SAFE_INTEGER);if(lineBreakData){let lastBreakOffset=0;for(const breakOffset of lineBreakData.breakOffsets){const viewLineTokens=lineTokens.sliceAndInflate(lastBreakOffset,breakOffset,0);maxCharsPerLine=Math.max(maxCharsPerLine,renderOriginalLine(renderedLineCount,viewLineTokens,LineDecoration.extractWrapped(actualDecorations,lastBreakOffset,breakOffset),hasCharChanges,source.mightContainNonBasicASCII,source.mightContainRTL,options2,sb));renderedLineCount++;lastBreakOffset=breakOffset}viewLineCounts.push(lineBreakData.breakOffsets.length)}else{viewLineCounts.push(1);maxCharsPerLine=Math.max(maxCharsPerLine,renderOriginalLine(renderedLineCount,lineTokens,actualDecorations,hasCharChanges,source.mightContainNonBasicASCII,source.mightContainRTL,options2,sb));renderedLineCount++}}maxCharsPerLine+=options2.scrollBeyondLastColumn;const html2=sb.build();const trustedhtml=ttPolicy4?ttPolicy4.createHTML(html2):html2;domNode.innerHTML=trustedhtml;const minWidthInPx=maxCharsPerLine*options2.typicalHalfwidthCharacterWidth;return{heightInLines:renderedLineCount,minWidthInPx:minWidthInPx,viewLineCounts:viewLineCounts}}function renderOriginalLine(viewLineIdx,lineTokens,decorations,hasCharChanges,mightContainNonBasicASCII,mightContainRTL,options2,sb){sb.appendString('<div class="view-line');if(!hasCharChanges){sb.appendString(" char-delete")}sb.appendString('" style="top:');sb.appendString(String(viewLineIdx*options2.lineHeight));sb.appendString('px;width:1000000px;">');const lineContent=lineTokens.getLineContent();const isBasicASCII2=ViewLineRenderingData.isBasicASCII(lineContent,mightContainNonBasicASCII);const containsRTL2=ViewLineRenderingData.containsRTL(lineContent,isBasicASCII2,mightContainRTL);const output=renderViewLine(new RenderLineInput(options2.fontInfo.isMonospace&&!options2.disableMonospaceOptimizations,options2.fontInfo.canUseHalfwidthRightwardsArrow,lineContent,false,isBasicASCII2,containsRTL2,0,lineTokens,decorations,options2.tabSize,0,options2.fontInfo.spaceWidth,options2.fontInfo.middotWidth,options2.fontInfo.wsmiddotWidth,options2.stopRenderingLineAfter,options2.renderWhitespace,options2.renderControlCharacters,options2.fontLigatures!==EditorFontLigatures.OFF,null),sb);sb.appendString("</div>");return output.characterMapping.getHorizontalOffset(output.characterMapping.length)}var ttPolicy4,LineSource,RenderOptions;var init_renderLines=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditorWidget2/renderLines.js"(){init_domFontInfo();init_diffEditorWidget();init_editorOptions();init_stringBuilder();init_lineDecorations();init_viewLineRenderer();init_viewModel();ttPolicy4=diffEditorWidgetTtPolicy;LineSource=class{constructor(lineTokens,lineBreakData,mightContainNonBasicASCII,mightContainRTL){this.lineTokens=lineTokens;this.lineBreakData=lineBreakData;this.mightContainNonBasicASCII=mightContainNonBasicASCII;this.mightContainRTL=mightContainRTL}};RenderOptions=class{static fromEditor(editor2){var _a6;const modifiedEditorOptions=editor2.getOptions();const fontInfo=modifiedEditorOptions.get(49);const layoutInfo=modifiedEditorOptions.get(142);return new RenderOptions(((_a6=editor2.getModel())===null||_a6===void 0?void 0:_a6.getOptions().tabSize)||0,fontInfo,modifiedEditorOptions.get(32),fontInfo.typicalHalfwidthCharacterWidth,modifiedEditorOptions.get(102),modifiedEditorOptions.get(65),layoutInfo.decorationsWidth,modifiedEditorOptions.get(115),modifiedEditorOptions.get(97),modifiedEditorOptions.get(92),modifiedEditorOptions.get(50))}constructor(tabSize,fontInfo,disableMonospaceOptimizations,typicalHalfwidthCharacterWidth,scrollBeyondLastColumn,lineHeight,lineDecorationsWidth,stopRenderingLineAfter,renderWhitespace,renderControlCharacters,fontLigatures){this.tabSize=tabSize;this.fontInfo=fontInfo;this.disableMonospaceOptimizations=disableMonospaceOptimizations;this.typicalHalfwidthCharacterWidth=typicalHalfwidthCharacterWidth;this.scrollBeyondLastColumn=scrollBeyondLastColumn;this.lineHeight=lineHeight;this.lineDecorationsWidth=lineDecorationsWidth;this.stopRenderingLineAfter=stopRenderingLineAfter;this.renderWhitespace=renderWhitespace;this.renderControlCharacters=renderControlCharacters;this.fontLigatures=fontLigatures}}}});function computeRangeAlignment(originalEditor,modifiedEditor,diffs,originalEditorAlignmentViewZones,modifiedEditorAlignmentViewZones,innerHunkAlignment){const originalLineHeightOverrides=new ArrayQueue(getAdditionalLineHeights(originalEditor,originalEditorAlignmentViewZones));const modifiedLineHeightOverrides=new ArrayQueue(getAdditionalLineHeights(modifiedEditor,modifiedEditorAlignmentViewZones));const origLineHeight=originalEditor.getOption(65);const modLineHeight=modifiedEditor.getOption(65);const result=[];let lastOriginalLineNumber=0;let lastModifiedLineNumber=0;function handleAlignmentsOutsideOfDiffs(untilOriginalLineNumberExclusive,untilModifiedLineNumberExclusive){while(true){let origNext=originalLineHeightOverrides.peek();let modNext=modifiedLineHeightOverrides.peek();if(origNext&&origNext.lineNumber>=untilOriginalLineNumberExclusive){origNext=void 0}if(modNext&&modNext.lineNumber>=untilModifiedLineNumberExclusive){modNext=void 0}if(!origNext&&!modNext){break}const distOrig=origNext?origNext.lineNumber-lastOriginalLineNumber:Number.MAX_VALUE;const distNext=modNext?modNext.lineNumber-lastModifiedLineNumber:Number.MAX_VALUE;if(distOrig<distNext){originalLineHeightOverrides.dequeue();modNext={lineNumber:origNext.lineNumber-lastOriginalLineNumber+lastModifiedLineNumber,heightInPx:0}}else if(distOrig>distNext){modifiedLineHeightOverrides.dequeue();origNext={lineNumber:modNext.lineNumber-lastModifiedLineNumber+lastOriginalLineNumber,heightInPx:0}}else{originalLineHeightOverrides.dequeue();modifiedLineHeightOverrides.dequeue()}result.push({originalRange:LineRange.ofLength(origNext.lineNumber,1),modifiedRange:LineRange.ofLength(modNext.lineNumber,1),originalHeightInPx:origLineHeight+origNext.heightInPx,modifiedHeightInPx:modLineHeight+modNext.heightInPx,diff:void 0})}}for(const m of diffs){let emitAlignment=function(origLineNumberExclusive,modLineNumberExclusive){var _a6,_b3,_c2,_d2;if(origLineNumberExclusive<lastOrigLineNumber||modLineNumberExclusive<lastModLineNumber){return}if(first2){first2=false}else if(origLineNumberExclusive===lastOrigLineNumber||modLineNumberExclusive===lastModLineNumber){return}const originalRange=new LineRange(lastOrigLineNumber,origLineNumberExclusive);const modifiedRange=new LineRange(lastModLineNumber,modLineNumberExclusive);if(originalRange.isEmpty&&modifiedRange.isEmpty){return}const originalAdditionalHeight=(_b3=(_a6=originalLineHeightOverrides.takeWhile((v=>v.lineNumber<origLineNumberExclusive)))===null||_a6===void 0?void 0:_a6.reduce(((p,c2)=>p+c2.heightInPx),0))!==null&&_b3!==void 0?_b3:0;const modifiedAdditionalHeight=(_d2=(_c2=modifiedLineHeightOverrides.takeWhile((v=>v.lineNumber<modLineNumberExclusive)))===null||_c2===void 0?void 0:_c2.reduce(((p,c2)=>p+c2.heightInPx),0))!==null&&_d2!==void 0?_d2:0;result.push({originalRange:originalRange,modifiedRange:modifiedRange,originalHeightInPx:originalRange.length*origLineHeight+originalAdditionalHeight,modifiedHeightInPx:modifiedRange.length*modLineHeight+modifiedAdditionalHeight,diff:m.lineRangeMapping});lastOrigLineNumber=origLineNumberExclusive;lastModLineNumber=modLineNumberExclusive};const c=m.lineRangeMapping;handleAlignmentsOutsideOfDiffs(c.originalRange.startLineNumber,c.modifiedRange.startLineNumber);let first2=true;let lastModLineNumber=c.modifiedRange.startLineNumber;let lastOrigLineNumber=c.originalRange.startLineNumber;if(innerHunkAlignment){for(const i of c.innerChanges||[]){if(i.originalRange.startColumn>1&&i.modifiedRange.startColumn>1){emitAlignment(i.originalRange.startLineNumber,i.modifiedRange.startLineNumber)}if(i.originalRange.endColumn<originalEditor.getModel().getLineMaxColumn(i.originalRange.endLineNumber)){emitAlignment(i.originalRange.endLineNumber,i.modifiedRange.endLineNumber)}}}emitAlignment(c.originalRange.endLineNumberExclusive,c.modifiedRange.endLineNumberExclusive);lastOriginalLineNumber=c.originalRange.endLineNumberExclusive;lastModifiedLineNumber=c.modifiedRange.endLineNumberExclusive}handleAlignmentsOutsideOfDiffs(Number.MAX_VALUE,Number.MAX_VALUE);return result}function getAdditionalLineHeights(editor2,viewZonesToIgnore){const viewZoneHeights=[];const wrappingZoneHeights=[];const hasWrapping=editor2.getOption(143).wrappingColumn!==-1;const coordinatesConverter=editor2._getViewModel().coordinatesConverter;const editorLineHeight=editor2.getOption(65);if(hasWrapping){for(let i=1;i<=editor2.getModel().getLineCount();i++){const lineCount=coordinatesConverter.getModelLineViewLineCount(i);if(lineCount>1){wrappingZoneHeights.push({lineNumber:i,heightInPx:editorLineHeight*(lineCount-1)})}}}for(const w of editor2.getWhitespaces()){if(viewZonesToIgnore.has(w.id)){continue}const modelLineNumber=w.afterLineNumber===0?0:coordinatesConverter.convertViewPositionToModelPosition(new Position(w.afterLineNumber,1)).lineNumber;viewZoneHeights.push({lineNumber:modelLineNumber,heightInPx:w.height})}const result=joinCombine(viewZoneHeights,wrappingZoneHeights,(v=>v.lineNumber),((v1,v2)=>({lineNumber:v1.lineNumber,heightInPx:v1.heightInPx+v2.heightInPx})));return result}var __decorate46,__param39,ViewZoneManager;var init_lineAlignment=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditorWidget2/lineAlignment.js"(){init_dom();init_arrays();init_async();init_codicons();init_lifecycle();init_observable();init_themables();init_types();init_domFontInfo();init_stableEditorScroll();init_decorations2();init_diffEditorViewModel();init_inlineDiffDeletedCodeMargin();init_renderLines();init_utils4();init_lineRange();init_position();init_viewModel();init_clipboardService();init_contextView();__decorate46=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param39=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};ViewZoneManager=class ViewZoneManager2 extends Disposable{constructor(_editors,_diffModel,_options,_diffEditorWidget,_canIgnoreViewZoneUpdateEvent,_clipboardService,_contextMenuService){super();this._editors=_editors;this._diffModel=_diffModel;this._options=_options;this._diffEditorWidget=_diffEditorWidget;this._canIgnoreViewZoneUpdateEvent=_canIgnoreViewZoneUpdateEvent;this._clipboardService=_clipboardService;this._contextMenuService=_contextMenuService;this._originalTopPadding=observableValue("originalTopPadding",0);this._originalScrollOffset=observableValue("originalScrollOffset",0);this._originalScrollOffsetAnimated=animatedObservable(this._originalScrollOffset,this._store);this._modifiedTopPadding=observableValue("modifiedTopPadding",0);this._modifiedScrollOffset=observableValue("modifiedScrollOffset",0);this._modifiedScrollOffsetAnimated=animatedObservable(this._modifiedScrollOffset,this._store);let isChangingViewZones=false;const state=observableValue("state",0);const updateImmediately=this._register(new RunOnceScheduler((()=>{state.set(state.get()+1,void 0)}),0));this._register(this._editors.original.onDidChangeViewZones((_args=>{if(!isChangingViewZones&&!this._canIgnoreViewZoneUpdateEvent()){updateImmediately.schedule()}})));this._register(this._editors.modified.onDidChangeViewZones((_args=>{if(!isChangingViewZones&&!this._canIgnoreViewZoneUpdateEvent()){updateImmediately.schedule()}})));this._register(this._editors.original.onDidChangeConfiguration((args=>{if(args.hasChanged(143)||args.hasChanged(65)){updateImmediately.schedule()}})));this._register(this._editors.modified.onDidChangeConfiguration((args=>{if(args.hasChanged(143)||args.hasChanged(65)){updateImmediately.schedule()}})));const originalModelTokenizationCompleted=this._diffModel.map((m=>m?observableFromEvent(m.model.original.onDidChangeTokens,(()=>m.model.original.tokenization.backgroundTokenizationState===2)):void 0)).map(((m,reader)=>m===null||m===void 0?void 0:m.read(reader)));const alignmentViewZoneIdsOrig=new Set;const alignmentViewZoneIdsMod=new Set;const alignments=derived((reader=>{const diffModel=this._diffModel.read(reader);const diff=diffModel===null||diffModel===void 0?void 0:diffModel.diff.read(reader);if(!diffModel||!diff){return null}state.read(reader);const renderSideBySide=this._options.renderSideBySide.read(reader);const innerHunkAlignment=renderSideBySide;return computeRangeAlignment(this._editors.original,this._editors.modified,diff.mappings,alignmentViewZoneIdsOrig,alignmentViewZoneIdsMod,innerHunkAlignment)}));const alignmentsSyncedMovedText=derived((reader=>{var _a6;const syncedMovedText=(_a6=this._diffModel.read(reader))===null||_a6===void 0?void 0:_a6.movedTextToCompare.read(reader);if(!syncedMovedText){return null}state.read(reader);const mappings=syncedMovedText.changes.map((c=>new DiffMapping(c)));return computeRangeAlignment(this._editors.original,this._editors.modified,mappings,alignmentViewZoneIdsOrig,alignmentViewZoneIdsMod,true)}));function createFakeLinesDiv2(){const r=document.createElement("div");r.className="diagonal-fill";return r}const alignmentViewZonesDisposables=this._register(new DisposableStore);const alignmentViewZones=derived((reader=>{var _a6,_b3,_c2,_d2,_e2,_f2,_g2,_h2;alignmentViewZonesDisposables.clear();const alignmentsVal=alignments.read(reader)||[];const origViewZones=[];const modViewZones=[];const modifiedTopPaddingVal=this._modifiedTopPadding.read(reader);if(modifiedTopPaddingVal>0){modViewZones.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:modifiedTopPaddingVal,showInHiddenAreas:true})}const originalTopPaddingVal=this._originalTopPadding.read(reader);if(originalTopPaddingVal>0){origViewZones.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:originalTopPaddingVal,showInHiddenAreas:true})}const renderSideBySide=this._options.renderSideBySide.read(reader);const deletedCodeLineBreaksComputer=!renderSideBySide?(_a6=this._editors.modified._getViewModel())===null||_a6===void 0?void 0:_a6.createLineBreaksComputer():void 0;if(deletedCodeLineBreaksComputer){for(const a of alignmentsVal){if(a.diff){for(let i=a.originalRange.startLineNumber;i<a.originalRange.endLineNumberExclusive;i++){deletedCodeLineBreaksComputer===null||deletedCodeLineBreaksComputer===void 0?void 0:deletedCodeLineBreaksComputer.addRequest(this._editors.original.getModel().getLineContent(i),null,null)}}}}const lineBreakData=(_b3=deletedCodeLineBreaksComputer===null||deletedCodeLineBreaksComputer===void 0?void 0:deletedCodeLineBreaksComputer.finalize())!==null&&_b3!==void 0?_b3:[];let lineBreakDataIdx=0;const modLineHeight=this._editors.modified.getOption(65);const syncedMovedText=(_c2=this._diffModel.read(reader))===null||_c2===void 0?void 0:_c2.movedTextToCompare.read(reader);const mightContainNonBasicASCII=(_e2=(_d2=this._editors.original.getModel())===null||_d2===void 0?void 0:_d2.mightContainNonBasicASCII())!==null&&_e2!==void 0?_e2:false;const mightContainRTL=(_g2=(_f2=this._editors.original.getModel())===null||_f2===void 0?void 0:_f2.mightContainRTL())!==null&&_g2!==void 0?_g2:false;const renderOptions=RenderOptions.fromEditor(this._editors.modified);for(const a of alignmentsVal){if(a.diff&&!renderSideBySide){if(!a.originalRange.isEmpty){originalModelTokenizationCompleted.read(reader);const deletedCodeDomNode=document.createElement("div");deletedCodeDomNode.classList.add("view-lines","line-delete","monaco-mouse-cursor-text");const source=new LineSource(a.originalRange.mapToLineArray((l=>this._editors.original.getModel().tokenization.getLineTokens(l))),a.originalRange.mapToLineArray((_=>lineBreakData[lineBreakDataIdx++])),mightContainNonBasicASCII,mightContainRTL);const decorations=[];for(const i of a.diff.innerChanges||[]){decorations.push(new InlineDecoration(i.originalRange.delta(-(a.diff.originalRange.startLineNumber-1)),diffDeleteDecoration.className,0))}const result=renderLines(source,renderOptions,decorations,deletedCodeDomNode);const marginDomNode2=document.createElement("div");marginDomNode2.className="inline-deleted-margin-view-zone";applyFontInfo(marginDomNode2,renderOptions.fontInfo);if(this._options.renderIndicators.read(reader)){for(let i=0;i<result.heightInLines;i++){const marginElement=document.createElement("div");marginElement.className=`delete-sign ${ThemeIcon.asClassName(diffRemoveIcon2)}`;marginElement.setAttribute("style",`position:absolute;top:${i*modLineHeight}px;width:${renderOptions.lineDecorationsWidth}px;height:${modLineHeight}px;right:0;`);marginDomNode2.appendChild(marginElement)}}let zoneId=void 0;alignmentViewZonesDisposables.add(new InlineDiffDeletedCodeMargin((()=>assertIsDefined(zoneId)),marginDomNode2,this._editors.modified,a.diff,this._diffEditorWidget,result.viewLineCounts,this._editors.original.getModel(),this._contextMenuService,this._clipboardService));for(let i=0;i<result.viewLineCounts.length;i++){const count=result.viewLineCounts[i];if(count>1){origViewZones.push({afterLineNumber:a.originalRange.startLineNumber+i,domNode:createFakeLinesDiv2(),heightInPx:(count-1)*modLineHeight,showInHiddenAreas:true})}}modViewZones.push({afterLineNumber:a.modifiedRange.startLineNumber-1,domNode:deletedCodeDomNode,heightInPx:result.heightInLines*modLineHeight,minWidthInPx:result.minWidthInPx,marginDomNode:marginDomNode2,setZoneId(id){zoneId=id},showInHiddenAreas:true})}const marginDomNode=document.createElement("div");marginDomNode.className="gutter-delete";origViewZones.push({afterLineNumber:a.originalRange.endLineNumberExclusive-1,domNode:createFakeLinesDiv2(),heightInPx:a.modifiedHeightInPx,marginDomNode:marginDomNode,showInHiddenAreas:true})}else{const delta=a.modifiedHeightInPx-a.originalHeightInPx;if(delta>0){if(syncedMovedText===null||syncedMovedText===void 0?void 0:syncedMovedText.lineRangeMapping.original.delta(-1).deltaLength(2).contains(a.originalRange.endLineNumberExclusive-1)){continue}origViewZones.push({afterLineNumber:a.originalRange.endLineNumberExclusive-1,domNode:createFakeLinesDiv2(),heightInPx:delta,showInHiddenAreas:true})}else{let createViewZoneMarginArrow2=function(){const arrow=document.createElement("div");arrow.className="arrow-revert-change "+ThemeIcon.asClassName(Codicon.arrowRight);return $("div",{},arrow)};if(syncedMovedText===null||syncedMovedText===void 0?void 0:syncedMovedText.lineRangeMapping.modified.delta(-1).deltaLength(2).contains(a.modifiedRange.endLineNumberExclusive-1)){continue}let marginDomNode=void 0;if(a.diff&&a.diff.modifiedRange.isEmpty&&this._options.shouldRenderRevertArrows.read(reader)){marginDomNode=createViewZoneMarginArrow2()}modViewZones.push({afterLineNumber:a.modifiedRange.endLineNumberExclusive-1,domNode:createFakeLinesDiv2(),heightInPx:-delta,marginDomNode:marginDomNode,showInHiddenAreas:true})}}}for(const a of(_h2=alignmentsSyncedMovedText.read(reader))!==null&&_h2!==void 0?_h2:[]){if(!(syncedMovedText===null||syncedMovedText===void 0?void 0:syncedMovedText.lineRangeMapping.original.intersect(a.originalRange))||!(syncedMovedText===null||syncedMovedText===void 0?void 0:syncedMovedText.lineRangeMapping.modified.intersect(a.modifiedRange))){continue}const delta=a.modifiedHeightInPx-a.originalHeightInPx;if(delta>0){origViewZones.push({afterLineNumber:a.originalRange.endLineNumberExclusive-1,domNode:createFakeLinesDiv2(),heightInPx:delta,showInHiddenAreas:true})}else{modViewZones.push({afterLineNumber:a.modifiedRange.endLineNumberExclusive-1,domNode:createFakeLinesDiv2(),heightInPx:-delta,showInHiddenAreas:true})}}return{orig:origViewZones,mod:modViewZones}}));this._register(autorunWithStore((reader=>{const scrollState=StableEditorScrollState.capture(this._editors.modified);const alignmentViewZones_=alignmentViewZones.read(reader);isChangingViewZones=true;this._editors.original.changeViewZones((aOrig=>{for(const id of alignmentViewZoneIdsOrig){aOrig.removeZone(id)}alignmentViewZoneIdsOrig.clear();for(const z of alignmentViewZones_.orig){const id=aOrig.addZone(z);if(z.setZoneId){z.setZoneId(id)}alignmentViewZoneIdsOrig.add(id)}}));this._editors.modified.changeViewZones((aMod=>{for(const id of alignmentViewZoneIdsMod){aMod.removeZone(id)}alignmentViewZoneIdsMod.clear();for(const z of alignmentViewZones_.mod){const id=aMod.addZone(z);if(z.setZoneId){z.setZoneId(id)}alignmentViewZoneIdsMod.add(id)}}));isChangingViewZones=false;scrollState.restore(this._editors.modified)})));this._register(toDisposable((()=>{this._editors.original.changeViewZones((a=>{for(const id of alignmentViewZoneIdsOrig){a.removeZone(id)}alignmentViewZoneIdsOrig.clear()}));this._editors.modified.changeViewZones((a=>{for(const id of alignmentViewZoneIdsMod){a.removeZone(id)}alignmentViewZoneIdsMod.clear()}))})));let ignoreChange=false;this._register(this._editors.original.onDidScrollChange((e=>{if(e.scrollLeftChanged&&!ignoreChange){ignoreChange=true;this._editors.modified.setScrollLeft(e.scrollLeft);ignoreChange=false}})));this._register(this._editors.modified.onDidScrollChange((e=>{if(e.scrollLeftChanged&&!ignoreChange){ignoreChange=true;this._editors.original.setScrollLeft(e.scrollLeft);ignoreChange=false}})));this._originalScrollTop=observableFromEvent(this._editors.original.onDidScrollChange,(()=>this._editors.original.getScrollTop()));this._modifiedScrollTop=observableFromEvent(this._editors.modified.onDidScrollChange,(()=>this._editors.modified.getScrollTop()));this._register(autorun((reader=>{const newScrollTopModified=this._originalScrollTop.read(reader)-(this._originalScrollOffsetAnimated.get()-this._modifiedScrollOffsetAnimated.read(reader))-(this._originalTopPadding.get()-this._modifiedTopPadding.read(reader));if(newScrollTopModified!==this._editors.modified.getScrollTop()){this._editors.modified.setScrollTop(newScrollTopModified,1)}})));this._register(autorun((reader=>{const newScrollTopOriginal=this._modifiedScrollTop.read(reader)-(this._modifiedScrollOffsetAnimated.get()-this._originalScrollOffsetAnimated.read(reader))-(this._modifiedTopPadding.get()-this._originalTopPadding.read(reader));if(newScrollTopOriginal!==this._editors.original.getScrollTop()){this._editors.original.setScrollTop(newScrollTopOriginal,1)}})));this._register(autorun((reader=>{var _a6;const m=(_a6=this._diffModel.read(reader))===null||_a6===void 0?void 0:_a6.movedTextToCompare.read(reader);let deltaOrigToMod=0;if(m){const trueTopOriginal=this._editors.original.getTopForLineNumber(m.lineRangeMapping.original.startLineNumber,true)-this._originalTopPadding.get();const trueTopModified=this._editors.modified.getTopForLineNumber(m.lineRangeMapping.modified.startLineNumber,true)-this._modifiedTopPadding.get();deltaOrigToMod=trueTopModified-trueTopOriginal}if(deltaOrigToMod>0){this._modifiedTopPadding.set(0,void 0);this._originalTopPadding.set(deltaOrigToMod,void 0)}else if(deltaOrigToMod<0){this._modifiedTopPadding.set(-deltaOrigToMod,void 0);this._originalTopPadding.set(0,void 0)}else{setTimeout((()=>{this._modifiedTopPadding.set(0,void 0);this._originalTopPadding.set(0,void 0)}),400)}if(this._editors.modified.hasTextFocus()){this._originalScrollOffset.set(this._modifiedScrollOffset.get()-deltaOrigToMod,void 0,true)}else{this._modifiedScrollOffset.set(this._originalScrollOffset.get()+deltaOrigToMod,void 0,true)}})))}};ViewZoneManager=__decorate46([__param39(5,IClipboardService),__param39(6,IContextMenuService)],ViewZoneManager)}});var __decorate47,__param40,OverviewRulerPart_1,OverviewRulerPart;var init_overviewRulerPart=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditorWidget2/overviewRulerPart.js"(){init_dom();init_fastDomNode();init_scrollbarState();init_lifecycle();init_observable();init_utils4();init_position();init_overviewZoneManager();init_colorRegistry();init_themeService();__decorate47=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param40=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};OverviewRulerPart=OverviewRulerPart_1=class OverviewRulerPart2 extends Disposable{constructor(_editors,_rootElement,_diffModel,_rootWidth,_rootHeight,_modifiedEditorLayoutInfo,_options,_themeService){super();this._editors=_editors;this._rootElement=_rootElement;this._diffModel=_diffModel;this._rootWidth=_rootWidth;this._rootHeight=_rootHeight;this._modifiedEditorLayoutInfo=_modifiedEditorLayoutInfo;this._options=_options;this._themeService=_themeService;const currentColorTheme=observableFromEvent(this._themeService.onDidColorThemeChange,(()=>this._themeService.getColorTheme()));const currentColors=derived((reader=>{const theme=currentColorTheme.read(reader);const insertColor=theme.getColor(diffOverviewRulerInserted)||(theme.getColor(diffInserted)||defaultInsertColor).transparent(2);const removeColor=theme.getColor(diffOverviewRulerRemoved)||(theme.getColor(diffRemoved)||defaultRemoveColor).transparent(2);return{insertColor:insertColor,removeColor:removeColor}}));const scrollTopObservable=observableFromEvent(this._editors.modified.onDidScrollChange,(()=>this._editors.modified.getScrollTop()));const scrollHeightObservable=observableFromEvent(this._editors.modified.onDidScrollChange,(()=>this._editors.modified.getScrollHeight()));this._register(autorunWithStore(((reader,store)=>{if(!this._options.renderOverviewRuler.read(reader)){return}const viewportDomElement=createFastDomNode(document.createElement("div"));viewportDomElement.setClassName("diffViewport");viewportDomElement.setPosition("absolute");const diffOverviewRoot=h("div.diffOverview",{style:{position:"absolute",top:"0px",width:OverviewRulerPart_1.ENTIRE_DIFF_OVERVIEW_WIDTH+"px"}}).root;store.add(appendRemoveOnDispose(diffOverviewRoot,viewportDomElement.domNode));store.add(addStandardDisposableListener(diffOverviewRoot,EventType.POINTER_DOWN,(e=>{this._editors.modified.delegateVerticalScrollbarPointerDown(e)})));store.add(addDisposableListener(diffOverviewRoot,EventType.MOUSE_WHEEL,(e=>{this._editors.modified.delegateScrollFromMouseWheelEvent(e)}),{passive:false}));store.add(appendRemoveOnDispose(this._rootElement,diffOverviewRoot));store.add(autorunWithStore(((reader2,store2)=>{const m=this._diffModel.read(reader2);const originalOverviewRuler=this._editors.original.createOverviewRuler("original diffOverviewRuler");if(originalOverviewRuler){store2.add(originalOverviewRuler);store2.add(appendRemoveOnDispose(diffOverviewRoot,originalOverviewRuler.getDomNode()))}const modifiedOverviewRuler=this._editors.modified.createOverviewRuler("modified diffOverviewRuler");if(modifiedOverviewRuler){store2.add(modifiedOverviewRuler);store2.add(appendRemoveOnDispose(diffOverviewRoot,modifiedOverviewRuler.getDomNode()))}if(!originalOverviewRuler||!modifiedOverviewRuler){return}const origViewZonesChanged=observableSignalFromEvent("viewZoneChanged",this._editors.original.onDidChangeViewZones);const modViewZonesChanged=observableSignalFromEvent("viewZoneChanged",this._editors.modified.onDidChangeViewZones);const origHiddenRangesChanged=observableSignalFromEvent("hiddenRangesChanged",this._editors.original.onDidChangeHiddenAreas);const modHiddenRangesChanged=observableSignalFromEvent("hiddenRangesChanged",this._editors.modified.onDidChangeHiddenAreas);store2.add(autorun((reader3=>{var _a6;origViewZonesChanged.read(reader3);modViewZonesChanged.read(reader3);origHiddenRangesChanged.read(reader3);modHiddenRangesChanged.read(reader3);const colors=currentColors.read(reader3);const diff=(_a6=m===null||m===void 0?void 0:m.diff.read(reader3))===null||_a6===void 0?void 0:_a6.mappings;function createZones(ranges,color,editor2){const vm=editor2._getViewModel();if(!vm){return[]}return ranges.filter((d=>d.length>0)).map((r=>{const start=vm.coordinatesConverter.convertModelPositionToViewPosition(new Position(r.startLineNumber,1));const end=vm.coordinatesConverter.convertModelPositionToViewPosition(new Position(r.endLineNumberExclusive,1));const lineCount=end.lineNumber-start.lineNumber;return new OverviewRulerZone(start.lineNumber,end.lineNumber,lineCount,color.toString())}))}const originalZones=createZones((diff||[]).map((d=>d.lineRangeMapping.originalRange)),colors.removeColor,this._editors.original);const modifiedZones=createZones((diff||[]).map((d=>d.lineRangeMapping.modifiedRange)),colors.insertColor,this._editors.modified);originalOverviewRuler===null||originalOverviewRuler===void 0?void 0:originalOverviewRuler.setZones(originalZones);modifiedOverviewRuler===null||modifiedOverviewRuler===void 0?void 0:modifiedOverviewRuler.setZones(modifiedZones)})));store2.add(autorun((reader3=>{const height=this._rootHeight.read(reader3);const width=this._rootWidth.read(reader3);const layoutInfo=this._modifiedEditorLayoutInfo.read(reader3);if(layoutInfo){const freeSpace=OverviewRulerPart_1.ENTIRE_DIFF_OVERVIEW_WIDTH-2*OverviewRulerPart_1.ONE_OVERVIEW_WIDTH;originalOverviewRuler.setLayout({top:0,height:height,right:freeSpace+OverviewRulerPart_1.ONE_OVERVIEW_WIDTH,width:OverviewRulerPart_1.ONE_OVERVIEW_WIDTH});modifiedOverviewRuler.setLayout({top:0,height:height,right:0,width:OverviewRulerPart_1.ONE_OVERVIEW_WIDTH});const scrollTop=scrollTopObservable.read(reader3);const scrollHeight=scrollHeightObservable.read(reader3);const scrollBarOptions=this._editors.modified.getOption(101);const state=new ScrollbarState(scrollBarOptions.verticalHasArrows?scrollBarOptions.arrowSize:0,scrollBarOptions.verticalScrollbarSize,0,layoutInfo.height,scrollHeight,scrollTop);viewportDomElement.setTop(state.getSliderPosition());viewportDomElement.setHeight(state.getSliderSize())}else{viewportDomElement.setTop(0);viewportDomElement.setHeight(0)}diffOverviewRoot.style.height=height+"px";diffOverviewRoot.style.left=width-OverviewRulerPart_1.ENTIRE_DIFF_OVERVIEW_WIDTH+"px";viewportDomElement.setWidth(OverviewRulerPart_1.ENTIRE_DIFF_OVERVIEW_WIDTH)})))})))})))}};OverviewRulerPart.ONE_OVERVIEW_WIDTH=15;OverviewRulerPart.ENTIRE_DIFF_OVERVIEW_WIDTH=OverviewRulerPart_1.ONE_OVERVIEW_WIDTH*2;OverviewRulerPart=OverviewRulerPart_1=__decorate47([__param40(7,IThemeService)],OverviewRulerPart)}});var TreeElement,OutlineElement,OutlineGroup,OutlineModel;var init_outlineModel=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditorWidget2/outlineModel.js"(){init_arrays();init_cancellation();init_errors();init_iterator();init_position();init_range();TreeElement=class{remove(){var _a6;(_a6=this.parent)===null||_a6===void 0?void 0:_a6.children.delete(this.id)}static findId(candidate,container){let candidateId;if(typeof candidate==="string"){candidateId=`${container.id}/${candidate}`}else{candidateId=`${container.id}/${candidate.name}`;if(container.children.get(candidateId)!==void 0){candidateId=`${container.id}/${candidate.name}_${candidate.range.startLineNumber}_${candidate.range.startColumn}`}}let id=candidateId;for(let i=0;container.children.get(id)!==void 0;i++){id=`${candidateId}_${i}`}return id}static empty(element){return element.children.size===0}};OutlineElement=class extends TreeElement{constructor(id,parent,symbol){super();this.id=id;this.parent=parent;this.symbol=symbol;this.children=new Map}};OutlineGroup=class extends TreeElement{constructor(id,parent,label,order){super();this.id=id;this.parent=parent;this.label=label;this.order=order;this.children=new Map}};OutlineModel=class extends TreeElement{static create(registry,textModel,token){const cts=new CancellationTokenSource(token);const result=new OutlineModel(textModel.uri);const provider=registry.ordered(textModel);const promises=provider.map(((provider2,index)=>{var _a6;const id=TreeElement.findId(`provider_${index}`,result);const group3=new OutlineGroup(id,result,(_a6=provider2.displayName)!==null&&_a6!==void 0?_a6:"Unknown Outline Provider",index);return Promise.resolve(provider2.provideDocumentSymbols(textModel,cts.token)).then((result2=>{for(const info of result2||[]){OutlineModel._makeOutlineElement(info,group3)}return group3}),(err=>{onUnexpectedExternalError(err);return group3})).then((group4=>{if(!TreeElement.empty(group4)){result._groups.set(id,group4)}else{group4.remove()}}))}));const listener=registry.onDidChange((()=>{const newProvider=registry.ordered(textModel);if(!equals(newProvider,provider)){cts.cancel()}}));return Promise.all(promises).then((()=>{if(cts.token.isCancellationRequested&&!token.isCancellationRequested){return OutlineModel.create(registry,textModel,token)}else{return result._compact()}})).finally((()=>{listener.dispose()}))}static _makeOutlineElement(info,container){const id=TreeElement.findId(info,container);const res=new OutlineElement(id,container,info);if(info.children){for(const childInfo of info.children){OutlineModel._makeOutlineElement(childInfo,res)}}container.children.set(res.id,res)}constructor(uri){super();this.uri=uri;this.id="root";this.parent=void 0;this._groups=new Map;this.children=new Map;this.id="root";this.parent=void 0}_compact(){let count=0;for(const[key,group3]of this._groups){if(group3.children.size===0){this._groups.delete(key)}else{count+=1}}if(count!==1){this.children=this._groups}else{const group3=Iterable.first(this._groups.values());for(const[,child]of group3.children){child.parent=this;this.children.set(child.id,child)}}return this}getTopLevelSymbols(){const roots=[];for(const child of this.children.values()){if(child instanceof OutlineElement){roots.push(child.symbol)}else{roots.push(...Iterable.map(child.children.values(),(child2=>child2.symbol)))}}return roots.sort(((a,b)=>Range.compareRangesUsingStarts(a.range,b.range)))}asListOfDocumentSymbols(){const roots=this.getTopLevelSymbols();const bucket=[];OutlineModel._flattenDocumentSymbols(bucket,roots,"");return bucket.sort(((a,b)=>Position.compare(Range.getStartPosition(a.range),Range.getStartPosition(b.range))||Position.compare(Range.getEndPosition(b.range),Range.getEndPosition(a.range))))}static _flattenDocumentSymbols(bucket,entries2,overrideContainerLabel){for(const entry of entries2){bucket.push({kind:entry.kind,tags:entry.tags,name:entry.name,detail:entry.detail,containerName:entry.containerName||overrideContainerLabel,range:entry.range,selectionRange:entry.selectionRange,children:void 0});if(entry.children){OutlineModel._flattenDocumentSymbols(bucket,entry.children,entry.name)}}}}}});var __decorate48,__param41,__awaiter31,UnchangedRangesFeature,DisposableCancellationTokenSource,OutlineSource,CollapsedCodeOverlayWidget;var init_unchangedRanges=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditorWidget2/unchangedRanges.js"(){init_dom();init_iconLabels2();init_arrays();init_cancellation();init_codicons();init_event();init_htmlContent();init_lifecycle();init_observable();init_themables();init_types();init_outlineModel();init_utils4();init_lineRange();init_position();init_range();init_languages();init_languageFeatures();init_nls();__decorate48=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param41=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};__awaiter31=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};UnchangedRangesFeature=class UnchangedRangesFeature2 extends Disposable{get isUpdatingViewZones(){return this._isUpdatingViewZones}constructor(_editors,_diffModel,_options,_languageFeaturesService){super();this._editors=_editors;this._diffModel=_diffModel;this._options=_options;this._languageFeaturesService=_languageFeaturesService;this._isUpdatingViewZones=false;this._modifiedModel=observableFromEvent(this._editors.modified.onDidChangeModel,(()=>this._editors.modified.getModel()));this._modifiedOutlineSource=derivedWithStore("modified outline source",((reader,store)=>{const m=this._modifiedModel.read(reader);if(!m){return void 0}return store.add(new OutlineSource(this._languageFeaturesService,m))}));this._register(this._editors.original.onDidChangeCursorPosition((e=>{if(e.reason===3){const m=this._diffModel.get();transaction((tx=>{for(const s of this._editors.original.getSelections()||[]){m===null||m===void 0?void 0:m.ensureOriginalLineIsVisible(s.getStartPosition().lineNumber,tx);m===null||m===void 0?void 0:m.ensureOriginalLineIsVisible(s.getEndPosition().lineNumber,tx)}}))}})));this._register(this._editors.modified.onDidChangeCursorPosition((e=>{if(e.reason===3){const m=this._diffModel.get();transaction((tx=>{for(const s of this._editors.modified.getSelections()||[]){m===null||m===void 0?void 0:m.ensureModifiedLineIsVisible(s.getStartPosition().lineNumber,tx);m===null||m===void 0?void 0:m.ensureModifiedLineIsVisible(s.getEndPosition().lineNumber,tx)}}))}})));const unchangedRegions=this._diffModel.map(((m,reader)=>{var _a6,_b3;return((_a6=m===null||m===void 0?void 0:m.diff.read(reader))===null||_a6===void 0?void 0:_a6.mappings.length)===0?[]:(_b3=m===null||m===void 0?void 0:m.unchangedRegions.read(reader))!==null&&_b3!==void 0?_b3:[]}));const viewZones=derivedWithStore("view zones",((reader,store)=>{const origViewZones=[];const modViewZones=[];const sideBySide=this._options.renderSideBySide.read(reader);const modifiedOutlineSource=this._modifiedOutlineSource.read(reader);if(!modifiedOutlineSource){return{origViewZones:origViewZones,modViewZones:modViewZones}}const curUnchangedRegions=unchangedRegions.read(reader);for(const r of curUnchangedRegions){if(r.shouldHideControls(reader)){continue}{const d=derived((reader2=>r.getHiddenOriginalRange(reader2).startLineNumber-1));const origVz=new PlaceholderViewZone(d,24);origViewZones.push(origVz);store.add(new CollapsedCodeOverlayWidget(this._editors.original,origVz,r,r.originalRange,!sideBySide,modifiedOutlineSource,(l=>this._diffModel.get().ensureModifiedLineIsVisible(l,void 0)),this._options))}{const d=derived((reader2=>r.getHiddenModifiedRange(reader2).startLineNumber-1));const modViewZone=new PlaceholderViewZone(d,24);modViewZones.push(modViewZone);store.add(new CollapsedCodeOverlayWidget(this._editors.modified,modViewZone,r,r.modifiedRange,false,modifiedOutlineSource,(l=>this._diffModel.get().ensureModifiedLineIsVisible(l,void 0)),this._options))}}return{origViewZones:origViewZones,modViewZones:modViewZones}}));const unchangedLinesDecoration={description:"unchanged lines",className:"diff-unchanged-lines",isWholeLine:true};const unchangedLinesDecorationShow={description:"Fold Unchanged",glyphMarginHoverMessage:new MarkdownString(void 0,{isTrusted:true,supportThemeIcons:true}).appendMarkdown(localize("foldUnchanged","Fold Unchanged Region")),glyphMarginClassName:"fold-unchanged "+ThemeIcon.asClassName(Codicon.fold),zIndex:10001};this._register(applyObservableDecorations(this._editors.original,derived((reader=>{const curUnchangedRegions=unchangedRegions.read(reader);const result=curUnchangedRegions.map((r=>({range:r.originalRange.toInclusiveRange(),options:unchangedLinesDecoration})));for(const r of curUnchangedRegions){if(r.shouldHideControls(reader)){result.push({range:Range.fromPositions(new Position(r.originalLineNumber,1)),options:unchangedLinesDecorationShow})}}return result}))));this._register(applyObservableDecorations(this._editors.modified,derived((reader=>{const curUnchangedRegions=unchangedRegions.read(reader);const result=curUnchangedRegions.map((r=>({range:r.modifiedRange.toInclusiveRange(),options:unchangedLinesDecoration})));for(const r of curUnchangedRegions){if(r.shouldHideControls(reader)){result.push({range:LineRange.ofLength(r.modifiedLineNumber,1).toInclusiveRange(),options:unchangedLinesDecorationShow})}}return result}))));this._register(applyViewZones(this._editors.original,viewZones.map((v=>v.origViewZones)),(v=>this._isUpdatingViewZones=v)));this._register(applyViewZones(this._editors.modified,viewZones.map((v=>v.modViewZones)),(v=>this._isUpdatingViewZones=v)));this._register(autorun((reader=>{const curUnchangedRegions=unchangedRegions.read(reader);this._editors.original.setHiddenAreas(curUnchangedRegions.map((r=>r.getHiddenOriginalRange(reader).toInclusiveRange())).filter(isDefined));this._editors.modified.setHiddenAreas(curUnchangedRegions.map((r=>r.getHiddenModifiedRange(reader).toInclusiveRange())).filter(isDefined))})));this._register(this._editors.modified.onMouseUp((event=>{var _a6;if(!event.event.rightButton&&event.target.position&&((_a6=event.target.element)===null||_a6===void 0?void 0:_a6.className.includes("fold-unchanged"))){const lineNumber=event.target.position.lineNumber;const model=this._diffModel.get();if(!model){return}const region=model.unchangedRegions.get().find((r=>r.modifiedRange.includes(lineNumber)));if(!region){return}region.collapseAll(void 0);event.event.stopPropagation();event.event.preventDefault()}})));this._register(this._editors.original.onMouseUp((event=>{var _a6;if(!event.event.rightButton&&event.target.position&&((_a6=event.target.element)===null||_a6===void 0?void 0:_a6.className.includes("fold-unchanged"))){const lineNumber=event.target.position.lineNumber;const model=this._diffModel.get();if(!model){return}const region=model.unchangedRegions.get().find((r=>r.originalRange.includes(lineNumber)));if(!region){return}region.collapseAll(void 0);event.event.stopPropagation();event.event.preventDefault()}})))}};UnchangedRangesFeature=__decorate48([__param41(3,ILanguageFeaturesService)],UnchangedRangesFeature);DisposableCancellationTokenSource=class extends CancellationTokenSource{dispose(){super.dispose(true)}};OutlineSource=class OutlineSource2 extends Disposable{constructor(_languageFeaturesService,_textModel){super();this._languageFeaturesService=_languageFeaturesService;this._textModel=_textModel;this._currentModel=observableValue("current model",void 0);const documentSymbolProviderChanged=observableSignalFromEvent("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange);const textModelChanged=observableSignalFromEvent("_textModel.onDidChangeContent",Event.debounce((e=>this._textModel.onDidChangeContent(e)),(()=>void 0),100));this._register(autorunWithStore(((reader,store)=>__awaiter31(this,void 0,void 0,(function*(){documentSymbolProviderChanged.read(reader);textModelChanged.read(reader);const src=store.add(new DisposableCancellationTokenSource);const model=yield OutlineModel.create(this._languageFeaturesService.documentSymbolProvider,this._textModel,src.token);if(store.isDisposed){return}this._currentModel.set(model,void 0)})))))}getBreadcrumbItems(startRange,reader){const m=this._currentModel.read(reader);if(!m){return[]}const symbols=m.asListOfDocumentSymbols().filter((s=>startRange.contains(s.range.startLineNumber)&&!startRange.contains(s.range.endLineNumber)));symbols.sort(reverseOrder(compareBy((s=>s.range.endLineNumber-s.range.startLineNumber),numberComparator)));return symbols.map((s=>({name:s.name,kind:s.kind,startLineNumber:s.range.startLineNumber})))}};OutlineSource=__decorate48([__param41(0,ILanguageFeaturesService)],OutlineSource);CollapsedCodeOverlayWidget=class extends ViewZoneOverlayWidget{constructor(_editor,_viewZone,_unchangedRegion,_unchangedRegionRange,hide2,_modifiedOutlineSource,_revealModifiedHiddenLine,_options){const root=h("div.diff-hidden-lines-widget");super(_editor,_viewZone,root.root);this._editor=_editor;this._unchangedRegion=_unchangedRegion;this._unchangedRegionRange=_unchangedRegionRange;this.hide=hide2;this._modifiedOutlineSource=_modifiedOutlineSource;this._revealModifiedHiddenLine=_revealModifiedHiddenLine;this._options=_options;this._nodes=h("div.diff-hidden-lines",[h("div.top@top",{title:localize("diff.hiddenLines.top","Click or drag to show more above")}),h("div.center@content",{style:{display:"flex"}},[h("div@first",{style:{display:"flex",justifyContent:"center",alignItems:"center",flexShrink:"0"}},[$("a",{title:localize("showAll","Show all"),role:"button",onclick:()=>{this.showAll()}},...renderLabelWithIcons("$(unfold)"))]),h("div@others",{style:{display:"flex",justifyContent:"center",alignItems:"center"}})]),h("div.bottom@bottom",{title:localize("diff.bottom","Click or drag to show more below"),role:"button"})]);root.root.appendChild(this._nodes.root);const layoutInfo=observableFromEvent(this._editor.onDidLayoutChange,(()=>this._editor.getLayoutInfo()));if(!this.hide){this._register(applyStyle(this._nodes.first,{width:layoutInfo.map((l=>l.contentLeft))}))}else{reset(this._nodes.first)}const editor2=this._editor;this._register(addDisposableListener(this._nodes.top,"mousedown",(e=>{if(e.button!==0){return}this._nodes.top.classList.toggle("dragging",true);this._nodes.root.classList.toggle("dragging",true);e.preventDefault();const startTop=e.clientY;let didMove=false;const cur=this._unchangedRegion.visibleLineCountTop.get();this._unchangedRegion.isDragged.set(true,void 0);const mouseMoveListener=addDisposableListener(window,"mousemove",(e2=>{const currentTop=e2.clientY;const delta=currentTop-startTop;didMove=didMove||Math.abs(delta)>2;const lineDelta=Math.round(delta/editor2.getOption(65));const newVal=Math.max(0,Math.min(cur+lineDelta,this._unchangedRegion.getMaxVisibleLineCountTop()));this._unchangedRegion.visibleLineCountTop.set(newVal,void 0)}));const mouseUpListener=addDisposableListener(window,"mouseup",(e2=>{if(!didMove){this._unchangedRegion.showMoreAbove(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0)}this._nodes.top.classList.toggle("dragging",false);this._nodes.root.classList.toggle("dragging",false);this._unchangedRegion.isDragged.set(false,void 0);mouseMoveListener.dispose();mouseUpListener.dispose()}))})));this._register(addDisposableListener(this._nodes.bottom,"mousedown",(e=>{if(e.button!==0){return}this._nodes.bottom.classList.toggle("dragging",true);this._nodes.root.classList.toggle("dragging",true);e.preventDefault();const startTop=e.clientY;let didMove=false;const cur=this._unchangedRegion.visibleLineCountBottom.get();this._unchangedRegion.isDragged.set(true,void 0);const mouseMoveListener=addDisposableListener(window,"mousemove",(e2=>{const currentTop=e2.clientY;const delta=currentTop-startTop;didMove=didMove||Math.abs(delta)>2;const lineDelta=Math.round(delta/editor2.getOption(65));const newVal=Math.max(0,Math.min(cur-lineDelta,this._unchangedRegion.getMaxVisibleLineCountBottom()));const top=editor2.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.visibleLineCountBottom.set(newVal,void 0);const top2=editor2.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);editor2.setScrollTop(editor2.getScrollTop()+(top2-top))}));const mouseUpListener=addDisposableListener(window,"mouseup",(e2=>{this._unchangedRegion.isDragged.set(false,void 0);if(!didMove){const top=editor2.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.showMoreBelow(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);const top2=editor2.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);editor2.setScrollTop(editor2.getScrollTop()+(top2-top))}this._nodes.bottom.classList.toggle("dragging",false);this._nodes.root.classList.toggle("dragging",false);mouseMoveListener.dispose();mouseUpListener.dispose()}))})));this._register(autorun((reader=>{const children=[];if(!this.hide){const lineCount=_unchangedRegion.getHiddenModifiedRange(reader).length;const linesHiddenText=localize("hiddenLines","{0} hidden lines",lineCount);const span=$("span",{title:localize("diff.hiddenLines.expandAll","Double click to unfold")},linesHiddenText);span.addEventListener("dblclick",(e=>{if(e.button!==0){return}e.preventDefault();this.showAll()}));children.push(span);const range2=this._unchangedRegion.getHiddenModifiedRange(reader);const items=this._modifiedOutlineSource.getBreadcrumbItems(range2,reader);if(items.length>0){children.push($("span",void 0,"  |  "));for(let i=0;i<items.length;i++){const item=items[i];const icon=SymbolKinds.toIcon(item.kind);const divItem=h("div.breadcrumb-item",{style:{display:"flex",alignItems:"center"}},[renderIcon(icon)," ",item.name,...i===items.length-1?[]:[renderIcon(Codicon.chevronRight)]]).root;children.push(divItem);divItem.onclick=()=>{this._revealModifiedHiddenLine(item.startLineNumber)}}}}reset(this._nodes.others,...children)})))}showAll(){this._unchangedRegion.showAll(void 0)}}}});var diffMoveBorder,diffMoveBorderActive;var init_colors=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditorWidget2/colors.js"(){init_nls();init_colorRegistry();diffMoveBorder=registerColor("diffEditor.move.border",{dark:"#8b8b8b9c",light:"#8b8b8b9c",hcDark:"#8b8b8b9c",hcLight:"#8b8b8b9c"},localize("diffEditor.move.border","The border color for text that got moved in the diff editor."));diffMoveBorderActive=registerColor("diffEditor.moveActive.border",{dark:"#FFA500",light:"#FFA500",hcDark:"#FFA500",hcLight:"#FFA500"},localize("diffEditor.moveActive.border","The active border color for text that got moved in the diff editor."))}});var DelegatingEditor;var init_delegatingEditorImpl=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditorWidget2/delegatingEditorImpl.js"(){init_event();init_lifecycle();DelegatingEditor=class extends Disposable{constructor(){super(...arguments);this._id=++DelegatingEditor.idCounter;this._onDidDispose=this._register(new Emitter);this.onDidDispose=this._onDidDispose.event}getId(){return this.getEditorType()+":v2:"+this._id}getVisibleColumnFromPosition(position){return this._targetEditor.getVisibleColumnFromPosition(position)}getPosition(){return this._targetEditor.getPosition()}setPosition(position,source="api"){this._targetEditor.setPosition(position,source)}revealLine(lineNumber,scrollType=0){this._targetEditor.revealLine(lineNumber,scrollType)}revealLineInCenter(lineNumber,scrollType=0){this._targetEditor.revealLineInCenter(lineNumber,scrollType)}revealLineInCenterIfOutsideViewport(lineNumber,scrollType=0){this._targetEditor.revealLineInCenterIfOutsideViewport(lineNumber,scrollType)}revealLineNearTop(lineNumber,scrollType=0){this._targetEditor.revealLineNearTop(lineNumber,scrollType)}revealPosition(position,scrollType=0){this._targetEditor.revealPosition(position,scrollType)}revealPositionInCenter(position,scrollType=0){this._targetEditor.revealPositionInCenter(position,scrollType)}revealPositionInCenterIfOutsideViewport(position,scrollType=0){this._targetEditor.revealPositionInCenterIfOutsideViewport(position,scrollType)}revealPositionNearTop(position,scrollType=0){this._targetEditor.revealPositionNearTop(position,scrollType)}getSelection(){return this._targetEditor.getSelection()}getSelections(){return this._targetEditor.getSelections()}setSelection(something,source="api"){this._targetEditor.setSelection(something,source)}setSelections(ranges,source="api"){this._targetEditor.setSelections(ranges,source)}revealLines(startLineNumber,endLineNumber,scrollType=0){this._targetEditor.revealLines(startLineNumber,endLineNumber,scrollType)}revealLinesInCenter(startLineNumber,endLineNumber,scrollType=0){this._targetEditor.revealLinesInCenter(startLineNumber,endLineNumber,scrollType)}revealLinesInCenterIfOutsideViewport(startLineNumber,endLineNumber,scrollType=0){this._targetEditor.revealLinesInCenterIfOutsideViewport(startLineNumber,endLineNumber,scrollType)}revealLinesNearTop(startLineNumber,endLineNumber,scrollType=0){this._targetEditor.revealLinesNearTop(startLineNumber,endLineNumber,scrollType)}revealRange(range2,scrollType=0,revealVerticalInCenter=false,revealHorizontal=true){this._targetEditor.revealRange(range2,scrollType,revealVerticalInCenter,revealHorizontal)}revealRangeInCenter(range2,scrollType=0){this._targetEditor.revealRangeInCenter(range2,scrollType)}revealRangeInCenterIfOutsideViewport(range2,scrollType=0){this._targetEditor.revealRangeInCenterIfOutsideViewport(range2,scrollType)}revealRangeNearTop(range2,scrollType=0){this._targetEditor.revealRangeNearTop(range2,scrollType)}revealRangeNearTopIfOutsideViewport(range2,scrollType=0){this._targetEditor.revealRangeNearTopIfOutsideViewport(range2,scrollType)}revealRangeAtTop(range2,scrollType=0){this._targetEditor.revealRangeAtTop(range2,scrollType)}getSupportedActions(){return this._targetEditor.getSupportedActions()}focus(){this._targetEditor.focus()}trigger(source,handlerId,payload){this._targetEditor.trigger(source,handlerId,payload)}createDecorationsCollection(decorations){return this._targetEditor.createDecorationsCollection(decorations)}changeDecorations(callback){return this._targetEditor.changeDecorations(callback)}};DelegatingEditor.idCounter=0}});var __decorate49,__param42,DiffEditorEditors;var init_diffEditorEditors=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditorWidget2/diffEditorEditors.js"(){init_event();init_lifecycle();init_observable();init_overviewRulerPart();init_editorOptions();init_nls();init_instantiation();init_keybinding();__decorate49=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param42=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};DiffEditorEditors=class DiffEditorEditors2 extends Disposable{constructor(originalEditorElement,modifiedEditorElement,_options,codeEditorWidgetOptions,_createInnerEditor,_instantiationService,_keybindingService){super();this.originalEditorElement=originalEditorElement;this.modifiedEditorElement=modifiedEditorElement;this._options=_options;this._createInnerEditor=_createInnerEditor;this._instantiationService=_instantiationService;this._keybindingService=_keybindingService;this._onDidContentSizeChange=this._register(new Emitter);this.original=this._register(this._createLeftHandSideEditor(_options.editorOptions.get(),codeEditorWidgetOptions.originalEditor||{}));this.modified=this._register(this._createRightHandSideEditor(_options.editorOptions.get(),codeEditorWidgetOptions.modifiedEditor||{}));this._register(autorunHandleChanges({createEmptyChangeSummary:()=>({}),handleChange:(ctx,changeSummary)=>{if(ctx.didChange(_options.editorOptions)){Object.assign(changeSummary,ctx.change.changedOptions)}return true}},((reader,changeSummary)=>{_options.editorOptions.read(reader);this._options.renderSideBySide.read(reader);this.modified.updateOptions(this._adjustOptionsForRightHandSide(reader,changeSummary));this.original.updateOptions(this._adjustOptionsForLeftHandSide(reader,changeSummary))})))}_createLeftHandSideEditor(options2,codeEditorWidgetOptions){const leftHandSideOptions=this._adjustOptionsForLeftHandSide(void 0,options2);const editor2=this._constructInnerEditor(this._instantiationService,this.originalEditorElement,leftHandSideOptions,codeEditorWidgetOptions);editor2.setContextValue("isInDiffLeftEditor",true);return editor2}_createRightHandSideEditor(options2,codeEditorWidgetOptions){const rightHandSideOptions=this._adjustOptionsForRightHandSide(void 0,options2);const editor2=this._constructInnerEditor(this._instantiationService,this.modifiedEditorElement,rightHandSideOptions,codeEditorWidgetOptions);editor2.setContextValue("isInDiffRightEditor",true);return editor2}_constructInnerEditor(instantiationService,container,options2,editorWidgetOptions){const editor2=this._createInnerEditor(instantiationService,container,options2,editorWidgetOptions);this._register(editor2.onDidContentSizeChange((e=>{const width=this.original.getContentWidth()+this.modified.getContentWidth()+OverviewRulerPart.ENTIRE_DIFF_OVERVIEW_WIDTH;const height=Math.max(this.modified.getContentHeight(),this.original.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:height,contentWidth:width,contentHeightChanged:e.contentHeightChanged,contentWidthChanged:e.contentWidthChanged})})));return editor2}_adjustOptionsForLeftHandSide(_reader,changedOptions){const result=this._adjustOptionsForSubEditor(changedOptions);if(!this._options.renderSideBySide.get()){result.wordWrapOverride1="off";result.wordWrapOverride2="off";result.stickyScroll={enabled:false};result.unicodeHighlight={nonBasicASCII:false,ambiguousCharacters:false,invisibleCharacters:false}}else{result.unicodeHighlight=this._options.editorOptions.get().unicodeHighlight||{};result.wordWrapOverride1=this._options.diffWordWrap.get()}if(changedOptions.originalAriaLabel){result.ariaLabel=changedOptions.originalAriaLabel}result.ariaLabel=this._updateAriaLabel(result.ariaLabel);result.readOnly=!this._options.originalEditable.get();result.dropIntoEditor={enabled:!result.readOnly};result.extraEditorClassName="original-in-monaco-diff-editor";return result}_adjustOptionsForRightHandSide(reader,changedOptions){const result=this._adjustOptionsForSubEditor(changedOptions);if(changedOptions.modifiedAriaLabel){result.ariaLabel=changedOptions.modifiedAriaLabel}result.ariaLabel=this._updateAriaLabel(result.ariaLabel);result.wordWrapOverride1=this._options.diffWordWrap.get();result.revealHorizontalRightPadding=EditorOptions.revealHorizontalRightPadding.defaultValue+OverviewRulerPart.ENTIRE_DIFF_OVERVIEW_WIDTH;result.scrollbar.verticalHasArrows=false;result.extraEditorClassName="modified-in-monaco-diff-editor";return result}_adjustOptionsForSubEditor(options2){const clonedOptions=Object.assign(Object.assign({},options2),{dimension:{height:0,width:0}});clonedOptions.inDiffEditor=true;clonedOptions.automaticLayout=false;clonedOptions.scrollbar=Object.assign({},clonedOptions.scrollbar||{});clonedOptions.scrollbar.vertical="visible";clonedOptions.folding=false;clonedOptions.codeLens=this._options.diffCodeLens.get();clonedOptions.fixedOverflowWidgets=true;clonedOptions.minimap=Object.assign({},clonedOptions.minimap||{});clonedOptions.minimap.enabled=false;if(this._options.hideUnchangedRegions.get()){clonedOptions.stickyScroll={enabled:false}}else{clonedOptions.stickyScroll=this._options.editorOptions.get().stickyScroll}return clonedOptions}_updateAriaLabel(ariaLabel){var _a6;if(!ariaLabel){ariaLabel=""}const ariaNavigationTip2=localize("diff-aria-navigation-tip"," use {0} to open the accessibility help.",(_a6=this._keybindingService.lookupKeybinding("editor.action.accessibilityHelp"))===null||_a6===void 0?void 0:_a6.getAriaLabel());if(this._options.accessibilityVerbose.get()){return ariaLabel+ariaNavigationTip2}else if(ariaLabel){return ariaLabel.replaceAll(ariaNavigationTip2,"")}return""}};DiffEditorEditors=__decorate49([__param42(5,IInstantiationService),__param42(6,IKeybindingService)],DiffEditorEditors)}});function validateDiffEditorOptions2(options2,defaults){var _a6,_b3,_c2,_d2,_e2,_f2,_g2,_h2;return{enableSplitViewResizing:boolean(options2.enableSplitViewResizing,defaults.enableSplitViewResizing),splitViewDefaultRatio:clampedFloat(options2.splitViewDefaultRatio,.5,.1,.9),renderSideBySide:boolean(options2.renderSideBySide,defaults.renderSideBySide),renderMarginRevertIcon:boolean(options2.renderMarginRevertIcon,defaults.renderMarginRevertIcon),maxComputationTime:clampedInt(options2.maxComputationTime,defaults.maxComputationTime,0,1073741824),maxFileSize:clampedInt(options2.maxFileSize,defaults.maxFileSize,0,1073741824),ignoreTrimWhitespace:boolean(options2.ignoreTrimWhitespace,defaults.ignoreTrimWhitespace),renderIndicators:boolean(options2.renderIndicators,defaults.renderIndicators),originalEditable:boolean(options2.originalEditable,defaults.originalEditable),diffCodeLens:boolean(options2.diffCodeLens,defaults.diffCodeLens),renderOverviewRuler:boolean(options2.renderOverviewRuler,defaults.renderOverviewRuler),diffWordWrap:stringSet(options2.diffWordWrap,defaults.diffWordWrap,["off","on","inherit"]),diffAlgorithm:stringSet(options2.diffAlgorithm,defaults.diffAlgorithm,["legacy","advanced"],{smart:"legacy",experimental:"advanced"}),accessibilityVerbose:boolean(options2.accessibilityVerbose,defaults.accessibilityVerbose),experimental:{showMoves:boolean((_a6=options2.experimental)===null||_a6===void 0?void 0:_a6.showMoves,defaults.experimental.showMoves),showEmptyDecorations:boolean((_b3=options2.experimental)===null||_b3===void 0?void 0:_b3.showEmptyDecorations,defaults.experimental.showEmptyDecorations)},hideUnchangedRegions:{enabled:boolean((_d2=(_c2=options2.hideUnchangedRegions)===null||_c2===void 0?void 0:_c2.enabled)!==null&&_d2!==void 0?_d2:(_e2=options2.experimental)===null||_e2===void 0?void 0:_e2.collapseUnchangedRegions,defaults.hideUnchangedRegions.enabled),contextLineCount:clampedInt((_f2=options2.hideUnchangedRegions)===null||_f2===void 0?void 0:_f2.contextLineCount,defaults.hideUnchangedRegions.contextLineCount,0,1073741824),minimumLineCount:clampedInt((_g2=options2.hideUnchangedRegions)===null||_g2===void 0?void 0:_g2.minimumLineCount,defaults.hideUnchangedRegions.minimumLineCount,0,1073741824),revealLineCount:clampedInt((_h2=options2.hideUnchangedRegions)===null||_h2===void 0?void 0:_h2.revealLineCount,defaults.hideUnchangedRegions.revealLineCount,0,1073741824)},isInEmbeddedEditor:boolean(options2.isInEmbeddedEditor,defaults.isInEmbeddedEditor),onlyShowAccessibleDiffViewer:boolean(options2.onlyShowAccessibleDiffViewer,defaults.onlyShowAccessibleDiffViewer),renderSideBySideInlineBreakpoint:clampedInt(options2.renderSideBySideInlineBreakpoint,defaults.renderSideBySideInlineBreakpoint,0,1073741824),useInlineViewWhenSpaceIsLimited:boolean(options2.useInlineViewWhenSpaceIsLimited,defaults.useInlineViewWhenSpaceIsLimited)}}var DiffEditorOptions;var init_diffEditorOptions=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditorWidget2/diffEditorOptions.js"(){init_observable();init_diffEditor();init_editorOptions();DiffEditorOptions=class{get editorOptions(){return this._options}constructor(options2,diffEditorWidth){this.diffEditorWidth=diffEditorWidth;this.couldShowInlineViewBecauseOfSize=derived((reader=>this._options.read(reader).renderSideBySide&&this.diffEditorWidth.read(reader)<=this._options.read(reader).renderSideBySideInlineBreakpoint));this.renderOverviewRuler=derived((reader=>this._options.read(reader).renderOverviewRuler));this.renderSideBySide=derived((reader=>this._options.read(reader).renderSideBySide&&!(this._options.read(reader).useInlineViewWhenSpaceIsLimited&&this.couldShowInlineViewBecauseOfSize.read(reader))));this.readOnly=derived((reader=>this._options.read(reader).readOnly));this.shouldRenderRevertArrows=derived((reader=>{if(!this._options.read(reader).renderMarginRevertIcon){return false}if(!this.renderSideBySide.read(reader)){return false}if(this.readOnly.read(reader)){return false}return true}));this.renderIndicators=derived((reader=>this._options.read(reader).renderIndicators));this.enableSplitViewResizing=derived((reader=>this._options.read(reader).enableSplitViewResizing));this.splitViewDefaultRatio=derived((reader=>this._options.read(reader).splitViewDefaultRatio));this.ignoreTrimWhitespace=derived((reader=>this._options.read(reader).ignoreTrimWhitespace));this.maxComputationTimeMs=derived((reader=>this._options.read(reader).maxComputationTime));this.showMoves=derived((reader=>this._options.read(reader).experimental.showMoves&&this.renderSideBySide.read(reader)));this.isInEmbeddedEditor=derived((reader=>this._options.read(reader).isInEmbeddedEditor));this.diffWordWrap=derived((reader=>this._options.read(reader).diffWordWrap));this.originalEditable=derived((reader=>this._options.read(reader).originalEditable));this.diffCodeLens=derived((reader=>this._options.read(reader).diffCodeLens));this.accessibilityVerbose=derived((reader=>this._options.read(reader).accessibilityVerbose));this.diffAlgorithm=derived((reader=>this._options.read(reader).diffAlgorithm));this.showEmptyDecorations=derived((reader=>this._options.read(reader).experimental.showEmptyDecorations));this.onlyShowAccessibleDiffViewer=derived((reader=>this._options.read(reader).onlyShowAccessibleDiffViewer));this.hideUnchangedRegions=derived((reader=>this._options.read(reader).hideUnchangedRegions.enabled));this.hideUnchangedRegionsRevealLineCount=derived((reader=>this._options.read(reader).hideUnchangedRegions.revealLineCount));this.hideUnchangedRegionsContextLineCount=derived((reader=>this._options.read(reader).hideUnchangedRegions.contextLineCount));this.hideUnchangedRegionsminimumLineCount=derived((reader=>this._options.read(reader).hideUnchangedRegions.minimumLineCount));const optionsCopy=Object.assign(Object.assign({},options2),validateDiffEditorOptions2(options2,diffEditorDefaultOptions));this._options=observableValue("options",optionsCopy)}updateOptions(changedOptions){const newDiffEditorOptions=validateDiffEditorOptions2(changedOptions,this._options.get());const newOptions=Object.assign(Object.assign(Object.assign({},this._options.get()),changedOptions),newDiffEditorOptions);this._options.set(newOptions,void 0,{changedOptions:changedOptions})}}}});function toLineChanges(state){return state.mappings.map((x=>{const m=x.lineRangeMapping;let originalStartLineNumber;let originalEndLineNumber;let modifiedStartLineNumber;let modifiedEndLineNumber;let innerChanges=m.innerChanges;if(m.originalRange.isEmpty){originalStartLineNumber=m.originalRange.startLineNumber-1;originalEndLineNumber=0;innerChanges=void 0}else{originalStartLineNumber=m.originalRange.startLineNumber;originalEndLineNumber=m.originalRange.endLineNumberExclusive-1}if(m.modifiedRange.isEmpty){modifiedStartLineNumber=m.modifiedRange.startLineNumber-1;modifiedEndLineNumber=0;innerChanges=void 0}else{modifiedStartLineNumber=m.modifiedRange.startLineNumber;modifiedEndLineNumber=m.modifiedRange.endLineNumberExclusive-1}return{originalStartLineNumber:originalStartLineNumber,originalEndLineNumber:originalEndLineNumber,modifiedStartLineNumber:modifiedStartLineNumber,modifiedEndLineNumber:modifiedEndLineNumber,charChanges:innerChanges===null||innerChanges===void 0?void 0:innerChanges.map((m2=>({originalStartLineNumber:m2.originalRange.startLineNumber,originalStartColumn:m2.originalRange.startColumn,originalEndLineNumber:m2.originalRange.endLineNumber,originalEndColumn:m2.originalRange.endColumn,modifiedStartLineNumber:m2.modifiedRange.startLineNumber,modifiedStartColumn:m2.modifiedRange.startColumn,modifiedEndLineNumber:m2.modifiedRange.endLineNumber,modifiedEndColumn:m2.modifiedRange.endColumn})))}}))}var __decorate50,__param43,DiffEditorWidget22;var init_diffEditorWidget2=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/widget/diffEditorWidget2/diffEditorWidget2.js"(){init_dom();init_errors();init_event();init_observable();init_47();init_editorExtensions();init_codeEditorService();init_codeEditorWidget();init_accessibleDiffViewer();init_diffEditorDecorations();init_diffEditorSash();init_lineAlignment();init_movedBlocksLines();init_overviewRulerPart();init_unchangedRanges();init_utils4();init_workerBasedDocumentDiffProvider();init_editorCommon();init_editorContextKeys();init_audioCueService();init_contextkey();init_instantiation();init_serviceCollection();init_colors();init_delegatingEditorImpl();init_diffEditorEditors();init_diffEditorOptions();init_diffEditorViewModel();init_lifecycle();init_progress();__decorate50=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param43=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};DiffEditorWidget22=class DiffEditorWidget23 extends DelegatingEditor{constructor(_domElement,options2,codeEditorWidgetOptions,_parentContextKeyService,_parentInstantiationService,codeEditorService,_audioCueService,_editorProgressService){var _a6;super();this._domElement=_domElement;this._parentContextKeyService=_parentContextKeyService;this._parentInstantiationService=_parentInstantiationService;this._audioCueService=_audioCueService;this._editorProgressService=_editorProgressService;this.elements=h("div.monaco-diff-editor.side-by-side",{style:{position:"relative",height:"100%"}},[h("div.noModificationsOverlay@overlay",{style:{position:"absolute",height:"100%",visibility:"hidden"}},[$("span",{},"No Changes")]),h("div.editor.original@original",{style:{position:"absolute",height:"100%"}}),h("div.editor.modified@modified",{style:{position:"absolute",height:"100%"}}),h("div.accessibleDiffViewer@accessibleDiffViewer",{style:{position:"absolute",height:"100%"}})]);this._diffModel=this._register(disposableObservableValue("diffModel",void 0));this.onDidChangeModel=Event.fromObservableLight(this._diffModel);this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._domElement));this._instantiationService=this._parentInstantiationService.createChild(new ServiceCollection([IContextKeyService,this._contextKeyService]));this._boundarySashes=observableValue("boundarySashes",void 0);this._accessibleDiffViewerShouldBeVisible=observableValue("accessibleDiffViewerShouldBeVisible",false);this._accessibleDiffViewerVisible=derived((reader=>this._options.onlyShowAccessibleDiffViewer.read(reader)?true:this._accessibleDiffViewerShouldBeVisible.read(reader)));this.movedBlocksLinesPart=observableValue("MovedBlocksLinesPart",void 0);this._layoutInfo=derived((reader=>{var _a7,_b3,_c2;const width=this._rootSizeObserver.width.read(reader);const height=this._rootSizeObserver.height.read(reader);const sashLeft=(_a7=this._sash.read(reader))===null||_a7===void 0?void 0:_a7.sashLeft.read(reader);const originalWidth=sashLeft!==null&&sashLeft!==void 0?sashLeft:Math.max(5,this._editors.original.getLayoutInfo().decorationsLeft);const modifiedWidth=width-originalWidth-(this._options.renderOverviewRuler.read(reader)?OverviewRulerPart.ENTIRE_DIFF_OVERVIEW_WIDTH:0);const movedBlocksLinesWidth=(_c2=(_b3=this.movedBlocksLinesPart.read(reader))===null||_b3===void 0?void 0:_b3.width.read(reader))!==null&&_c2!==void 0?_c2:0;const originalWidthWithoutMovedBlockLines=originalWidth-movedBlocksLinesWidth;this.elements.original.style.width=originalWidthWithoutMovedBlockLines+"px";this.elements.original.style.left="0px";this.elements.modified.style.width=modifiedWidth+"px";this.elements.modified.style.left=originalWidth+"px";this._editors.original.layout({width:originalWidthWithoutMovedBlockLines,height:height});this._editors.modified.layout({width:modifiedWidth,height:height});return{modifiedEditor:this._editors.modified.getLayoutInfo(),originalEditor:this._editors.original.getLayoutInfo()}}));this._diffValue=this._diffModel.map(((m,r)=>m===null||m===void 0?void 0:m.diff.read(r)));this.onDidUpdateDiff=Event.fromObservableLight(this._diffValue);codeEditorService.willCreateDiffEditor();this._contextKeyService.createKey("isInDiffEditor",true);this._contextKeyService.createKey("diffEditorVersion",2);this._domElement.appendChild(this.elements.root);this._register(toDisposable((()=>this._domElement.removeChild(this.elements.root))));this._rootSizeObserver=this._register(new ObservableElementSizeObserver(this.elements.root,options2.dimension));this._rootSizeObserver.setAutomaticLayout((_a6=options2.automaticLayout)!==null&&_a6!==void 0?_a6:false);this._options=new DiffEditorOptions(options2,this._rootSizeObserver.width);this._contextKeyService.createKey(EditorContextKeys.isEmbeddedDiffEditor.key,false);const isEmbeddedDiffEditorKey=EditorContextKeys.isEmbeddedDiffEditor.bindTo(this._contextKeyService);this._register(autorun((reader=>{isEmbeddedDiffEditorKey.set(this._options.isInEmbeddedEditor.read(reader))})));const comparingMovedCodeKey=EditorContextKeys.comparingMovedCode.bindTo(this._contextKeyService);this._register(autorun((reader=>{var _a7;comparingMovedCodeKey.set(!!((_a7=this._diffModel.read(reader))===null||_a7===void 0?void 0:_a7.movedTextToCompare.read(reader)))})));const diffEditorRenderSideBySideInlineBreakpointReachedContextKeyValue=EditorContextKeys.diffEditorRenderSideBySideInlineBreakpointReached.bindTo(this._contextKeyService);this._register(autorun((reader=>{diffEditorRenderSideBySideInlineBreakpointReachedContextKeyValue.set(this._options.couldShowInlineViewBecauseOfSize.read(reader))})));this._editors=this._register(this._instantiationService.createInstance(DiffEditorEditors,this.elements.original,this.elements.modified,this._options,codeEditorWidgetOptions,((i,c,o,o2)=>this._createInnerEditor(i,c,o,o2))));this._sash=derivedWithStore("sash",((reader,store)=>{const showSash=this._options.renderSideBySide.read(reader);this.elements.root.classList.toggle("side-by-side",showSash);if(!showSash){return void 0}const result=store.add(new DiffEditorSash(this._options,this.elements.root,{height:this._rootSizeObserver.height,width:this._rootSizeObserver.width.map(((w,reader2)=>w-(this._options.renderOverviewRuler.read(reader2)?OverviewRulerPart.ENTIRE_DIFF_OVERVIEW_WIDTH:0)))}));store.add(autorun((reader2=>{const boundarySashes=this._boundarySashes.read(reader2);if(boundarySashes){result.setBoundarySashes(boundarySashes)}})));return result}));this._register(keepAlive(this._sash,true));this._register(autorunWithStore(((reader,store)=>{this.unchangedRangesFeature=store.add(this._instantiationService.createInstance(readHotReloadableExport(UnchangedRangesFeature,reader),this._editors,this._diffModel,this._options))})));this._register(autorunWithStore(((reader,store)=>{store.add(new(readHotReloadableExport(DiffEditorDecorations,reader))(this._editors,this._diffModel,this._options))})));this._register(autorunWithStore(((reader,store)=>{store.add(this._instantiationService.createInstance(readHotReloadableExport(ViewZoneManager,reader),this._editors,this._diffModel,this._options,this,(()=>this.unchangedRangesFeature.isUpdatingViewZones)))})));this._register(autorunWithStore(((reader,store)=>{store.add(this._instantiationService.createInstance(readHotReloadableExport(OverviewRulerPart,reader),this._editors,this.elements.root,this._diffModel,this._rootSizeObserver.width,this._rootSizeObserver.height,this._layoutInfo.map((i=>i.modifiedEditor)),this._options))})));this._register(autorunWithStore(((reader,store)=>{this._accessibleDiffViewer=store.add(this._register(this._instantiationService.createInstance(readHotReloadableExport(AccessibleDiffViewer,reader),this.elements.accessibleDiffViewer,this._accessibleDiffViewerVisible,((visible,tx)=>this._accessibleDiffViewerShouldBeVisible.set(visible,tx)),this._options.onlyShowAccessibleDiffViewer.map((v=>!v)),this._rootSizeObserver.width,this._rootSizeObserver.height,this._diffModel.map(((m,r)=>{var _a7;return(_a7=m===null||m===void 0?void 0:m.diff.read(r))===null||_a7===void 0?void 0:_a7.mappings.map((m2=>m2.lineRangeMapping))})),this._editors)))})));const visibility=this._accessibleDiffViewerVisible.map((v=>v?"hidden":"visible"));this._register(applyStyle(this.elements.modified,{visibility:visibility}));this._register(applyStyle(this.elements.original,{visibility:visibility}));this._createDiffEditorContributions();codeEditorService.addDiffEditor(this);this._register(keepAlive(this._layoutInfo,true));this._register(autorunWithStore(((reader,store)=>{this.movedBlocksLinesPart.set(store.add(new(readHotReloadableExport(MovedBlocksLinesPart,reader))(this.elements.root,this._diffModel,this._layoutInfo.map((i=>i.originalEditor)),this._layoutInfo.map((i=>i.modifiedEditor)),this._editors)),void 0)})));this._register(applyStyle(this.elements.overlay,{width:this._layoutInfo.map(((i,r)=>i.originalEditor.width+(this._options.renderSideBySide.read(r)?0:i.modifiedEditor.width))),visibility:derived((reader=>{var _a7,_b3;return this._options.hideUnchangedRegions.read(reader)&&((_b3=(_a7=this._diffModel.read(reader))===null||_a7===void 0?void 0:_a7.diff.read(reader))===null||_b3===void 0?void 0:_b3.mappings.length)===0?"visible":"hidden"}))}));this._register(this._editors.modified.onMouseDown((event=>{var _a7,_b3;if(!event.event.rightButton&&event.target.position&&((_a7=event.target.element)===null||_a7===void 0?void 0:_a7.className.includes("arrow-revert-change"))){const lineNumber=event.target.position.lineNumber;const viewZone=event.target;const model=this._diffModel.get();if(!model){return}const diffs=(_b3=model.diff.get())===null||_b3===void 0?void 0:_b3.mappings;if(!diffs){return}const diff=diffs.find((d=>(viewZone===null||viewZone===void 0?void 0:viewZone.detail.afterLineNumber)===d.lineRangeMapping.modifiedRange.startLineNumber-1||d.lineRangeMapping.modifiedRange.startLineNumber===lineNumber));if(!diff){return}this.revert(diff.lineRangeMapping);event.event.stopPropagation()}})));this._register(Event.runAndSubscribe(this._editors.modified.onDidChangeCursorPosition,(e=>{var _a7,_b3;if((e===null||e===void 0?void 0:e.reason)===3){const diff=(_b3=(_a7=this._diffModel.get())===null||_a7===void 0?void 0:_a7.diff.get())===null||_b3===void 0?void 0:_b3.mappings.find((m=>m.lineRangeMapping.modifiedRange.contains(e.position.lineNumber)));if(diff===null||diff===void 0?void 0:diff.lineRangeMapping.modifiedRange.isEmpty){this._audioCueService.playAudioCue(AudioCue.diffLineDeleted,{source:"diffEditor.cursorPositionChanged"})}else if(diff===null||diff===void 0?void 0:diff.lineRangeMapping.originalRange.isEmpty){this._audioCueService.playAudioCue(AudioCue.diffLineInserted,{source:"diffEditor.cursorPositionChanged"})}else if(diff){this._audioCueService.playAudioCue(AudioCue.diffLineModified,{source:"diffEditor.cursorPositionChanged"})}}})));const isDiffUpToDate=this._diffModel.map(((m,reader)=>m===null||m===void 0?void 0:m.isDiffUpToDate.read(reader)));this._register(autorunWithStore(((reader,store)=>{if(isDiffUpToDate.read(reader)===false){const r=this._editorProgressService.show(true,1e3);store.add(toDisposable((()=>r.done())))}})))}_createInnerEditor(instantiationService,container,options2,editorWidgetOptions){const editor2=instantiationService.createInstance(CodeEditorWidget,container,options2,editorWidgetOptions);return editor2}_createDiffEditorContributions(){const contributions=EditorExtensionsRegistry.getDiffEditorContributions();for(const desc of contributions){try{this._register(this._instantiationService.createInstance(desc.ctor,this))}catch(err){onUnexpectedError(err)}}}get _targetEditor(){return this._editors.modified}getEditorType(){return EditorType.IDiffEditor}layout(dimension){this._rootSizeObserver.observe(dimension)}hasTextFocus(){return this._editors.original.hasTextFocus()||this._editors.modified.hasTextFocus()}saveViewState(){var _a6;const originalViewState=this._editors.original.saveViewState();const modifiedViewState=this._editors.modified.saveViewState();return{original:originalViewState,modified:modifiedViewState,modelState:(_a6=this._diffModel.get())===null||_a6===void 0?void 0:_a6.serializeState()}}restoreViewState(s){var _a6;if(s&&s.original&&s.modified){const diffEditorState=s;this._editors.original.restoreViewState(diffEditorState.original);this._editors.modified.restoreViewState(diffEditorState.modified);if(diffEditorState.modelState){(_a6=this._diffModel.get())===null||_a6===void 0?void 0:_a6.restoreSerializedState(diffEditorState.modelState)}}}createViewModel(model){return new DiffEditorViewModel(model,this._options,this._instantiationService.createInstance(WorkerBasedDocumentDiffProvider,{diffAlgorithm:this._options.diffAlgorithm.get()}))}getModel(){var _a6,_b3;return(_b3=(_a6=this._diffModel.get())===null||_a6===void 0?void 0:_a6.model)!==null&&_b3!==void 0?_b3:null}setModel(model){if(!model&&this._diffModel.get()){this._accessibleDiffViewer.close()}const vm=model?"model"in model?model:this.createViewModel(model):void 0;this._editors.original.setModel(vm?vm.model.original:null);this._editors.modified.setModel(vm?vm.model.modified:null);transaction((tx=>{this._diffModel.set(vm,tx)}))}updateOptions(changedOptions){this._options.updateOptions(changedOptions)}getContainerDomNode(){return this._domElement}getOriginalEditor(){return this._editors.original}getModifiedEditor(){return this._editors.modified}getLineChanges(){var _a6;const diffState=(_a6=this._diffModel.get())===null||_a6===void 0?void 0:_a6.diff.get();if(!diffState){return null}return toLineChanges(diffState)}revert(diff){var _a6;const model=(_a6=this._diffModel.get())===null||_a6===void 0?void 0:_a6.model;if(!model){return}const changes=diff.innerChanges?diff.innerChanges.map((c=>({range:c.modifiedRange,text:model.original.getValueInRange(c.originalRange)}))):[{range:diff.modifiedRange.toExclusiveRange(),text:model.original.getValueInRange(diff.originalRange.toExclusiveRange())}];this._editors.modified.executeEdits("diffEditor",changes)}accessibleDiffViewerNext(){this._accessibleDiffViewer.next()}accessibleDiffViewerPrev(){this._accessibleDiffViewer.prev()}};DiffEditorWidget22=__decorate50([__param43(3,IContextKeyService),__param43(4,IInstantiationService),__param43(5,ICodeEditorService),__param43(6,IAudioCueService),__param43(7,IEditorProgressService)],DiffEditorWidget22)}});function createAriaDomNode(parent){if(!parent){if(ariaDomNodeCreated){return}ariaDomNodeCreated=true}setARIAContainer(parent||document.body)}function createTextModel(modelService,languageService,value,languageId,uri){value=value||"";if(!languageId){const firstLF=value.indexOf("\n");let firstLine=value;if(firstLF!==-1){firstLine=value.substring(0,firstLF)}return doCreateModel(modelService,value,languageService.createByFilepathOrFirstLine(uri||null,firstLine),uri)}return doCreateModel(modelService,value,languageService.createById(languageId),uri)}function doCreateModel(modelService,value,languageSelection,uri){return modelService.createModel(value,languageSelection,uri)}var __decorate51,__param44,LAST_GENERATED_COMMAND_ID,ariaDomNodeCreated,StandaloneCodeEditor,StandaloneEditor,StandaloneDiffEditor,StandaloneDiffEditor22;var init_standaloneCodeEditor=__esm({"node_modules/monaco-editor/esm/vs/editor/standalone/browser/standaloneCodeEditor.js"(){init_aria();init_lifecycle();init_codeEditorService();init_codeEditorWidget();init_diffEditorWidget();init_editorAction();init_standaloneServices();init_standaloneTheme();init_actions2();init_commands();init_configuration();init_contextkey();init_contextView();init_instantiation();init_keybinding();init_notification();init_themeService();init_accessibility();init_standaloneStrings();init_clipboardService();init_progress();init_model2();init_language();init_standaloneCodeEditorService();init_modesRegistry();init_languageConfigurationRegistry();init_languageFeatures();init_diffEditorWidget2();init_audioCueService();__decorate51=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param44=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};LAST_GENERATED_COMMAND_ID=0;ariaDomNodeCreated=false;StandaloneCodeEditor=class StandaloneCodeEditor2 extends CodeEditorWidget{constructor(domElement,_options,instantiationService,codeEditorService,commandService,contextKeyService,keybindingService,themeService,notificationService,accessibilityService,languageConfigurationService,languageFeaturesService){const options2=Object.assign({},_options);options2.ariaLabel=options2.ariaLabel||StandaloneCodeEditorNLS.editorViewAccessibleLabel;options2.ariaLabel=options2.ariaLabel+";"+StandaloneCodeEditorNLS.accessibilityHelpMessage;super(domElement,options2,{},instantiationService,codeEditorService,commandService,contextKeyService,themeService,notificationService,accessibilityService,languageConfigurationService,languageFeaturesService);if(keybindingService instanceof StandaloneKeybindingService){this._standaloneKeybindingService=keybindingService}else{this._standaloneKeybindingService=null}createAriaDomNode(options2.ariaContainerElement)}addCommand(keybinding,handler,context){if(!this._standaloneKeybindingService){console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService");return null}const commandId="DYNAMIC_"+ ++LAST_GENERATED_COMMAND_ID;const whenExpression=ContextKeyExpr.deserialize(context);this._standaloneKeybindingService.addDynamicKeybinding(commandId,keybinding,handler,whenExpression);return commandId}createContextKey(key,defaultValue){return this._contextKeyService.createKey(key,defaultValue)}addAction(_descriptor){if(typeof _descriptor.id!=="string"||typeof _descriptor.label!=="string"||typeof _descriptor.run!=="function"){throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!")}if(!this._standaloneKeybindingService){console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService");return Disposable.None}const id=_descriptor.id;const label=_descriptor.label;const precondition=ContextKeyExpr.and(ContextKeyExpr.equals("editorId",this.getId()),ContextKeyExpr.deserialize(_descriptor.precondition));const keybindings=_descriptor.keybindings;const keybindingsWhen=ContextKeyExpr.and(precondition,ContextKeyExpr.deserialize(_descriptor.keybindingContext));const contextMenuGroupId=_descriptor.contextMenuGroupId||null;const contextMenuOrder=_descriptor.contextMenuOrder||0;const run=(_accessor,...args)=>Promise.resolve(_descriptor.run(this,...args));const toDispose=new DisposableStore;const uniqueId=this.getId()+":"+id;toDispose.add(CommandsRegistry.registerCommand(uniqueId,run));if(contextMenuGroupId){const menuItem={command:{id:uniqueId,title:label},when:precondition,group:contextMenuGroupId,order:contextMenuOrder};toDispose.add(MenuRegistry.appendMenuItem(MenuId.EditorContext,menuItem))}if(Array.isArray(keybindings)){for(const kb of keybindings){toDispose.add(this._standaloneKeybindingService.addDynamicKeybinding(uniqueId,kb,run,keybindingsWhen))}}const internalAction=new InternalEditorAction(uniqueId,label,label,precondition,((...args)=>Promise.resolve(_descriptor.run(this,...args))),this._contextKeyService);this._actions.set(id,internalAction);toDispose.add(toDisposable((()=>{this._actions.delete(id)})));return toDispose}_triggerCommand(handlerId,payload){if(this._codeEditorService instanceof StandaloneCodeEditorService){try{this._codeEditorService.setActiveCodeEditor(this);super._triggerCommand(handlerId,payload)}finally{this._codeEditorService.setActiveCodeEditor(null)}}else{super._triggerCommand(handlerId,payload)}}};StandaloneCodeEditor=__decorate51([__param44(2,IInstantiationService),__param44(3,ICodeEditorService),__param44(4,ICommandService),__param44(5,IContextKeyService),__param44(6,IKeybindingService),__param44(7,IThemeService),__param44(8,INotificationService),__param44(9,IAccessibilityService),__param44(10,ILanguageConfigurationService),__param44(11,ILanguageFeaturesService)],StandaloneCodeEditor);StandaloneEditor=class StandaloneEditor2 extends StandaloneCodeEditor{constructor(domElement,_options,instantiationService,codeEditorService,commandService,contextKeyService,keybindingService,themeService,notificationService,configurationService,accessibilityService,modelService,languageService,languageConfigurationService,languageFeaturesService){const options2=Object.assign({},_options);updateConfigurationService(configurationService,options2,false);const themeDomRegistration=themeService.registerEditorContainer(domElement);if(typeof options2.theme==="string"){themeService.setTheme(options2.theme)}if(typeof options2.autoDetectHighContrast!=="undefined"){themeService.setAutoDetectHighContrast(Boolean(options2.autoDetectHighContrast))}const _model=options2.model;delete options2.model;super(domElement,options2,instantiationService,codeEditorService,commandService,contextKeyService,keybindingService,themeService,notificationService,accessibilityService,languageConfigurationService,languageFeaturesService);this._configurationService=configurationService;this._standaloneThemeService=themeService;this._register(themeDomRegistration);let model;if(typeof _model==="undefined"){const languageId=languageService.getLanguageIdByMimeType(options2.language)||options2.language||PLAINTEXT_LANGUAGE_ID;model=createTextModel(modelService,languageService,options2.value||"",languageId,void 0);this._ownsModel=true}else{model=_model;this._ownsModel=false}this._attachModel(model);if(model){const e={oldModelUrl:null,newModelUrl:model.uri};this._onDidChangeModel.fire(e)}}dispose(){super.dispose()}updateOptions(newOptions){updateConfigurationService(this._configurationService,newOptions,false);if(typeof newOptions.theme==="string"){this._standaloneThemeService.setTheme(newOptions.theme)}if(typeof newOptions.autoDetectHighContrast!=="undefined"){this._standaloneThemeService.setAutoDetectHighContrast(Boolean(newOptions.autoDetectHighContrast))}super.updateOptions(newOptions)}_postDetachModelCleanup(detachedModel){super._postDetachModelCleanup(detachedModel);if(detachedModel&&this._ownsModel){detachedModel.dispose();this._ownsModel=false}}};StandaloneEditor=__decorate51([__param44(2,IInstantiationService),__param44(3,ICodeEditorService),__param44(4,ICommandService),__param44(5,IContextKeyService),__param44(6,IKeybindingService),__param44(7,IStandaloneThemeService),__param44(8,INotificationService),__param44(9,IConfigurationService),__param44(10,IAccessibilityService),__param44(11,IModelService),__param44(12,ILanguageService),__param44(13,ILanguageConfigurationService),__param44(14,ILanguageFeaturesService)],StandaloneEditor);StandaloneDiffEditor=class StandaloneDiffEditor2 extends DiffEditorWidget{constructor(domElement,_options,instantiationService,contextKeyService,codeEditorService,themeService,notificationService,configurationService,contextMenuService,editorProgressService,clipboardService){const options2=Object.assign({},_options);updateConfigurationService(configurationService,options2,true);const themeDomRegistration=themeService.registerEditorContainer(domElement);if(typeof options2.theme==="string"){themeService.setTheme(options2.theme)}if(typeof options2.autoDetectHighContrast!=="undefined"){themeService.setAutoDetectHighContrast(Boolean(options2.autoDetectHighContrast))}super(domElement,options2,{},clipboardService,contextKeyService,instantiationService,codeEditorService,themeService,notificationService,contextMenuService,editorProgressService);this._configurationService=configurationService;this._standaloneThemeService=themeService;this._register(themeDomRegistration)}dispose(){super.dispose()}updateOptions(newOptions){updateConfigurationService(this._configurationService,newOptions,true);if(typeof newOptions.theme==="string"){this._standaloneThemeService.setTheme(newOptions.theme)}if(typeof newOptions.autoDetectHighContrast!=="undefined"){this._standaloneThemeService.setAutoDetectHighContrast(Boolean(newOptions.autoDetectHighContrast))}super.updateOptions(newOptions)}_createInnerEditor(instantiationService,container,options2){return instantiationService.createInstance(StandaloneCodeEditor,container,options2)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(keybinding,handler,context){return this.getModifiedEditor().addCommand(keybinding,handler,context)}createContextKey(key,defaultValue){return this.getModifiedEditor().createContextKey(key,defaultValue)}addAction(descriptor){return this.getModifiedEditor().addAction(descriptor)}};StandaloneDiffEditor=__decorate51([__param44(2,IInstantiationService),__param44(3,IContextKeyService),__param44(4,ICodeEditorService),__param44(5,IStandaloneThemeService),__param44(6,INotificationService),__param44(7,IConfigurationService),__param44(8,IContextMenuService),__param44(9,IEditorProgressService),__param44(10,IClipboardService)],StandaloneDiffEditor);StandaloneDiffEditor22=class StandaloneDiffEditor23 extends DiffEditorWidget22{constructor(domElement,_options,instantiationService,contextKeyService,codeEditorService,themeService,notificationService,configurationService,contextMenuService,editorProgressService,clipboardService,audioCueService){const options2=Object.assign({},_options);updateConfigurationService(configurationService,options2,true);const themeDomRegistration=themeService.registerEditorContainer(domElement);if(typeof options2.theme==="string"){themeService.setTheme(options2.theme)}if(typeof options2.autoDetectHighContrast!=="undefined"){themeService.setAutoDetectHighContrast(Boolean(options2.autoDetectHighContrast))}super(domElement,options2,{},contextKeyService,instantiationService,codeEditorService,audioCueService,editorProgressService);this._configurationService=configurationService;this._standaloneThemeService=themeService;this._register(themeDomRegistration)}dispose(){super.dispose()}updateOptions(newOptions){updateConfigurationService(this._configurationService,newOptions,true);if(typeof newOptions.theme==="string"){this._standaloneThemeService.setTheme(newOptions.theme)}if(typeof newOptions.autoDetectHighContrast!=="undefined"){this._standaloneThemeService.setAutoDetectHighContrast(Boolean(newOptions.autoDetectHighContrast))}super.updateOptions(newOptions)}_createInnerEditor(instantiationService,container,options2){return instantiationService.createInstance(StandaloneCodeEditor,container,options2)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(keybinding,handler,context){return this.getModifiedEditor().addCommand(keybinding,handler,context)}createContextKey(key,defaultValue){return this.getModifiedEditor().createContextKey(key,defaultValue)}addAction(descriptor){return this.getModifiedEditor().addAction(descriptor)}};StandaloneDiffEditor22=__decorate51([__param44(2,IInstantiationService),__param44(3,IContextKeyService),__param44(4,ICodeEditorService),__param44(5,IStandaloneThemeService),__param44(6,INotificationService),__param44(7,IConfigurationService),__param44(8,IContextMenuService),__param44(9,IEditorProgressService),__param44(10,IClipboardService),__param44(11,IAudioCueService)],StandaloneDiffEditor22)}});function create2(domElement,options2,override){const instantiationService=StandaloneServices.initialize(override||{});return instantiationService.createInstance(StandaloneEditor,domElement,options2)}function onDidCreateEditor(listener){const codeEditorService=StandaloneServices.get(ICodeEditorService);return codeEditorService.onCodeEditorAdd((editor2=>{listener(editor2)}))}function onDidCreateDiffEditor(listener){const codeEditorService=StandaloneServices.get(ICodeEditorService);return codeEditorService.onDiffEditorAdd((editor2=>{listener(editor2)}))}function getEditors(){const codeEditorService=StandaloneServices.get(ICodeEditorService);return codeEditorService.listCodeEditors()}function getDiffEditors(){const codeEditorService=StandaloneServices.get(ICodeEditorService);return codeEditorService.listDiffEditors()}function createDiffEditor(domElement,options2,override){var _a6;const instantiationService=StandaloneServices.initialize(override||{});if((_a6=options2===null||options2===void 0?void 0:options2.experimental)===null||_a6===void 0?void 0:_a6.useVersion2){return instantiationService.createInstance(StandaloneDiffEditor22,domElement,options2)}return instantiationService.createInstance(StandaloneDiffEditor,domElement,options2)}function createDiffNavigator(diffEditor,opts){const instantiationService=StandaloneServices.initialize({});return instantiationService.createInstance(DiffNavigator,diffEditor,opts)}function addCommand(descriptor){if(typeof descriptor.id!=="string"||typeof descriptor.run!=="function"){throw new Error("Invalid command descriptor, `id` and `run` are required properties!")}return CommandsRegistry.registerCommand(descriptor.id,descriptor.run)}function addEditorAction(descriptor){if(typeof descriptor.id!=="string"||typeof descriptor.label!=="string"||typeof descriptor.run!=="function"){throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!")}const precondition=ContextKeyExpr.deserialize(descriptor.precondition);const run=(accessor,...args)=>EditorCommand.runEditorCommand(accessor,args,precondition,((accessor2,editor2,args2)=>Promise.resolve(descriptor.run(editor2,...args2))));const toDispose=new DisposableStore;toDispose.add(CommandsRegistry.registerCommand(descriptor.id,run));if(descriptor.contextMenuGroupId){const menuItem={command:{id:descriptor.id,title:descriptor.label},when:precondition,group:descriptor.contextMenuGroupId,order:descriptor.contextMenuOrder||0};toDispose.add(MenuRegistry.appendMenuItem(MenuId.EditorContext,menuItem))}if(Array.isArray(descriptor.keybindings)){const keybindingService=StandaloneServices.get(IKeybindingService);if(!(keybindingService instanceof StandaloneKeybindingService)){console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService")}else{const keybindingsWhen=ContextKeyExpr.and(precondition,ContextKeyExpr.deserialize(descriptor.keybindingContext));toDispose.add(keybindingService.addDynamicKeybindings(descriptor.keybindings.map((keybinding=>({keybinding:keybinding,command:descriptor.id,when:keybindingsWhen})))))}}return toDispose}function addKeybindingRule(rule){return addKeybindingRules([rule])}function addKeybindingRules(rules){const keybindingService=StandaloneServices.get(IKeybindingService);if(!(keybindingService instanceof StandaloneKeybindingService)){console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService");return Disposable.None}return keybindingService.addDynamicKeybindings(rules.map((rule=>({keybinding:rule.keybinding,command:rule.command,commandArgs:rule.commandArgs,when:ContextKeyExpr.deserialize(rule.when)}))))}function createModel(value,language81,uri){const languageService=StandaloneServices.get(ILanguageService);const languageId=languageService.getLanguageIdByMimeType(language81)||language81;return createTextModel(StandaloneServices.get(IModelService),languageService,value,languageId,uri)}function setModelLanguage(model,mimeTypeOrLanguageId){const languageService=StandaloneServices.get(ILanguageService);const languageId=languageService.getLanguageIdByMimeType(mimeTypeOrLanguageId)||mimeTypeOrLanguageId||PLAINTEXT_LANGUAGE_ID;model.setLanguage(languageService.createById(languageId))}function setModelMarkers(model,owner,markers){if(model){const markerService=StandaloneServices.get(IMarkerService);markerService.changeOne(owner,model.uri,markers)}}function removeAllMarkers(owner){const markerService=StandaloneServices.get(IMarkerService);markerService.changeAll(owner,[])}function getModelMarkers(filter){const markerService=StandaloneServices.get(IMarkerService);return markerService.read(filter)}function onDidChangeMarkers(listener){const markerService=StandaloneServices.get(IMarkerService);return markerService.onMarkerChanged(listener)}function getModel(uri){const modelService=StandaloneServices.get(IModelService);return modelService.getModel(uri)}function getModels(){const modelService=StandaloneServices.get(IModelService);return modelService.getModels()}function onDidCreateModel(listener){const modelService=StandaloneServices.get(IModelService);return modelService.onModelAdded(listener)}function onWillDisposeModel(listener){const modelService=StandaloneServices.get(IModelService);return modelService.onModelRemoved(listener)}function onDidChangeModelLanguage(listener){const modelService=StandaloneServices.get(IModelService);return modelService.onModelLanguageChanged((e=>{listener({model:e.model,oldLanguage:e.oldLanguageId})}))}function createWebWorker2(opts){return createWebWorker(StandaloneServices.get(IModelService),StandaloneServices.get(ILanguageConfigurationService),opts)}function colorizeElement(domNode,options2){const languageService=StandaloneServices.get(ILanguageService);const themeService=StandaloneServices.get(IStandaloneThemeService);return Colorizer.colorizeElement(themeService,languageService,domNode,options2).then((()=>{themeService.registerEditorContainer(domNode)}))}function colorize(text2,languageId,options2){const languageService=StandaloneServices.get(ILanguageService);const themeService=StandaloneServices.get(IStandaloneThemeService);themeService.registerEditorContainer(document.body);return Colorizer.colorize(languageService,text2,languageId,options2)}function colorizeModelLine(model,lineNumber,tabSize=4){const themeService=StandaloneServices.get(IStandaloneThemeService);themeService.registerEditorContainer(document.body);return Colorizer.colorizeModelLine(model,lineNumber,tabSize)}function getSafeTokenizationSupport(language81){const tokenizationSupport=TokenizationRegistry2.get(language81);if(tokenizationSupport){return tokenizationSupport}return{getInitialState:()=>NullState,tokenize:(line,hasEOL,state)=>nullTokenize(language81,state)}}function tokenize(text2,languageId){TokenizationRegistry2.getOrCreate(languageId);const tokenizationSupport=getSafeTokenizationSupport(languageId);const lines=splitLines(text2);const result=[];let state=tokenizationSupport.getInitialState();for(let i=0,len=lines.length;i<len;i++){const line=lines[i];const tokenizationResult=tokenizationSupport.tokenize(line,true,state);result[i]=tokenizationResult.tokens;state=tokenizationResult.endState}return result}function defineTheme(themeName,themeData){const standaloneThemeService=StandaloneServices.get(IStandaloneThemeService);standaloneThemeService.defineTheme(themeName,themeData)}function setTheme(themeName){const standaloneThemeService=StandaloneServices.get(IStandaloneThemeService);standaloneThemeService.setTheme(themeName)}function remeasureFonts(){FontMeasurements.clearAllFontInfos()}function registerCommand3(id,handler){return CommandsRegistry.registerCommand({id:id,handler:handler})}function registerLinkOpener(opener){const openerService=StandaloneServices.get(IOpenerService);return openerService.registerOpener({open(resource){return __awaiter32(this,void 0,void 0,(function*(){if(typeof resource==="string"){resource=URI.parse(resource)}return opener.open(resource)}))}})}function registerEditorOpener(opener){const codeEditorService=StandaloneServices.get(ICodeEditorService);return codeEditorService.registerCodeEditorOpenHandler(((input,source,sideBySide)=>__awaiter32(this,void 0,void 0,(function*(){var _a6;if(!source){return null}const selection=(_a6=input.options)===null||_a6===void 0?void 0:_a6.selection;let selectionOrPosition;if(selection&&typeof selection.endLineNumber==="number"&&typeof selection.endColumn==="number"){selectionOrPosition=selection}else if(selection){selectionOrPosition={lineNumber:selection.startLineNumber,column:selection.startColumn}}if(yield opener.openCodeEditor(source,input.resource,selectionOrPosition)){return source}return null}))))}function createMonacoEditorAPI(){return{create:create2,getEditors:getEditors,getDiffEditors:getDiffEditors,onDidCreateEditor:onDidCreateEditor,onDidCreateDiffEditor:onDidCreateDiffEditor,createDiffEditor:createDiffEditor,createDiffNavigator:createDiffNavigator,addCommand:addCommand,addEditorAction:addEditorAction,addKeybindingRule:addKeybindingRule,addKeybindingRules:addKeybindingRules,createModel:createModel,setModelLanguage:setModelLanguage,setModelMarkers:setModelMarkers,getModelMarkers:getModelMarkers,removeAllMarkers:removeAllMarkers,onDidChangeMarkers:onDidChangeMarkers,getModels:getModels,getModel:getModel,onDidCreateModel:onDidCreateModel,onWillDisposeModel:onWillDisposeModel,onDidChangeModelLanguage:onDidChangeModelLanguage,createWebWorker:createWebWorker2,colorizeElement:colorizeElement,colorize:colorize,colorizeModelLine:colorizeModelLine,tokenize:tokenize,defineTheme:defineTheme,setTheme:setTheme,remeasureFonts:remeasureFonts,registerCommand:registerCommand3,registerLinkOpener:registerLinkOpener,registerEditorOpener:registerEditorOpener,AccessibilitySupport:AccessibilitySupport,ContentWidgetPositionPreference:ContentWidgetPositionPreference,CursorChangeReason:CursorChangeReason,DefaultEndOfLine:DefaultEndOfLine,EditorAutoIndentStrategy:EditorAutoIndentStrategy,EditorOption:EditorOption,EndOfLinePreference:EndOfLinePreference,EndOfLineSequence:EndOfLineSequence,MinimapPosition:MinimapPosition,MouseTargetType:MouseTargetType,OverlayWidgetPositionPreference:OverlayWidgetPositionPreference,OverviewRulerLane:OverviewRulerLane,GlyphMarginLane:GlyphMarginLane,RenderLineNumbersType:RenderLineNumbersType,RenderMinimap:RenderMinimap,ScrollbarVisibility:ScrollbarVisibility,ScrollType:ScrollType,TextEditorCursorBlinkingStyle:TextEditorCursorBlinkingStyle,TextEditorCursorStyle:TextEditorCursorStyle2,TrackedRangeStickiness:TrackedRangeStickiness,WrappingIndent:WrappingIndent,InjectedTextCursorStops:InjectedTextCursorStops,PositionAffinity:PositionAffinity,ConfigurationChangedEvent:ConfigurationChangedEvent,BareFontInfo:BareFontInfo,FontInfo:FontInfo,TextModelResolvedOptions:TextModelResolvedOptions,FindMatch:FindMatch,ApplyUpdateResult:ApplyUpdateResult,LineRange:LineRange,LineRangeMapping:LineRangeMapping,RangeMapping:RangeMapping,EditorZoom:EditorZoom,MovedText:MovedText,SimpleLineRangeMapping:SimpleLineRangeMapping,EditorType:EditorType,EditorOptions:EditorOptions}}var __awaiter32;var init_standaloneEditor=__esm({"node_modules/monaco-editor/esm/vs/editor/standalone/browser/standaloneEditor.js"(){init_();init_lifecycle();init_strings();init_uri();init_fontMeasurements();init_codeEditorService();init_diffNavigator();init_editorOptions();init_fontInfo();init_editorCommon();init_model();init_languages();init_languageConfigurationRegistry();init_nullTokenize();init_language();init_model2();init_webWorker();init_standaloneEnums();init_colorizer();init_standaloneCodeEditor();init_standaloneServices();init_standaloneTheme();init_commands();init_markers();init_keybinding();init_editorExtensions();init_actions2();init_contextkey();init_modesRegistry();init_linesDiffComputer();init_lineRange();init_editorZoom();init_opener();__awaiter32=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))}}});function isArrayOf(elemType,obj){if(!obj){return false}if(!Array.isArray(obj)){return false}for(const el of obj){if(!elemType(el)){return false}}return true}function bool(prop,defValue){if(typeof prop==="boolean"){return prop}return defValue}function string(prop,defValue){if(typeof prop==="string"){return prop}return defValue}function arrayToHash(array2){const result={};for(const e of array2){result[e]=true}return result}function createKeywordMatcher(arr,caseInsensitive=false){if(caseInsensitive){arr=arr.map((function(x){return x.toLowerCase()}))}const hash2=arrayToHash(arr);if(caseInsensitive){return function(word){return hash2[word.toLowerCase()]!==void 0&&hash2.hasOwnProperty(word.toLowerCase())}}else{return function(word){return hash2[word]!==void 0&&hash2.hasOwnProperty(word)}}}function compileRegExp(lexer2,str){str=str.replace(/@@/g,``);let n=0;let hadExpansion;do{hadExpansion=false;str=str.replace(/@(\w+)/g,(function(s,attr){hadExpansion=true;let sub="";if(typeof lexer2[attr]==="string"){sub=lexer2[attr]}else if(lexer2[attr]&&lexer2[attr]instanceof RegExp){sub=lexer2[attr].source}else{if(lexer2[attr]===void 0){throw createError(lexer2,"language definition does not contain attribute '"+attr+"', used at: "+str)}else{throw createError(lexer2,"attribute reference '"+attr+"' must be a string, used at: "+str)}}return empty(sub)?"":"(?:"+sub+")"}));n++}while(hadExpansion&&n<5);str=str.replace(/\x01/g,"@");const flags=(lexer2.ignoreCase?"i":"")+(lexer2.unicode?"u":"");return new RegExp(str,flags)}function selectScrutinee(id,matches,state,num){if(num<0){return id}if(num<matches.length){return matches[num]}if(num>=100){num=num-100;const parts=state.split(".");parts.unshift(state);if(num<parts.length){return parts[num]}}return null}function createGuard(lexer2,ruleName,tkey,val){let scrut=-1;let oppat=tkey;let matches=tkey.match(/^\$(([sS]?)(\d\d?)|#)(.*)$/);if(matches){if(matches[3]){scrut=parseInt(matches[3]);if(matches[2]){scrut=scrut+100}}oppat=matches[4]}let op="~";let pat=oppat;if(!oppat||oppat.length===0){op="!=";pat=""}else if(/^\w*$/.test(pat)){op="=="}else{matches=oppat.match(/^(@|!@|~|!~|==|!=)(.*)$/);if(matches){op=matches[1];pat=matches[2]}}let tester;if((op==="~"||op==="!~")&&/^(\w|\|)*$/.test(pat)){const inWords=createKeywordMatcher(pat.split("|"),lexer2.ignoreCase);tester=function(s){return op==="~"?inWords(s):!inWords(s)}}else if(op==="@"||op==="!@"){const words=lexer2[pat];if(!words){throw createError(lexer2,"the @ match target '"+pat+"' is not defined, in rule: "+ruleName)}if(!isArrayOf((function(elem){return typeof elem==="string"}),words)){throw createError(lexer2,"the @ match target '"+pat+"' must be an array of strings, in rule: "+ruleName)}const inWords=createKeywordMatcher(words,lexer2.ignoreCase);tester=function(s){return op==="@"?inWords(s):!inWords(s)}}else if(op==="~"||op==="!~"){if(pat.indexOf("$")<0){const re=compileRegExp(lexer2,"^"+pat+"$");tester=function(s){return op==="~"?re.test(s):!re.test(s)}}else{tester=function(s,id,matches2,state){const re=compileRegExp(lexer2,"^"+substituteMatches(lexer2,pat,id,matches2,state)+"$");return re.test(s)}}}else{if(pat.indexOf("$")<0){const patx=fixCase(lexer2,pat);tester=function(s){return op==="=="?s===patx:s!==patx}}else{const patx=fixCase(lexer2,pat);tester=function(s,id,matches2,state,eos){const patexp=substituteMatches(lexer2,patx,id,matches2,state);return op==="=="?s===patexp:s!==patexp}}}if(scrut===-1){return{name:tkey,value:val,test:function(id,matches2,state,eos){return tester(id,id,matches2,state,eos)}}}else{return{name:tkey,value:val,test:function(id,matches2,state,eos){const scrutinee=selectScrutinee(id,matches2,state,scrut);return tester(!scrutinee?"":scrutinee,id,matches2,state,eos)}}}}function compileAction(lexer2,ruleName,action){if(!action){return{token:""}}else if(typeof action==="string"){return action}else if(action.token||action.token===""){if(typeof action.token!=="string"){throw createError(lexer2,"a 'token' attribute must be of type string, in rule: "+ruleName)}else{const newAction={token:action.token};if(action.token.indexOf("$")>=0){newAction.tokenSubst=true}if(typeof action.bracket==="string"){if(action.bracket==="@open"){newAction.bracket=1}else if(action.bracket==="@close"){newAction.bracket=-1}else{throw createError(lexer2,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+ruleName)}}if(action.next){if(typeof action.next!=="string"){throw createError(lexer2,"the next state must be a string value in rule: "+ruleName)}else{let next=action.next;if(!/^(@pop|@push|@popall)$/.test(next)){if(next[0]==="@"){next=next.substr(1)}if(next.indexOf("$")<0){if(!stateExists(lexer2,substituteMatches(lexer2,next,"",[],""))){throw createError(lexer2,"the next state '"+action.next+"' is not defined in rule: "+ruleName)}}}newAction.next=next}}if(typeof action.goBack==="number"){newAction.goBack=action.goBack}if(typeof action.switchTo==="string"){newAction.switchTo=action.switchTo}if(typeof action.log==="string"){newAction.log=action.log}if(typeof action.nextEmbedded==="string"){newAction.nextEmbedded=action.nextEmbedded;lexer2.usesEmbedded=true}return newAction}}else if(Array.isArray(action)){const results=[];for(let i=0,len=action.length;i<len;i++){results[i]=compileAction(lexer2,ruleName,action[i])}return{group:results}}else if(action.cases){const cases=[];for(const tkey in action.cases){if(action.cases.hasOwnProperty(tkey)){const val=compileAction(lexer2,ruleName,action.cases[tkey]);if(tkey==="@default"||tkey==="@"||tkey===""){cases.push({test:void 0,value:val,name:tkey})}else if(tkey==="@eos"){cases.push({test:function(id,matches,state,eos){return eos},value:val,name:tkey})}else{cases.push(createGuard(lexer2,ruleName,tkey,val))}}}const def=lexer2.defaultToken;return{test:function(id,matches,state,eos){for(const _case of cases){const didmatch=!_case.test||_case.test(id,matches,state,eos);if(didmatch){return _case.value}}return def}}}else{throw createError(lexer2,"an action must be a string, an object with a 'token' or 'cases' attribute, or an array of actions; in rule: "+ruleName)}}function compile(languageId,json){if(!json||typeof json!=="object"){throw new Error("Monarch: expecting a language definition object")}const lexer2={};lexer2.languageId=languageId;lexer2.includeLF=bool(json.includeLF,false);lexer2.noThrow=false;lexer2.maxStack=100;lexer2.start=typeof json.start==="string"?json.start:null;lexer2.ignoreCase=bool(json.ignoreCase,false);lexer2.unicode=bool(json.unicode,false);lexer2.tokenPostfix=string(json.tokenPostfix,"."+lexer2.languageId);lexer2.defaultToken=string(json.defaultToken,"source");lexer2.usesEmbedded=false;const lexerMin=json;lexerMin.languageId=languageId;lexerMin.includeLF=lexer2.includeLF;lexerMin.ignoreCase=lexer2.ignoreCase;lexerMin.unicode=lexer2.unicode;lexerMin.noThrow=lexer2.noThrow;lexerMin.usesEmbedded=lexer2.usesEmbedded;lexerMin.stateNames=json.tokenizer;lexerMin.defaultToken=lexer2.defaultToken;function addRules(state,newrules,rules){for(const rule of rules){let include=rule.include;if(include){if(typeof include!=="string"){throw createError(lexer2,"an 'include' attribute must be a string at: "+state)}if(include[0]==="@"){include=include.substr(1)}if(!json.tokenizer[include]){throw createError(lexer2,"include target '"+include+"' is not defined at: "+state)}addRules(state+"."+include,newrules,json.tokenizer[include])}else{const newrule=new Rule(state);if(Array.isArray(rule)&&rule.length>=1&&rule.length<=3){newrule.setRegex(lexerMin,rule[0]);if(rule.length>=3){if(typeof rule[1]==="string"){newrule.setAction(lexerMin,{token:rule[1],next:rule[2]})}else if(typeof rule[1]==="object"){const rule1=rule[1];rule1.next=rule[2];newrule.setAction(lexerMin,rule1)}else{throw createError(lexer2,"a next state as the last element of a rule can only be given if the action is either an object or a string, at: "+state)}}else{newrule.setAction(lexerMin,rule[1])}}else{if(!rule.regex){throw createError(lexer2,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+state)}if(rule.name){if(typeof rule.name==="string"){newrule.name=rule.name}}if(rule.matchOnlyAtStart){newrule.matchOnlyAtLineStart=bool(rule.matchOnlyAtLineStart,false)}newrule.setRegex(lexerMin,rule.regex);newrule.setAction(lexerMin,rule.action)}newrules.push(newrule)}}}if(!json.tokenizer||typeof json.tokenizer!=="object"){throw createError(lexer2,"a language definition must define the 'tokenizer' attribute as an object")}lexer2.tokenizer=[];for(const key in json.tokenizer){if(json.tokenizer.hasOwnProperty(key)){if(!lexer2.start){lexer2.start=key}const rules=json.tokenizer[key];lexer2.tokenizer[key]=new Array;addRules("tokenizer."+key,lexer2.tokenizer[key],rules)}}lexer2.usesEmbedded=lexerMin.usesEmbedded;if(json.brackets){if(!Array.isArray(json.brackets)){throw createError(lexer2,"the 'brackets' attribute must be defined as an array")}}else{json.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}]}const brackets=[];for(const el of json.brackets){let desc=el;if(desc&&Array.isArray(desc)&&desc.length===3){desc={token:desc[2],open:desc[0],close:desc[1]}}if(desc.open===desc.close){throw createError(lexer2,"open and close brackets in a 'brackets' attribute must be different: "+desc.open+"\n hint: use the 'bracket' attribute if matching on equal brackets is required.")}if(typeof desc.open==="string"&&typeof desc.token==="string"&&typeof desc.close==="string"){brackets.push({token:desc.token+lexer2.tokenPostfix,open:fixCase(lexer2,desc.open),close:fixCase(lexer2,desc.close)})}else{throw createError(lexer2,"every element in the 'brackets' array must be a '{open,close,token}' object or array")}}lexer2.brackets=brackets;lexer2.noThrow=true;return lexer2}var Rule;var init_monarchCompile=__esm({"node_modules/monaco-editor/esm/vs/editor/standalone/common/monarch/monarchCompile.js"(){init_monarchCommon();Rule=class{constructor(name){this.regex=new RegExp("");this.action={token:""};this.matchOnlyAtLineStart=false;this.name="";this.name=name}setRegex(lexer2,re){let sregex;if(typeof re==="string"){sregex=re}else if(re instanceof RegExp){sregex=re.source}else{throw createError(lexer2,"rules must start with a match string or regular expression: "+this.name)}this.matchOnlyAtLineStart=sregex.length>0&&sregex[0]==="^";this.name=this.name+": "+sregex;this.regex=compileRegExp(lexer2,"^(?:"+(this.matchOnlyAtLineStart?sregex.substr(1):sregex)+")")}setAction(lexer2,act){this.action=compileAction(lexer2,this.name,act)}}}});function register3(language81){ModesRegistry.registerLanguage(language81)}function getLanguages(){let result=[];result=result.concat(ModesRegistry.getLanguages());return result}function getEncodedLanguageId(languageId){const languageService=StandaloneServices.get(ILanguageService);return languageService.languageIdCodec.encodeLanguageId(languageId)}function onLanguage(languageId,callback){return StandaloneServices.withServices((()=>{const languageService=StandaloneServices.get(ILanguageService);const disposable=languageService.onDidRequestRichLanguageFeatures((encounteredLanguageId=>{if(encounteredLanguageId===languageId){disposable.dispose();callback()}}));return disposable}))}function onLanguageEncountered(languageId,callback){return StandaloneServices.withServices((()=>{const languageService=StandaloneServices.get(ILanguageService);const disposable=languageService.onDidRequestBasicLanguageFeatures((encounteredLanguageId=>{if(encounteredLanguageId===languageId){disposable.dispose();callback()}}));return disposable}))}function setLanguageConfiguration(languageId,configuration){const languageService=StandaloneServices.get(ILanguageService);if(!languageService.isRegisteredLanguageId(languageId)){throw new Error(`Cannot set configuration for unknown language ${languageId}`)}const languageConfigurationService=StandaloneServices.get(ILanguageConfigurationService);return languageConfigurationService.register(languageId,configuration,100)}function isATokensProvider(provider){return typeof provider.getInitialState==="function"}function isEncodedTokensProvider(provider){return"tokenizeEncoded"in provider}function isThenable2(obj){return obj&&typeof obj.then==="function"}function setColorMap(colorMap){const standaloneThemeService=StandaloneServices.get(IStandaloneThemeService);if(colorMap){const result=[null];for(let i=1,len=colorMap.length;i<len;i++){result[i]=Color.fromHex(colorMap[i])}standaloneThemeService.setColorMapOverride(result)}else{standaloneThemeService.setColorMapOverride(null)}}function createTokenizationSupportAdapter(languageId,provider){if(isEncodedTokensProvider(provider)){return new EncodedTokenizationSupportAdapter(languageId,provider)}else{return new TokenizationSupportAdapter(languageId,provider,StandaloneServices.get(ILanguageService),StandaloneServices.get(IStandaloneThemeService))}}function registerTokensProviderFactory(languageId,factory){const adaptedFactory=new LazyTokenizationSupport((()=>__awaiter33(this,void 0,void 0,(function*(){const result=yield Promise.resolve(factory.create());if(!result){return null}if(isATokensProvider(result)){return createTokenizationSupportAdapter(languageId,result)}return new MonarchTokenizer(StandaloneServices.get(ILanguageService),StandaloneServices.get(IStandaloneThemeService),languageId,compile(languageId,result),StandaloneServices.get(IConfigurationService))}))));return TokenizationRegistry2.registerFactory(languageId,adaptedFactory)}function setTokensProvider(languageId,provider){const languageService=StandaloneServices.get(ILanguageService);if(!languageService.isRegisteredLanguageId(languageId)){throw new Error(`Cannot set tokens provider for unknown language ${languageId}`)}if(isThenable2(provider)){return registerTokensProviderFactory(languageId,{create:()=>provider})}return TokenizationRegistry2.register(languageId,createTokenizationSupportAdapter(languageId,provider))}function setMonarchTokensProvider(languageId,languageDef){const create3=languageDef2=>new MonarchTokenizer(StandaloneServices.get(ILanguageService),StandaloneServices.get(IStandaloneThemeService),languageId,compile(languageId,languageDef2),StandaloneServices.get(IConfigurationService));if(isThenable2(languageDef)){return registerTokensProviderFactory(languageId,{create:()=>languageDef})}return TokenizationRegistry2.register(languageId,create3(languageDef))}function registerReferenceProvider(languageSelector,provider){const languageFeaturesService=StandaloneServices.get(ILanguageFeaturesService);return languageFeaturesService.referenceProvider.register(languageSelector,provider)}function registerRenameProvider(languageSelector,provider){const languageFeaturesService=StandaloneServices.get(ILanguageFeaturesService);return languageFeaturesService.renameProvider.register(languageSelector,provider)}function registerSignatureHelpProvider(languageSelector,provider){const languageFeaturesService=StandaloneServices.get(ILanguageFeaturesService);return languageFeaturesService.signatureHelpProvider.register(languageSelector,provider)}function registerHoverProvider(languageSelector,provider){const languageFeaturesService=StandaloneServices.get(ILanguageFeaturesService);return languageFeaturesService.hoverProvider.register(languageSelector,{provideHover:(model,position,token)=>{const word=model.getWordAtPosition(position);return Promise.resolve(provider.provideHover(model,position,token)).then((value=>{if(!value){return void 0}if(!value.range&&word){value.range=new Range(position.lineNumber,word.startColumn,position.lineNumber,word.endColumn)}if(!value.range){value.range=new Range(position.lineNumber,position.column,position.lineNumber,position.column)}return value}))}})}function registerDocumentSymbolProvider(languageSelector,provider){const languageFeaturesService=StandaloneServices.get(ILanguageFeaturesService);return languageFeaturesService.documentSymbolProvider.register(languageSelector,provider)}function registerDocumentHighlightProvider(languageSelector,provider){const languageFeaturesService=StandaloneServices.get(ILanguageFeaturesService);return languageFeaturesService.documentHighlightProvider.register(languageSelector,provider)}function registerLinkedEditingRangeProvider(languageSelector,provider){const languageFeaturesService=StandaloneServices.get(ILanguageFeaturesService);return languageFeaturesService.linkedEditingRangeProvider.register(languageSelector,provider)}function registerDefinitionProvider(languageSelector,provider){const languageFeaturesService=StandaloneServices.get(ILanguageFeaturesService);return languageFeaturesService.definitionProvider.register(languageSelector,provider)}function registerImplementationProvider(languageSelector,provider){const languageFeaturesService=StandaloneServices.get(ILanguageFeaturesService);return languageFeaturesService.implementationProvider.register(languageSelector,provider)}function registerTypeDefinitionProvider(languageSelector,provider){const languageFeaturesService=StandaloneServices.get(ILanguageFeaturesService);return languageFeaturesService.typeDefinitionProvider.register(languageSelector,provider)}function registerCodeLensProvider(languageSelector,provider){const languageFeaturesService=StandaloneServices.get(ILanguageFeaturesService);return languageFeaturesService.codeLensProvider.register(languageSelector,provider)}function registerCodeActionProvider(languageSelector,provider,metadata){const languageFeaturesService=StandaloneServices.get(ILanguageFeaturesService);return languageFeaturesService.codeActionProvider.register(languageSelector,{providedCodeActionKinds:metadata===null||metadata===void 0?void 0:metadata.providedCodeActionKinds,documentation:metadata===null||metadata===void 0?void 0:metadata.documentation,provideCodeActions:(model,range2,context,token)=>{const markerService=StandaloneServices.get(IMarkerService);const markers=markerService.read({resource:model.uri}).filter((m=>Range.areIntersectingOrTouching(m,range2)));return provider.provideCodeActions(model,range2,{markers:markers,only:context.only,trigger:context.trigger},token)},resolveCodeAction:provider.resolveCodeAction})}function registerDocumentFormattingEditProvider(languageSelector,provider){const languageFeaturesService=StandaloneServices.get(ILanguageFeaturesService);return languageFeaturesService.documentFormattingEditProvider.register(languageSelector,provider)}function registerDocumentRangeFormattingEditProvider(languageSelector,provider){const languageFeaturesService=StandaloneServices.get(ILanguageFeaturesService);return languageFeaturesService.documentRangeFormattingEditProvider.register(languageSelector,provider)}function registerOnTypeFormattingEditProvider(languageSelector,provider){const languageFeaturesService=StandaloneServices.get(ILanguageFeaturesService);return languageFeaturesService.onTypeFormattingEditProvider.register(languageSelector,provider)}function registerLinkProvider(languageSelector,provider){const languageFeaturesService=StandaloneServices.get(ILanguageFeaturesService);return languageFeaturesService.linkProvider.register(languageSelector,provider)}function registerCompletionItemProvider(languageSelector,provider){const languageFeaturesService=StandaloneServices.get(ILanguageFeaturesService);return languageFeaturesService.completionProvider.register(languageSelector,provider)}function registerColorProvider(languageSelector,provider){const languageFeaturesService=StandaloneServices.get(ILanguageFeaturesService);return languageFeaturesService.colorProvider.register(languageSelector,provider)}function registerFoldingRangeProvider(languageSelector,provider){const languageFeaturesService=StandaloneServices.get(ILanguageFeaturesService);return languageFeaturesService.foldingRangeProvider.register(languageSelector,provider)}function registerDeclarationProvider(languageSelector,provider){const languageFeaturesService=StandaloneServices.get(ILanguageFeaturesService);return languageFeaturesService.declarationProvider.register(languageSelector,provider)}function registerSelectionRangeProvider(languageSelector,provider){const languageFeaturesService=StandaloneServices.get(ILanguageFeaturesService);return languageFeaturesService.selectionRangeProvider.register(languageSelector,provider)}function registerDocumentSemanticTokensProvider(languageSelector,provider){const languageFeaturesService=StandaloneServices.get(ILanguageFeaturesService);return languageFeaturesService.documentSemanticTokensProvider.register(languageSelector,provider)}function registerDocumentRangeSemanticTokensProvider(languageSelector,provider){const languageFeaturesService=StandaloneServices.get(ILanguageFeaturesService);return languageFeaturesService.documentRangeSemanticTokensProvider.register(languageSelector,provider)}function registerInlineCompletionsProvider(languageSelector,provider){const languageFeaturesService=StandaloneServices.get(ILanguageFeaturesService);return languageFeaturesService.inlineCompletionsProvider.register(languageSelector,provider)}function registerInlayHintsProvider(languageSelector,provider){const languageFeaturesService=StandaloneServices.get(ILanguageFeaturesService);return languageFeaturesService.inlayHintsProvider.register(languageSelector,provider)}function createMonacoLanguagesAPI(){return{register:register3,getLanguages:getLanguages,onLanguage:onLanguage,onLanguageEncountered:onLanguageEncountered,getEncodedLanguageId:getEncodedLanguageId,setLanguageConfiguration:setLanguageConfiguration,setColorMap:setColorMap,registerTokensProviderFactory:registerTokensProviderFactory,setTokensProvider:setTokensProvider,setMonarchTokensProvider:setMonarchTokensProvider,registerReferenceProvider:registerReferenceProvider,registerRenameProvider:registerRenameProvider,registerCompletionItemProvider:registerCompletionItemProvider,registerSignatureHelpProvider:registerSignatureHelpProvider,registerHoverProvider:registerHoverProvider,registerDocumentSymbolProvider:registerDocumentSymbolProvider,registerDocumentHighlightProvider:registerDocumentHighlightProvider,registerLinkedEditingRangeProvider:registerLinkedEditingRangeProvider,registerDefinitionProvider:registerDefinitionProvider,registerImplementationProvider:registerImplementationProvider,registerTypeDefinitionProvider:registerTypeDefinitionProvider,registerCodeLensProvider:registerCodeLensProvider,registerCodeActionProvider:registerCodeActionProvider,registerDocumentFormattingEditProvider:registerDocumentFormattingEditProvider,registerDocumentRangeFormattingEditProvider:registerDocumentRangeFormattingEditProvider,registerOnTypeFormattingEditProvider:registerOnTypeFormattingEditProvider,registerLinkProvider:registerLinkProvider,registerColorProvider:registerColorProvider,registerFoldingRangeProvider:registerFoldingRangeProvider,registerDeclarationProvider:registerDeclarationProvider,registerSelectionRangeProvider:registerSelectionRangeProvider,registerDocumentSemanticTokensProvider:registerDocumentSemanticTokensProvider,registerDocumentRangeSemanticTokensProvider:registerDocumentRangeSemanticTokensProvider,registerInlineCompletionsProvider:registerInlineCompletionsProvider,registerInlayHintsProvider:registerInlayHintsProvider,DocumentHighlightKind:DocumentHighlightKind2,CompletionItemKind:CompletionItemKind,CompletionItemTag:CompletionItemTag,CompletionItemInsertTextRule:CompletionItemInsertTextRule,SymbolKind:SymbolKind,SymbolTag:SymbolTag,IndentAction:IndentAction,CompletionTriggerKind:CompletionTriggerKind,SignatureHelpTriggerKind:SignatureHelpTriggerKind2,InlayHintKind:InlayHintKind2,InlineCompletionTriggerKind:InlineCompletionTriggerKind2,CodeActionTriggerType:CodeActionTriggerType,FoldingRangeKind:FoldingRangeKind,SelectedSuggestionInfo:SelectedSuggestionInfo}}var __awaiter33,EncodedTokenizationSupportAdapter,TokenizationSupportAdapter;var init_standaloneLanguages=__esm({"node_modules/monaco-editor/esm/vs/editor/standalone/browser/standaloneLanguages.js"(){init_color();init_range();init_languages();init_languageConfigurationRegistry();init_modesRegistry();init_language();init_standaloneEnums();init_standaloneServices();init_monarchCompile();init_monarchLexer();init_standaloneTheme();init_markers();init_languageFeatures();init_configuration();__awaiter33=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};EncodedTokenizationSupportAdapter=class{constructor(languageId,actual){this._languageId=languageId;this._actual=actual}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(line,hasEOL,state){if(typeof this._actual.tokenize==="function"){return TokenizationSupportAdapter.adaptTokenize(this._languageId,this._actual,line,state)}throw new Error("Not supported!")}tokenizeEncoded(line,hasEOL,state){const result=this._actual.tokenizeEncoded(line,state);return new EncodedTokenizationResult(result.tokens,result.endState)}};TokenizationSupportAdapter=class{constructor(_languageId,_actual,_languageService,_standaloneThemeService){this._languageId=_languageId;this._actual=_actual;this._languageService=_languageService;this._standaloneThemeService=_standaloneThemeService}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(tokens,language81){const result=[];let previousStartIndex=0;for(let i=0,len=tokens.length;i<len;i++){const t2=tokens[i];let startIndex=t2.startIndex;if(i===0){startIndex=0}else if(startIndex<previousStartIndex){startIndex=previousStartIndex}result[i]=new Token(startIndex,t2.scopes,language81);previousStartIndex=startIndex}return result}static adaptTokenize(language81,actual,line,state){const actualResult=actual.tokenize(line,state);const tokens=TokenizationSupportAdapter._toClassicTokens(actualResult.tokens,language81);let endState;if(actualResult.endState.equals(state)){endState=state}else{endState=actualResult.endState}return new TokenizationResult(tokens,endState)}tokenize(line,hasEOL,state){return TokenizationSupportAdapter.adaptTokenize(this._languageId,this._actual,line,state)}_toBinaryTokens(languageIdCodec,tokens){const languageId=languageIdCodec.encodeLanguageId(this._languageId);const tokenTheme=this._standaloneThemeService.getColorTheme().tokenTheme;const result=[];let resultLen=0;let previousStartIndex=0;for(let i=0,len=tokens.length;i<len;i++){const t2=tokens[i];const metadata=tokenTheme.match(languageId,t2.scopes)|1024;if(resultLen>0&&result[resultLen-1]===metadata){continue}let startIndex=t2.startIndex;if(i===0){startIndex=0}else if(startIndex<previousStartIndex){startIndex=previousStartIndex}result[resultLen++]=startIndex;result[resultLen++]=metadata;previousStartIndex=startIndex}const actualResult=new Uint32Array(resultLen);for(let i=0;i<resultLen;i++){actualResult[i]=result[i]}return actualResult}tokenizeEncoded(line,hasEOL,state){const actualResult=this._actual.tokenize(line,state);const tokens=this._toBinaryTokens(this._languageService.languageIdCodec,actualResult.tokens);let endState;if(actualResult.endState.equals(state)){endState=state}else{endState=actualResult.endState}return new EncodedTokenizationResult(tokens,endState)}}}});var IEditorCancellationTokens,ctxCancellableOperation,EditorKeybindingCancellationTokenSource;var init_keybindingCancellation=__esm({"node_modules/monaco-editor/esm/vs/editor/contrib/editorState/browser/keybindingCancellation.js"(){init_editorExtensions();init_contextkey();init_cancellation();init_linkedList();init_instantiation();init_extensions();init_nls();IEditorCancellationTokens=createDecorator("IEditorCancelService");ctxCancellableOperation=new RawContextKey("cancellableOperation",false,localize("cancellableOperation","Whether the editor runs a cancellable operation, e.g. like 'Peek References'"));registerSingleton(IEditorCancellationTokens,class{constructor(){this._tokens=new WeakMap}add(editor2,cts){let data=this._tokens.get(editor2);if(!data){data=editor2.invokeWithinContext((accessor=>{const key=ctxCancellableOperation.bindTo(accessor.get(IContextKeyService));const tokens=new LinkedList;return{key:key,tokens:tokens}}));this._tokens.set(editor2,data)}let removeFn;data.key.set(true);removeFn=data.tokens.push(cts);return()=>{if(removeFn){removeFn();data.key.set(!data.tokens.isEmpty());removeFn=void 0}}}cancel(editor2){const data=this._tokens.get(editor2);if(!data){return}const cts=data.tokens.pop();if(cts){cts.cancel();data.key.set(!data.tokens.isEmpty())}}},1);EditorKeybindingCancellationTokenSource=class extends CancellationTokenSource{constructor(editor2,parent){super(parent);this.editor=editor2;this._unregister=editor2.invokeWithinContext((accessor=>accessor.get(IEditorCancellationTokens).add(editor2,this)))}dispose(){this._unregister();super.dispose()}};registerEditorCommand(new class extends EditorCommand{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:ctxCancellableOperation})}runEditorCommand(accessor,editor2){accessor.get(IEditorCancellationTokens).cancel(editor2)}})}});var EditorState,EditorStateCancellationTokenSource,TextModelCancellationTokenSource;var init_editorState=__esm({"node_modules/monaco-editor/esm/vs/editor/contrib/editorState/browser/editorState.js"(){init_strings();init_range();init_cancellation();init_lifecycle();init_keybindingCancellation();EditorState=class{constructor(editor2,flags){this.flags=flags;if((this.flags&1)!==0){const model=editor2.getModel();this.modelVersionId=model?format("{0}#{1}",model.uri.toString(),model.getVersionId()):null}else{this.modelVersionId=null}if((this.flags&4)!==0){this.position=editor2.getPosition()}else{this.position=null}if((this.flags&2)!==0){this.selection=editor2.getSelection()}else{this.selection=null}if((this.flags&8)!==0){this.scrollLeft=editor2.getScrollLeft();this.scrollTop=editor2.getScrollTop()}else{this.scrollLeft=-1;this.scrollTop=-1}}_equals(other){if(!(other instanceof EditorState)){return false}const state=other;if(this.modelVersionId!==state.modelVersionId){return false}if(this.scrollLeft!==state.scrollLeft||this.scrollTop!==state.scrollTop){return false}if(!this.position&&state.position||this.position&&!state.position||this.position&&state.position&&!this.position.equals(state.position)){return false}if(!this.selection&&state.selection||this.selection&&!state.selection||this.selection&&state.selection&&!this.selection.equalsRange(state.selection)){return false}return true}validate(editor2){return this._equals(new EditorState(editor2,this.flags))}};EditorStateCancellationTokenSource=class extends EditorKeybindingCancellationTokenSource{constructor(editor2,flags,range2,parent){super(editor2,parent);this._listener=new DisposableStore;if(flags&4){this._listener.add(editor2.onDidChangeCursorPosition((e=>{if(!range2||!Range.containsPosition(range2,e.position)){this.cancel()}})))}if(flags&2){this._listener.add(editor2.onDidChangeCursorSelection((e=>{if(!range2||!Range.containsRange(range2,e.selection)){this.cancel()}})))}if(flags&8){this._listener.add(editor2.onDidScrollChange((_=>this.cancel())))}if(flags&1){this._listener.add(editor2.onDidChangeModel((_=>this.cancel())));this._listener.add(editor2.onDidChangeModelContent((_=>this.cancel())))}}dispose(){this._listener.dispose();super.dispose()}};TextModelCancellationTokenSource=class extends CancellationTokenSource{constructor(model,parent){super(parent);this._listener=model.onDidChangeContent((()=>this.cancel()))}dispose(){this._listener.dispose();super.dispose()}}}});function isCodeEditor(thing){if(thing&&typeof thing.getEditorType==="function"){return thing.getEditorType()===EditorType.ICodeEditor}else{return false}}function isDiffEditor(thing){if(thing&&typeof thing.getEditorType==="function"){return thing.getEditorType()===EditorType.IDiffEditor}else{return false}}function isCompositeEditor(thing){return!!thing&&typeof thing==="object"&&typeof thing.onDidChangeActiveEditor==="function"}function getCodeEditor(thing){if(isCodeEditor(thing)){return thing}if(isDiffEditor(thing)){return thing.getModifiedEditor()}if(isCompositeEditor(thing)&&isCodeEditor(thing.activeCodeEditor)){return thing.activeCodeEditor}return null}var init_editorBrowser=__esm({"node_modules/monaco-editor/esm/vs/editor/browser/editorBrowser.js"(){init_editorCommon()}});var FormattingEdit;var init_formattingEdit=__esm({"node_modules/monaco-editor/esm/vs/editor/contrib/format/browser/formattingEdit.js"(){init_editOperation();init_range();init_stableEditorScroll();FormattingEdit=class{static _handleEolEdits(editor2,edits){let newEol=void 0;const singleEdits=[];for(const edit of edits){if(typeof edit.eol==="number"){newEol=edit.eol}if(edit.range&&typeof edit.text==="string"){singleEdits.push(edit)}}if(typeof newEol==="number"){if(editor2.hasModel()){editor2.getModel().pushEOL(newEol)}}return singleEdits}static _isFullModelReplaceEdit(editor2,edit){if(!editor2.hasModel()){return false}const model=editor2.getModel();const editRange=model.validateRange(edit.range);const fullModelRange=model.getFullModelRange();return fullModelRange.equalsRange(editRange)}static execute(editor2,_edits,addUndoStops){if(addUndoStops){editor2.pushUndoStop()}const scrollState=StableEditorScrollState.capture(editor2);const edits=FormattingEdit._handleEolEdits(editor2,_edits);if(edits.length===1&&FormattingEdit._isFullModelReplaceEdit(editor2,edits[0])){editor2.executeEdits("formatEditsCommand",edits.map((edit=>EditOperation.replace(Range.lift(edit.range),edit.text))))}else{editor2.executeEdits("formatEditsCommand",edits.map((edit=>EditOperation.replaceMove(Range.lift(edit.range),edit.text))))}if(addUndoStops){editor2.pushUndoStop()}scrollState.restoreRelativeVerticalPositionOfCursor(editor2)}}}});var ExtensionIdentifier,ExtensionIdentifierSet;var init_extensions2=__esm({"node_modules/monaco-editor/esm/vs/platform/extensions/common/extensions.js"(){ExtensionIdentifier=class{constructor(value){this.value=value;this._lower=value.toLowerCase()}static toKey(id){if(typeof id==="string"){return id.toLowerCase()}return id._lower}};ExtensionIdentifierSet=class{constructor(iterable){this._set=new Set;if(iterable){for(const value of iterable){this.add(value)}}}add(id){this._set.add(ExtensionIdentifier.toKey(id))}has(id){return this._set.has(ExtensionIdentifier.toKey(id))}}}});function alertFormattingEdits(edits){edits=edits.filter((edit=>edit.range));if(!edits.length){return}let{range:range2}=edits[0];for(let i=1;i<edits.length;i++){range2=Range.plusRange(range2,edits[i].range)}const{startLineNumber:startLineNumber,endLineNumber:endLineNumber}=range2;if(startLineNumber===endLineNumber){if(edits.length===1){alert(localize("hint11","Made 1 formatting edit on line {0}",startLineNumber))}else{alert(localize("hintn1","Made {0} formatting edits on line {1}",edits.length,startLineNumber))}}else{if(edits.length===1){alert(localize("hint1n","Made 1 formatting edit between lines {0} and {1}",startLineNumber,endLineNumber))}else{alert(localize("hintnn","Made {0} formatting edits between lines {1} and {2}",edits.length,startLineNumber,endLineNumber))}}}function getRealAndSyntheticDocumentFormattersOrdered(documentFormattingEditProvider,documentRangeFormattingEditProvider,model){const result=[];const seen=new ExtensionIdentifierSet;const docFormatter=documentFormattingEditProvider.ordered(model);for(const formatter of docFormatter){result.push(formatter);if(formatter.extensionId){seen.add(formatter.extensionId)}}const rangeFormatter=documentRangeFormattingEditProvider.ordered(model);for(const formatter of rangeFormatter){if(formatter.extensionId){if(seen.has(formatter.extensionId)){continue}seen.add(formatter.extensionId)}result.push({displayName:formatter.displayName,extensionId:formatter.extensionId,provideDocumentFormattingEdits(model2,options2,token){return formatter.provideDocumentRangeFormattingEdits(model2,model2.getFullModelRange(),options2,token)}})}return result}function formatDocumentRangesWithSelectedProvider(accessor,editorOrModel,rangeOrRanges,mode,progress,token){return __awaiter34(this,void 0,void 0,(function*(){const instaService=accessor.get(IInstantiationService);const{documentRangeFormattingEditProvider:documentRangeFormattingEditProviderRegistry}=accessor.get(ILanguageFeaturesService);const model=isCodeEditor(editorOrModel)?editorOrModel.getModel():editorOrModel;const provider=documentRangeFormattingEditProviderRegistry.ordered(model);const selected=yield FormattingConflicts.select(provider,model,mode);if(selected){progress.report(selected);yield instaService.invokeFunction(formatDocumentRangesWithProvider,selected,editorOrModel,rangeOrRanges,token)}}))}function formatDocumentRangesWithProvider(accessor,provider,editorOrModel,rangeOrRanges,token){var _a6,_b3;return __awaiter34(this,void 0,void 0,(function*(){const workerService=accessor.get(IEditorWorkerService);const logService=accessor.get(ILogService);let model;let cts;if(isCodeEditor(editorOrModel)){model=editorOrModel.getModel();cts=new EditorStateCancellationTokenSource(editorOrModel,1|4,void 0,token)}else{model=editorOrModel;cts=new TextModelCancellationTokenSource(editorOrModel,token)}const ranges=[];let len=0;for(const range2 of asArray(rangeOrRanges).sort(Range.compareRangesUsingStarts)){if(len>0&&Range.areIntersectingOrTouching(ranges[len-1],range2)){ranges[len-1]=Range.fromPositions(ranges[len-1].getStartPosition(),range2.getEndPosition())}else{len=ranges.push(range2)}}const computeEdits=range2=>__awaiter34(this,void 0,void 0,(function*(){var _c2,_d2;logService.trace(`[format][provideDocumentRangeFormattingEdits] (request)`,(_c2=provider.extensionId)===null||_c2===void 0?void 0:_c2.value,range2);const result=(yield provider.provideDocumentRangeFormattingEdits(model,range2,model.getFormattingOptions(),cts.token))||[];logService.trace(`[format][provideDocumentRangeFormattingEdits] (response)`,(_d2=provider.extensionId)===null||_d2===void 0?void 0:_d2.value,result);return result}));const hasIntersectingEdit=(a,b)=>{if(!a.length||!b.length){return false}const mergedA=a.reduce(((acc,val)=>Range.plusRange(acc,val.range)),a[0].range);if(!b.some((x=>Range.intersectRanges(mergedA,x.range)))){return false}for(const edit of a){for(const otherEdit of b){if(Range.intersectRanges(edit.range,otherEdit.range)){return true}}}return false};const allEdits=[];const rawEditsList=[];try{if(typeof provider.provideDocumentRangesFormattingEdits==="function"){logService.trace(`[format][provideDocumentRangeFormattingEdits] (request)`,(_a6=provider.extensionId)===null||_a6===void 0?void 0:_a6.value,ranges);const result=(yield provider.provideDocumentRangesFormattingEdits(model,ranges,model.getFormattingOptions(),cts.token))||[];logService.trace(`[format][provideDocumentRangeFormattingEdits] (response)`,(_b3=provider.extensionId)===null||_b3===void 0?void 0:_b3.value,result);rawEditsList.push(result)}else{for(const range2 of ranges){if(cts.token.isCancellationRequested){return true}rawEditsList.push(yield computeEdits(range2))}for(let i=0;i<ranges.length;++i){for(let j=i+1;j<ranges.length;++j){if(cts.token.isCancellationRequested){return true}if(hasIntersectingEdit(rawEditsList[i],rawEditsList[j])){const mergedRange=Range.plusRange(ranges[i],ranges[j]);const edits=yield computeEdits(mergedRange);ranges.splice(j,1);ranges.splice(i,1);ranges.push(mergedRange);rawEditsList.splice(j,1);rawEditsList.splice(i,1);rawEditsList.push(edits);i=0;j=0}}}}for(const rawEdits of rawEditsList){if(cts.token.isCancellationRequested){return true}const minimalEdits=yield workerService.computeMoreMinimalEdits(model.uri,rawEdits);if(minimalEdits){allEdits.push(...minimalEdits)}}}finally{cts.dispose()}if(allEdits.length===0){return false}if(isCodeEditor(editorOrModel)){FormattingEdit.execute(editorOrModel,allEdits,true);alertFormattingEdits(allEdits);editorOrModel.revealPositionInCenterIfOutsideViewport(editorOrModel.getPosition(),1)}else{const[{range:range2}]=allEdits;const initialSelection=new Selection(range2.startLineNumber,range2.startColumn,range2.endLineNumber,range2.endColumn);model.pushEditOperations([initialSelection],allEdits.map((edit=>({text:edit.text,range:Range.lift(edit.range),forceMoveMarkers:true}))),(undoEdits=>{for(const{range:range3}of undoEdits){if(Range.areIntersectingOrTouching(range3,initialSelection)){return[new Selection(range3.startLineNumber,range3.startColumn,range3.endLineNumber,range3.endColumn)]}}return null}))}return true}))}function formatDocumentWithSelectedProvider(accessor,editorOrModel,mode,progress,token){return __awaiter34(this,void 0,void 0,(function*(){const instaService=accessor.get(IInstantiationService);const languageFeaturesService=accessor.get(ILanguageFeaturesService);const model=isCodeEditor(editorOrModel)?editorOrModel.getModel():editorOrModel;const provider=getRealAndSyntheticDocumentFormattersOrdered(languageFeaturesService.documentFormattingEditProvider,languageFeaturesService.documentRangeFormattingEditProvider,model);const selected=yield FormattingConflicts.select(provider,model,mode);if(selected){progress.report(selected);yield instaService.invokeFunction(formatDocumentWithProvider,selected,editorOrModel,mode,token)}}))}function formatDocumentWithProvider(accessor,provider,editorOrModel,mode,token){return __awaiter34(this,void 0,void 0,(function*(){const workerService=accessor.get(IEditorWorkerService);let model;let cts;if(isCodeEditor(editorOrModel)){model=editorOrModel.getModel();cts=new EditorStateCancellationTokenSource(editorOrModel,1|4,void 0,token)}else{model=editorOrModel;cts=new TextModelCancellationTokenSource(editorOrModel,token)}let edits;try{const rawEdits=yield provider.provideDocumentFormattingEdits(model,model.getFormattingOptions(),cts.token);edits=yield workerService.computeMoreMinimalEdits(model.uri,rawEdits);if(cts.token.isCancellationRequested){return true}}finally{cts.dispose()}if(!edits||edits.length===0){return false}if(isCodeEditor(editorOrModel)){FormattingEdit.execute(editorOrModel,edits,mode!==2);if(mode!==2){alertFormattingEdits(edits);editorOrModel.revealPositionInCenterIfOutsideViewport(editorOrModel.getPosition(),1)}}else{const[{range:range2}]=edits;const initialSelection=new Selection(range2.startLineNumber,range2.startColumn,range2.endLineNumber,range2.endColumn);model.pushEditOperations([initialSelection],edits.map((edit=>({text:edit.text,range:Range.lift(edit.range),forceMoveMarkers:true}))),(undoEdits=>{for(const{range:range3}of undoEdits){if(Range.areIntersectingOrTouching(range3,initialSelection)){return[new Selection(range3.startLineNumber,range3.startColumn,range3.endLineNumber,range3.endColumn)]}}return null}))}return true}))}function getDocumentRangeFormattingEditsUntilResult(workerService,languageFeaturesService,model,range2,options2,token){return __awaiter34(this,void 0,void 0,(function*(){const providers=languageFeaturesService.documentRangeFormattingEditProvider.ordered(model);for(const provider of providers){const rawEdits=yield Promise.resolve(provider.provideDocumentRangeFormattingEdits(model,range2,options2,token)).catch(onUnexpectedExternalError);if(isNonEmptyArray(rawEdits)){return yield workerService.computeMoreMinimalEdits(model.uri,rawEdits)}}return void 0}))}function getDocumentFormattingEditsUntilResult(workerService,languageFeaturesService,model,options2,token){return __awaiter34(this,void 0,void 0,(function*(){const providers=getRealAndSyntheticDocumentFormattersOrdered(languageFeaturesService.documentFormattingEditProvider,languageFeaturesService.documentRangeFormattingEditProvider,model);for(const provider of providers){const rawEdits=yield Promise.resolve(provider.provideDocumentFormattingEdits(model,options2,token)).catch(onUnexpectedExternalError);if(isNonEmptyArray(rawEdits)){return yield workerService.computeMoreMinimalEdits(model.uri,rawEdits)}}return void 0}))}function getOnTypeFormattingEdits(workerService,languageFeaturesService,model,position,ch,options2,token){const providers=languageFeaturesService.onTypeFormattingEditProvider.ordered(model);if(providers.length===0){return Promise.resolve(void 0)}if(providers[0].autoFormatTriggerCharacters.indexOf(ch)<0){return Promise.resolve(void 0)}return Promise.resolve(providers[0].provideOnTypeFormattingEdits(model,position,ch,options2,token)).catch(onUnexpectedExternalError).then((edits=>workerService.computeMoreMinimalEdits(model.uri,edits)))}var __awaiter34,FormattingConflicts;var init_format=__esm({"node_modules/monaco-editor/esm/vs/editor/contrib/format/browser/format.js"(){init_aria();init_arrays();init_cancellation();init_errors();init_iterator();init_linkedList();init_types();init_uri();init_editorState();init_editorBrowser();init_position();init_range();init_selection();init_editorWorker();init_resolverService();init_formattingEdit();init_nls();init_commands();init_extensions2();init_instantiation();init_languageFeatures();init_log();__awaiter34=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};FormattingConflicts=class{static setFormatterSelector(selector){const remove=FormattingConflicts._selectors.unshift(selector);return{dispose:remove}}static select(formatter,document2,mode){return __awaiter34(this,void 0,void 0,(function*(){if(formatter.length===0){return void 0}const selector=Iterable.first(FormattingConflicts._selectors);if(selector){return yield selector(formatter,document2,mode)}return void 0}))}};FormattingConflicts._selectors=new LinkedList;CommandsRegistry.registerCommand("_executeFormatRangeProvider",(function(accessor,...args){return __awaiter34(this,void 0,void 0,(function*(){const[resource,range2,options2]=args;assertType(URI.isUri(resource));assertType(Range.isIRange(range2));const resolverService=accessor.get(ITextModelService);const workerService=accessor.get(IEditorWorkerService);const languageFeaturesService=accessor.get(ILanguageFeaturesService);const reference=yield resolverService.createModelReference(resource);try{return getDocumentRangeFormattingEditsUntilResult(workerService,languageFeaturesService,reference.object.textEditorModel,Range.lift(range2),options2,CancellationToken.None)}finally{reference.dispose()}}))}));CommandsRegistry.registerCommand("_executeFormatDocumentProvider",(function(accessor,...args){return __awaiter34(this,void 0,void 0,(function*(){const[resource,options2]=args;assertType(URI.isUri(resource));const resolverService=accessor.get(ITextModelService);const workerService=accessor.get(IEditorWorkerService);const languageFeaturesService=accessor.get(ILanguageFeaturesService);const reference=yield resolverService.createModelReference(resource);try{return getDocumentFormattingEditsUntilResult(workerService,languageFeaturesService,reference.object.textEditorModel,options2,CancellationToken.None)}finally{reference.dispose()}}))}));CommandsRegistry.registerCommand("_executeFormatOnTypeProvider",(function(accessor,...args){return __awaiter34(this,void 0,void 0,(function*(){const[resource,position,ch,options2]=args;assertType(URI.isUri(resource));assertType(Position.isIPosition(position));assertType(typeof ch==="string");const resolverService=accessor.get(ITextModelService);const workerService=accessor.get(IEditorWorkerService);const languageFeaturesService=accessor.get(ILanguageFeaturesService);const reference=yield resolverService.createModelReference(resource);try{return getOnTypeFormattingEdits(workerService,languageFeaturesService,reference.object.textEditorModel,Position.lift(position),ch,options2,CancellationToken.None)}finally{reference.dispose()}}))}))}});var editor_api_exports={};__export(editor_api_exports,{CancellationTokenSource:()=>CancellationTokenSource2,Emitter:()=>Emitter2,KeyCode:()=>KeyCode2,KeyMod:()=>KeyMod2,MarkerSeverity:()=>MarkerSeverity3,MarkerTag:()=>MarkerTag2,Position:()=>Position2,Range:()=>Range3,Selection:()=>Selection2,SelectionDirection:()=>SelectionDirection2,Token:()=>Token3,Uri:()=>Uri2,editor:()=>editor,languages:()=>languages});var api,CancellationTokenSource2,Emitter2,KeyCode2,KeyMod2,Position2,Range3,Selection2,SelectionDirection2,MarkerSeverity3,MarkerTag2,Uri2,Token3,editor,languages,monacoEnvironment;var init_editor_api=__esm({"node_modules/monaco-editor/esm/vs/editor/editor.api.js"(){init_editorOptions();init_editorBaseApi();init_standaloneEditor();init_standaloneLanguages();init_format();EditorOptions.wrappingIndent.defaultValue=0;EditorOptions.glyphMargin.defaultValue=false;EditorOptions.autoIndent.defaultValue=3;EditorOptions.overviewRulerLanes.defaultValue=2;FormattingConflicts.setFormatterSelector(((formatter,document2,mode)=>Promise.resolve(formatter[0])));api=createMonacoBaseAPI();api.editor=createMonacoEditorAPI();api.languages=createMonacoLanguagesAPI();CancellationTokenSource2=api.CancellationTokenSource;Emitter2=api.Emitter;KeyCode2=api.KeyCode;KeyMod2=api.KeyMod;Position2=api.Position;Range3=api.Range;Selection2=api.Selection;SelectionDirection2=api.SelectionDirection;MarkerSeverity3=api.MarkerSeverity;MarkerTag2=api.MarkerTag;Uri2=api.Uri;Token3=api.Token;editor=api.editor;languages=api.languages;monacoEnvironment=globalThis.MonacoEnvironment;if((monacoEnvironment===null||monacoEnvironment===void 0?void 0:monacoEnvironment.globalAPI)||typeof define==="function"&&define.amd){globalThis.monaco=api}if(typeof globalThis.require!=="undefined"&&typeof globalThis.require.config==="function"){globalThis.require.config({ignoreDuplicateModules:["vscode-languageserver-types","vscode-languageserver-types/main","vscode-languageserver-textdocument","vscode-languageserver-textdocument/main","vscode-nls","vscode-nls/vscode-nls","jsonc-parser","jsonc-parser/main","vscode-uri","vscode-uri/index","vs/basic-languages/typescript/typescript"]})}}});var abap_exports={};__export(abap_exports,{conf:()=>conf,language:()=>language2});var conf,language2;var init_abap=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/abap/abap.js"(){conf={comments:{lineComment:"*"},brackets:[["[","]"],["(",")"]]};language2={defaultToken:"invalid",ignoreCase:true,tokenPostfix:".abap",keywords:["abap-source","abbreviated","abstract","accept","accepting","according","activation","actual","add","add-corresponding","adjacent","after","alias","aliases","align","all","allocate","alpha","analysis","analyzer","and","append","appendage","appending","application","archive","area","arithmetic","as","ascending","aspect","assert","assign","assigned","assigning","association","asynchronous","at","attributes","authority","authority-check","avg","back","background","backup","backward","badi","base","before","begin","between","big","binary","bintohex","bit","black","blank","blanks","blob","block","blocks","blue","bound","boundaries","bounds","boxed","break-point","buffer","by","bypassing","byte","byte-order","call","calling","case","cast","casting","catch","center","centered","chain","chain-input","chain-request","change","changing","channels","character","char-to-hex","check","checkbox","ci_","circular","class","class-coding","class-data","class-events","class-methods","class-pool","cleanup","clear","client","clob","clock","close","coalesce","code","coding","col_background","col_group","col_heading","col_key","col_negative","col_normal","col_positive","col_total","collect","color","column","columns","comment","comments","commit","common","communication","comparing","component","components","compression","compute","concat","concat_with_space","concatenate","cond","condense","condition","connect","connection","constants","context","contexts","continue","control","controls","conv","conversion","convert","copies","copy","corresponding","country","cover","cpi","create","creating","critical","currency","currency_conversion","current","cursor","cursor-selection","customer","customer-function","dangerous","data","database","datainfo","dataset","date","dats_add_days","dats_add_months","dats_days_between","dats_is_valid","daylight","dd/mm/yy","dd/mm/yyyy","ddmmyy","deallocate","decimal_shift","decimals","declarations","deep","default","deferred","define","defining","definition","delete","deleting","demand","department","descending","describe","destination","detail","dialog","directory","disconnect","display","display-mode","distinct","divide","divide-corresponding","division","do","dummy","duplicate","duplicates","duration","during","dynamic","dynpro","edit","editor-call","else","elseif","empty","enabled","enabling","encoding","end","endat","endcase","endcatch","endchain","endclass","enddo","endenhancement","end-enhancement-section","endexec","endform","endfunction","endian","endif","ending","endinterface","end-lines","endloop","endmethod","endmodule","end-of-definition","end-of-editing","end-of-file","end-of-page","end-of-selection","endon","endprovide","endselect","end-test-injection","end-test-seam","endtry","endwhile","endwith","engineering","enhancement","enhancement-point","enhancements","enhancement-section","entries","entry","enum","environment","equiv","errormessage","errors","escaping","event","events","exact","except","exception","exceptions","exception-table","exclude","excluding","exec","execute","exists","exit","exit-command","expand","expanding","expiration","explicit","exponent","export","exporting","extend","extended","extension","extract","fail","fetch","field","field-groups","fields","field-symbol","field-symbols","file","filter","filters","filter-table","final","find","first","first-line","fixed-point","fkeq","fkge","flush","font","for","form","format","forward","found","frame","frames","free","friends","from","function","functionality","function-pool","further","gaps","generate","get","giving","gkeq","gkge","global","grant","green","group","groups","handle","handler","harmless","hashed","having","hdb","header","headers","heading","head-lines","help-id","help-request","hextobin","hide","high","hint","hold","hotspot","icon","id","identification","identifier","ids","if","ignore","ignoring","immediately","implementation","implementations","implemented","implicit","import","importing","in","inactive","incl","include","includes","including","increment","index","index-line","infotypes","inheriting","init","initial","initialization","inner","inout","input","insert","instance","instances","instr","intensified","interface","interface-pool","interfaces","internal","intervals","into","inverse","inverted-date","is","iso","job","join","keep","keeping","kernel","key","keys","keywords","kind","language","last","late","layout","leading","leave","left","left-justified","leftplus","leftspace","legacy","length","let","level","levels","like","line","lines","line-count","linefeed","line-selection","line-size","list","listbox","list-processing","little","llang","load","load-of-program","lob","local","locale","locator","logfile","logical","log-point","long","loop","low","lower","lpad","lpi","ltrim","mail","main","major-id","mapping","margin","mark","mask","match","matchcode","max","maximum","medium","members","memory","mesh","message","message-id","messages","messaging","method","methods","min","minimum","minor-id","mm/dd/yy","mm/dd/yyyy","mmddyy","mode","modif","modifier","modify","module","move","move-corresponding","multiply","multiply-corresponding","name","nametab","native","nested","nesting","new","new-line","new-page","new-section","next","no","no-display","no-extension","no-gap","no-gaps","no-grouping","no-heading","no-scrolling","no-sign","no-title","no-topofpage","no-zero","node","nodes","non-unicode","non-unique","not","null","number","object","objects","obligatory","occurrence","occurrences","occurs","of","off","offset","ole","on","only","open","option","optional","options","or","order","other","others","out","outer","output","output-length","overflow","overlay","pack","package","pad","padding","page","pages","parameter","parameters","parameter-table","part","partially","pattern","percentage","perform","performing","person","pf1","pf10","pf11","pf12","pf13","pf14","pf15","pf2","pf3","pf4","pf5","pf6","pf7","pf8","pf9","pf-status","pink","places","pool","pos_high","pos_low","position","pragmas","precompiled","preferred","preserving","primary","print","print-control","priority","private","procedure","process","program","property","protected","provide","public","push","pushbutton","put","queue-only","quickinfo","radiobutton","raise","raising","range","ranges","read","reader","read-only","receive","received","receiver","receiving","red","redefinition","reduce","reduced","ref","reference","refresh","regex","reject","remote","renaming","replace","replacement","replacing","report","request","requested","reserve","reset","resolution","respecting","responsible","result","results","resumable","resume","retry","return","returncode","returning","returns","right","right-justified","rightplus","rightspace","risk","rmc_communication_failure","rmc_invalid_status","rmc_system_failure","role","rollback","rows","rpad","rtrim","run","sap","sap-spool","saving","scale_preserving","scale_preserving_scientific","scan","scientific","scientific_with_leading_zero","scroll","scroll-boundary","scrolling","search","secondary","seconds","section","select","selection","selections","selection-screen","selection-set","selection-sets","selection-table","select-options","send","separate","separated","set","shared","shift","short","shortdump-id","sign_as_postfix","single","size","skip","skipping","smart","some","sort","sortable","sorted","source","specified","split","spool","spots","sql","sqlscript","stable","stamp","standard","starting","start-of-editing","start-of-selection","state","statement","statements","static","statics","statusinfo","step-loop","stop","structure","structures","style","subkey","submatches","submit","subroutine","subscreen","subtract","subtract-corresponding","suffix","sum","summary","summing","supplied","supply","suppress","switch","switchstates","symbol","syncpoints","syntax","syntax-check","syntax-trace","system-call","system-exceptions","system-exit","tab","tabbed","table","tables","tableview","tabstrip","target","task","tasks","test","testing","test-injection","test-seam","text","textpool","then","throw","time","times","timestamp","timezone","tims_is_valid","title","titlebar","title-lines","to","tokenization","tokens","top-lines","top-of-page","trace-file","trace-table","trailing","transaction","transfer","transformation","translate","transporting","trmac","truncate","truncation","try","tstmp_add_seconds","tstmp_current_utctimestamp","tstmp_is_valid","tstmp_seconds_between","type","type-pool","type-pools","types","uline","unassign","under","unicode","union","unique","unit_conversion","unix","unpack","until","unwind","up","update","upper","user","user-command","using","utf-8","valid","value","value-request","values","vary","varying","verification-message","version","via","view","visible","wait","warning","when","whenever","where","while","width","window","windows","with","with-heading","without","with-title","word","work","write","writer","xml","xsd","yellow","yes","yymmdd","zero","zone","abap_system_timezone","abap_user_timezone","access","action","adabas","adjust_numbers","allow_precision_loss","allowed","amdp","applicationuser","as_geo_json","as400","associations","balance","behavior","breakup","bulk","cds","cds_client","check_before_save","child","clients","corr","corr_spearman","cross","cycles","datn_add_days","datn_add_months","datn_days_between","dats_from_datn","dats_tims_to_tstmp","dats_to_datn","db2","db6","ddl","dense_rank","depth","deterministic","discarding","entities","entity","error","failed","finalize","first_value","fltp_to_dec","following","fractional","full","graph","grouping","hierarchy","hierarchy_ancestors","hierarchy_ancestors_aggregate","hierarchy_descendants","hierarchy_descendants_aggregate","hierarchy_siblings","incremental","indicators","lag","last_value","lead","leaves","like_regexpr","link","locale_sap","lock","locks","many","mapped","matched","measures","median","mssqlnt","multiple","nodetype","ntile","nulls","occurrences_regexpr","one","operations","oracle","orphans","over","parent","parents","partition","pcre","period","pfcg_mapping","preceding","privileged","product","projection","rank","redirected","replace_regexpr","reported","response","responses","root","row","row_number","sap_system_date","save","schema","session","sets","shortdump","siblings","spantree","start","stddev","string_agg","subtotal","sybase","tims_from_timn","tims_to_timn","to_blob","to_clob","total","trace-entry","tstmp_to_dats","tstmp_to_dst","tstmp_to_tims","tstmpl_from_utcl","tstmpl_to_utcl","unbounded","utcl_add_seconds","utcl_current","utcl_seconds_between","uuid","var","verbatim"],builtinFunctions:["abs","acos","asin","atan","bit-set","boolc","boolx","ceil","char_off","charlen","cmax","cmin","concat_lines_of","contains","contains_any_not_of","contains_any_of","cos","cosh","count","count_any_not_of","count_any_of","dbmaxlen","distance","escape","exp","find_any_not_of","find_any_of","find_end","floor","frac","from_mixed","ipow","line_exists","line_index","log","log10","matches","nmax","nmin","numofchar","repeat","rescale","reverse","round","segment","shift_left","shift_right","sign","sin","sinh","sqrt","strlen","substring","substring_after","substring_before","substring_from","substring_to","tan","tanh","to_lower","to_mixed","to_upper","trunc","utclong_add","utclong_current","utclong_diff","xsdbool","xstrlen"],typeKeywords:["b","c","d","decfloat16","decfloat34","f","i","int8","n","p","s","string","t","utclong","x","xstring","any","clike","csequence","decfloat","numeric","simple","xsequence","accp","char","clnt","cuky","curr","datn","dats","d16d","d16n","d16r","d34d","d34n","d34r","dec","df16_dec","df16_raw","df34_dec","df34_raw","fltp","geom_ewkb","int1","int2","int4","lang","lchr","lraw","numc","quan","raw","rawstring","sstring","timn","tims","unit","utcl","df16_scl","df34_scl","prec","varc","abap_bool","abap_false","abap_true","abap_undefined","me","screen","space","super","sy","syst","table_line","*sys*"],builtinMethods:["class_constructor","constructor"],derivedTypes:["%CID","%CID_REF","%CONTROL","%DATA","%ELEMENT","%FAIL","%KEY","%MSG","%PARAM","%PID","%PID_ASSOC","%PID_PARENT","%_HINTS"],cdsLanguage:["@AbapAnnotation","@AbapCatalog","@AccessControl","@API","@ClientDependent","@ClientHandling","@CompatibilityContract","@DataAging","@EndUserText","@Environment","@LanguageDependency","@MappingRole","@Metadata","@MetadataExtension","@ObjectModel","@Scope","@Semantics","$EXTENSION","$SELF"],selectors:["->","->*","=>","~","~*"],operators:[" +"," -","/","*","**","div","mod","=","#","@","+=","-=","*=","/=","**=","&&=","?=","&","&&","bit-and","bit-not","bit-or","bit-xor","m","o","z","<"," >","<=",">=","<>","><","=<","=>","bt","byte-ca","byte-cn","byte-co","byte-cs","byte-na","byte-ns","ca","cn","co","cp","cs","eq","ge","gt","le","lt","na","nb","ne","np","ns","*/","*:","--","/*","//"],symbols:/[=><!~?&+\-*\/\^%#@]+/,tokenizer:{root:[[/[a-z_\/$%@]([\w\/$%]|-(?!>))*/,{cases:{"@typeKeywords":"type","@keywords":"keyword","@cdsLanguage":"annotation","@derivedTypes":"type","@builtinFunctions":"type","@builtinMethods":"type","@operators":"key","@default":"identifier"}}],[/<[\w]+>/,"identifier"],[/##[\w|_]+/,"comment"],{include:"@whitespace"},[/[:,.]/,"delimiter"],[/[{}()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@selectors":"tag","@operators":"key","@default":""}}],[/'/,{token:"string",bracket:"@open",next:"@stringquote"}],[/`/,{token:"string",bracket:"@open",next:"@stringping"}],[/\|/,{token:"string",bracket:"@open",next:"@stringtemplate"}],[/\d+/,"number"]],stringtemplate:[[/[^\\\|]+/,"string"],[/\\\|/,"string"],[/\|/,{token:"string",bracket:"@close",next:"@pop"}]],stringping:[[/[^\\`]+/,"string"],[/`/,{token:"string",bracket:"@close",next:"@pop"}]],stringquote:[[/[^\\']+/,"string"],[/'/,{token:"string",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[/^\*.*$/,"comment"],[/\".*$/,"comment"]]}}}});var apex_exports={};__export(apex_exports,{conf:()=>conf2,language:()=>language3});var conf2,keywords,uppercaseFirstLetter,keywordsWithCaseVariations,language3;var init_apex=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/apex/apex.js"(){conf2={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),end:new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")}}};keywords=["abstract","activate","and","any","array","as","asc","assert","autonomous","begin","bigdecimal","blob","boolean","break","bulk","by","case","cast","catch","char","class","collect","commit","const","continue","convertcurrency","decimal","default","delete","desc","do","double","else","end","enum","exception","exit","export","extends","false","final","finally","float","for","from","future","get","global","goto","group","having","hint","if","implements","import","in","inner","insert","instanceof","int","interface","into","join","last_90_days","last_month","last_n_days","last_week","like","limit","list","long","loop","map","merge","native","new","next_90_days","next_month","next_n_days","next_week","not","null","nulls","number","object","of","on","or","outer","override","package","parallel","pragma","private","protected","public","retrieve","return","returning","rollback","savepoint","search","select","set","short","sort","stat","static","strictfp","super","switch","synchronized","system","testmethod","then","this","this_month","this_week","throw","throws","today","tolabel","tomorrow","transaction","transient","trigger","true","try","type","undelete","update","upsert","using","virtual","void","volatile","webservice","when","where","while","yesterday"];uppercaseFirstLetter=lowercase=>lowercase.charAt(0).toUpperCase()+lowercase.substr(1);keywordsWithCaseVariations=[];keywords.forEach((lowercase=>{keywordsWithCaseVariations.push(lowercase);keywordsWithCaseVariations.push(lowercase.toUpperCase());keywordsWithCaseVariations.push(uppercaseFirstLetter(lowercase))}));language3={defaultToken:"",tokenPostfix:".apex",keywords:keywordsWithCaseVariations,operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,tokenizer:{root:[[/[a-z_$][\w$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],[/[A-Z][\w\$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"type.identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@apexdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],apexdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}}}});var azcli_exports={};__export(azcli_exports,{conf:()=>conf3,language:()=>language4});var conf3,language4;var init_azcli=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/azcli/azcli.js"(){conf3={comments:{lineComment:"#"}};language4={defaultToken:"keyword",ignoreCase:true,tokenPostfix:".azcli",str:/[^#\s]/,tokenizer:{root:[{include:"@comment"},[/\s-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}],[/^-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}]],type:[{include:"@comment"},[/-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":"key.identifier"}}],[/@str+\s*/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}]],comment:[[/#.*$/,{cases:{"@eos":{token:"comment",next:"@popall"}}}]]}}}});var bat_exports={};__export(bat_exports,{conf:()=>conf4,language:()=>language5});var conf4,language5;var init_bat=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/bat/bat.js"(){conf4={comments:{lineComment:"REM"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],folding:{markers:{start:new RegExp("^\\s*(::\\s*|REM\\s+)#region"),end:new RegExp("^\\s*(::\\s*|REM\\s+)#endregion")}}};language5={defaultToken:"",ignoreCase:true,tokenPostfix:".bat",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:/call|defined|echo|errorlevel|exist|for|goto|if|pause|set|shift|start|title|not|pushd|popd/,symbols:/[=><!~?&|+\-*\/\^;\.,]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^(\s*)(rem(?:\s.*|))$/,["","comment"]],[/(\@?)(@keywords)(?!\w)/,[{token:"keyword"},{token:"keyword.$2"}]],[/[ \t\r\n]+/,""],[/setlocal(?!\w)/,"keyword.tag-setlocal"],[/endlocal(?!\w)/,"keyword.tag-setlocal"],[/[a-zA-Z_]\w*/,""],[/:\w*/,"metatag"],[/%[^%]+%/,"variable"],[/%%[\w]+(?!\w)/,"variable"],[/[{}()\[\]]/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],string:[[/[^\\"'%]+/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/%[\w ]+%/,"variable"],[/%%[\w]+(?!\w)/,"variable"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/$/,"string","@popall"]]}}}});var bicep_exports={};__export(bicep_exports,{conf:()=>conf5,language:()=>language6});var bounded,identifierStart,identifierContinue,identifier,keywords2,namedLiterals,nonCommentWs,numericLiteral,conf5,language6;var init_bicep=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/bicep/bicep.js"(){bounded=text2=>`\\b${text2}\\b`;identifierStart="[_a-zA-Z]";identifierContinue="[_a-zA-Z0-9]";identifier=bounded(`${identifierStart}${identifierContinue}*`);keywords2=["targetScope","resource","module","param","var","output","for","in","if","existing"];namedLiterals=["true","false","null"];nonCommentWs=`[ \\t\\r\\n]`;numericLiteral=`[0-9]+`;conf5={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'"},{open:"'''",close:"'''"}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:"'''",close:"'''",notIn:["string","comment"]}],autoCloseBefore:":.,=}])' \n\t",indentationRules:{increaseIndentPattern:new RegExp("^((?!\\/\\/).)*(\\{[^}\"'`]*|\\([^)\"'`]*|\\[[^\\]\"'`]*)$"),decreaseIndentPattern:new RegExp("^((?!.*?\\/\\*).*\\*/)?\\s*[\\}\\]].*$")}};language6={defaultToken:"",tokenPostfix:".bicep",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],symbols:/[=><!~?:&|+\-*/^%]+/,keywords:keywords2,namedLiterals:namedLiterals,escapes:`\\\\(u{[0-9A-Fa-f]+}|n|r|t|\\\\|'|\\\${)`,tokenizer:{root:[{include:"@expression"},{include:"@whitespace"}],stringVerbatim:[{regex:`(|'|'')[^']`,action:{token:"string"}},{regex:`'''`,action:{token:"string.quote",next:"@pop"}}],stringLiteral:[{regex:`\\\${`,action:{token:"delimiter.bracket",next:"@bracketCounting"}},{regex:`[^\\\\'$]+`,action:{token:"string"}},{regex:"@escapes",action:{token:"string.escape"}},{regex:`\\\\.`,action:{token:"string.escape.invalid"}},{regex:`'`,action:{token:"string",next:"@pop"}}],bracketCounting:[{regex:`{`,action:{token:"delimiter.bracket",next:"@bracketCounting"}},{regex:`}`,action:{token:"delimiter.bracket",next:"@pop"}},{include:"expression"}],comment:[{regex:`[^\\*]+`,action:{token:"comment"}},{regex:`\\*\\/`,action:{token:"comment",next:"@pop"}},{regex:`[\\/*]`,action:{token:"comment"}}],whitespace:[{regex:nonCommentWs},{regex:`\\/\\*`,action:{token:"comment",next:"@comment"}},{regex:`\\/\\/.*$`,action:{token:"comment"}}],expression:[{regex:`'''`,action:{token:"string.quote",next:"@stringVerbatim"}},{regex:`'`,action:{token:"string.quote",next:"@stringLiteral"}},{regex:numericLiteral,action:{token:"number"}},{regex:identifier,action:{cases:{"@keywords":{token:"keyword"},"@namedLiterals":{token:"keyword"},"@default":{token:"identifier"}}}}]}}}});var cameligo_exports={};__export(cameligo_exports,{conf:()=>conf6,language:()=>language7});var conf6,language7;var init_cameligo=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/cameligo/cameligo.js"(){conf6={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'},{open:"(*",close:"*)"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'},{open:"(*",close:"*)"}]};language7={defaultToken:"",tokenPostfix:".cameligo",ignoreCase:true,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],keywords:["abs","assert","block","Bytes","case","Crypto","Current","else","failwith","false","for","fun","if","in","let","let%entry","let%init","List","list","Map","map","match","match%nat","mod","not","operation","Operation","of","record","Set","set","sender","skip","source","String","then","to","true","type","with"],typeKeywords:["int","unit","string","tz","nat","bool"],operators:["=",">","<","<=",">=","<>",":",":=","and","mod","or","+","-","*","/","@","&","^","%","->","<-","&&","||"],symbols:/[=><:@\^&|+\-*\/\^%]+/,tokenizer:{root:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\$[0-9a-fA-F]{1,16}/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'/,"string","@string"],[/'[^\\']'/,"string"],[/'/,"string.invalid"],[/\#\d+/,"string"]],comment:[[/[^\(\*]+/,"comment"],[/\*\)/,"comment","@pop"],[/\(\*/,"comment"]],string:[[/[^\\']+/,"string"],[/\\./,"string.escape.invalid"],[/'/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\(\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}}}});var clojure_exports={};__export(clojure_exports,{conf:()=>conf7,language:()=>language8});var conf7,language8;var init_clojure=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/clojure/clojure.js"(){conf7={comments:{lineComment:";;"},brackets:[["[","]"],["(",")"],["{","}"]],autoClosingPairs:[{open:"[",close:"]"},{open:'"',close:'"'},{open:"(",close:")"},{open:"{",close:"}"}],surroundingPairs:[{open:"[",close:"]"},{open:'"',close:'"'},{open:"(",close:")"},{open:"{",close:"}"}]};language8={defaultToken:"",ignoreCase:true,tokenPostfix:".clj",brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"}],constants:["true","false","nil"],numbers:/^(?:[+\-]?\d+(?:(?:N|(?:[eE][+\-]?\d+))|(?:\.?\d*(?:M|(?:[eE][+\-]?\d+))?)|\/\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?(?=[\\\[\]\s"#'(),;@^`{}~]|$))/,characters:/^(?:\\(?:backspace|formfeed|newline|return|space|tab|o[0-7]{3}|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{4}|.)?(?=[\\\[\]\s"(),;@^`{}~]|$))/,escapes:/^\\(?:["'\\bfnrt]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,qualifiedSymbols:/^(?:(?:[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*(?:\.[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*\/)?(?:\/|[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*(?=[\\\[\]\s"(),;@^`{}~]|$))/,specialForms:[".","catch","def","do","if","monitor-enter","monitor-exit","new","quote","recur","set!","throw","try","var"],coreSymbols:["*","*'","*1","*2","*3","*agent*","*allow-unresolved-vars*","*assert*","*clojure-version*","*command-line-args*","*compile-files*","*compile-path*","*compiler-options*","*data-readers*","*default-data-reader-fn*","*e","*err*","*file*","*flush-on-newline*","*fn-loader*","*in*","*math-context*","*ns*","*out*","*print-dup*","*print-length*","*print-level*","*print-meta*","*print-namespace-maps*","*print-readably*","*read-eval*","*reader-resolver*","*source-path*","*suppress-read*","*unchecked-math*","*use-context-classloader*","*verbose-defrecords*","*warn-on-reflection*","+","+'","-","-'","->","->>","->ArrayChunk","->Eduction","->Vec","->VecNode","->VecSeq","-cache-protocol-fn","-reset-methods","..","/","<","<=","=","==",">",">=","EMPTY-NODE","Inst","StackTraceElement->vec","Throwable->map","accessor","aclone","add-classpath","add-watch","agent","agent-error","agent-errors","aget","alength","alias","all-ns","alter","alter-meta!","alter-var-root","amap","ancestors","and","any?","apply","areduce","array-map","as->","aset","aset-boolean","aset-byte","aset-char","aset-double","aset-float","aset-int","aset-long","aset-short","assert","assoc","assoc!","assoc-in","associative?","atom","await","await-for","await1","bases","bean","bigdec","bigint","biginteger","binding","bit-and","bit-and-not","bit-clear","bit-flip","bit-not","bit-or","bit-set","bit-shift-left","bit-shift-right","bit-test","bit-xor","boolean","boolean-array","boolean?","booleans","bound-fn","bound-fn*","bound?","bounded-count","butlast","byte","byte-array","bytes","bytes?","case","cast","cat","char","char-array","char-escape-string","char-name-string","char?","chars","chunk","chunk-append","chunk-buffer","chunk-cons","chunk-first","chunk-next","chunk-rest","chunked-seq?","class","class?","clear-agent-errors","clojure-version","coll?","comment","commute","comp","comparator","compare","compare-and-set!","compile","complement","completing","concat","cond","cond->","cond->>","condp","conj","conj!","cons","constantly","construct-proxy","contains?","count","counted?","create-ns","create-struct","cycle","dec","dec'","decimal?","declare","dedupe","default-data-readers","definline","definterface","defmacro","defmethod","defmulti","defn","defn-","defonce","defprotocol","defrecord","defstruct","deftype","delay","delay?","deliver","denominator","deref","derive","descendants","destructure","disj","disj!","dissoc","dissoc!","distinct","distinct?","doall","dorun","doseq","dosync","dotimes","doto","double","double-array","double?","doubles","drop","drop-last","drop-while","eduction","empty","empty?","ensure","ensure-reduced","enumeration-seq","error-handler","error-mode","eval","even?","every-pred","every?","ex-data","ex-info","extend","extend-protocol","extend-type","extenders","extends?","false?","ffirst","file-seq","filter","filterv","find","find-keyword","find-ns","find-protocol-impl","find-protocol-method","find-var","first","flatten","float","float-array","float?","floats","flush","fn","fn?","fnext","fnil","for","force","format","frequencies","future","future-call","future-cancel","future-cancelled?","future-done?","future?","gen-class","gen-interface","gensym","get","get-in","get-method","get-proxy-class","get-thread-bindings","get-validator","group-by","halt-when","hash","hash-combine","hash-map","hash-ordered-coll","hash-set","hash-unordered-coll","ident?","identical?","identity","if-let","if-not","if-some","ifn?","import","in-ns","inc","inc'","indexed?","init-proxy","inst-ms","inst-ms*","inst?","instance?","int","int-array","int?","integer?","interleave","intern","interpose","into","into-array","ints","io!","isa?","iterate","iterator-seq","juxt","keep","keep-indexed","key","keys","keyword","keyword?","last","lazy-cat","lazy-seq","let","letfn","line-seq","list","list*","list?","load","load-file","load-reader","load-string","loaded-libs","locking","long","long-array","longs","loop","macroexpand","macroexpand-1","make-array","make-hierarchy","map","map-entry?","map-indexed","map?","mapcat","mapv","max","max-key","memfn","memoize","merge","merge-with","meta","method-sig","methods","min","min-key","mix-collection-hash","mod","munge","name","namespace","namespace-munge","nat-int?","neg-int?","neg?","newline","next","nfirst","nil?","nnext","not","not-any?","not-empty","not-every?","not=","ns","ns-aliases","ns-imports","ns-interns","ns-map","ns-name","ns-publics","ns-refers","ns-resolve","ns-unalias","ns-unmap","nth","nthnext","nthrest","num","number?","numerator","object-array","odd?","or","parents","partial","partition","partition-all","partition-by","pcalls","peek","persistent!","pmap","pop","pop!","pop-thread-bindings","pos-int?","pos?","pr","pr-str","prefer-method","prefers","primitives-classnames","print","print-ctor","print-dup","print-method","print-simple","print-str","printf","println","println-str","prn","prn-str","promise","proxy","proxy-call-with-super","proxy-mappings","proxy-name","proxy-super","push-thread-bindings","pvalues","qualified-ident?","qualified-keyword?","qualified-symbol?","quot","rand","rand-int","rand-nth","random-sample","range","ratio?","rational?","rationalize","re-find","re-groups","re-matcher","re-matches","re-pattern","re-seq","read","read-line","read-string","reader-conditional","reader-conditional?","realized?","record?","reduce","reduce-kv","reduced","reduced?","reductions","ref","ref-history-count","ref-max-history","ref-min-history","ref-set","refer","refer-clojure","reify","release-pending-sends","rem","remove","remove-all-methods","remove-method","remove-ns","remove-watch","repeat","repeatedly","replace","replicate","require","reset!","reset-meta!","reset-vals!","resolve","rest","restart-agent","resultset-seq","reverse","reversible?","rseq","rsubseq","run!","satisfies?","second","select-keys","send","send-off","send-via","seq","seq?","seqable?","seque","sequence","sequential?","set","set-agent-send-executor!","set-agent-send-off-executor!","set-error-handler!","set-error-mode!","set-validator!","set?","short","short-array","shorts","shuffle","shutdown-agents","simple-ident?","simple-keyword?","simple-symbol?","slurp","some","some->","some->>","some-fn","some?","sort","sort-by","sorted-map","sorted-map-by","sorted-set","sorted-set-by","sorted?","special-symbol?","spit","split-at","split-with","str","string?","struct","struct-map","subs","subseq","subvec","supers","swap!","swap-vals!","symbol","symbol?","sync","tagged-literal","tagged-literal?","take","take-last","take-nth","take-while","test","the-ns","thread-bound?","time","to-array","to-array-2d","trampoline","transduce","transient","tree-seq","true?","type","unchecked-add","unchecked-add-int","unchecked-byte","unchecked-char","unchecked-dec","unchecked-dec-int","unchecked-divide-int","unchecked-double","unchecked-float","unchecked-inc","unchecked-inc-int","unchecked-int","unchecked-long","unchecked-multiply","unchecked-multiply-int","unchecked-negate","unchecked-negate-int","unchecked-remainder-int","unchecked-short","unchecked-subtract","unchecked-subtract-int","underive","unquote","unquote-splicing","unreduced","unsigned-bit-shift-right","update","update-in","update-proxy","uri?","use","uuid?","val","vals","var-get","var-set","var?","vary-meta","vec","vector","vector-of","vector?","volatile!","volatile?","vreset!","vswap!","when","when-first","when-let","when-not","when-some","while","with-bindings","with-bindings*","with-in-str","with-loading-context","with-local-vars","with-meta","with-open","with-out-str","with-precision","with-redefs","with-redefs-fn","xml-seq","zero?","zipmap"],tokenizer:{root:[{include:"@whitespace"},[/@numbers/,"number"],[/@characters/,"string"],{include:"@string"},[/[()\[\]{}]/,"@brackets"],[/\/#"(?:\.|(?:")|[^"\n])*"\/g/,"regexp"],[/[#'@^`~]/,"meta"],[/@qualifiedSymbols/,{cases:{"^:.+$":"constant","@specialForms":"keyword","@coreSymbols":"keyword","@constants":"constant","@default":"identifier"}}]],whitespace:[[/[\s,]+/,"white"],[/;.*$/,"comment"],[/\(comment\b/,"comment","@comment"]],comment:[[/\(/,"comment","@push"],[/\)/,"comment","@pop"],[/[^()]/,"comment"]],string:[[/"/,"string","@multiLineString"]],multiLineString:[[/"/,"string","@popall"],[/@escapes/,"string.escape"],[/./,"string"]]}}}});var coffee_exports={};__export(coffee_exports,{conf:()=>conf8,language:()=>language9});var conf8,language9;var init_coffee=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/coffee/coffee.js"(){conf8={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{blockComment:["###","###"],lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}};language9={defaultToken:"",ignoreCase:true,tokenPostfix:".coffee",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],regEx:/\/(?!\/\/)(?:[^\/\\]|\\.)*\/[igm]*/,keywords:["and","or","is","isnt","not","on","yes","@","no","off","true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","if","else","switch","for","while","do","try","catch","finally","class","extends","super","undefined","then","unless","until","loop","of","by","when"],symbols:/[=><!~?&%|+\-*\/\^\.,\:]+/,escapes:/\\(?:[abfnrtv\\"'$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\@[a-zA-Z_]\w*/,"variable.predefined"],[/[a-zA-Z_]\w*/,{cases:{this:"variable.predefined","@keywords":{token:"keyword.$0"},"@default":""}}],[/[ \t\r\n]+/,""],[/###/,"comment","@comment"],[/#.*$/,"comment"],["///",{token:"regexp",next:"@hereregexp"}],[/^(\s*)(@regEx)/,["","regexp"]],[/(\()(\s*)(@regEx)/,["@brackets","","regexp"]],[/(\,)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\=)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\:)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\[)(\s*)(@regEx)/,["@brackets","","regexp"]],[/(\!)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\&)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\|)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\?)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\{)(\s*)(@regEx)/,["@brackets","","regexp"]],[/(\;)(\s*)(@regEx)/,["","","regexp"]],[/}/,{cases:{"$S2==interpolatedstring":{token:"string",next:"@pop"},"@default":"@brackets"}}],[/[{}()\[\]]/,"@brackets"],[/@symbols/,"delimiter"],[/\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d+\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/0[0-7]+(?!\d)/,"number.octal"],[/\d+/,"number"],[/[,.]/,"delimiter"],[/"""/,"string",'@herestring."""'],[/'''/,"string","@herestring.'''"],[/"/,{cases:{"@eos":"string","@default":{token:"string",next:'@string."'}}}],[/'/,{cases:{"@eos":"string","@default":{token:"string",next:"@string.'"}}}]],string:[[/[^"'\#\\]+/,"string"],[/@escapes/,"string.escape"],[/\./,"string.escape.invalid"],[/\./,"string.escape.invalid"],[/#{/,{cases:{'$S2=="':{token:"string",next:"root.interpolatedstring"},"@default":"string"}}],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/#/,"string"]],herestring:[[/("""|''')/,{cases:{"$1==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/[^#\\'"]+/,"string"],[/['"]+/,"string"],[/@escapes/,"string.escape"],[/\./,"string.escape.invalid"],[/#{/,{token:"string.quote",next:"root.interpolatedstring"}],[/#/,"string"]],comment:[[/[^#]+/,"comment"],[/###/,"comment","@pop"],[/#/,"comment"]],hereregexp:[[/[^\\\/#]+/,"regexp"],[/\\./,"regexp"],[/#.*$/,"comment"],["///[igm]*",{token:"regexp",next:"@pop"}],[/\//,"regexp"]]}}}});var cpp_exports={};__export(cpp_exports,{conf:()=>conf9,language:()=>language10});var conf9,language10;var init_cpp=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/cpp/cpp.js"(){conf9={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#pragma\\s+region\\b"),end:new RegExp("^\\s*#pragma\\s+endregion\\b")}}};language10={defaultToken:"",tokenPostfix:".cpp",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.angle",open:"<",close:">"}],keywords:["abstract","amp","array","auto","bool","break","case","catch","char","class","const","constexpr","const_cast","continue","cpu","decltype","default","delegate","delete","do","double","dynamic_cast","each","else","enum","event","explicit","export","extern","false","final","finally","float","for","friend","gcnew","generic","goto","if","in","initonly","inline","int","interface","interior_ptr","internal","literal","long","mutable","namespace","new","noexcept","nullptr","__nullptr","operator","override","partial","pascal","pin_ptr","private","property","protected","public","ref","register","reinterpret_cast","restrict","return","safe_cast","sealed","short","signed","sizeof","static","static_assert","static_cast","struct","switch","template","this","thread_local","throw","tile_static","true","try","typedef","typeid","typename","union","unsigned","using","virtual","void","volatile","wchar_t","where","while","_asm","_based","_cdecl","_declspec","_fastcall","_if_exists","_if_not_exists","_inline","_multiple_inheritance","_pascal","_single_inheritance","_stdcall","_virtual_inheritance","_w64","__abstract","__alignof","__asm","__assume","__based","__box","__builtin_alignof","__cdecl","__clrcall","__declspec","__delegate","__event","__except","__fastcall","__finally","__forceinline","__gc","__hook","__identifier","__if_exists","__if_not_exists","__inline","__int128","__int16","__int32","__int64","__int8","__interface","__leave","__m128","__m128d","__m128i","__m256","__m256d","__m256i","__m512","__m512d","__m512i","__m64","__multiple_inheritance","__newslot","__nogc","__noop","__nounwind","__novtordisp","__pascal","__pin","__pragma","__property","__ptr32","__ptr64","__raise","__restrict","__resume","__sealed","__single_inheritance","__stdcall","__super","__thiscall","__try","__try_cast","__typeof","__unaligned","__unhook","__uuidof","__value","__virtual_inheritance","__w64","__wchar_t"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[0abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,integersuffix:/([uU](ll|LL|l|L)|(ll|LL|l|L)?[uU]?)/,floatsuffix:/[fFlL]?/,encoding:/u|u8|U|L/,tokenizer:{root:[[/@encoding?R\"(?:([^ ()\\\t]*))\(/,{token:"string.raw.begin",next:"@raw.$1"}],[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],[/^\s*#\s*include/,{token:"keyword.directive.include",next:"@include"}],[/^\s*#\s*\w+/,"keyword.directive"],{include:"@whitespace"},[/\[\s*\[/,{token:"annotation",next:"@annotation"}],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,"number.hex"],[/0[0-7']*[0-7](@integersuffix)/,"number.octal"],[/0[bB][0-1']*[0-1](@integersuffix)/,"number.binary"],[/\d[\d']*\d(@integersuffix)/,"number"],[/\d(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*\\$/,"comment","@linecomment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],linecomment:[[/.*[^\\]$/,"comment","@pop"],[/[^]+/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],raw:[[/(.*)(\))(?:([^ ()\\\t"]*))(\")/,{cases:{"$3==$S2":["string.raw","string.raw.end","string.raw.end",{token:"string.raw.end",next:"@pop"}],"@default":["string.raw","string.raw","string.raw","string.raw"]}}],[/.*/,"string.raw"]],annotation:[{include:"@whitespace"},[/using|alignas/,"keyword"],[/[a-zA-Z0-9_]+/,"annotation"],[/[,:]/,"delimiter"],[/[()]/,"@brackets"],[/\]\s*\]/,{token:"annotation",next:"@pop"}]],include:[[/(\s*)(<)([^<>]*)(>)/,["","keyword.directive.include.begin","string.include.identifier",{token:"keyword.directive.include.end",next:"@pop"}]],[/(\s*)(")([^"]*)(")/,["","keyword.directive.include.begin","string.include.identifier",{token:"keyword.directive.include.end",next:"@pop"}]]]}}}});var csharp_exports={};__export(csharp_exports,{conf:()=>conf10,language:()=>language11});var conf10,language11;var init_csharp=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/csharp/csharp.js"(){conf10={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\$\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}};language11={defaultToken:"",tokenPostfix:".cs",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],keywords:["extern","alias","using","bool","decimal","sbyte","byte","short","ushort","int","uint","long","ulong","char","float","double","object","dynamic","string","assembly","is","as","ref","out","this","base","new","typeof","void","checked","unchecked","default","delegate","var","const","if","else","switch","case","while","do","for","foreach","in","break","continue","goto","return","throw","try","catch","finally","lock","yield","from","let","where","join","on","equals","into","orderby","ascending","descending","select","group","by","namespace","partial","class","field","event","method","param","public","protected","internal","private","abstract","sealed","static","struct","readonly","volatile","virtual","override","params","get","set","add","remove","operator","true","false","implicit","explicit","interface","enum","null","async","await","fixed","sizeof","stackalloc","unsafe","nameof","when"],namespaceFollows:["namespace","using"],parenFollows:["if","for","while","switch","foreach","using","catch","when"],operators:["=","??","||","&&","|","^","&","==","!=","<=",">=","<<","+","-","*","/","%","!","~","++","--","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>=",">>","=>"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\@?[a-zA-Z_]\w*/,{cases:{"@namespaceFollows":{token:"keyword.$0",next:"@namespace"},"@keywords":{token:"keyword.$0",next:"@qualified"},"@default":{token:"identifier",next:"@qualified"}}}],{include:"@whitespace"},[/}/,{cases:{"$S2==interpolatedstring":{token:"string.quote",next:"@pop"},"$S2==litinterpstring":{token:"string.quote",next:"@pop"},"@default":"@brackets"}}],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/[0-9_]*\.[0-9_]+([eE][\-+]?\d+)?[fFdD]?/,"number.float"],[/0[xX][0-9a-fA-F_]+/,"number.hex"],[/0[bB][01_]+/,"number.hex"],[/[0-9_]+/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",next:"@string"}],[/\$\@"/,{token:"string.quote",next:"@litinterpstring"}],[/\@"/,{token:"string.quote",next:"@litstring"}],[/\$"/,{token:"string.quote",next:"@interpolatedstring"}],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],qualified:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],[/\./,"delimiter"],["","","@pop"]],namespace:[{include:"@whitespace"},[/[A-Z]\w*/,"namespace"],[/[\.=]/,"delimiter"],["","","@pop"]],comment:[[/[^\/*]+/,"comment"],["\\*/","comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",next:"@pop"}]],litstring:[[/[^"]+/,"string"],[/""/,"string.escape"],[/"/,{token:"string.quote",next:"@pop"}]],litinterpstring:[[/[^"{]+/,"string"],[/""/,"string.escape"],[/{{/,"string.escape"],[/}}/,"string.escape"],[/{/,{token:"string.quote",next:"root.litinterpstring"}],[/"/,{token:"string.quote",next:"@pop"}]],interpolatedstring:[[/[^\\"{]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/{{/,"string.escape"],[/}}/,"string.escape"],[/{/,{token:"string.quote",next:"root.interpolatedstring"}],[/"/,{token:"string.quote",next:"@pop"}]],whitespace:[[/^[ \t\v\f]*#((r)|(load))(?=\s)/,"directive.csx"],[/^[ \t\v\f]*#\w.*$/,"namespace.cpp"],[/[ \t\v\f\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}}}});var csp_exports={};__export(csp_exports,{conf:()=>conf11,language:()=>language12});var conf11,language12;var init_csp=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/csp/csp.js"(){conf11={brackets:[],autoClosingPairs:[],surroundingPairs:[]};language12={keywords:[],typeKeywords:[],tokenPostfix:".csp",operators:[],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/child-src/,"string.quote"],[/connect-src/,"string.quote"],[/default-src/,"string.quote"],[/font-src/,"string.quote"],[/frame-src/,"string.quote"],[/img-src/,"string.quote"],[/manifest-src/,"string.quote"],[/media-src/,"string.quote"],[/object-src/,"string.quote"],[/script-src/,"string.quote"],[/style-src/,"string.quote"],[/worker-src/,"string.quote"],[/base-uri/,"string.quote"],[/plugin-types/,"string.quote"],[/sandbox/,"string.quote"],[/disown-opener/,"string.quote"],[/form-action/,"string.quote"],[/frame-ancestors/,"string.quote"],[/report-uri/,"string.quote"],[/report-to/,"string.quote"],[/upgrade-insecure-requests/,"string.quote"],[/block-all-mixed-content/,"string.quote"],[/require-sri-for/,"string.quote"],[/reflected-xss/,"string.quote"],[/referrer/,"string.quote"],[/policy-uri/,"string.quote"],[/'self'/,"string.quote"],[/'unsafe-inline'/,"string.quote"],[/'unsafe-eval'/,"string.quote"],[/'strict-dynamic'/,"string.quote"],[/'unsafe-hashed-attributes'/,"string.quote"]]}}}});var css_exports={};__export(css_exports,{conf:()=>conf12,language:()=>language13});var conf12,language13;var init_css=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/css/css.js"(){conf12={wordPattern:/(#?-?\d*\.\d\w*%?)|((::|[@#.!:])?[\w-?]+%?)|::|[@#.!:]/g,comments:{blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}};language13={defaultToken:"",tokenPostfix:".css",ws:"[ \t\n\r\f]*",identifier:"-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",brackets:[{open:"{",close:"}",token:"delimiter.bracket"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{root:[{include:"@selector"}],selector:[{include:"@comments"},{include:"@import"},{include:"@strings"},["[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)",{token:"keyword",next:"@keyframedeclaration"}],["[@](page|content|font-face|-moz-document)",{token:"keyword"}],["[@](charset|namespace)",{token:"keyword",next:"@declarationbody"}],["(url-prefix)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],["(url)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],{include:"@selectorname"},["[\\*]","tag"],["[>\\+,]","delimiter"],["\\[",{token:"delimiter.bracket",next:"@selectorattribute"}],["{",{token:"delimiter.bracket",next:"@selectorbody"}]],selectorbody:[{include:"@comments"},["[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))","attribute.name","@rulevalue"],["}",{token:"delimiter.bracket",next:"@pop"}]],selectorname:[["(\\.|#(?=[^{])|%|(@identifier)|:)+","tag"]],selectorattribute:[{include:"@term"},["]",{token:"delimiter.bracket",next:"@pop"}]],term:[{include:"@comments"},["(url-prefix)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],["(url)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],{include:"@functioninvocation"},{include:"@numbers"},{include:"@name"},{include:"@strings"},["([<>=\\+\\-\\*\\/\\^\\|\\~,])","delimiter"],[",","delimiter"]],rulevalue:[{include:"@comments"},{include:"@strings"},{include:"@term"},["!important","keyword"],[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],warndebug:[["[@](warn|debug)",{token:"keyword",next:"@declarationbody"}]],import:[["[@](import)",{token:"keyword",next:"@declarationbody"}]],urldeclaration:[{include:"@strings"},["[^)\r\n]+","string"],["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],parenthizedterm:[{include:"@term"},["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],declarationbody:[{include:"@term"},[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[/[^*/]+/,"comment"],[/./,"comment"]],name:[["@identifier","attribute.value"]],numbers:[["-?(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"attribute.value.number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","attribute.value.hex"]],units:[["(em|ex|ch|rem|fr|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","attribute.value.unit","@pop"]],keyframedeclaration:[["@identifier","attribute.value"],["{",{token:"delimiter.bracket",switchTo:"@keyframebody"}]],keyframebody:[{include:"@term"},["{",{token:"delimiter.bracket",next:"@selectorbody"}],["}",{token:"delimiter.bracket",next:"@pop"}]],functioninvocation:[["@identifier\\(",{token:"attribute.value",next:"@functionarguments"}]],functionarguments:[["\\$@identifier@ws:","attribute.name"],["[,]","delimiter"],{include:"@term"},["\\)",{token:"attribute.value",next:"@pop"}]],strings:[['~?"',{token:"string",next:"@stringenddoublequote"}],["~?'",{token:"string",next:"@stringendquote"}]],stringenddoublequote:[["\\\\.","string"],['"',{token:"string",next:"@pop"}],[/[^\\"]+/,"string"],[".","string"]],stringendquote:[["\\\\.","string"],["'",{token:"string",next:"@pop"}],[/[^\\']+/,"string"],[".","string"]]}}}});var cypher_exports={};__export(cypher_exports,{conf:()=>conf13,language:()=>language14});var conf13,language14;var init_cypher=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/cypher/cypher.js"(){conf13={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}]};language14={defaultToken:"",tokenPostfix:`.cypher`,ignoreCase:true,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["ALL","AND","AS","ASC","ASCENDING","BY","CALL","CASE","CONTAINS","CREATE","DELETE","DESC","DESCENDING","DETACH","DISTINCT","ELSE","END","ENDS","EXISTS","IN","IS","LIMIT","MANDATORY","MATCH","MERGE","NOT","ON","ON","OPTIONAL","OR","ORDER","REMOVE","RETURN","SET","SKIP","STARTS","THEN","UNION","UNWIND","WHEN","WHERE","WITH","XOR","YIELD"],builtinLiterals:["true","TRUE","false","FALSE","null","NULL"],builtinFunctions:["abs","acos","asin","atan","atan2","avg","ceil","coalesce","collect","cos","cot","count","degrees","e","endNode","exists","exp","floor","head","id","keys","labels","last","left","length","log","log10","lTrim","max","min","nodes","percentileCont","percentileDisc","pi","properties","radians","rand","range","relationships","replace","reverse","right","round","rTrim","sign","sin","size","split","sqrt","startNode","stDev","stDevP","substring","sum","tail","tan","timestamp","toBoolean","toFloat","toInteger","toLower","toString","toUpper","trim","type"],operators:["+","-","*","/","%","^","=","<>","<",">","<=",">=","->","<-","--\x3e","<--"],escapes:/\\(?:[tbnrf\\"'`]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+/,octaldigits:/[0-7]+/,hexdigits:/[0-9a-fA-F]+/,tokenizer:{root:[[/[{}[\]()]/,"@brackets"],{include:"common"}],common:[{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},[/:[a-zA-Z_][\w]*/,"type.identifier"],[/[a-zA-Z_][\w]*(?=\()/,{cases:{"@builtinFunctions":"predefined.function"}}],[/[a-zA-Z_$][\w$]*/,{cases:{"@keywords":"keyword","@builtinLiterals":"predefined.literal","@default":"identifier"}}],[/`/,"identifier.escape","@identifierBacktick"],[/[;,.:|]/,"delimiter"],[/[<>=%+\-*/^]+/,{cases:{"@operators":"delimiter","@default":""}}]],numbers:[[/-?(@digits)[eE](-?(@digits))?/,"number.float"],[/-?(@digits)?\.(@digits)([eE]-?(@digits))?/,"number.float"],[/-?0x(@hexdigits)/,"number.hex"],[/-?0(@octaldigits)/,"number.octal"],[/-?(@digits)/,"number"]],strings:[[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@stringDouble"],[/'/,"string","@stringSingle"]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/\/\/.*/,"comment"],[/[^/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[/*]/,"comment"]],stringDouble:[[/[^\\"]+/,"string"],[/@escapes/,"string"],[/\\./,"string.invalid"],[/"/,"string","@pop"]],stringSingle:[[/[^\\']+/,"string"],[/@escapes/,"string"],[/\\./,"string.invalid"],[/'/,"string","@pop"]],identifierBacktick:[[/[^\\`]+/,"identifier.escape"],[/@escapes/,"identifier.escape"],[/\\./,"identifier.escape.invalid"],[/`/,"identifier.escape","@pop"]]}}}});var dart_exports={};__export(dart_exports,{conf:()=>conf14,language:()=>language15});var conf14,language15;var init_dart=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/dart/dart.js"(){conf14={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:"(",close:")"},{open:'"',close:'"'},{open:"`",close:"`"}],folding:{markers:{start:/^\s*\s*#?region\b/,end:/^\s*\s*#?endregion\b/}}};language15={defaultToken:"invalid",tokenPostfix:".dart",keywords:["abstract","dynamic","implements","show","as","else","import","static","assert","enum","in","super","async","export","interface","switch","await","extends","is","sync","break","external","library","this","case","factory","mixin","throw","catch","false","new","true","class","final","null","try","const","finally","on","typedef","continue","for","operator","var","covariant","Function","part","void","default","get","rethrow","while","deferred","hide","return","with","do","if","set","yield"],typeKeywords:["int","double","String","bool"],operators:["+","-","*","/","~/","%","++","--","==","!=",">","<",">=","<=","=","-=","/=","%=",">>=","^=","+=","*=","~/=","<<=","&=","!=","||","&&","&","|","^","~","<<",">>","!",">>>","??","?",":","|="],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,regexpctl:/[(){}\[\]\$\^|\-*+?\.]/,regexpesc:/\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,tokenizer:{root:[[/[{}]/,"delimiter.bracket"],{include:"common"}],common:[[/[a-z_$][\w$]*/,{cases:{"@typeKeywords":"type.identifier","@keywords":"keyword","@default":"identifier"}}],[/[A-Z_$][\w\$]*/,"type.identifier"],{include:"@whitespace"},[/\/(?=([^\\\/]|\\.)+\/([gimsuy]*)(\s*)(\.|;|,|\)|\]|\}|$))/,{token:"regexp",bracket:"@open",next:"@regexp"}],[/@[a-zA-Z]+/,"annotation"],[/[()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/!(?=([^=]|$))/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,"number.float"],[/0[xX](@hexdigits)n?/,"number.hex"],[/0[oO]?(@octaldigits)n?/,"number.octal"],[/0[bB](@binarydigits)n?/,"number.binary"],[/(@digits)n?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@jsdoc"],[/\/\*/,"comment","@comment"],[/\/\/\/.*$/,"comment.doc"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],jsdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["regexp.escape.control","regexp.escape.control"]],[/[()]/,"regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],[/(\/)([gimsuy]*)/,[{token:"regexp",bracket:"@close",next:"@pop"},"keyword.other"]]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,{token:"regexp.escape.control",next:"@pop",bracket:"@close"}]],string_double:[[/[^\\"\$]+/,"string"],[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"],[/\$\w+/,"identifier"]],string_single:[[/[^\\'\$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"],[/\$\w+/,"identifier"]]}}}});var dockerfile_exports={};__export(dockerfile_exports,{conf:()=>conf15,language:()=>language16});var conf15,language16;var init_dockerfile=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.js"(){conf15={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]};language16={defaultToken:"",tokenPostfix:".dockerfile",variable:/\${?[\w]+}?/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},[/(ONBUILD)(\s+)/,["keyword",""]],[/(ENV)(\s+)([\w]+)/,["keyword","",{token:"variable",next:"@arguments"}]],[/(FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|ARG|VOLUME|LABEL|USER|WORKDIR|COPY|CMD|STOPSIGNAL|SHELL|HEALTHCHECK|ENTRYPOINT)/,{token:"keyword",next:"@arguments"}]],arguments:[{include:"@whitespace"},{include:"@strings"},[/(@variable)/,{cases:{"@eos":{token:"variable",next:"@popall"},"@default":"variable"}}],[/\\/,{cases:{"@eos":"","@default":""}}],[/./,{cases:{"@eos":{token:"",next:"@popall"},"@default":""}}]],whitespace:[[/\s+/,{cases:{"@eos":{token:"",next:"@popall"},"@default":""}}]],comment:[[/(^#.*$)/,"comment","@popall"]],strings:[[/\\'$/,"","@popall"],[/\\'/,""],[/'$/,"string","@popall"],[/'/,"string","@stringBody"],[/"$/,"string","@popall"],[/"/,"string","@dblStringBody"]],stringBody:[[/[^\\\$']/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/\\./,"string.escape"],[/'$/,"string","@popall"],[/'/,"string","@pop"],[/(@variable)/,"variable"],[/\\$/,"string"],[/$/,"string","@popall"]],dblStringBody:[[/[^\\\$"]/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/\\./,"string.escape"],[/"$/,"string","@popall"],[/"/,"string","@pop"],[/(@variable)/,"variable"],[/\\$/,"string"],[/$/,"string","@popall"]]}}}});var ecl_exports={};__export(ecl_exports,{conf:()=>conf16,language:()=>language17});var conf16,language17;var init_ecl=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/ecl/ecl.js"(){conf16={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}]};language17={defaultToken:"",tokenPostfix:".ecl",ignoreCase:true,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],pounds:["append","break","declare","demangle","end","for","getdatatype","if","inmodule","loop","mangle","onwarning","option","set","stored","uniquename"].join("|"),keywords:["__compressed__","after","all","and","any","as","atmost","before","beginc","best","between","case","cluster","compressed","compression","const","counter","csv","default","descend","embed","encoding","encrypt","end","endc","endembed","endmacro","enum","escape","except","exclusive","expire","export","extend","fail","few","fileposition","first","flat","forward","from","full","function","functionmacro","group","grouped","heading","hole","ifblock","import","in","inner","interface","internal","joined","keep","keyed","last","left","limit","linkcounted","literal","little_endian","load","local","locale","lookup","lzw","macro","many","maxcount","maxlength","min skew","module","mofn","multiple","named","namespace","nocase","noroot","noscan","nosort","not","noxpath","of","onfail","only","opt","or","outer","overwrite","packed","partition","penalty","physicallength","pipe","prefetch","quote","record","repeat","retry","return","right","right1","right2","rows","rowset","scan","scope","self","separator","service","shared","skew","skip","smart","soapaction","sql","stable","store","terminator","thor","threshold","timelimit","timeout","token","transform","trim","type","unicodeorder","unordered","unsorted","unstable","update","use","validate","virtual","whole","width","wild","within","wnotrim","xml","xpath"],functions:["abs","acos","aggregate","allnodes","apply","ascii","asin","assert","asstring","atan","atan2","ave","build","buildindex","case","catch","choose","choosen","choosesets","clustersize","combine","correlation","cos","cosh","count","covariance","cron","dataset","dedup","define","denormalize","dictionary","distribute","distributed","distribution","ebcdic","enth","error","evaluate","event","eventextra","eventname","exists","exp","fail","failcode","failmessage","fetch","fromunicode","fromxml","getenv","getisvalid","global","graph","group","hash","hash32","hash64","hashcrc","hashmd5","having","httpcall","httpheader","if","iff","index","intformat","isvalid","iterate","join","keydiff","keypatch","keyunicode","length","library","limit","ln","loadxml","local","log","loop","map","matched","matchlength","matchposition","matchtext","matchunicode","max","merge","mergejoin","min","nofold","nolocal","nonempty","normalize","nothor","notify","output","parallel","parse","pipe","power","preload","process","project","pull","random","range","rank","ranked","realformat","recordof","regexfind","regexreplace","regroup","rejected","rollup","round","roundup","row","rowdiff","sample","sequential","set","sin","sinh","sizeof","soapcall","sort","sorted","sqrt","stepped","stored","sum","table","tan","tanh","thisnode","topn","tounicode","toxml","transfer","transform","trim","truncate","typeof","ungroup","unicodeorder","variance","wait","which","workunit","xmldecode","xmlencode","xmltext","xmlunicode"],typesint:["integer","unsigned"].join("|"),typesnum:["data","qstring","string","unicode","utf8","varstring","varunicode"],typesone:["ascii","big_endian","boolean","data","decimal","ebcdic","grouped","integer","linkcounted","pattern","qstring","real","record","rule","set of","streamed","string","token","udecimal","unicode","unsigned","utf8","varstring","varunicode"].join("|"),operators:["+","-","/",":=","<","<>","=",">","\\","and","in","not","or"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/@typesint[4|8]/,"type"],[/#(@pounds)/,"type"],[/@typesone/,"type"],[/[a-zA-Z_$][\w-$]*/,{cases:{"@functions":"keyword.function","@keywords":"keyword","@operators":"operator"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/[0-9_]*\.[0-9_]+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F_]+/,"number.hex"],[/0[bB][01]+/,"number.hex"],[/[0-9_]+/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\v\f\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"]]}}}});var elixir_exports={};__export(elixir_exports,{conf:()=>conf17,language:()=>language18});var conf17,language18;var init_elixir=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/elixir/elixir.js"(){conf17={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'"},{open:'"',close:'"'}],autoClosingPairs:[{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["comment"]},{open:'"""',close:'"""'},{open:"`",close:"`",notIn:["string","comment"]},{open:"(",close:")"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"<<",close:">>"}],indentationRules:{increaseIndentPattern:/^\s*(after|else|catch|rescue|fn|[^#]*(do|<\-|\->|\{|\[|\=))\s*$/,decreaseIndentPattern:/^\s*((\}|\])\s*$|(after|else|catch|rescue|end)\b)/}};language18={defaultToken:"source",tokenPostfix:".elixir",brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"},{open:"<<",close:">>",token:"delimiter.angle.special"}],declarationKeywords:["def","defp","defn","defnp","defguard","defguardp","defmacro","defmacrop","defdelegate","defcallback","defmacrocallback","defmodule","defprotocol","defexception","defimpl","defstruct"],operatorKeywords:["and","in","not","or","when"],namespaceKeywords:["alias","import","require","use"],otherKeywords:["after","case","catch","cond","do","else","end","fn","for","if","quote","raise","receive","rescue","super","throw","try","unless","unquote_splicing","unquote","with"],constants:["true","false","nil"],nameBuiltin:["__MODULE__","__DIR__","__ENV__","__CALLER__","__STACKTRACE__"],operator:/-[->]?|!={0,2}|\*{1,2}|\/|\\\\|&{1,3}|\.\.?|\^(?:\^\^)?|\+\+?|<(?:-|<<|=|>|\|>|~>?)?|=~|={1,3}|>(?:=|>>)?|\|~>|\|>|\|{1,3}|~>>?|~~~|::/,variableName:/[a-z_][a-zA-Z0-9_]*[?!]?/,atomName:/[a-zA-Z_][a-zA-Z0-9_@]*[?!]?|@specialAtomName|@operator/,specialAtomName:/\.\.\.|<<>>|%\{\}|%|\{\}/,aliasPart:/[A-Z][a-zA-Z0-9_]*/,moduleName:/@aliasPart(?:\.@aliasPart)*/,sigilSymmetricDelimiter:/"""|'''|"|'|\/|\|/,sigilStartDelimiter:/@sigilSymmetricDelimiter|<|\{|\[|\(/,sigilEndDelimiter:/@sigilSymmetricDelimiter|>|\}|\]|\)/,sigilModifiers:/[a-zA-Z0-9]*/,decimal:/\d(?:_?\d)*/,hex:/[0-9a-fA-F](_?[0-9a-fA-F])*/,octal:/[0-7](_?[0-7])*/,binary:/[01](_?[01])*/,escape:/\\u[0-9a-fA-F]{4}|\\x[0-9a-fA-F]{2}|\\./,tokenizer:{root:[{include:"@whitespace"},{include:"@comments"},{include:"@keywordsShorthand"},{include:"@numbers"},{include:"@identifiers"},{include:"@strings"},{include:"@atoms"},{include:"@sigils"},{include:"@attributes"},{include:"@symbols"}],whitespace:[[/\s+/,"white"]],comments:[[/(#)(.*)/,["comment.punctuation","comment"]]],keywordsShorthand:[[/(@atomName)(:)(\s+)/,["constant","constant.punctuation","white"]],[/"(?=([^"]|#\{.*?\}|\\")*":)/,{token:"constant.delimiter",next:"@doubleQuotedStringKeyword"}],[/'(?=([^']|#\{.*?\}|\\')*':)/,{token:"constant.delimiter",next:"@singleQuotedStringKeyword"}]],doubleQuotedStringKeyword:[[/":/,{token:"constant.delimiter",next:"@pop"}],{include:"@stringConstantContentInterpol"}],singleQuotedStringKeyword:[[/':/,{token:"constant.delimiter",next:"@pop"}],{include:"@stringConstantContentInterpol"}],numbers:[[/0b@binary/,"number.binary"],[/0o@octal/,"number.octal"],[/0x@hex/,"number.hex"],[/@decimal\.@decimal([eE]-?@decimal)?/,"number.float"],[/@decimal/,"number"]],identifiers:[[/\b(defp?|defnp?|defmacrop?|defguardp?|defdelegate)(\s+)(@variableName)(?!\s+@operator)/,["keyword.declaration","white",{cases:{unquote:"keyword","@default":"function"}}]],[/(@variableName)(?=\s*\.?\s*\()/,{cases:{"@declarationKeywords":"keyword.declaration","@namespaceKeywords":"keyword","@otherKeywords":"keyword","@default":"function.call"}}],[/(@moduleName)(\s*)(\.)(\s*)(@variableName)/,["type.identifier","white","operator","white","function.call"]],[/(:)(@atomName)(\s*)(\.)(\s*)(@variableName)/,["constant.punctuation","constant","white","operator","white","function.call"]],[/(\|>)(\s*)(@variableName)/,["operator","white",{cases:{"@otherKeywords":"keyword","@default":"function.call"}}]],[/(&)(\s*)(@variableName)/,["operator","white","function.call"]],[/@variableName/,{cases:{"@declarationKeywords":"keyword.declaration","@operatorKeywords":"keyword.operator","@namespaceKeywords":"keyword","@otherKeywords":"keyword","@constants":"constant.language","@nameBuiltin":"variable.language","_.*":"comment.unused","@default":"identifier"}}],[/@moduleName/,"type.identifier"]],strings:[[/"""/,{token:"string.delimiter",next:"@doubleQuotedHeredoc"}],[/'''/,{token:"string.delimiter",next:"@singleQuotedHeredoc"}],[/"/,{token:"string.delimiter",next:"@doubleQuotedString"}],[/'/,{token:"string.delimiter",next:"@singleQuotedString"}]],doubleQuotedHeredoc:[[/"""/,{token:"string.delimiter",next:"@pop"}],{include:"@stringContentInterpol"}],singleQuotedHeredoc:[[/'''/,{token:"string.delimiter",next:"@pop"}],{include:"@stringContentInterpol"}],doubleQuotedString:[[/"/,{token:"string.delimiter",next:"@pop"}],{include:"@stringContentInterpol"}],singleQuotedString:[[/'/,{token:"string.delimiter",next:"@pop"}],{include:"@stringContentInterpol"}],atoms:[[/(:)(@atomName)/,["constant.punctuation","constant"]],[/:"/,{token:"constant.delimiter",next:"@doubleQuotedStringAtom"}],[/:'/,{token:"constant.delimiter",next:"@singleQuotedStringAtom"}]],doubleQuotedStringAtom:[[/"/,{token:"constant.delimiter",next:"@pop"}],{include:"@stringConstantContentInterpol"}],singleQuotedStringAtom:[[/'/,{token:"constant.delimiter",next:"@pop"}],{include:"@stringConstantContentInterpol"}],sigils:[[/~[a-z]@sigilStartDelimiter/,{token:"@rematch",next:"@sigil.interpol"}],[/~([A-Z]+)@sigilStartDelimiter/,{token:"@rematch",next:"@sigil.noInterpol"}]],sigil:[[/~([a-z]|[A-Z]+)\{/,{token:"@rematch",switchTo:"@sigilStart.$S2.$1.{.}"}],[/~([a-z]|[A-Z]+)\[/,{token:"@rematch",switchTo:"@sigilStart.$S2.$1.[.]"}],[/~([a-z]|[A-Z]+)\(/,{token:"@rematch",switchTo:"@sigilStart.$S2.$1.(.)"}],[/~([a-z]|[A-Z]+)\</,{token:"@rematch",switchTo:"@sigilStart.$S2.$1.<.>"}],[/~([a-z]|[A-Z]+)(@sigilSymmetricDelimiter)/,{token:"@rematch",switchTo:"@sigilStart.$S2.$1.$2.$2"}]],"sigilStart.interpol.s":[[/~s@sigilStartDelimiter/,{token:"string.delimiter",switchTo:"@sigilContinue.$S2.$S3.$S4.$S5"}]],"sigilContinue.interpol.s":[[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:"string.delimiter",next:"@pop"},"@default":"string"}}],{include:"@stringContentInterpol"}],"sigilStart.noInterpol.S":[[/~S@sigilStartDelimiter/,{token:"string.delimiter",switchTo:"@sigilContinue.$S2.$S3.$S4.$S5"}]],"sigilContinue.noInterpol.S":[[/(^|[^\\])\\@sigilEndDelimiter/,"string"],[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:"string.delimiter",next:"@pop"},"@default":"string"}}],{include:"@stringContent"}],"sigilStart.interpol.r":[[/~r@sigilStartDelimiter/,{token:"regexp.delimiter",switchTo:"@sigilContinue.$S2.$S3.$S4.$S5"}]],"sigilContinue.interpol.r":[[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:"regexp.delimiter",next:"@pop"},"@default":"regexp"}}],{include:"@regexpContentInterpol"}],"sigilStart.noInterpol.R":[[/~R@sigilStartDelimiter/,{token:"regexp.delimiter",switchTo:"@sigilContinue.$S2.$S3.$S4.$S5"}]],"sigilContinue.noInterpol.R":[[/(^|[^\\])\\@sigilEndDelimiter/,"regexp"],[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:"regexp.delimiter",next:"@pop"},"@default":"regexp"}}],{include:"@regexpContent"}],"sigilStart.interpol":[[/~([a-z]|[A-Z]+)@sigilStartDelimiter/,{token:"sigil.delimiter",switchTo:"@sigilContinue.$S2.$S3.$S4.$S5"}]],"sigilContinue.interpol":[[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:"sigil.delimiter",next:"@pop"},"@default":"sigil"}}],{include:"@sigilContentInterpol"}],"sigilStart.noInterpol":[[/~([a-z]|[A-Z]+)@sigilStartDelimiter/,{token:"sigil.delimiter",switchTo:"@sigilContinue.$S2.$S3.$S4.$S5"}]],"sigilContinue.noInterpol":[[/(^|[^\\])\\@sigilEndDelimiter/,"sigil"],[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:"sigil.delimiter",next:"@pop"},"@default":"sigil"}}],{include:"@sigilContent"}],attributes:[[/\@(module|type)?doc (~[sS])?"""/,{token:"comment.block.documentation",next:"@doubleQuotedHeredocDocstring"}],[/\@(module|type)?doc (~[sS])?'''/,{token:"comment.block.documentation",next:"@singleQuotedHeredocDocstring"}],[/\@(module|type)?doc (~[sS])?"/,{token:"comment.block.documentation",next:"@doubleQuotedStringDocstring"}],[/\@(module|type)?doc (~[sS])?'/,{token:"comment.block.documentation",next:"@singleQuotedStringDocstring"}],[/\@(module|type)?doc false/,"comment.block.documentation"],[/\@(@variableName)/,"variable"]],doubleQuotedHeredocDocstring:[[/"""/,{token:"comment.block.documentation",next:"@pop"}],{include:"@docstringContent"}],singleQuotedHeredocDocstring:[[/'''/,{token:"comment.block.documentation",next:"@pop"}],{include:"@docstringContent"}],doubleQuotedStringDocstring:[[/"/,{token:"comment.block.documentation",next:"@pop"}],{include:"@docstringContent"}],singleQuotedStringDocstring:[[/'/,{token:"comment.block.documentation",next:"@pop"}],{include:"@docstringContent"}],symbols:[[/\?(\\.|[^\\\s])/,"number.constant"],[/&\d+/,"operator"],[/<<<|>>>/,"operator"],[/[()\[\]\{\}]|<<|>>/,"@brackets"],[/\.\.\./,"identifier"],[/=>/,"punctuation"],[/@operator/,"operator"],[/[:;,.%]/,"punctuation"]],stringContentInterpol:[{include:"@interpolation"},{include:"@escapeChar"},{include:"@stringContent"}],stringContent:[[/./,"string"]],stringConstantContentInterpol:[{include:"@interpolation"},{include:"@escapeChar"},{include:"@stringConstantContent"}],stringConstantContent:[[/./,"constant"]],regexpContentInterpol:[{include:"@interpolation"},{include:"@escapeChar"},{include:"@regexpContent"}],regexpContent:[[/(\s)(#)(\s.*)$/,["white","comment.punctuation","comment"]],[/./,"regexp"]],sigilContentInterpol:[{include:"@interpolation"},{include:"@escapeChar"},{include:"@sigilContent"}],sigilContent:[[/./,"sigil"]],docstringContent:[[/./,"comment.block.documentation"]],escapeChar:[[/@escape/,"constant.character.escape"]],interpolation:[[/#{/,{token:"delimiter.bracket.embed",next:"@interpolationContinue"}]],interpolationContinue:[[/}/,{token:"delimiter.bracket.embed",next:"@pop"}],{include:"@root"}]}}}});var flow9_exports={};__export(flow9_exports,{conf:()=>conf18,language:()=>language19});var conf18,language19;var init_flow9=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/flow9/flow9.js"(){conf18={comments:{blockComment:["/*","*/"],lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string"]},{open:"[",close:"]",notIn:["string"]},{open:"(",close:")",notIn:["string"]},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}]};language19={defaultToken:"",tokenPostfix:".flow",keywords:["import","require","export","forbid","native","if","else","cast","unsafe","switch","default"],types:["io","mutable","bool","int","double","string","flow","void","ref","true","false","with"],operators:["=",">","<","<=",">=","==","!","!=",":=","::=","&&","||","+","-","*","/","@","&","%",":","->","\\","$","??","^"],symbols:/[@$=><!~?:&|+\-*\\\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":"keyword","@types":"type","@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"delimiter"],[/[<>](?!@symbols)/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]]}}}});var fsharp_exports={};__export(fsharp_exports,{conf:()=>conf19,language:()=>language20});var conf19,language20;var init_fsharp=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/fsharp/fsharp.js"(){conf19={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*//\\s*#region\\b|^\\s*\\(\\*\\s*#region(.*)\\*\\)"),end:new RegExp("^\\s*//\\s*#endregion\\b|^\\s*\\(\\*\\s*#endregion\\s*\\*\\)")}}};language20={defaultToken:"",tokenPostfix:".fs",keywords:["abstract","and","atomic","as","assert","asr","base","begin","break","checked","component","const","constraint","constructor","continue","class","default","delegate","do","done","downcast","downto","elif","else","end","exception","eager","event","external","extern","false","finally","for","fun","function","fixed","functor","global","if","in","include","inherit","inline","interface","internal","land","lor","lsl","lsr","lxor","lazy","let","match","member","mod","module","mutable","namespace","method","mixin","new","not","null","of","open","or","object","override","private","parallel","process","protected","pure","public","rec","return","static","sealed","struct","sig","then","to","true","tailcall","trait","try","type","upcast","use","val","void","virtual","volatile","when","while","with","yield"],symbols:/[=><!~?:&|+\-*\^%;\.,\/]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,integersuffix:/[uU]?[yslnLI]?/,floatsuffix:/[fFmM]?/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/\[<.*>\]/,"annotation"],[/^#(if|else|endif)/,"keyword"],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0x[0-9a-fA-F]+LF/,"number.float"],[/0x[0-9a-fA-F]+(@integersuffix)/,"number.hex"],[/0b[0-1]+(@integersuffix)/,"number.bin"],[/\d+(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"""/,"string",'@string."""'],[/"/,"string",'@string."'],[/\@"/,{token:"string.quote",next:"@litstring"}],[/'[^\\']'B?/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\(\*(?!\))/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^*(]+/,"comment"],[/\*\)/,"comment","@pop"],[/\*/,"comment"],[/\(\*\)/,"comment"],[/\(/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/("""|"B?)/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]],litstring:[[/[^"]+/,"string"],[/""/,"string.escape"],[/"/,{token:"string.quote",next:"@pop"}]]}}}});var freemarker2_exports={};__export(freemarker2_exports,{TagAngleInterpolationBracket:()=>TagAngleInterpolationBracket,TagAngleInterpolationDollar:()=>TagAngleInterpolationDollar,TagAutoInterpolationBracket:()=>TagAutoInterpolationBracket,TagAutoInterpolationDollar:()=>TagAutoInterpolationDollar,TagBracketInterpolationBracket:()=>TagBracketInterpolationBracket,TagBracketInterpolationDollar:()=>TagBracketInterpolationDollar});function createLangConfiguration(ts){return{brackets:[["<",">"],["[","]"],["(",")"],["{","}"]],comments:{blockComment:[`${ts.open}--`,`--${ts.close}`]},autoCloseBefore:"\n\r\t }]),.:;=",autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string"]}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"}],folding:{markers:{start:new RegExp(`${ts.open}#(?:${BLOCK_ELEMENTS.join("|")})([^/${ts.close}]*(?!/)${ts.close})[^${ts.open}]*$`),end:new RegExp(`${ts.open}/#(?:${BLOCK_ELEMENTS.join("|")})[\\r\\n\\t ]*>`)}},onEnterRules:[{beforeText:new RegExp(`${ts.open}#(?!(?:${EMPTY_ELEMENTS.join("|")}))([a-zA-Z_]+)([^/${ts.close}]*(?!/)${ts.close})[^${ts.open}]*$`),afterText:new RegExp(`^${ts.open}/#([a-zA-Z_]+)[\\r\\n\\t ]*${ts.close}$`),action:{indentAction:monaco_editor_core_exports2.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`${ts.open}#(?!(?:${EMPTY_ELEMENTS.join("|")}))([a-zA-Z_]+)([^/${ts.close}]*(?!/)${ts.close})[^${ts.open}]*$`),action:{indentAction:monaco_editor_core_exports2.languages.IndentAction.Indent}}]}}function createLangConfigurationAuto(){return{brackets:[["<",">"],["[","]"],["(",")"],["{","}"]],autoCloseBefore:"\n\r\t }]),.:;=",autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string"]}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"}],folding:{markers:{start:new RegExp(`[<\\[]#(?:${BLOCK_ELEMENTS.join("|")})([^/>\\]]*(?!/)[>\\]])[^<\\[]*$`),end:new RegExp(`[<\\[]/#(?:${BLOCK_ELEMENTS.join("|")})[\\r\\n\\t ]*>`)}},onEnterRules:[{beforeText:new RegExp(`[<\\[]#(?!(?:${EMPTY_ELEMENTS.join("|")}))([a-zA-Z_]+)([^/>\\]]*(?!/)[>\\]])[^[<\\[]]*$`),afterText:new RegExp(`^[<\\[]/#([a-zA-Z_]+)[\\r\\n\\t ]*[>\\]]$`),action:{indentAction:monaco_editor_core_exports2.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`[<\\[]#(?!(?:${EMPTY_ELEMENTS.join("|")}))([a-zA-Z_]+)([^/>\\]]*(?!/)[>\\]])[^[<\\[]]*$`),action:{indentAction:monaco_editor_core_exports2.languages.IndentAction.Indent}}]}}function createMonarchLanguage(ts,is){const id=`_${ts.id}_${is.id}`;const s=name=>name.replace(/__id__/g,id);const r=regexp=>{const source=regexp.source.replace(/__id__/g,id);return new RegExp(source,regexp.flags)};return{unicode:true,includeLF:false,start:s("default__id__"),ignoreCase:false,defaultToken:"invalid",tokenPostfix:`.freemarker2`,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],[s("open__id__")]:new RegExp(ts.open),[s("close__id__")]:new RegExp(ts.close),[s("iOpen1__id__")]:new RegExp(is.open1),[s("iOpen2__id__")]:new RegExp(is.open2),[s("iClose__id__")]:new RegExp(is.close),[s("startTag__id__")]:r(/(@open__id__)(#)/),[s("endTag__id__")]:r(/(@open__id__)(\/#)/),[s("startOrEndTag__id__")]:r(/(@open__id__)(\/?#)/),[s("closeTag1__id__")]:r(/((?:@blank)*)(@close__id__)/),[s("closeTag2__id__")]:r(/((?:@blank)*\/?)(@close__id__)/),blank:/[ \t\n\r]/,keywords:["false","true","in","as","using"],directiveStartCloseTag1:/attempt|recover|sep|auto[eE]sc|no(?:autoe|AutoE)sc|compress|default|no[eE]scape|comment|no[pP]arse/,directiveStartCloseTag2:/else|break|continue|return|stop|flush|t|lt|rt|nt|nested|recurse|fallback|ftl/,directiveStartBlank:/if|else[iI]f|list|for[eE]ach|switch|case|assign|global|local|include|import|function|macro|transform|visit|stop|return|call|setting|output[fF]ormat|nested|recurse|escape|ftl|items/,directiveEndCloseTag1:/if|list|items|sep|recover|attempt|for[eE]ach|local|global|assign|function|macro|output[fF]ormat|auto[eE]sc|no(?:autoe|AutoE)sc|compress|transform|switch|escape|no[eE]scape/,escapedChar:/\\(?:[ntrfbgla\\'"\{=]|(?:x[0-9A-Fa-f]{1,4}))/,asciiDigit:/[0-9]/,integer:/[0-9]+/,nonEscapedIdStartChar:/[\$@-Z_a-z\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u1FFF\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183-\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3006\u3031-\u3035\u303B-\u303C\u3040-\u318F\u31A0-\u31BA\u31F0-\u31FF\u3300-\u337F\u3400-\u4DB5\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,escapedIdChar:/\\[\-\.:#]/,idStartChar:/(?:@nonEscapedIdStartChar)|(?:@escapedIdChar)/,id:/(?:@idStartChar)(?:(?:@idStartChar)|(?:@asciiDigit))*/,specialHashKeys:/\*\*|\*|false|true|in|as|using/,namedSymbols:/&lt;=|&gt;=|\\lte|\\lt|&lt;|\\gte|\\gt|&gt;|&amp;&amp;|\\and|-&gt;|->|==|!=|\+=|-=|\*=|\/=|%=|\+\+|--|<=|&&|\|\||:|\.\.\.|\.\.\*|\.\.<|\.\.!|\?\?|=|<|\+|-|\*|\/|%|\||\.\.|\?|!|&|\.|,|;/,arrows:["->","-&gt;"],delimiters:[";",":",",","."],stringOperators:["lte","lt","gte","gt"],noParseTags:["noparse","noParse","comment"],tokenizer:{[s("default__id__")]:[{include:s("@directive_token__id__")},{include:s("@interpolation_and_text_token__id__")}],[s("fmExpression__id__.directive")]:[{include:s("@blank_and_expression_comment_token__id__")},{include:s("@directive_end_token__id__")},{include:s("@expression_token__id__")}],[s("fmExpression__id__.interpolation")]:[{include:s("@blank_and_expression_comment_token__id__")},{include:s("@expression_token__id__")},{include:s("@greater_operators_token__id__")}],[s("inParen__id__.plain")]:[{include:s("@blank_and_expression_comment_token__id__")},{include:s("@directive_end_token__id__")},{include:s("@expression_token__id__")}],[s("inParen__id__.gt")]:[{include:s("@blank_and_expression_comment_token__id__")},{include:s("@expression_token__id__")},{include:s("@greater_operators_token__id__")}],[s("noSpaceExpression__id__")]:[{include:s("@no_space_expression_end_token__id__")},{include:s("@directive_end_token__id__")},{include:s("@expression_token__id__")}],[s("unifiedCall__id__")]:[{include:s("@unified_call_token__id__")}],[s("singleString__id__")]:[{include:s("@string_single_token__id__")}],[s("doubleString__id__")]:[{include:s("@string_double_token__id__")}],[s("rawSingleString__id__")]:[{include:s("@string_single_raw_token__id__")}],[s("rawDoubleString__id__")]:[{include:s("@string_double_raw_token__id__")}],[s("expressionComment__id__")]:[{include:s("@expression_comment_token__id__")}],[s("noParse__id__")]:[{include:s("@no_parse_token__id__")}],[s("terseComment__id__")]:[{include:s("@terse_comment_token__id__")}],[s("directive_token__id__")]:[[r(/(?:@startTag__id__)(@directiveStartCloseTag1)(?:@closeTag1__id__)/),ts.id==="auto"?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${is.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${is.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive"},{cases:{"@noParseTags":{token:"tag",next:s("@noParse__id__.$3")},"@default":{token:"tag"}}},{token:"delimiter.directive"},{token:"@brackets.directive"}]],[r(/(?:@startTag__id__)(@directiveStartCloseTag2)(?:@closeTag2__id__)/),ts.id==="auto"?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${is.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${is.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag"},{token:"delimiter.directive"},{token:"@brackets.directive"}]],[r(/(?:@startTag__id__)(@directiveStartBlank)(@blank)/),ts.id==="auto"?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${is.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${is.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag"},{token:"",next:s("@fmExpression__id__.directive")}]],[r(/(?:@endTag__id__)(@directiveEndCloseTag1)(?:@closeTag1__id__)/),ts.id==="auto"?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${is.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${is.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag"},{token:"delimiter.directive"},{token:"@brackets.directive"}]],[r(/(@open__id__)(@)/),ts.id==="auto"?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${is.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${is.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive",next:s("@unifiedCall__id__")}]],[r(/(@open__id__)(\/@)((?:(?:@id)(?:\.(?:@id))*)?)(?:@closeTag1__id__)/),[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag"},{token:"delimiter.directive"},{token:"@brackets.directive"}]],[r(/(@open__id__)#--/),ts.id==="auto"?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${is.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${is.id}`}}}:{token:"comment",next:s("@terseComment__id__")}],[r(/(?:@startOrEndTag__id__)([a-zA-Z_]+)/),ts.id==="auto"?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${is.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${is.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag.invalid",next:s("@fmExpression__id__.directive")}]]],[s("interpolation_and_text_token__id__")]:[[r(/(@iOpen1__id__)(@iOpen2__id__)/),[{token:is.id==="bracket"?"@brackets.interpolation":"delimiter.interpolation"},{token:is.id==="bracket"?"delimiter.interpolation":"@brackets.interpolation",next:s("@fmExpression__id__.interpolation")}]],[/[\$#<\[\{]|(?:@blank)+|[^\$<#\[\{\n\r\t ]+/,{token:"source"}]],[s("string_single_token__id__")]:[[/[^'\\]/,{token:"string"}],[/@escapedChar/,{token:"string.escape"}],[/'/,{token:"string",next:"@pop"}]],[s("string_double_token__id__")]:[[/[^"\\]/,{token:"string"}],[/@escapedChar/,{token:"string.escape"}],[/"/,{token:"string",next:"@pop"}]],[s("string_single_raw_token__id__")]:[[/[^']+/,{token:"string.raw"}],[/'/,{token:"string.raw",next:"@pop"}]],[s("string_double_raw_token__id__")]:[[/[^"]+/,{token:"string.raw"}],[/"/,{token:"string.raw",next:"@pop"}]],[s("expression_token__id__")]:[[/(r?)(['"])/,{cases:{"r'":[{token:"keyword"},{token:"string.raw",next:s("@rawSingleString__id__")}],'r"':[{token:"keyword"},{token:"string.raw",next:s("@rawDoubleString__id__")}],"'":[{token:"source"},{token:"string",next:s("@singleString__id__")}],'"':[{token:"source"},{token:"string",next:s("@doubleString__id__")}]}}],[/(?:@integer)(?:\.(?:@integer))?/,{cases:{"(?:@integer)":{token:"number"},"@default":{token:"number.float"}}}],[/(\.)(@blank*)(@specialHashKeys)/,[{token:"delimiter"},{token:""},{token:"identifier"}]],[/(?:@namedSymbols)/,{cases:{"@arrows":{token:"meta.arrow"},"@delimiters":{token:"delimiter"},"@default":{token:"operators"}}}],[/@id/,{cases:{"@keywords":{token:"keyword.$0"},"@stringOperators":{token:"operators"},"@default":{token:"identifier"}}}],[/[\[\]\(\)\{\}]/,{cases:{"\\[":{cases:{"$S2==gt":{token:"@brackets",next:s("@inParen__id__.gt")},"@default":{token:"@brackets",next:s("@inParen__id__.plain")}}},"\\]":{cases:{...is.id==="bracket"?{"$S2==interpolation":{token:"@brackets.interpolation",next:"@popall"}}:{},...ts.id==="bracket"?{"$S2==directive":{token:"@brackets.directive",next:"@popall"}}:{},[s("$S1==inParen__id__")]:{token:"@brackets",next:"@pop"},"@default":{token:"@brackets"}}},"\\(":{token:"@brackets",next:s("@inParen__id__.gt")},"\\)":{cases:{[s("$S1==inParen__id__")]:{token:"@brackets",next:"@pop"},"@default":{token:"@brackets"}}},"\\{":{cases:{"$S2==gt":{token:"@brackets",next:s("@inParen__id__.gt")},"@default":{token:"@brackets",next:s("@inParen__id__.plain")}}},"\\}":{cases:{...is.id==="bracket"?{}:{"$S2==interpolation":{token:"@brackets.interpolation",next:"@popall"}},[s("$S1==inParen__id__")]:{token:"@brackets",next:"@pop"},"@default":{token:"@brackets"}}}}}],[/\$\{/,{token:"delimiter.invalid"}]],[s("blank_and_expression_comment_token__id__")]:[[/(?:@blank)+/,{token:""}],[/[<\[][#!]--/,{token:"comment",next:s("@expressionComment__id__")}]],[s("directive_end_token__id__")]:[[/>/,ts.id==="bracket"?{token:"operators"}:{token:"@brackets.directive",next:"@popall"}],[r(/(\/)(@close__id__)/),[{token:"delimiter.directive"},{token:"@brackets.directive",next:"@popall"}]]],[s("greater_operators_token__id__")]:[[/>/,{token:"operators"}],[/>=/,{token:"operators"}]],[s("no_space_expression_end_token__id__")]:[[/(?:@blank)+/,{token:"",switchTo:s("@fmExpression__id__.directive")}]],[s("unified_call_token__id__")]:[[/(@id)((?:@blank)+)/,[{token:"tag"},{token:"",next:s("@fmExpression__id__.directive")}]],[r(/(@id)(\/?)(@close__id__)/),[{token:"tag"},{token:"delimiter.directive"},{token:"@brackets.directive",next:"@popall"}]],[/./,{token:"@rematch",next:s("@noSpaceExpression__id__")}]],[s("no_parse_token__id__")]:[[r(/(@open__id__)(\/#?)([a-zA-Z]+)((?:@blank)*)(@close__id__)/),{cases:{"$S2==$3":[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag"},{token:""},{token:"@brackets.directive",next:"@popall"}],"$S2==comment":[{token:"comment"},{token:"comment"},{token:"comment"},{token:"comment"},{token:"comment"}],"@default":[{token:"source"},{token:"source"},{token:"source"},{token:"source"},{token:"source"}]}}],[/[^<\[\-]+|[<\[\-]/,{cases:{"$S2==comment":{token:"comment"},"@default":{token:"source"}}}]],[s("expression_comment_token__id__")]:[[/--[>\]]/,{token:"comment",next:"@pop"}],[/[^\->\]]+|[>\]\-]/,{token:"comment"}]],[s("terse_comment_token__id__")]:[[r(/--(?:@close__id__)/),{token:"comment",next:"@popall"}],[/[^<\[\-]+|[<\[\-]/,{token:"comment"}]]}}}function createMonarchLanguageAuto(is){const angle=createMonarchLanguage(TagSyntaxAngle,is);const bracket=createMonarchLanguage(TagSyntaxBracket,is);const auto=createMonarchLanguage(TagSyntaxAuto,is);return{...angle,...bracket,...auto,unicode:true,includeLF:false,start:`default_auto_${is.id}`,ignoreCase:false,defaultToken:"invalid",tokenPostfix:`.freemarker2`,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{...angle.tokenizer,...bracket.tokenizer,...auto.tokenizer}}}var __defProp3,__getOwnPropDesc3,__getOwnPropNames3,__hasOwnProp3,__copyProps3,__reExport2,monaco_editor_core_exports2,EMPTY_ELEMENTS,BLOCK_ELEMENTS,TagSyntaxAngle,TagSyntaxBracket,TagSyntaxAuto,InterpolationSyntaxDollar,InterpolationSyntaxBracket,TagAngleInterpolationDollar,TagBracketInterpolationDollar,TagAngleInterpolationBracket,TagBracketInterpolationBracket,TagAutoInterpolationDollar,TagAutoInterpolationBracket;var init_freemarker2=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.js"(){init_editor_api();__defProp3=Object.defineProperty;__getOwnPropDesc3=Object.getOwnPropertyDescriptor;__getOwnPropNames3=Object.getOwnPropertyNames;__hasOwnProp3=Object.prototype.hasOwnProperty;__copyProps3=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames3(from))if(!__hasOwnProp3.call(to,key)&&key!==except)__defProp3(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc3(from,key))||desc.enumerable})}return to};__reExport2=(target,mod,secondTarget)=>(__copyProps3(target,mod,"default"),secondTarget&&__copyProps3(secondTarget,mod,"default"));monaco_editor_core_exports2={};__reExport2(monaco_editor_core_exports2,editor_api_exports);EMPTY_ELEMENTS=["assign","flush","ftl","return","global","import","include","break","continue","local","nested","nt","setting","stop","t","lt","rt","fallback"];BLOCK_ELEMENTS=["attempt","autoesc","autoEsc","compress","comment","escape","noescape","function","if","list","items","sep","macro","noparse","noParse","noautoesc","noAutoEsc","outputformat","switch","visit","recurse"];TagSyntaxAngle={close:">",id:"angle",open:"<"};TagSyntaxBracket={close:"\\]",id:"bracket",open:"\\["};TagSyntaxAuto={close:"[>\\]]",id:"auto",open:"[<\\[]"};InterpolationSyntaxDollar={close:"\\}",id:"dollar",open1:"\\$",open2:"\\{"};InterpolationSyntaxBracket={close:"\\]",id:"bracket",open1:"\\[",open2:"="};TagAngleInterpolationDollar={conf:createLangConfiguration(TagSyntaxAngle),language:createMonarchLanguage(TagSyntaxAngle,InterpolationSyntaxDollar)};TagBracketInterpolationDollar={conf:createLangConfiguration(TagSyntaxBracket),language:createMonarchLanguage(TagSyntaxBracket,InterpolationSyntaxDollar)};TagAngleInterpolationBracket={conf:createLangConfiguration(TagSyntaxAngle),language:createMonarchLanguage(TagSyntaxAngle,InterpolationSyntaxBracket)};TagBracketInterpolationBracket={conf:createLangConfiguration(TagSyntaxBracket),language:createMonarchLanguage(TagSyntaxBracket,InterpolationSyntaxBracket)};TagAutoInterpolationDollar={conf:createLangConfigurationAuto(),language:createMonarchLanguageAuto(InterpolationSyntaxDollar)};TagAutoInterpolationBracket={conf:createLangConfigurationAuto(),language:createMonarchLanguageAuto(InterpolationSyntaxBracket)}}});var go_exports={};__export(go_exports,{conf:()=>conf20,language:()=>language21});var conf20,language21;var init_go=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/go/go.js"(){conf20={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`",notIn:["string"]},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`"},{open:'"',close:'"'},{open:"'",close:"'"}]};language21={defaultToken:"",tokenPostfix:".go",keywords:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var","bool","true","false","uint8","uint16","uint32","uint64","int8","int16","int32","int64","float32","float64","complex64","complex128","byte","rune","uint","int","uintptr","string","nil"],operators:["+","-","*","/","%","&","|","^","<<",">>","&^","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>=","&^=","&&","||","<-","++","--","==","<",">","=","!","!=","<=",">=",":=","...","(",")","","]","{","}",",",";",".",":"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/\[\[.*\]\]/,"annotation"],[/^\s*#\w+/,"keyword"],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex"],[/0[0-7']*[0-7]/,"number.octal"],[/0[bB][0-1']*[0-1]/,"number.binary"],[/\d[\d']*/,"number"],[/\d/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/`/,"string","@rawstring"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],rawstring:[[/[^\`]/,"string"],[/`/,"string","@pop"]]}}}});var graphql_exports={};__export(graphql_exports,{conf:()=>conf21,language:()=>language22});var conf21,language22;var init_graphql=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/graphql/graphql.js"(){conf21={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"""',close:'"""',notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"""',close:'"""'},{open:'"',close:'"'}],folding:{offSide:true}};language22={defaultToken:"invalid",tokenPostfix:".gql",keywords:["null","true","false","query","mutation","subscription","extend","schema","directive","scalar","type","interface","union","enum","input","implements","fragment","on"],typeKeywords:["Int","Float","String","Boolean","ID"],directiveLocations:["SCHEMA","SCALAR","OBJECT","FIELD_DEFINITION","ARGUMENT_DEFINITION","INTERFACE","UNION","ENUM","ENUM_VALUE","INPUT_OBJECT","INPUT_FIELD_DEFINITION","QUERY","MUTATION","SUBSCRIPTION","FIELD","FRAGMENT_DEFINITION","FRAGMENT_SPREAD","INLINE_FRAGMENT","VARIABLE_DEFINITION"],operators:["=","!","?",":","&","|"],symbols:/[=!?:&|]+/,escapes:/\\(?:["\\\/bfnrt]|u[0-9A-Fa-f]{4})/,tokenizer:{root:[[/[a-z_][\w$]*/,{cases:{"@keywords":"keyword","@default":"key.identifier"}}],[/[$][\w$]*/,{cases:{"@keywords":"keyword","@default":"argument.identifier"}}],[/[A-Z][\w\$]*/,{cases:{"@typeKeywords":"keyword","@default":"type.identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,{token:"annotation",log:"annotation token: $0"}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/"""/,{token:"string",next:"@mlstring",nextEmbedded:"markdown"}],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}]],mlstring:[[/[^"]+/,"string"],['"""',{token:"string",next:"@pop",nextEmbedded:"@pop"}]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[/#.*$/,"comment"]]}}}});var handlebars_exports={};__export(handlebars_exports,{conf:()=>conf22,language:()=>language23});var __defProp4,__getOwnPropDesc4,__getOwnPropNames4,__hasOwnProp4,__copyProps4,__reExport3,monaco_editor_core_exports3,EMPTY_ELEMENTS2,conf22,language23;var init_handlebars=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/handlebars/handlebars.js"(){init_editor_api();__defProp4=Object.defineProperty;__getOwnPropDesc4=Object.getOwnPropertyDescriptor;__getOwnPropNames4=Object.getOwnPropertyNames;__hasOwnProp4=Object.prototype.hasOwnProperty;__copyProps4=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames4(from))if(!__hasOwnProp4.call(to,key)&&key!==except)__defProp4(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc4(from,key))||desc.enumerable})}return to};__reExport3=(target,mod,secondTarget)=>(__copyProps4(target,mod,"default"),secondTarget&&__copyProps4(secondTarget,mod,"default"));monaco_editor_core_exports3={};__reExport3(monaco_editor_core_exports3,editor_api_exports);EMPTY_ELEMENTS2=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"];conf22={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["{{!--","--}}"]},brackets:[["\x3c!--","--\x3e"],["<",">"],["{{","}}"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:new RegExp(`<(?!(?:${EMPTY_ELEMENTS2.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:monaco_editor_core_exports3.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`<(?!(?:${EMPTY_ELEMENTS2.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),action:{indentAction:monaco_editor_core_exports3.languages.IndentAction.Indent}}]};language23={defaultToken:"",tokenPostfix:"",tokenizer:{root:[[/\{\{!--/,"comment.block.start.handlebars","@commentBlock"],[/\{\{!/,"comment.start.handlebars","@comment"],[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.root"}],[/<!DOCTYPE/,"metatag.html","@doctype"],[/<!--/,"comment.html","@commentHtml"],[/(<)(\w+)(\/>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)(script)/,["delimiter.html",{token:"tag.html",next:"@script"}]],[/(<)(style)/,["delimiter.html",{token:"tag.html",next:"@style"}]],[/(<)([:\w]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/(<\/)(\w+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/</,"delimiter.html"],[/\{/,"delimiter.html"],[/[^<{]+/]],doctype:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.comment"}],[/[^>]+/,"metatag.content.html"],[/>/,"metatag.html","@pop"]],comment:[[/\}\}/,"comment.end.handlebars","@pop"],[/./,"comment.content.handlebars"]],commentBlock:[[/--\}\}/,"comment.block.end.handlebars","@pop"],[/./,"comment.content.handlebars"]],commentHtml:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.comment"}],[/-->/,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.script"}],[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptAfterType"}],[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInEmbeddedState.scriptEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],style:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.style"}],[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleAfterType"}],[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInEmbeddedState.styleEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],handlebarsInSimpleState:[[/\{\{\{?/,"delimiter.handlebars"],[/\}\}\}?/,{token:"delimiter.handlebars",switchTo:"@$S2.$S3"}],{include:"handlebarsRoot"}],handlebarsInEmbeddedState:[[/\{\{\{?/,"delimiter.handlebars"],[/\}\}\}?/,{token:"delimiter.handlebars",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}],{include:"handlebarsRoot"}],handlebarsRoot:[[/"[^"]*"/,"string.handlebars"],[/[#/][^\s}]+/,"keyword.helper.handlebars"],[/else\b/,"keyword.helper.handlebars"],[/[\s]+/],[/[^}]/,"variable.parameter.handlebars"]]}}}});var hcl_exports={};__export(hcl_exports,{conf:()=>conf23,language:()=>language24});var conf23,language24;var init_hcl=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/hcl/hcl.js"(){conf23={comments:{lineComment:"#",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}]};language24={defaultToken:"",tokenPostfix:".hcl",keywords:["var","local","path","for_each","any","string","number","bool","true","false","null","if ","else ","endif ","for ","in","endfor"],operators:["=",">=","<=","==","!=","+","-","*","/","%","&&","||","!","<",">","?","...",":"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,terraformFunctions:/(abs|ceil|floor|log|max|min|pow|signum|chomp|format|formatlist|indent|join|lower|regex|regexall|replace|split|strrev|substr|title|trimspace|upper|chunklist|coalesce|coalescelist|compact|concat|contains|distinct|element|flatten|index|keys|length|list|lookup|map|matchkeys|merge|range|reverse|setintersection|setproduct|setunion|slice|sort|transpose|values|zipmap|base64decode|base64encode|base64gzip|csvdecode|jsondecode|jsonencode|urlencode|yamldecode|yamlencode|abspath|dirname|pathexpand|basename|file|fileexists|fileset|filebase64|templatefile|formatdate|timeadd|timestamp|base64sha256|base64sha512|bcrypt|filebase64sha256|filebase64sha512|filemd5|filemd1|filesha256|filesha512|md5|rsadecrypt|sha1|sha256|sha512|uuid|uuidv5|cidrhost|cidrnetmask|cidrsubnet|tobool|tolist|tomap|tonumber|toset|tostring)/,terraformMainBlocks:/(module|data|terraform|resource|provider|variable|output|locals)/,tokenizer:{root:[[/^@terraformMainBlocks([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)(\{)/,["type","","string","","string","","@brackets"]],[/(\w+[ \t]+)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)(\{)/,["identifier","","string","","string","","@brackets"]],[/(\w+[ \t]+)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)(=)(\{)/,["identifier","","string","","operator","","@brackets"]],{include:"@terraform"}],terraform:[[/@terraformFunctions(\()/,["type","@brackets"]],[/[a-zA-Z_]\w*-*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"variable"}}],{include:"@whitespace"},{include:"@heredoc"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\d[\d']*/,"number"],[/\d/,"number"],[/[;,.]/,"delimiter"],[/"/,"string","@string"],[/'/,"invalid"]],heredoc:[[/<<[-]*\s*["]?([\w\-]+)["]?/,{token:"string.heredoc.delimiter",next:"@heredocBody.$1"}]],heredocBody:[[/([\w\-]+)$/,{cases:{"$1==$S2":[{token:"string.heredoc.delimiter",next:"@popall"}],"@default":"string.heredoc"}}],[/./,"string.heredoc"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"],[/#.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],string:[[/\$\{/,{token:"delimiter",next:"@stringExpression"}],[/[^\\"\$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@popall"]],stringInsideExpression:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],stringExpression:[[/\}/,{token:"delimiter",next:"@pop"}],[/"/,"string","@stringInsideExpression"],{include:"@terraform"}]}}}});var html_exports={};__export(html_exports,{conf:()=>conf24,language:()=>language25});var __defProp5,__getOwnPropDesc5,__getOwnPropNames5,__hasOwnProp5,__copyProps5,__reExport4,monaco_editor_core_exports4,EMPTY_ELEMENTS3,conf24,language25;var init_html=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/html/html.js"(){init_editor_api();__defProp5=Object.defineProperty;__getOwnPropDesc5=Object.getOwnPropertyDescriptor;__getOwnPropNames5=Object.getOwnPropertyNames;__hasOwnProp5=Object.prototype.hasOwnProperty;__copyProps5=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames5(from))if(!__hasOwnProp5.call(to,key)&&key!==except)__defProp5(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc5(from,key))||desc.enumerable})}return to};__reExport4=(target,mod,secondTarget)=>(__copyProps5(target,mod,"default"),secondTarget&&__copyProps5(secondTarget,mod,"default"));monaco_editor_core_exports4={};__reExport4(monaco_editor_core_exports4,editor_api_exports);EMPTY_ELEMENTS3=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"];conf24={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["\x3c!--","--\x3e"]},brackets:[["\x3c!--","--\x3e"],["<",">"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"}],onEnterRules:[{beforeText:new RegExp(`<(?!(?:${EMPTY_ELEMENTS3.join("|")}))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:monaco_editor_core_exports4.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`<(?!(?:${EMPTY_ELEMENTS3.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),action:{indentAction:monaco_editor_core_exports4.languages.IndentAction.Indent}}],folding:{markers:{start:new RegExp("^\\s*\x3c!--\\s*#region\\b.*--\x3e"),end:new RegExp("^\\s*\x3c!--\\s*#endregion\\b.*--\x3e")}}};language25={defaultToken:"",tokenPostfix:".html",ignoreCase:true,tokenizer:{root:[[/<!DOCTYPE/,"metatag","@doctype"],[/<!--/,"comment","@comment"],[/(<)((?:[\w\-]+:)?[\w\-]+)(\s*)(\/>)/,["delimiter","tag","","delimiter"]],[/(<)(script)/,["delimiter",{token:"tag",next:"@script"}]],[/(<)(style)/,["delimiter",{token:"tag",next:"@style"}]],[/(<)((?:[\w\-]+:)?[\w\-]+)/,["delimiter",{token:"tag",next:"@otherTag"}]],[/(<\/)((?:[\w\-]+:)?[\w\-]+)/,["delimiter",{token:"tag",next:"@otherTag"}]],[/</,"delimiter"],[/[^<]+/]],doctype:[[/[^>]+/,"metatag.content"],[/>/,"metatag","@pop"]],comment:[[/-->/,"comment","@pop"],[/[^-]+/,"comment.content"],[/./,"comment.content"]],otherTag:[[/\/?>/,"delimiter","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter","tag",{token:"delimiter",next:"@pop"}]]],scriptAfterType:[[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/"module"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.text/javascript"}],[/'module'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.text/javascript"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/>/,{token:"delimiter",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]],style:[[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter","tag",{token:"delimiter",next:"@pop"}]]],styleAfterType:[[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/>/,{token:"delimiter",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]]}}}});var ini_exports={};__export(ini_exports,{conf:()=>conf25,language:()=>language26});var conf25,language26;var init_ini=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/ini/ini.js"(){conf25={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]};language26={defaultToken:"",tokenPostfix:".ini",escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^\[[^\]]*\]/,"metatag"],[/(^\w+)(\s*)(\=)/,["key","","delimiter"]],{include:"@whitespace"},[/\d+/,"number"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],whitespace:[[/[ \t\r\n]+/,""],[/^\s*[#;].*$/,"comment"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}}}});var java_exports={};__export(java_exports,{conf:()=>conf26,language:()=>language27});var conf26,language27;var init_java=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/java/java.js"(){conf26={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),end:new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")}}};language27={defaultToken:"",tokenPostfix:".java",keywords:["abstract","continue","for","new","switch","assert","default","goto","package","synchronized","boolean","do","if","private","this","break","double","implements","protected","throw","byte","else","import","public","throws","case","enum","instanceof","return","transient","catch","extends","int","short","try","char","final","interface","static","void","class","finally","long","strictfp","volatile","const","float","native","super","while","true","false","yield","record","sealed","non-sealed","permits"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,tokenizer:{root:[["non-sealed","keyword.non-sealed"],[/[a-zA-Z_$][\w$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/0[xX](@hexdigits)[Ll]?/,"number.hex"],[/0(@octaldigits)[Ll]?/,"number.octal"],[/0[bB](@binarydigits)[Ll]?/,"number.binary"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"""/,"string","@multistring"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@javadoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],javadoc:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],multistring:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"""/,"string","@pop"],[/./,"string"]]}}}});var typescript_exports={};__export(typescript_exports,{conf:()=>conf27,language:()=>language28});var __defProp6,__getOwnPropDesc6,__getOwnPropNames6,__hasOwnProp6,__copyProps6,__reExport5,monaco_editor_core_exports5,conf27,language28;var init_typescript=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.js"(){init_editor_api();__defProp6=Object.defineProperty;__getOwnPropDesc6=Object.getOwnPropertyDescriptor;__getOwnPropNames6=Object.getOwnPropertyNames;__hasOwnProp6=Object.prototype.hasOwnProperty;__copyProps6=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames6(from))if(!__hasOwnProp6.call(to,key)&&key!==except)__defProp6(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc6(from,key))||desc.enumerable})}return to};__reExport5=(target,mod,secondTarget)=>(__copyProps6(target,mod,"default"),secondTarget&&__copyProps6(secondTarget,mod,"default"));monaco_editor_core_exports5={};__reExport5(monaco_editor_core_exports5,editor_api_exports);conf27={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:monaco_editor_core_exports5.languages.IndentAction.IndentOutdent,appendText:" * "}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:monaco_editor_core_exports5.languages.IndentAction.None,appendText:" * "}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:monaco_editor_core_exports5.languages.IndentAction.None,appendText:"* "}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:monaco_editor_core_exports5.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],folding:{markers:{start:new RegExp("^\\s*//\\s*#?region\\b"),end:new RegExp("^\\s*//\\s*#?endregion\\b")}}};language28={defaultToken:"invalid",tokenPostfix:".ts",keywords:["abstract","any","as","asserts","bigint","boolean","break","case","catch","class","continue","const","constructor","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","infer","instanceof","interface","is","keyof","let","module","namespace","never","new","null","number","object","out","package","private","protected","public","override","readonly","require","global","return","satisfies","set","static","string","super","switch","symbol","this","throw","true","try","type","typeof","undefined","unique","unknown","var","void","while","with","yield","async","await","of"],operators:["<=",">=","==","!=","===","!==","=>","+","-","**","*","/","%","++","--","<<","</",">>",">>>","&","|","^","!","~","&&","||","??","?",":","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=","@"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,regexpctl:/[(){}\[\]\$\^|\-*+?\.]/,regexpesc:/\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,tokenizer:{root:[[/[{}]/,"delimiter.bracket"],{include:"common"}],common:[[/#?[a-z_$][\w$]*/,{cases:{"@keywords":"keyword","@default":"identifier"}}],[/[A-Z][\w\$]*/,"type.identifier"],{include:"@whitespace"},[/\/(?=([^\\\/]|\\.)+\/([dgimsuy]*)(\s*)(\.|;|,|\)|\]|\}|$))/,{token:"regexp",bracket:"@open",next:"@regexp"}],[/[()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/!(?=([^=]|$))/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,"number.float"],[/0[xX](@hexdigits)n?/,"number.hex"],[/0[oO]?(@octaldigits)n?/,"number.octal"],[/0[bB](@binarydigits)n?/,"number.binary"],[/(@digits)n?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"],[/`/,"string","@string_backtick"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@jsdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],jsdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["regexp.escape.control","regexp.escape.control"]],[/[()]/,"regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],[/(\/)([dgimsuy]*)/,[{token:"regexp",bracket:"@close",next:"@pop"},"keyword.other"]]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,{token:"regexp.escape.control",next:"@pop",bracket:"@close"}]],string_double:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],string_single:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"]],string_backtick:[[/\$\{/,{token:"delimiter.bracket",next:"@bracketCounting"}],[/[^\\`$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/`/,"string","@pop"]],bracketCounting:[[/\{/,"delimiter.bracket","@bracketCounting"],[/\}/,"delimiter.bracket","@pop"],{include:"common"}]}}}});var javascript_exports={};__export(javascript_exports,{conf:()=>conf28,language:()=>language29});var conf28,language29;var init_javascript=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.js"(){init_typescript();conf28=conf27;language29={defaultToken:"invalid",tokenPostfix:".js",keywords:["break","case","catch","class","continue","const","constructor","debugger","default","delete","do","else","export","extends","false","finally","for","from","function","get","if","import","in","instanceof","let","new","null","return","set","static","super","switch","symbol","this","throw","true","try","typeof","undefined","var","void","while","with","yield","async","await","of"],typeKeywords:[],operators:language28.operators,symbols:language28.symbols,escapes:language28.escapes,digits:language28.digits,octaldigits:language28.octaldigits,binarydigits:language28.binarydigits,hexdigits:language28.hexdigits,regexpctl:language28.regexpctl,regexpesc:language28.regexpesc,tokenizer:language28.tokenizer}}});var julia_exports={};__export(julia_exports,{conf:()=>conf29,language:()=>language30});var conf29,language30;var init_julia=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/julia/julia.js"(){conf29={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]};language30={tokenPostfix:".julia",keywords:["begin","while","if","for","try","return","break","continue","function","macro","quote","let","local","global","const","do","struct","module","baremodule","using","import","export","end","else","elseif","catch","finally","mutable","primitive","abstract","type","in","isa","where","new"],types:["LinRange","LineNumberNode","LinearIndices","LoadError","MIME","Matrix","Method","MethodError","Missing","MissingException","Module","NTuple","NamedTuple","Nothing","Number","OrdinalRange","OutOfMemoryError","OverflowError","Pair","PartialQuickSort","PermutedDimsArray","Pipe","Ptr","QuoteNode","Rational","RawFD","ReadOnlyMemoryError","Real","ReentrantLock","Ref","Regex","RegexMatch","RoundingMode","SegmentationFault","Set","Signed","Some","StackOverflowError","StepRange","StepRangeLen","StridedArray","StridedMatrix","StridedVecOrMat","StridedVector","String","StringIndexError","SubArray","SubString","SubstitutionString","Symbol","SystemError","Task","Text","TextDisplay","Timer","Tuple","Type","TypeError","TypeVar","UInt","UInt128","UInt16","UInt32","UInt64","UInt8","UndefInitializer","AbstractArray","UndefKeywordError","AbstractChannel","UndefRefError","AbstractChar","UndefVarError","AbstractDict","Union","AbstractDisplay","UnionAll","AbstractFloat","UnitRange","AbstractIrrational","Unsigned","AbstractMatrix","AbstractRange","Val","AbstractSet","Vararg","AbstractString","VecElement","AbstractUnitRange","VecOrMat","AbstractVecOrMat","Vector","AbstractVector","VersionNumber","Any","WeakKeyDict","ArgumentError","WeakRef","Array","AssertionError","BigFloat","BigInt","BitArray","BitMatrix","BitSet","BitVector","Bool","BoundsError","CapturedException","CartesianIndex","CartesianIndices","Cchar","Cdouble","Cfloat","Channel","Char","Cint","Cintmax_t","Clong","Clonglong","Cmd","Colon","Complex","ComplexF16","ComplexF32","ComplexF64","CompositeException","Condition","Cptrdiff_t","Cshort","Csize_t","Cssize_t","Cstring","Cuchar","Cuint","Cuintmax_t","Culong","Culonglong","Cushort","Cvoid","Cwchar_t","Cwstring","DataType","DenseArray","DenseMatrix","DenseVecOrMat","DenseVector","Dict","DimensionMismatch","Dims","DivideError","DomainError","EOFError","Enum","ErrorException","Exception","ExponentialBackOff","Expr","Float16","Float32","Float64","Function","GlobalRef","HTML","IO","IOBuffer","IOContext","IOStream","IdDict","IndexCartesian","IndexLinear","IndexStyle","InexactError","InitError","Int","Int128","Int16","Int32","Int64","Int8","Integer","InterruptException","InvalidStateException","Irrational","KeyError"],keywordops:["<:",">:",":","=>","...",".","->","?"],allops:/[^\w\d\s()\[\]{}"'#]+/,constants:["true","false","nothing","missing","undef","Inf","pi","NaN","π","","ans","PROGRAM_FILE","ARGS","C_NULL","VERSION","DEPOT_PATH","LOAD_PATH"],operators:["!","!=","!==","%","&","*","+","-","/","//","<","<<","<=","==","===","=>",">",">=",">>",">>>","\\","^","|","|>","~","÷","∈","∉","∋","∌","∘","√","∛","∩","","≈","≉","≠","≡","≢","≤","≥","⊆","⊇","⊈","⊉","⊊","⊋","⊻"],brackets:[{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"}],ident:/π||\b(?!\d)\w+\b/,escape:/(?:[abefnrstv\\"'\n\r]|[0-7]{1,3}|x[0-9A-Fa-f]{1,2}|u[0-9A-Fa-f]{4})/,escapes:/\\(?:C\-(@escape|.)|c(@escape|.)|@escape)/,tokenizer:{root:[[/(::)\s*|\b(isa)\s+/,"keyword","@typeanno"],[/\b(isa)(\s*\(@ident\s*,\s*)/,["keyword",{token:"",next:"@typeanno"}]],[/\b(type|struct)[ \t]+/,"keyword","@typeanno"],[/^\s*:@ident[!?]?/,"metatag"],[/(return)(\s*:@ident[!?]?)/,["keyword","metatag"]],[/(\(|\[|\{|@allops)(\s*:@ident[!?]?)/,["","metatag"]],[/:\(/,"metatag","@quote"],[/r"""/,"regexp.delim","@tregexp"],[/r"/,"regexp.delim","@sregexp"],[/raw"""/,"string.delim","@rtstring"],[/[bv]?"""/,"string.delim","@dtstring"],[/raw"/,"string.delim","@rsstring"],[/[bv]?"/,"string.delim","@dsstring"],[/(@ident)\{/,{cases:{"$1@types":{token:"type",next:"@gen"},"@default":{token:"type",next:"@gen"}}}],[/@ident[!?'']?(?=\.?\()/,{cases:{"@types":"type","@keywords":"keyword","@constants":"variable","@default":"keyword.flow"}}],[/@ident[!?']?/,{cases:{"@types":"type","@keywords":"keyword","@constants":"variable","@default":"identifier"}}],[/\$\w+/,"key"],[/\$\(/,"key","@paste"],[/@@@ident/,"annotation"],{include:"@whitespace"},[/'(?:@escapes|.)'/,"string.character"],[/[()\[\]{}]/,"@brackets"],[/@allops/,{cases:{"@keywordops":"keyword","@operators":"operator"}}],[/[;,]/,"delimiter"],[/0[xX][0-9a-fA-F](_?[0-9a-fA-F])*/,"number.hex"],[/0[_oO][0-7](_?[0-7])*/,"number.octal"],[/0[bB][01](_?[01])*/,"number.binary"],[/[+\-]?\d+(\.\d+)?(im?|[eE][+\-]?\d+(\.\d+)?)?/,"number"]],typeanno:[[/[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*\{/,"type","@gen"],[/([a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*)(\s*<:\s*)/,["type","keyword"]],[/[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*/,"type","@pop"],["","","@pop"]],gen:[[/[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*\{/,"type","@push"],[/[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*/,"type"],[/<:/,"keyword"],[/(\})(\s*<:\s*)/,["type",{token:"keyword",next:"@pop"}]],[/\}/,"type","@pop"],{include:"@root"}],quote:[[/\$\(/,"key","@paste"],[/\(/,"@brackets","@paren"],[/\)/,"metatag","@pop"],{include:"@root"}],paste:[[/:\(/,"metatag","@quote"],[/\(/,"@brackets","@paren"],[/\)/,"key","@pop"],{include:"@root"}],paren:[[/\$\(/,"key","@paste"],[/:\(/,"metatag","@quote"],[/\(/,"@brackets","@push"],[/\)/,"@brackets","@pop"],{include:"@root"}],sregexp:[[/^.*/,"invalid"],[/[^\\"()\[\]{}]/,"regexp"],[/[()\[\]{}]/,"@brackets"],[/\\./,"operator.scss"],[/"[imsx]*/,"regexp.delim","@pop"]],tregexp:[[/[^\\"()\[\]{}]/,"regexp"],[/[()\[\]{}]/,"@brackets"],[/\\./,"operator.scss"],[/"(?!"")/,"string"],[/"""[imsx]*/,"regexp.delim","@pop"]],rsstring:[[/^.*/,"invalid"],[/[^\\"]/,"string"],[/\\./,"string.escape"],[/"/,"string.delim","@pop"]],rtstring:[[/[^\\"]/,"string"],[/\\./,"string.escape"],[/"(?!"")/,"string"],[/"""/,"string.delim","@pop"]],dsstring:[[/^.*/,"invalid"],[/[^\\"\$]/,"string"],[/\$/,"","@interpolated"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string.delim","@pop"]],dtstring:[[/[^\\"\$]/,"string"],[/\$/,"","@interpolated"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"(?!"")/,"string"],[/"""/,"string.delim","@pop"]],interpolated:[[/\(/,{token:"",switchTo:"@interpolated_compound"}],[/[a-zA-Z_]\w*/,"identifier"],["","","@pop"]],interpolated_compound:[[/\)/,"","@pop"],{include:"@root"}],whitespace:[[/[ \t\r\n]+/,""],[/#=/,"comment","@multi_comment"],[/#.*$/,"comment"]],multi_comment:[[/#=/,"comment","@push"],[/=#/,"comment","@pop"],[/=(?!#)|#(?!=)/,"comment"],[/[^#=]+/,"comment"]]}}}});var kotlin_exports={};__export(kotlin_exports,{conf:()=>conf30,language:()=>language31});var conf30,language31;var init_kotlin=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/kotlin/kotlin.js"(){conf30={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),end:new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")}}};language31={defaultToken:"",tokenPostfix:".kt",keywords:["as","as?","break","class","continue","do","else","false","for","fun","if","in","!in","interface","is","!is","null","object","package","return","super","this","throw","true","try","typealias","val","var","when","while","by","catch","constructor","delegate","dynamic","field","file","finally","get","import","init","param","property","receiver","set","setparam","where","actual","abstract","annotation","companion","const","crossinline","data","enum","expect","external","final","infix","inline","inner","internal","lateinit","noinline","open","operator","out","override","private","protected","public","reified","sealed","suspend","tailrec","vararg","field","it"],operators:["+","-","*","/","%","=","+=","-=","*=","/=","%=","++","--","&&","||","!","==","!=","===","!==",">","<","<=",">=","[","]","!!","?.","?:","::","..",":","?","->","@",";","$","_"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,tokenizer:{root:[[/[A-Z][\w\$]*/,"type.identifier"],[/[a-zA-Z_$][\w$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/0[xX](@hexdigits)[Ll]?/,"number.hex"],[/0(@octaldigits)[Ll]?/,"number.octal"],[/0[bB](@binarydigits)[Ll]?/,"number.binary"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"""/,"string","@multistring"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@javadoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],javadoc:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc","@push"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],multistring:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"""/,"string","@pop"],[/./,"string"]]}}}});var less_exports={};__export(less_exports,{conf:()=>conf31,language:()=>language32});var conf31,language32;var init_less=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/less/less.js"(){conf31={wordPattern:/(#?-?\d*\.\d\w*%?)|([@#!.:]?[\w-?]+%?)|[@#!.]/g,comments:{blockComment:["/*","*/"],lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}};language32={defaultToken:"",tokenPostfix:".less",identifier:"-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",identifierPlus:"-?-?([a-zA-Z:.]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-:.]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{root:[{include:"@nestedJSBegin"},["[ \\t\\r\\n]+",""],{include:"@comments"},{include:"@keyword"},{include:"@strings"},{include:"@numbers"},["[*_]?[a-zA-Z\\-\\s]+(?=:.*(;|(\\\\$)))","attribute.name","@attribute"],["url(\\-prefix)?\\(",{token:"tag",next:"@urldeclaration"}],["[{}()\\[\\]]","@brackets"],["[,:;]","delimiter"],["#@identifierPlus","tag.id"],["&","tag"],["\\.@identifierPlus(?=\\()","tag.class","@attribute"],["\\.@identifierPlus","tag.class"],["@identifierPlus","tag"],{include:"@operators"},["@(@identifier(?=[:,\\)]))","variable","@attribute"],["@(@identifier)","variable"],["@","key","@atRules"]],nestedJSBegin:[["``","delimiter.backtick"],["`",{token:"delimiter.backtick",next:"@nestedJSEnd",nextEmbedded:"text/javascript"}]],nestedJSEnd:[["`",{token:"delimiter.backtick",next:"@pop",nextEmbedded:"@pop"}]],operators:[["[<>=\\+\\-\\*\\/\\^\\|\\~]","operator"]],keyword:[["(@[\\s]*import|![\\s]*important|true|false|when|iscolor|isnumber|isstring|iskeyword|isurl|ispixel|ispercentage|isem|hue|saturation|lightness|alpha|lighten|darken|saturate|desaturate|fadein|fadeout|fade|spin|mix|round|ceil|floor|percentage)\\b","keyword"]],urldeclaration:[{include:"@strings"},["[^)\r\n]+","string"],["\\)",{token:"tag",next:"@pop"}]],attribute:[{include:"@nestedJSBegin"},{include:"@comments"},{include:"@strings"},{include:"@numbers"},{include:"@keyword"},["[a-zA-Z\\-]+(?=\\()","attribute.value","@attribute"],[">","operator","@pop"],["@identifier","attribute.value"],{include:"@operators"},["@(@identifier)","variable"],["[)\\}]","@brackets","@pop"],["[{}()\\[\\]>]","@brackets"],["[;]","delimiter","@pop"],["[,=:]","delimiter"],["\\s",""],[".","attribute.value"]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[".","comment"]],numbers:[["(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"attribute.value.number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","attribute.value.hex"]],units:[["(em|ex|ch|rem|fr|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","attribute.value.unit","@pop"]],strings:[['~?"',{token:"string.delimiter",next:"@stringsEndDoubleQuote"}],["~?'",{token:"string.delimiter",next:"@stringsEndQuote"}]],stringsEndDoubleQuote:[['\\\\"',"string"],['"',{token:"string.delimiter",next:"@popall"}],[".","string"]],stringsEndQuote:[["\\\\'","string"],["'",{token:"string.delimiter",next:"@popall"}],[".","string"]],atRules:[{include:"@comments"},{include:"@strings"},["[()]","delimiter"],["[\\{;]","delimiter","@pop"],[".","key"]]}}}});var lexon_exports={};__export(lexon_exports,{conf:()=>conf32,language:()=>language33});var conf32,language33;var init_lexon=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/lexon/lexon.js"(){conf32={comments:{lineComment:"COMMENT"},brackets:[["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:":",close:"."}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`"},{open:'"',close:'"'},{open:"'",close:"'"},{open:":",close:"."}],folding:{markers:{start:new RegExp("^\\s*(::\\s*|COMMENT\\s+)#region"),end:new RegExp("^\\s*(::\\s*|COMMENT\\s+)#endregion")}}};language33={tokenPostfix:".lexon",ignoreCase:true,keywords:["lexon","lex","clause","terms","contracts","may","pay","pays","appoints","into","to"],typeKeywords:["amount","person","key","time","date","asset","text"],operators:["less","greater","equal","le","gt","or","and","add","added","subtract","subtracted","multiply","multiplied","times","divide","divided","is","be","certified"],symbols:/[=><!~?:&|+\-*\/\^%]+/,tokenizer:{root:[[/^(\s*)(comment:?(?:\s.*|))$/,["","comment"]],[/"/,{token:"identifier.quote",bracket:"@open",next:"@quoted_identifier"}],["LEX$",{token:"keyword",bracket:"@open",next:"@identifier_until_period"}],["LEXON",{token:"keyword",bracket:"@open",next:"@semver"}],[":",{token:"delimiter",bracket:"@open",next:"@identifier_until_period"}],[/[a-z_$][\w$]*/,{cases:{"@operators":"operator","@typeKeywords":"keyword.type","@keywords":"keyword","@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\.\d*\.\d*/,"number.semver"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"]],quoted_identifier:[[/[^\\"]+/,"identifier"],[/"/,{token:"identifier.quote",bracket:"@close",next:"@pop"}]],space_identifier_until_period:[[":","delimiter"],[" ",{token:"white",next:"@identifier_rest"}]],identifier_until_period:[{include:"@whitespace"},[":",{token:"delimiter",next:"@identifier_rest"}],[/[^\\.]+/,"identifier"],[/\./,{token:"delimiter",bracket:"@close",next:"@pop"}]],identifier_rest:[[/[^\\.]+/,"identifier"],[/\./,{token:"delimiter",bracket:"@close",next:"@pop"}]],semver:[{include:"@whitespace"},[":","delimiter"],[/\d*\.\d*\.\d*/,{token:"number.semver",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"]]}}}});var lua_exports={};__export(lua_exports,{conf:()=>conf33,language:()=>language34});var conf33,language34;var init_lua=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/lua/lua.js"(){conf33={comments:{lineComment:"--",blockComment:["--[[","]]"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]};language34={defaultToken:"",tokenPostfix:".lua",keywords:["and","break","do","else","elseif","end","false","for","function","goto","if","in","local","nil","not","or","repeat","return","then","true","until","while"],brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"}],operators:["+","-","*","/","%","^","#","==","~=","<=",">=","<",">","=",";",":",",",".","..","..."],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/(,)(\s*)([a-zA-Z_]\w*)(\s*)(:)(?!:)/,["delimiter","","key","","delimiter"]],[/({)(\s*)([a-zA-Z_]\w*)(\s*)(:)(?!:)/,["@brackets","","key","","delimiter"]],[/[{}()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/,"number.hex"],[/\d+?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],whitespace:[[/[ \t\r\n]+/,""],[/--\[([=]*)\[/,"comment","@comment.$1"],[/--.*$/,"comment"]],comment:[[/[^\]]+/,"comment"],[/\]([=]*)\]/,{cases:{"$1==$S2":{token:"comment",next:"@pop"},"@default":"comment"}}],[/./,"comment"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}}}});var liquid_exports={};__export(liquid_exports,{conf:()=>conf34,language:()=>language35});var __defProp7,__getOwnPropDesc7,__getOwnPropNames7,__hasOwnProp7,__copyProps7,__reExport6,monaco_editor_core_exports6,EMPTY_ELEMENTS4,conf34,language35;var init_liquid=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/liquid/liquid.js"(){init_editor_api();__defProp7=Object.defineProperty;__getOwnPropDesc7=Object.getOwnPropertyDescriptor;__getOwnPropNames7=Object.getOwnPropertyNames;__hasOwnProp7=Object.prototype.hasOwnProperty;__copyProps7=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames7(from))if(!__hasOwnProp7.call(to,key)&&key!==except)__defProp7(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc7(from,key))||desc.enumerable})}return to};__reExport6=(target,mod,secondTarget)=>(__copyProps7(target,mod,"default"),secondTarget&&__copyProps7(secondTarget,mod,"default"));monaco_editor_core_exports6={};__reExport6(monaco_editor_core_exports6,editor_api_exports);EMPTY_ELEMENTS4=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"];conf34={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,brackets:[["\x3c!--","--\x3e"],["<",">"],["{{","}}"],["{%","%}"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"%",close:"%"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:new RegExp(`<(?!(?:${EMPTY_ELEMENTS4.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:monaco_editor_core_exports6.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`<(?!(?:${EMPTY_ELEMENTS4.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),action:{indentAction:monaco_editor_core_exports6.languages.IndentAction.Indent}}]};language35={defaultToken:"",tokenPostfix:"",builtinTags:["if","else","elseif","endif","render","assign","capture","endcapture","case","endcase","comment","endcomment","cycle","decrement","for","endfor","include","increment","layout","raw","endraw","render","tablerow","endtablerow","unless","endunless"],builtinFilters:["abs","append","at_least","at_most","capitalize","ceil","compact","date","default","divided_by","downcase","escape","escape_once","first","floor","join","json","last","lstrip","map","minus","modulo","newline_to_br","plus","prepend","remove","remove_first","replace","replace_first","reverse","round","rstrip","size","slice","sort","sort_natural","split","strip","strip_html","strip_newlines","times","truncate","truncatewords","uniq","upcase","url_decode","url_encode","where"],constants:["true","false"],operators:["==","!=",">","<",">=","<="],symbol:/[=><!]+/,identifier:/[a-zA-Z_][\w]*/,tokenizer:{root:[[/\{\%\s*comment\s*\%\}/,"comment.start.liquid","@comment"],[/\{\{/,{token:"@rematch",switchTo:"@liquidState.root"}],[/\{\%/,{token:"@rematch",switchTo:"@liquidState.root"}],[/(<)([\w\-]+)(\/>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)([:\w]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/(<\/)([\w\-]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/</,"delimiter.html"],[/\{/,"delimiter.html"],[/[^<{]+/]],comment:[[/\{\%\s*endcomment\s*\%\}/,"comment.end.liquid","@pop"],[/./,"comment.content.liquid"]],otherTag:[[/\{\{/,{token:"@rematch",switchTo:"@liquidState.otherTag"}],[/\{\%/,{token:"@rematch",switchTo:"@liquidState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],liquidState:[[/\{\{/,"delimiter.output.liquid"],[/\}\}/,{token:"delimiter.output.liquid",switchTo:"@$S2.$S3"}],[/\{\%/,"delimiter.tag.liquid"],[/raw\s*\%\}/,"delimiter.tag.liquid","@liquidRaw"],[/\%\}/,{token:"delimiter.tag.liquid",switchTo:"@$S2.$S3"}],{include:"liquidRoot"}],liquidRaw:[[/^(?!\{\%\s*endraw\s*\%\}).+/],[/\{\%/,"delimiter.tag.liquid"],[/@identifier/],[/\%\}/,{token:"delimiter.tag.liquid",next:"@root"}]],liquidRoot:[[/\d+(\.\d+)?/,"number.liquid"],[/"[^"]*"/,"string.liquid"],[/'[^']*'/,"string.liquid"],[/\s+/],[/@symbol/,{cases:{"@operators":"operator.liquid","@default":""}}],[/\./],[/@identifier/,{cases:{"@constants":"keyword.liquid","@builtinFilters":"predefined.liquid","@builtinTags":"predefined.liquid","@default":"variable.liquid"}}],[/[^}|%]/,"variable.liquid"]]}}}});var m3_exports={};__export(m3_exports,{conf:()=>conf35,language:()=>language36});var conf35,language36;var init_m3=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/m3/m3.js"(){conf35={comments:{blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"(*",close:"*)"},{open:"<*",close:"*>"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}]};language36={defaultToken:"",tokenPostfix:".m3",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["AND","ANY","ARRAY","AS","BEGIN","BITS","BRANDED","BY","CASE","CONST","DIV","DO","ELSE","ELSIF","END","EVAL","EXCEPT","EXCEPTION","EXIT","EXPORTS","FINALLY","FOR","FROM","GENERIC","IF","IMPORT","IN","INTERFACE","LOCK","LOOP","METHODS","MOD","MODULE","NOT","OBJECT","OF","OR","OVERRIDES","PROCEDURE","RAISE","RAISES","READONLY","RECORD","REF","REPEAT","RETURN","REVEAL","SET","THEN","TO","TRY","TYPE","TYPECASE","UNSAFE","UNTIL","UNTRACED","VALUE","VAR","WHILE","WITH"],reservedConstNames:["ABS","ADR","ADRSIZE","BITSIZE","BYTESIZE","CEILING","DEC","DISPOSE","FALSE","FIRST","FLOAT","FLOOR","INC","ISTYPE","LAST","LOOPHOLE","MAX","MIN","NARROW","NEW","NIL","NUMBER","ORD","ROUND","SUBARRAY","TRUE","TRUNC","TYPECODE","VAL"],reservedTypeNames:["ADDRESS","ANY","BOOLEAN","CARDINAL","CHAR","EXTENDED","INTEGER","LONGCARD","LONGINT","LONGREAL","MUTEX","NULL","REAL","REFANY","ROOT","TEXT"],operators:["+","-","*","/","&","^","."],relations:["=","#","<","<=",">",">=","<:",":"],delimiters:["|","..","=>",",",";",":="],symbols:/[>=<#.,:;+\-*/&^]+/,escapes:/\\(?:[\\fnrt"']|[0-7]{3})/,tokenizer:{root:[[/_\w*/,"invalid"],[/[a-zA-Z][a-zA-Z0-9_]*/,{cases:{"@keywords":{token:"keyword.$0"},"@reservedConstNames":{token:"constant.reserved.$0"},"@reservedTypeNames":{token:"type.reserved.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[0-9]+\.[0-9]+(?:[DdEeXx][\+\-]?[0-9]+)?/,"number.float"],[/[0-9]+(?:\_[0-9a-fA-F]+)?L?/,"number"],[/@symbols/,{cases:{"@operators":"operators","@relations":"operators","@delimiters":"delimiter","@default":"invalid"}}],[/'[^\\']'/,"string.char"],[/(')(@escapes)(')/,["string.char","string.escape","string.char"]],[/'/,"invalid"],[/"([^"\\]|\\.)*$/,"invalid"],[/"/,"string.text","@text"]],text:[[/[^\\"]+/,"string.text"],[/@escapes/,"string.escape"],[/\\./,"invalid"],[/"/,"string.text","@pop"]],comment:[[/\(\*/,"comment","@push"],[/\*\)/,"comment","@pop"],[/./,"comment"]],pragma:[[/<\*/,"keyword.pragma","@push"],[/\*>/,"keyword.pragma","@pop"],[/./,"keyword.pragma"]],whitespace:[[/[ \t\r\n]+/,"white"],[/\(\*/,"comment","@comment"],[/<\*/,"keyword.pragma","@pragma"]]}}}});var markdown_exports={};__export(markdown_exports,{conf:()=>conf36,language:()=>language37});var conf36,language37;var init_markdown=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/markdown/markdown.js"(){conf36={comments:{blockComment:["\x3c!--","--\x3e"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">",notIn:["string"]}],surroundingPairs:[{open:"(",close:")"},{open:"[",close:"]"},{open:"`",close:"`"}],folding:{markers:{start:new RegExp("^\\s*\x3c!--\\s*#?region\\b.*--\x3e"),end:new RegExp("^\\s*\x3c!--\\s*#?endregion\\b.*--\x3e")}}};language37={defaultToken:"",tokenPostfix:".md",control:/[\\`*_\[\]{}()#+\-\.!]/,noncontrol:/[^\\`*_\[\]{}()#+\-\.!]/,escapes:/\\(?:@control)/,jsescapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,empty:["area","base","basefont","br","col","frame","hr","img","input","isindex","link","meta","param"],tokenizer:{root:[[/^\s*\|/,"@rematch","@table_header"],[/^(\s{0,3})(#+)((?:[^\\#]|@escapes)+)((?:#+)?)/,["white","keyword","keyword","keyword"]],[/^\s*(=+|\-+)\s*$/,"keyword"],[/^\s*((\*[ ]?)+)\s*$/,"meta.separator"],[/^\s*>+/,"comment"],[/^\s*([\*\-+:]|\d+\.)\s/,"keyword"],[/^(\t|[ ]{4})[^ ].*$/,"string"],[/^\s*~~~\s*((?:\w|[\/\-#])+)?\s*$/,{token:"string",next:"@codeblock"}],[/^\s*```\s*((?:\w|[\/\-#])+).*$/,{token:"string",next:"@codeblockgh",nextEmbedded:"$1"}],[/^\s*```\s*$/,{token:"string",next:"@codeblock"}],{include:"@linecontent"}],table_header:[{include:"@table_common"},[/[^\|]+/,"keyword.table.header"]],table_body:[{include:"@table_common"},{include:"@linecontent"}],table_common:[[/\s*[\-:]+\s*/,{token:"keyword",switchTo:"table_body"}],[/^\s*\|/,"keyword.table.left"],[/^\s*[^\|]/,"@rematch","@pop"],[/^\s*$/,"@rematch","@pop"],[/\|/,{cases:{"@eos":"keyword.table.right","@default":"keyword.table.middle"}}]],codeblock:[[/^\s*~~~\s*$/,{token:"string",next:"@pop"}],[/^\s*```\s*$/,{token:"string",next:"@pop"}],[/.*$/,"variable.source"]],codeblockgh:[[/```\s*$/,{token:"string",next:"@pop",nextEmbedded:"@pop"}],[/[^`]+/,"variable.source"]],linecontent:[[/&\w+;/,"string.escape"],[/@escapes/,"escape"],[/\b__([^\\_]|@escapes|_(?!_))+__\b/,"strong"],[/\*\*([^\\*]|@escapes|\*(?!\*))+\*\*/,"strong"],[/\b_[^_]+_\b/,"emphasis"],[/\*([^\\*]|@escapes)+\*/,"emphasis"],[/`([^\\`]|@escapes)+`/,"variable"],[/\{+[^}]+\}+/,"string.target"],[/(!?\[)((?:[^\]\\]|@escapes)*)(\]\([^\)]+\))/,["string.link","","string.link"]],[/(!?\[)((?:[^\]\\]|@escapes)*)(\])/,"string.link"],{include:"html"}],html:[[/<(\w+)\/>/,"tag"],[/<(\w+)(\-|\w)*/,{cases:{"@empty":{token:"tag",next:"@tag.$1"},"@default":{token:"tag",next:"@tag.$1"}}}],[/<\/(\w+)(\-|\w)*\s*>/,{token:"tag"}],[/<!--/,"comment","@comment"]],comment:[[/[^<\-]+/,"comment.content"],[/-->/,"comment","@pop"],[/<!--/,"comment.content.invalid"],[/[<\-]/,"comment.content"]],tag:[[/[ \t\r\n]+/,"white"],[/(type)(\s*=\s*)(")([^"]+)(")/,["attribute.name.html","delimiter.html","string.html",{token:"string.html",switchTo:"@tag.$S2.$4"},"string.html"]],[/(type)(\s*=\s*)(')([^']+)(')/,["attribute.name.html","delimiter.html","string.html",{token:"string.html",switchTo:"@tag.$S2.$4"},"string.html"]],[/(\w+)(\s*=\s*)("[^"]*"|'[^']*')/,["attribute.name.html","delimiter.html","string.html"]],[/\w+/,"attribute.name.html"],[/\/>/,"tag","@pop"],[/>/,{cases:{"$S2==style":{token:"tag",switchTo:"embeddedStyle",nextEmbedded:"text/css"},"$S2==script":{cases:{$S3:{token:"tag",switchTo:"embeddedScript",nextEmbedded:"$S3"},"@default":{token:"tag",switchTo:"embeddedScript",nextEmbedded:"text/javascript"}}},"@default":{token:"tag",next:"@pop"}}}]],embeddedStyle:[[/[^<]+/,""],[/<\/style\s*>/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/</,""]],embeddedScript:[[/[^<]+/,""],[/<\/script\s*>/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/</,""]]}}}});var mdx_exports={};__export(mdx_exports,{conf:()=>conf37,language:()=>language38});var __defProp8,__getOwnPropDesc8,__getOwnPropNames8,__hasOwnProp8,__copyProps8,__reExport7,monaco_editor_core_exports7,conf37,language38;var init_mdx=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/mdx/mdx.js"(){init_editor_api();__defProp8=Object.defineProperty;__getOwnPropDesc8=Object.getOwnPropertyDescriptor;__getOwnPropNames8=Object.getOwnPropertyNames;__hasOwnProp8=Object.prototype.hasOwnProperty;__copyProps8=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames8(from))if(!__hasOwnProp8.call(to,key)&&key!==except)__defProp8(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc8(from,key))||desc.enumerable})}return to};__reExport7=(target,mod,secondTarget)=>(__copyProps8(target,mod,"default"),secondTarget&&__copyProps8(secondTarget,mod,"default"));monaco_editor_core_exports7={};__reExport7(monaco_editor_core_exports7,editor_api_exports);conf37={comments:{blockComment:["{/*","*/}"]},brackets:[["{","}"]],autoClosingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"“",close:"”"},{open:"",close:""},{open:"`",close:"`"},{open:"{",close:"}"},{open:"(",close:")"},{open:"_",close:"_"},{open:"**",close:"**"},{open:"<",close:">"}],onEnterRules:[{beforeText:/^\s*- .+/,action:{indentAction:monaco_editor_core_exports7.languages.IndentAction.None,appendText:"- "}},{beforeText:/^\s*\+ .+/,action:{indentAction:monaco_editor_core_exports7.languages.IndentAction.None,appendText:"+ "}},{beforeText:/^\s*\* .+/,action:{indentAction:monaco_editor_core_exports7.languages.IndentAction.None,appendText:"* "}},{beforeText:/^> /,action:{indentAction:monaco_editor_core_exports7.languages.IndentAction.None,appendText:"> "}},{beforeText:/<\w+/,action:{indentAction:monaco_editor_core_exports7.languages.IndentAction.Indent}},{beforeText:/\s+>\s*$/,action:{indentAction:monaco_editor_core_exports7.languages.IndentAction.Indent}},{beforeText:/<\/\w+>/,action:{indentAction:monaco_editor_core_exports7.languages.IndentAction.Outdent}},...Array.from({length:100},((_,index)=>({beforeText:new RegExp(`^${index}\\. .+`),action:{indentAction:monaco_editor_core_exports7.languages.IndentAction.None,appendText:`${index+1}. `}})))]};language38={defaultToken:"",tokenPostfix:".mdx",control:/[!#()*+.[\\\]_`{}\-]/,escapes:/\\@control/,tokenizer:{root:[[/^---$/,{token:"meta.content",next:"@frontmatter",nextEmbedded:"yaml"}],[/^\s*import/,{token:"keyword",next:"@import",nextEmbedded:"js"}],[/^\s*export/,{token:"keyword",next:"@export",nextEmbedded:"js"}],[/<\w+/,{token:"type.identifier",next:"@jsx"}],[/<\/?\w+>/,"type.identifier"],[/^(\s*)(>*\s*)(#{1,6}\s)/,[{token:"white"},{token:"comment"},{token:"keyword",next:"@header"}]],[/^(\s*)(>*\s*)([*+-])(\s+)/,["white","comment","keyword","white"]],[/^(\s*)(>*\s*)(\d{1,9}\.)(\s+)/,["white","comment","number","white"]],[/^(\s*)(>*\s*)(\d{1,9}\.)(\s+)/,["white","comment","number","white"]],[/^(\s*)(>*\s*)(-{3,}|\*{3,}|_{3,})$/,["white","comment","keyword"]],[/`{3,}(\s.*)?$/,{token:"string",next:"@codeblock_backtick"}],[/~{3,}(\s.*)?$/,{token:"string",next:"@codeblock_tilde"}],[/`{3,}(\S+).*$/,{token:"string",next:"@codeblock_highlight_backtick",nextEmbedded:"$1"}],[/~{3,}(\S+).*$/,{token:"string",next:"@codeblock_highlight_tilde",nextEmbedded:"$1"}],[/^(\s*)(-{4,})$/,["white","comment"]],[/^(\s*)(>+)/,["white","comment"]],{include:"content"}],content:[[/(\[)(.+)(]\()(.+)(\s+".*")(\))/,["","string.link","","type.identifier","string.link",""]],[/(\[)(.+)(]\()(.+)(\))/,["","type.identifier","","string.link",""]],[/(\[)(.+)(]\[)(.+)(])/,["","type.identifier","","type.identifier",""]],[/(\[)(.+)(]:\s+)(\S*)/,["","type.identifier","","string.link"]],[/(\[)(.+)(])/,["","type.identifier",""]],[/`.*`/,"variable.source"],[/_/,{token:"emphasis",next:"@emphasis_underscore"}],[/\*(?!\*)/,{token:"emphasis",next:"@emphasis_asterisk"}],[/\*\*/,{token:"strong",next:"@strong"}],[/{/,{token:"delimiter.bracket",next:"@expression",nextEmbedded:"js"}]],import:[[/'\s*(;|$)/,{token:"string",next:"@pop",nextEmbedded:"@pop"}]],expression:[[/{/,{token:"delimiter.bracket",next:"@expression"}],[/}/,{token:"delimiter.bracket",next:"@pop",nextEmbedded:"@pop"}]],export:[[/^\s*$/,{token:"delimiter.bracket",next:"@pop",nextEmbedded:"@pop"}]],jsx:[[/\s+/,""],[/(\w+)(=)("(?:[^"\\]|\\.)*")/,["attribute.name","operator","string"]],[/(\w+)(=)('(?:[^'\\]|\\.)*')/,["attribute.name","operator","string"]],[/(\w+(?=\s|>|={|$))/,["attribute.name"]],[/={/,{token:"delimiter.bracket",next:"@expression",nextEmbedded:"js"}],[/>/,{token:"type.identifier",next:"@pop"}]],header:[[/.$/,{token:"keyword",next:"@pop"}],{include:"content"},[/./,{token:"keyword"}]],strong:[[/\*\*/,{token:"strong",next:"@pop"}],{include:"content"},[/./,{token:"strong"}]],emphasis_underscore:[[/_/,{token:"emphasis",next:"@pop"}],{include:"content"},[/./,{token:"emphasis"}]],emphasis_asterisk:[[/\*(?!\*)/,{token:"emphasis",next:"@pop"}],{include:"content"},[/./,{token:"emphasis"}]],frontmatter:[[/^---$/,{token:"meta.content",nextEmbedded:"@pop",next:"@pop"}]],codeblock_highlight_backtick:[[/\s*`{3,}\s*$/,{token:"string",next:"@pop",nextEmbedded:"@pop"}],[/.*$/,"variable.source"]],codeblock_highlight_tilde:[[/\s*~{3,}\s*$/,{token:"string",next:"@pop",nextEmbedded:"@pop"}],[/.*$/,"variable.source"]],codeblock_backtick:[[/\s*`{3,}\s*$/,{token:"string",next:"@pop"}],[/.*$/,"variable.source"]],codeblock_tilde:[[/\s*~{3,}\s*$/,{token:"string",next:"@pop"}],[/.*$/,"variable.source"]]}}}});var mips_exports={};__export(mips_exports,{conf:()=>conf38,language:()=>language39});var conf38,language39;var init_mips=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/mips/mips.js"(){conf38={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{blockComment:["###","###"],lineComment:"#"},folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}};language39={defaultToken:"",ignoreCase:false,tokenPostfix:".mips",regEx:/\/(?!\/\/)(?:[^\/\\]|\\.)*\/[igm]*/,keywords:[".data",".text","syscall","trap","add","addu","addi","addiu","and","andi","div","divu","mult","multu","nor","or","ori","sll","slv","sra","srav","srl","srlv","sub","subu","xor","xori","lhi","lho","lhi","llo","slt","slti","sltu","sltiu","beq","bgtz","blez","bne","j","jal","jalr","jr","lb","lbu","lh","lhu","lw","li","la","sb","sh","sw","mfhi","mflo","mthi","mtlo","move"],symbols:/[\.,\:]+/,escapes:/\\(?:[abfnrtv\\"'$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\$[a-zA-Z_]\w*/,"variable.predefined"],[/[.a-zA-Z_]\w*/,{cases:{this:"variable.predefined","@keywords":{token:"keyword.$0"},"@default":""}}],[/[ \t\r\n]+/,""],[/#.*$/,"comment"],["///",{token:"regexp",next:"@hereregexp"}],[/^(\s*)(@regEx)/,["","regexp"]],[/(\,)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\:)(\s*)(@regEx)/,["delimiter","","regexp"]],[/@symbols/,"delimiter"],[/\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d+\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/0[0-7]+(?!\d)/,"number.octal"],[/\d+/,"number"],[/[,.]/,"delimiter"],[/"""/,"string",'@herestring."""'],[/'''/,"string","@herestring.'''"],[/"/,{cases:{"@eos":"string","@default":{token:"string",next:'@string."'}}}],[/'/,{cases:{"@eos":"string","@default":{token:"string",next:"@string.'"}}}]],string:[[/[^"'\#\\]+/,"string"],[/@escapes/,"string.escape"],[/\./,"string.escape.invalid"],[/\./,"string.escape.invalid"],[/#{/,{cases:{'$S2=="':{token:"string",next:"root.interpolatedstring"},"@default":"string"}}],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/#/,"string"]],herestring:[[/("""|''')/,{cases:{"$1==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/[^#\\'"]+/,"string"],[/['"]+/,"string"],[/@escapes/,"string.escape"],[/\./,"string.escape.invalid"],[/#{/,{token:"string.quote",next:"root.interpolatedstring"}],[/#/,"string"]],comment:[[/[^#]+/,"comment"],[/#/,"comment"]],hereregexp:[[/[^\\\/#]+/,"regexp"],[/\\./,"regexp"],[/#.*$/,"comment"],["///[igm]*",{token:"regexp",next:"@pop"}],[/\//,"regexp"]]}}}});var msdax_exports={};__export(msdax_exports,{conf:()=>conf39,language:()=>language40});var conf39,language40;var init_msdax=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/msdax/msdax.js"(){conf39={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["[","]"],["(",")"],["{","}"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]}]};language40={defaultToken:"",tokenPostfix:".msdax",ignoreCase:true,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"{",close:"}",token:"delimiter.brackets"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["VAR","RETURN","NOT","EVALUATE","DATATABLE","ORDER","BY","START","AT","DEFINE","MEASURE","ASC","DESC","IN","BOOLEAN","DOUBLE","INTEGER","DATETIME","CURRENCY","STRING"],functions:["CLOSINGBALANCEMONTH","CLOSINGBALANCEQUARTER","CLOSINGBALANCEYEAR","DATEADD","DATESBETWEEN","DATESINPERIOD","DATESMTD","DATESQTD","DATESYTD","ENDOFMONTH","ENDOFQUARTER","ENDOFYEAR","FIRSTDATE","FIRSTNONBLANK","LASTDATE","LASTNONBLANK","NEXTDAY","NEXTMONTH","NEXTQUARTER","NEXTYEAR","OPENINGBALANCEMONTH","OPENINGBALANCEQUARTER","OPENINGBALANCEYEAR","PARALLELPERIOD","PREVIOUSDAY","PREVIOUSMONTH","PREVIOUSQUARTER","PREVIOUSYEAR","SAMEPERIODLASTYEAR","STARTOFMONTH","STARTOFQUARTER","STARTOFYEAR","TOTALMTD","TOTALQTD","TOTALYTD","ADDCOLUMNS","ADDMISSINGITEMS","ALL","ALLEXCEPT","ALLNOBLANKROW","ALLSELECTED","CALCULATE","CALCULATETABLE","CALENDAR","CALENDARAUTO","CROSSFILTER","CROSSJOIN","CURRENTGROUP","DATATABLE","DETAILROWS","DISTINCT","EARLIER","EARLIEST","EXCEPT","FILTER","FILTERS","GENERATE","GENERATEALL","GROUPBY","IGNORE","INTERSECT","ISONORAFTER","KEEPFILTERS","LOOKUPVALUE","NATURALINNERJOIN","NATURALLEFTOUTERJOIN","RELATED","RELATEDTABLE","ROLLUP","ROLLUPADDISSUBTOTAL","ROLLUPGROUP","ROLLUPISSUBTOTAL","ROW","SAMPLE","SELECTCOLUMNS","SUBSTITUTEWITHINDEX","SUMMARIZE","SUMMARIZECOLUMNS","TOPN","TREATAS","UNION","USERELATIONSHIP","VALUES","SUM","SUMX","PATH","PATHCONTAINS","PATHITEM","PATHITEMREVERSE","PATHLENGTH","AVERAGE","AVERAGEA","AVERAGEX","COUNT","COUNTA","COUNTAX","COUNTBLANK","COUNTROWS","COUNTX","DISTINCTCOUNT","DIVIDE","GEOMEAN","GEOMEANX","MAX","MAXA","MAXX","MEDIAN","MEDIANX","MIN","MINA","MINX","PERCENTILE.EXC","PERCENTILE.INC","PERCENTILEX.EXC","PERCENTILEX.INC","PRODUCT","PRODUCTX","RANK.EQ","RANKX","STDEV.P","STDEV.S","STDEVX.P","STDEVX.S","VAR.P","VAR.S","VARX.P","VARX.S","XIRR","XNPV","DATE","DATEDIFF","DATEVALUE","DAY","EDATE","EOMONTH","HOUR","MINUTE","MONTH","NOW","SECOND","TIME","TIMEVALUE","TODAY","WEEKDAY","WEEKNUM","YEAR","YEARFRAC","CONTAINS","CONTAINSROW","CUSTOMDATA","ERROR","HASONEFILTER","HASONEVALUE","ISBLANK","ISCROSSFILTERED","ISEMPTY","ISERROR","ISEVEN","ISFILTERED","ISLOGICAL","ISNONTEXT","ISNUMBER","ISODD","ISSUBTOTAL","ISTEXT","USERNAME","USERPRINCIPALNAME","AND","FALSE","IF","IFERROR","NOT","OR","SWITCH","TRUE","ABS","ACOS","ACOSH","ACOT","ACOTH","ASIN","ASINH","ATAN","ATANH","BETA.DIST","BETA.INV","CEILING","CHISQ.DIST","CHISQ.DIST.RT","CHISQ.INV","CHISQ.INV.RT","COMBIN","COMBINA","CONFIDENCE.NORM","CONFIDENCE.T","COS","COSH","COT","COTH","CURRENCY","DEGREES","EVEN","EXP","EXPON.DIST","FACT","FLOOR","GCD","INT","ISO.CEILING","LCM","LN","LOG","LOG10","MOD","MROUND","ODD","PERMUT","PI","POISSON.DIST","POWER","QUOTIENT","RADIANS","RAND","RANDBETWEEN","ROUND","ROUNDDOWN","ROUNDUP","SIGN","SIN","SINH","SQRT","SQRTPI","TAN","TANH","TRUNC","BLANK","CONCATENATE","CONCATENATEX","EXACT","FIND","FIXED","FORMAT","LEFT","LEN","LOWER","MID","REPLACE","REPT","RIGHT","SEARCH","SUBSTITUTE","TRIM","UNICHAR","UNICODE","UPPER","VALUE"],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},[/[;,.]/,"delimiter"],[/[({})]/,"@brackets"],[/[a-z_][a-zA-Z0-9_]*/,{cases:{"@keywords":"keyword","@functions":"keyword","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/\/\/+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/N"/,{token:"string",next:"@string"}],[/"/,{token:"string",next:"@string"}]],string:[[/[^"]+/,"string"],[/""/,"string"],[/"/,{token:"string",next:"@pop"}]],complexIdentifiers:[[/\[/,{token:"identifier.quote",next:"@bracketedIdentifier"}],[/'/,{token:"identifier.quote",next:"@quotedIdentifier"}]],bracketedIdentifier:[[/[^\]]+/,"identifier"],[/]]/,"identifier"],[/]/,{token:"identifier.quote",next:"@pop"}]],quotedIdentifier:[[/[^']+/,"identifier"],[/''/,"identifier"],[/'/,{token:"identifier.quote",next:"@pop"}]]}}}});var mysql_exports={};__export(mysql_exports,{conf:()=>conf40,language:()=>language41});var conf40,language41;var init_mysql=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/mysql/mysql.js"(){conf40={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]};language41={defaultToken:"",tokenPostfix:".sql",ignoreCase:true,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BIGINT","BINARY","BLOB","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHAR","CHARACTER","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CUBE","CUME_DIST","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DEC","DECIMAL","DECLARE","DEFAULT","DELAYED","DELETE","DENSE_RANK","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DOUBLE","DROP","DUAL","EACH","ELSE","ELSEIF","EMPTY","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FIRST_VALUE","FLOAT","FLOAT4","FLOAT8","FOR","FORCE","FOREIGN","FROM","FULLTEXT","FUNCTION","GENERATED","GET","GRANT","GROUP","GROUPING","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","INTERVAL","INTO","IO_AFTER_GTIDS","IO_BEFORE_GTIDS","IS","ITERATE","JOIN","JSON_TABLE","KEY","KEYS","KILL","LAG","LAST_VALUE","LATERAL","LEAD","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LONGBLOB","LONGTEXT","LOOP","LOW_PRIORITY","MASTER_BIND","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NTH_VALUE","NTILE","NULL","NUMERIC","OF","ON","OPTIMIZE","OPTIMIZER_COSTS","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PERCENT_RANK","PRECISION","PRIMARY","PROCEDURE","PURGE","RANGE","RANK","READ","READS","READ_WRITE","REAL","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","REVOKE","RIGHT","RLIKE","ROW","ROWS","ROW_NUMBER","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SMALLINT","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STORED","STRAIGHT_JOIN","SYSTEM","TABLE","TERMINATED","THEN","TINYBLOB","TINYINT","TINYTEXT","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VARBINARY","VARCHAR","VARCHARACTER","VARYING","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],operators:["AND","BETWEEN","IN","LIKE","NOT","OR","IS","NULL","INTERSECT","UNION","INNER","JOIN","LEFT","OUTER","RIGHT"],builtinFunctions:["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","Area","AsBinary","AsWKB","ASCII","ASIN","AsText","AsWKT","ASYMMETRIC_DECRYPT","ASYMMETRIC_DERIVE","ASYMMETRIC_ENCRYPT","ASYMMETRIC_SIGN","ASYMMETRIC_VERIFY","ATAN","ATAN2","ATAN","AVG","BENCHMARK","BIN","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","Buffer","CAST","CEIL","CEILING","Centroid","CHAR","CHAR_LENGTH","CHARACTER_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","Contains","CONV","CONVERT","CONVERT_TZ","ConvexHull","COS","COT","COUNT","CRC32","CREATE_ASYMMETRIC_PRIV_KEY","CREATE_ASYMMETRIC_PUB_KEY","CREATE_DH_PARAMETERS","CREATE_DIGEST","Crosses","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT","DEGREES","DES_DECRYPT","DES_ENCRYPT","DENSE_RANK","Dimension","Disjoint","Distance","ELT","ENCODE","ENCRYPT","EndPoint","Envelope","Equals","EXP","EXPORT_SET","ExteriorRing","EXTRACT","ExtractValue","FIELD","FIND_IN_SET","FIRST_VALUE","FLOOR","FORMAT","FORMAT_BYTES","FORMAT_PICO_TIME","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEN_RANGE","GEN_RND_EMAIL","GEN_RND_PAN","GEN_RND_SSN","GEN_RND_US_PHONE","GeomCollection","GeomCollFromText","GeometryCollectionFromText","GeomCollFromWKB","GeometryCollectionFromWKB","GeometryCollection","GeometryN","GeometryType","GeomFromText","GeometryFromText","GeomFromWKB","GeometryFromWKB","GET_FORMAT","GET_LOCK","GLength","GREATEST","GROUP_CONCAT","GROUPING","GTID_SUBSET","GTID_SUBTRACT","HEX","HOUR","ICU_VERSION","IF","IFNULL","INET_ATON","INET_NTOA","INET6_ATON","INET6_NTOA","INSERT","INSTR","InteriorRingN","Intersects","INTERVAL","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS_USED_LOCK","IS_UUID","IsClosed","IsEmpty","ISNULL","IsSimple","JSON_APPEND","JSON_ARRAY","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_ARRAYAGG","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_OVERLAPS","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SCHEMA_VALID","JSON_SCHEMA_VALIDATION_REPORT","JSON_SEARCH","JSON_SET","JSON_STORAGE_FREE","JSON_STORAGE_SIZE","JSON_TABLE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","LAG","LAST_DAY","LAST_INSERT_ID","LAST_VALUE","LCASE","LEAD","LEAST","LEFT","LENGTH","LineFromText","LineStringFromText","LineFromWKB","LineStringFromWKB","LineString","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASK_INNER","MASK_OUTER","MASK_PAN","MASK_PAN_RELAXED","MASK_SSN","MASTER_POS_WAIT","MAX","MBRContains","MBRCoveredBy","MBRCovers","MBRDisjoint","MBREqual","MBREquals","MBRIntersects","MBROverlaps","MBRTouches","MBRWithin","MD5","MEMBER OF","MICROSECOND","MID","MIN","MINUTE","MLineFromText","MultiLineStringFromText","MLineFromWKB","MultiLineStringFromWKB","MOD","MONTH","MONTHNAME","MPointFromText","MultiPointFromText","MPointFromWKB","MultiPointFromWKB","MPolyFromText","MultiPolygonFromText","MPolyFromWKB","MultiPolygonFromWKB","MultiLineString","MultiPoint","MultiPolygon","NAME_CONST","NOT IN","NOW","NTH_VALUE","NTILE","NULLIF","NumGeometries","NumInteriorRings","NumPoints","OCT","OCTET_LENGTH","OLD_PASSWORD","ORD","Overlaps","PASSWORD","PERCENT_RANK","PERIOD_ADD","PERIOD_DIFF","PI","Point","PointFromText","PointFromWKB","PointN","PolyFromText","PolygonFromText","PolyFromWKB","PolygonFromWKB","Polygon","POSITION","POW","POWER","PS_CURRENT_THREAD_ID","PS_THREAD_ID","PROCEDURE ANALYSE","QUARTER","QUOTE","RADIANS","RAND","RANDOM_BYTES","RANK","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_REPLACE","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPEAT","REPLACE","REVERSE","RIGHT","ROLES_GRAPHML","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SHA1","SHA","SHA2","SIGN","SIN","SLEEP","SOUNDEX","SOURCE_POS_WAIT","SPACE","SQRT","SRID","ST_Area","ST_AsBinary","ST_AsWKB","ST_AsGeoJSON","ST_AsText","ST_AsWKT","ST_Buffer","ST_Buffer_Strategy","ST_Centroid","ST_Collect","ST_Contains","ST_ConvexHull","ST_Crosses","ST_Difference","ST_Dimension","ST_Disjoint","ST_Distance","ST_Distance_Sphere","ST_EndPoint","ST_Envelope","ST_Equals","ST_ExteriorRing","ST_FrechetDistance","ST_GeoHash","ST_GeomCollFromText","ST_GeometryCollectionFromText","ST_GeomCollFromTxt","ST_GeomCollFromWKB","ST_GeometryCollectionFromWKB","ST_GeometryN","ST_GeometryType","ST_GeomFromGeoJSON","ST_GeomFromText","ST_GeometryFromText","ST_GeomFromWKB","ST_GeometryFromWKB","ST_HausdorffDistance","ST_InteriorRingN","ST_Intersection","ST_Intersects","ST_IsClosed","ST_IsEmpty","ST_IsSimple","ST_IsValid","ST_LatFromGeoHash","ST_Length","ST_LineFromText","ST_LineStringFromText","ST_LineFromWKB","ST_LineStringFromWKB","ST_LineInterpolatePoint","ST_LineInterpolatePoints","ST_LongFromGeoHash","ST_Longitude","ST_MakeEnvelope","ST_MLineFromText","ST_MultiLineStringFromText","ST_MLineFromWKB","ST_MultiLineStringFromWKB","ST_MPointFromText","ST_MultiPointFromText","ST_MPointFromWKB","ST_MultiPointFromWKB","ST_MPolyFromText","ST_MultiPolygonFromText","ST_MPolyFromWKB","ST_MultiPolygonFromWKB","ST_NumGeometries","ST_NumInteriorRing","ST_NumInteriorRings","ST_NumPoints","ST_Overlaps","ST_PointAtDistance","ST_PointFromGeoHash","ST_PointFromText","ST_PointFromWKB","ST_PointN","ST_PolyFromText","ST_PolygonFromText","ST_PolyFromWKB","ST_PolygonFromWKB","ST_Simplify","ST_SRID","ST_StartPoint","ST_SwapXY","ST_SymDifference","ST_Touches","ST_Transform","ST_Union","ST_Validate","ST_Within","ST_X","ST_Y","StartPoint","STATEMENT_DIGEST","STATEMENT_DIGEST_TEXT","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIME","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","Touches","TRIM","TRUNCATE","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UpdateXML","UPPER","USER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","UUID_TO_BIN","VALIDATE_PASSWORD_STRENGTH","VALUES","VAR_POP","VAR_SAMP","VARIANCE","VERSION","WAIT_FOR_EXECUTED_GTID_SET","WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","Within","X","Y","YEAR","YEARWEEK"],builtinVariables:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@]+/,{cases:{"@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@keywords":"keyword","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/--+.*/,"comment"],[/#+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/'/,{token:"string",next:"@string"}],[/"/,{token:"string.double",next:"@stringDouble"}]],string:[[/\\'/,"string"],[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],stringDouble:[[/[^"]+/,"string.double"],[/""/,"string.double"],[/"/,{token:"string.double",next:"@pop"}]],complexIdentifiers:[[/`/,{token:"identifier.quote",next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^`]+/,"identifier"],[/``/,"identifier"],[/`/,{token:"identifier.quote",next:"@pop"}]],scopes:[]}}}});var objective_c_exports={};__export(objective_c_exports,{conf:()=>conf41,language:()=>language42});var conf41,language42;var init_objective_c=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/objective-c/objective-c.js"(){conf41={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]};language42={defaultToken:"",tokenPostfix:".objective-c",keywords:["#import","#include","#define","#else","#endif","#if","#ifdef","#ifndef","#ident","#undef","@class","@defs","@dynamic","@encode","@end","@implementation","@interface","@package","@private","@protected","@property","@protocol","@public","@selector","@synthesize","__declspec","assign","auto","BOOL","break","bycopy","byref","case","char","Class","const","copy","continue","default","do","double","else","enum","extern","FALSE","false","float","for","goto","if","in","int","id","inout","IMP","long","nil","nonatomic","NULL","oneway","out","private","public","protected","readwrite","readonly","register","return","SEL","self","short","signed","sizeof","static","struct","super","switch","typedef","TRUE","true","union","unsigned","volatile","void","while"],decpart:/\d(_?\d)*/,decimal:/0|@decpart/,tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},[/[,:;]/,"delimiter"],[/[{}\[\]()<>]/,"@brackets"],[/[a-zA-Z@#]\w*/,{cases:{"@keywords":"keyword","@default":"identifier"}}],[/[<>=\\+\\-\\*\\/\\^\\|\\~,]|and\\b|or\\b|not\\b]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[".","comment"]],numbers:[[/0[xX][0-9a-fA-F]*(_?[0-9a-fA-F])*/,"number.hex"],[/@decimal((\.@decpart)?([eE][\-+]?@decpart)?)[fF]*/,{cases:{"(\\d)*":"number",$0:"number.float"}}]],strings:[[/'$/,"string.escape","@popall"],[/'/,"string.escape","@stringBody"],[/"$/,"string.escape","@popall"],[/"/,"string.escape","@dblStringBody"]],stringBody:[[/[^\\']+$/,"string","@popall"],[/[^\\']+/,"string"],[/\\./,"string"],[/'/,"string.escape","@popall"],[/\\$/,"string"]],dblStringBody:[[/[^\\"]+$/,"string","@popall"],[/[^\\"]+/,"string"],[/\\./,"string"],[/"/,"string.escape","@popall"],[/\\$/,"string"]]}}}});var pascal_exports={};__export(pascal_exports,{conf:()=>conf42,language:()=>language43});var conf42,language43;var init_pascal=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/pascal/pascal.js"(){conf42={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["{","}"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\{\\$REGION(\\s\\'.*\\')?\\}"),end:new RegExp("^\\s*\\{\\$ENDREGION\\}")}}};language43={defaultToken:"",tokenPostfix:".pascal",ignoreCase:true,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],keywords:["absolute","abstract","all","and_then","array","as","asm","attribute","begin","bindable","case","class","const","contains","default","div","else","end","except","exports","external","far","file","finalization","finally","forward","generic","goto","if","implements","import","in","index","inherited","initialization","interrupt","is","label","library","mod","module","name","near","not","object","of","on","only","operator","or_else","otherwise","override","package","packed","pow","private","program","protected","public","published","interface","implementation","qualified","read","record","resident","requires","resourcestring","restricted","segment","set","shl","shr","specialize","stored","strict","then","threadvar","to","try","type","unit","uses","var","view","virtual","dynamic","overload","reintroduce","with","write","xor","true","false","procedure","function","constructor","destructor","property","break","continue","exit","abort","while","do","for","raise","repeat","until"],typeKeywords:["boolean","double","byte","integer","shortint","char","longint","float","string"],operators:["=",">","<","<=",">=","<>",":",":=","and","or","+","-","*","/","@","&","^","%"],symbols:/[=><:@\^&|+\-*\/\^%]+/,tokenizer:{root:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\$[0-9a-fA-F]{1,16}/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'/,"string","@string"],[/'[^\\']'/,"string"],[/'/,"string.invalid"],[/\#\d+/,"string"]],comment:[[/[^\*\}]+/,"comment"],[/\}/,"comment","@pop"],[/[\{]/,"comment"]],string:[[/[^\\']+/,"string"],[/\\./,"string.escape.invalid"],[/'/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\{/,"comment","@comment"],[/\/\/.*$/,"comment"]]}}}});var pascaligo_exports={};__export(pascaligo_exports,{conf:()=>conf43,language:()=>language44});var conf43,language44;var init_pascaligo=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/pascaligo/pascaligo.js"(){conf43={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"}]};language44={defaultToken:"",tokenPostfix:".pascaligo",ignoreCase:true,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],keywords:["begin","block","case","const","else","end","fail","for","from","function","if","is","nil","of","remove","return","skip","then","type","var","while","with","option","None","transaction"],typeKeywords:["bool","int","list","map","nat","record","string","unit","address","map","mtz","xtz"],operators:["=",">","<","<=",">=","<>",":",":=","and","mod","or","+","-","*","/","@","&","^","%"],symbols:/[=><:@\^&|+\-*\/\^%]+/,tokenizer:{root:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\$[0-9a-fA-F]{1,16}/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'/,"string","@string"],[/'[^\\']'/,"string"],[/'/,"string.invalid"],[/\#\d+/,"string"]],comment:[[/[^\(\*]+/,"comment"],[/\*\)/,"comment","@pop"],[/\(\*/,"comment"]],string:[[/[^\\']+/,"string"],[/\\./,"string.escape.invalid"],[/'/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\(\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}}}});var perl_exports={};__export(perl_exports,{conf:()=>conf44,language:()=>language45});var conf44,language45;var init_perl=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/perl/perl.js"(){conf44={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}]};language45={defaultToken:"",tokenPostfix:".perl",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["__DATA__","else","lock","__END__","elsif","lt","__FILE__","eq","__LINE__","exp","ne","sub","__PACKAGE__","for","no","and","foreach","or","unless","cmp","ge","package","until","continue","gt","while","CORE","if","xor","do","le","__DIE__","__WARN__"],builtinFunctions:["-A","END","length","setpgrp","-B","endgrent","link","setpriority","-b","endhostent","listen","setprotoent","-C","endnetent","local","setpwent","-c","endprotoent","localtime","setservent","-d","endpwent","log","setsockopt","-e","endservent","lstat","shift","-f","eof","map","shmctl","-g","eval","mkdir","shmget","-k","exec","msgctl","shmread","-l","exists","msgget","shmwrite","-M","exit","msgrcv","shutdown","-O","fcntl","msgsnd","sin","-o","fileno","my","sleep","-p","flock","next","socket","-r","fork","not","socketpair","-R","format","oct","sort","-S","formline","open","splice","-s","getc","opendir","split","-T","getgrent","ord","sprintf","-t","getgrgid","our","sqrt","-u","getgrnam","pack","srand","-w","gethostbyaddr","pipe","stat","-W","gethostbyname","pop","state","-X","gethostent","pos","study","-x","getlogin","print","substr","-z","getnetbyaddr","printf","symlink","abs","getnetbyname","prototype","syscall","accept","getnetent","push","sysopen","alarm","getpeername","quotemeta","sysread","atan2","getpgrp","rand","sysseek","AUTOLOAD","getppid","read","system","BEGIN","getpriority","readdir","syswrite","bind","getprotobyname","readline","tell","binmode","getprotobynumber","readlink","telldir","bless","getprotoent","readpipe","tie","break","getpwent","recv","tied","caller","getpwnam","redo","time","chdir","getpwuid","ref","times","CHECK","getservbyname","rename","truncate","chmod","getservbyport","require","uc","chomp","getservent","reset","ucfirst","chop","getsockname","return","umask","chown","getsockopt","reverse","undef","chr","glob","rewinddir","UNITCHECK","chroot","gmtime","rindex","unlink","close","goto","rmdir","unpack","closedir","grep","say","unshift","connect","hex","scalar","untie","cos","index","seek","use","crypt","INIT","seekdir","utime","dbmclose","int","select","values","dbmopen","ioctl","semctl","vec","defined","join","semget","wait","delete","keys","semop","waitpid","DESTROY","kill","send","wantarray","die","last","setgrent","warn","dump","lc","sethostent","write","each","lcfirst","setnetent"],builtinFileHandlers:["ARGV","STDERR","STDOUT","ARGVOUT","STDIN","ENV"],builtinVariables:["$!","$^RE_TRIE_MAXBUF","$LAST_REGEXP_CODE_RESULT",'$"',"$^S","$LIST_SEPARATOR","$#","$^T","$MATCH","$$","$^TAINT","$MULTILINE_MATCHING","$%","$^UNICODE","$NR","$&","$^UTF8LOCALE","$OFMT","$'","$^V","$OFS","$(","$^W","$ORS","$)","$^WARNING_BITS","$OS_ERROR","$*","$^WIDE_SYSTEM_CALLS","$OSNAME","$+","$^X","$OUTPUT_AUTO_FLUSH","$,","$_","$OUTPUT_FIELD_SEPARATOR","$-","$`","$OUTPUT_RECORD_SEPARATOR","$.","$a","$PERL_VERSION","$/","$ACCUMULATOR","$PERLDB","$0","$ARG","$PID","$:","$ARGV","$POSTMATCH","$;","$b","$PREMATCH","$<","$BASETIME","$PROCESS_ID","$=","$CHILD_ERROR","$PROGRAM_NAME","$>","$COMPILING","$REAL_GROUP_ID","$?","$DEBUGGING","$REAL_USER_ID","$@","$EFFECTIVE_GROUP_ID","$RS","$[","$EFFECTIVE_USER_ID","$SUBSCRIPT_SEPARATOR","$\\","$EGID","$SUBSEP","$]","$ERRNO","$SYSTEM_FD_MAX","$^","$EUID","$UID","$^A","$EVAL_ERROR","$WARNING","$^C","$EXCEPTIONS_BEING_CAUGHT","$|","$^CHILD_ERROR_NATIVE","$EXECUTABLE_NAME","$~","$^D","$EXTENDED_OS_ERROR","%!","$^E","$FORMAT_FORMFEED","%^H","$^ENCODING","$FORMAT_LINE_BREAK_CHARACTERS","%ENV","$^F","$FORMAT_LINES_LEFT","%INC","$^H","$FORMAT_LINES_PER_PAGE","%OVERLOAD","$^I","$FORMAT_NAME","%SIG","$^L","$FORMAT_PAGE_NUMBER","@+","$^M","$FORMAT_TOP_NAME","@-","$^N","$GID","@_","$^O","$INPLACE_EDIT","@ARGV","$^OPEN","$INPUT_LINE_NUMBER","@INC","$^P","$INPUT_RECORD_SEPARATOR","@LAST_MATCH_START","$^R","$LAST_MATCH_END","$^RE_DEBUG_FLAGS","$LAST_PAREN_MATCH"],symbols:/[:+\-\^*$&%@=<>!?|\/~\.]/,quoteLikeOps:["qr","m","s","q","qq","qx","qw","tr","y"],escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[{include:"@whitespace"},[/[a-zA-Z\-_][\w\-_]*/,{cases:{"@keywords":"keyword","@builtinFunctions":"type.identifier","@builtinFileHandlers":"variable.predefined","@quoteLikeOps":{token:"@rematch",next:"quotedConstructs"},"@default":""}}],[/[\$@%][*@#?\+\-\$!\w\\\^><~:;\.]+/,{cases:{"@builtinVariables":"variable.predefined","@default":"variable"}}],{include:"@strings"},{include:"@dblStrings"},{include:"@perldoc"},{include:"@heredoc"},[/[{}\[\]()]/,"@brackets"],[/[\/](?:(?:\[(?:\\]|[^\]])+\])|(?:\\\/|[^\]\/]))*[\/]\w*\s*(?=[).,;]|$)/,"regexp"],[/@symbols/,"operators"],{include:"@numbers"},[/[,;]/,"delimiter"]],whitespace:[[/\s+/,"white"],[/(^#!.*$)/,"metatag"],[/(^#.*$)/,"comment"]],numbers:[[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/,"number.hex"],[/\d+/,"number"]],strings:[[/'/,"string","@stringBody"]],stringBody:[[/'/,"string","@popall"],[/\\'/,"string.escape"],[/./,"string"]],dblStrings:[[/"/,"string","@dblStringBody"]],dblStringBody:[[/"/,"string","@popall"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],{include:"@variables"},[/./,"string"]],quotedConstructs:[[/(q|qw|tr|y)\s*\(/,{token:"string.delim",switchTo:"@qstring.(.)"}],[/(q|qw|tr|y)\s*\[/,{token:"string.delim",switchTo:"@qstring.[.]"}],[/(q|qw|tr|y)\s*\{/,{token:"string.delim",switchTo:"@qstring.{.}"}],[/(q|qw|tr|y)\s*</,{token:"string.delim",switchTo:"@qstring.<.>"}],[/(q|qw|tr|y)#/,{token:"string.delim",switchTo:"@qstring.#.#"}],[/(q|qw|tr|y)\s*([^A-Za-z0-9#\s])/,{token:"string.delim",switchTo:"@qstring.$2.$2"}],[/(q|qw|tr|y)\s+(\w)/,{token:"string.delim",switchTo:"@qstring.$2.$2"}],[/(qr|m|s)\s*\(/,{token:"regexp.delim",switchTo:"@qregexp.(.)"}],[/(qr|m|s)\s*\[/,{token:"regexp.delim",switchTo:"@qregexp.[.]"}],[/(qr|m|s)\s*\{/,{token:"regexp.delim",switchTo:"@qregexp.{.}"}],[/(qr|m|s)\s*</,{token:"regexp.delim",switchTo:"@qregexp.<.>"}],[/(qr|m|s)#/,{token:"regexp.delim",switchTo:"@qregexp.#.#"}],[/(qr|m|s)\s*([^A-Za-z0-9_#\s])/,{token:"regexp.delim",switchTo:"@qregexp.$2.$2"}],[/(qr|m|s)\s+(\w)/,{token:"regexp.delim",switchTo:"@qregexp.$2.$2"}],[/(qq|qx)\s*\(/,{token:"string.delim",switchTo:"@qqstring.(.)"}],[/(qq|qx)\s*\[/,{token:"string.delim",switchTo:"@qqstring.[.]"}],[/(qq|qx)\s*\{/,{token:"string.delim",switchTo:"@qqstring.{.}"}],[/(qq|qx)\s*</,{token:"string.delim",switchTo:"@qqstring.<.>"}],[/(qq|qx)#/,{token:"string.delim",switchTo:"@qqstring.#.#"}],[/(qq|qx)\s*([^A-Za-z0-9#\s])/,{token:"string.delim",switchTo:"@qqstring.$2.$2"}],[/(qq|qx)\s+(\w)/,{token:"string.delim",switchTo:"@qqstring.$2.$2"}]],qstring:[[/\\./,"string.escape"],[/./,{cases:{"$#==$S3":{token:"string.delim",next:"@pop"},"$#==$S2":{token:"string.delim",next:"@push"},"@default":"string"}}]],qregexp:[{include:"@variables"},[/\\./,"regexp.escape"],[/./,{cases:{"$#==$S3":{token:"regexp.delim",next:"@regexpModifiers"},"$#==$S2":{token:"regexp.delim",next:"@push"},"@default":"regexp"}}]],regexpModifiers:[[/[msixpodualngcer]+/,{token:"regexp.modifier",next:"@popall"}]],qqstring:[{include:"@variables"},{include:"@qstring"}],heredoc:[[/<<\s*['"`]?([\w\-]+)['"`]?/,{token:"string.heredoc.delimiter",next:"@heredocBody.$1"}]],heredocBody:[[/^([\w\-]+)$/,{cases:{"$1==$S2":[{token:"string.heredoc.delimiter",next:"@popall"}],"@default":"string.heredoc"}}],[/./,"string.heredoc"]],perldoc:[[/^=\w/,"comment.doc","@perldocBody"]],perldocBody:[[/^=cut\b/,"type.identifier","@popall"],[/./,"comment.doc"]],variables:[[/\$\w+/,"variable"],[/@\w+/,"variable"],[/%\w+/,"variable"]]}}}});var pgsql_exports={};__export(pgsql_exports,{conf:()=>conf45,language:()=>language46});var conf45,language46;var init_pgsql=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/pgsql/pgsql.js"(){conf45={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]};language46={defaultToken:"",tokenPostfix:".sql",ignoreCase:true,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["ALL","ANALYSE","ANALYZE","AND","ANY","ARRAY","AS","ASC","ASYMMETRIC","AUTHORIZATION","BINARY","BOTH","CASE","CAST","CHECK","COLLATE","COLLATION","COLUMN","CONCURRENTLY","CONSTRAINT","CREATE","CROSS","CURRENT_CATALOG","CURRENT_DATE","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DEFAULT","DEFERRABLE","DESC","DISTINCT","DO","ELSE","END","EXCEPT","FALSE","FETCH","FOR","FOREIGN","FREEZE","FROM","FULL","GRANT","GROUP","HAVING","ILIKE","IN","INITIALLY","INNER","INTERSECT","INTO","IS","ISNULL","JOIN","LATERAL","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","NATURAL","NOT","NOTNULL","NULL","OFFSET","ON","ONLY","OR","ORDER","OUTER","OVERLAPS","PLACING","PRIMARY","REFERENCES","RETURNING","RIGHT","SELECT","SESSION_USER","SIMILAR","SOME","SYMMETRIC","TABLE","TABLESAMPLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","USER","USING","VARIADIC","VERBOSE","WHEN","WHERE","WINDOW","WITH"],operators:["AND","BETWEEN","IN","LIKE","NOT","OR","IS","NULL","INTERSECT","UNION","INNER","JOIN","LEFT","OUTER","RIGHT"],builtinFunctions:["abbrev","abs","acldefault","aclexplode","acos","acosd","acosh","age","any","area","array_agg","array_append","array_cat","array_dims","array_fill","array_length","array_lower","array_ndims","array_position","array_positions","array_prepend","array_remove","array_replace","array_to_json","array_to_string","array_to_tsvector","array_upper","ascii","asin","asind","asinh","atan","atan2","atan2d","atand","atanh","avg","bit","bit_and","bit_count","bit_length","bit_or","bit_xor","bool_and","bool_or","bound_box","box","brin_desummarize_range","brin_summarize_new_values","brin_summarize_range","broadcast","btrim","cardinality","cbrt","ceil","ceiling","center","char_length","character_length","chr","circle","clock_timestamp","coalesce","col_description","concat","concat_ws","convert","convert_from","convert_to","corr","cos","cosd","cosh","cot","cotd","count","covar_pop","covar_samp","cume_dist","current_catalog","current_database","current_date","current_query","current_role","current_schema","current_schemas","current_setting","current_time","current_timestamp","current_user","currval","cursor_to_xml","cursor_to_xmlschema","date_bin","date_part","date_trunc","database_to_xml","database_to_xml_and_xmlschema","database_to_xmlschema","decode","degrees","dense_rank","diagonal","diameter","div","encode","enum_first","enum_last","enum_range","every","exp","extract","factorial","family","first_value","floor","format","format_type","gcd","gen_random_uuid","generate_series","generate_subscripts","get_bit","get_byte","get_current_ts_config","gin_clean_pending_list","greatest","grouping","has_any_column_privilege","has_column_privilege","has_database_privilege","has_foreign_data_wrapper_privilege","has_function_privilege","has_language_privilege","has_schema_privilege","has_sequence_privilege","has_server_privilege","has_table_privilege","has_tablespace_privilege","has_type_privilege","height","host","hostmask","inet_client_addr","inet_client_port","inet_merge","inet_same_family","inet_server_addr","inet_server_port","initcap","isclosed","isempty","isfinite","isopen","json_agg","json_array_elements","json_array_elements_text","json_array_length","json_build_array","json_build_object","json_each","json_each_text","json_extract_path","json_extract_path_text","json_object","json_object_agg","json_object_keys","json_populate_record","json_populate_recordset","json_strip_nulls","json_to_record","json_to_recordset","json_to_tsvector","json_typeof","jsonb_agg","jsonb_array_elements","jsonb_array_elements_text","jsonb_array_length","jsonb_build_array","jsonb_build_object","jsonb_each","jsonb_each_text","jsonb_extract_path","jsonb_extract_path_text","jsonb_insert","jsonb_object","jsonb_object_agg","jsonb_object_keys","jsonb_path_exists","jsonb_path_match","jsonb_path_query","jsonb_path_query_array","jsonb_path_exists_tz","jsonb_path_query_first","jsonb_path_query_array_tz","jsonb_path_query_first_tz","jsonb_path_query_tz","jsonb_path_match_tz","jsonb_populate_record","jsonb_populate_recordset","jsonb_pretty","jsonb_set","jsonb_set_lax","jsonb_strip_nulls","jsonb_to_record","jsonb_to_recordset","jsonb_to_tsvector","jsonb_typeof","justify_days","justify_hours","justify_interval","lag","last_value","lastval","lcm","lead","least","left","length","line","ln","localtime","localtimestamp","log","log10","lower","lower_inc","lower_inf","lpad","lseg","ltrim","macaddr8_set7bit","make_date","make_interval","make_time","make_timestamp","make_timestamptz","makeaclitem","masklen","max","md5","min","min_scale","mod","mode","multirange","netmask","network","nextval","normalize","now","npoints","nth_value","ntile","nullif","num_nonnulls","num_nulls","numnode","obj_description","octet_length","overlay","parse_ident","path","pclose","percent_rank","percentile_cont","percentile_disc","pg_advisory_lock","pg_advisory_lock_shared","pg_advisory_unlock","pg_advisory_unlock_all","pg_advisory_unlock_shared","pg_advisory_xact_lock","pg_advisory_xact_lock_shared","pg_backend_pid","pg_backup_start_time","pg_blocking_pids","pg_cancel_backend","pg_client_encoding","pg_collation_actual_version","pg_collation_is_visible","pg_column_compression","pg_column_size","pg_conf_load_time","pg_control_checkpoint","pg_control_init","pg_control_recovery","pg_control_system","pg_conversion_is_visible","pg_copy_logical_replication_slot","pg_copy_physical_replication_slot","pg_create_logical_replication_slot","pg_create_physical_replication_slot","pg_create_restore_point","pg_current_logfile","pg_current_snapshot","pg_current_wal_flush_lsn","pg_current_wal_insert_lsn","pg_current_wal_lsn","pg_current_xact_id","pg_current_xact_id_if_assigned","pg_current_xlog_flush_location","pg_current_xlog_insert_location","pg_current_xlog_location","pg_database_size","pg_describe_object","pg_drop_replication_slot","pg_event_trigger_ddl_commands","pg_event_trigger_dropped_objects","pg_event_trigger_table_rewrite_oid","pg_event_trigger_table_rewrite_reason","pg_export_snapshot","pg_filenode_relation","pg_function_is_visible","pg_get_catalog_foreign_keys","pg_get_constraintdef","pg_get_expr","pg_get_function_arguments","pg_get_function_identity_arguments","pg_get_function_result","pg_get_functiondef","pg_get_indexdef","pg_get_keywords","pg_get_object_address","pg_get_owned_sequence","pg_get_ruledef","pg_get_serial_sequence","pg_get_statisticsobjdef","pg_get_triggerdef","pg_get_userbyid","pg_get_viewdef","pg_get_wal_replay_pause_state","pg_has_role","pg_identify_object","pg_identify_object_as_address","pg_import_system_collations","pg_index_column_has_property","pg_index_has_property","pg_indexam_has_property","pg_indexes_size","pg_is_in_backup","pg_is_in_recovery","pg_is_other_temp_schema","pg_is_wal_replay_paused","pg_is_xlog_replay_paused","pg_jit_available","pg_last_committed_xact","pg_last_wal_receive_lsn","pg_last_wal_replay_lsn","pg_last_xact_replay_timestamp","pg_last_xlog_receive_location","pg_last_xlog_replay_location","pg_listening_channels","pg_log_backend_memory_contexts","pg_logical_emit_message","pg_logical_slot_get_binary_changes","pg_logical_slot_get_changes","pg_logical_slot_peek_binary_changes","pg_logical_slot_peek_changes","pg_ls_archive_statusdir","pg_ls_dir","pg_ls_logdir","pg_ls_tmpdir","pg_ls_waldir","pg_mcv_list_items","pg_my_temp_schema","pg_notification_queue_usage","pg_opclass_is_visible","pg_operator_is_visible","pg_opfamily_is_visible","pg_options_to_table","pg_partition_ancestors","pg_partition_root","pg_partition_tree","pg_postmaster_start_time","pg_promote","pg_read_binary_file","pg_read_file","pg_relation_filenode","pg_relation_filepath","pg_relation_size","pg_reload_conf","pg_replication_origin_advance","pg_replication_origin_create","pg_replication_origin_drop","pg_replication_origin_oid","pg_replication_origin_progress","pg_replication_origin_session_is_setup","pg_replication_origin_session_progress","pg_replication_origin_session_reset","pg_replication_origin_session_setup","pg_replication_origin_xact_reset","pg_replication_origin_xact_setup","pg_replication_slot_advance","pg_rotate_logfile","pg_safe_snapshot_blocking_pids","pg_size_bytes","pg_size_pretty","pg_sleep","pg_sleep_for","pg_sleep_until","pg_snapshot_xip","pg_snapshot_xmax","pg_snapshot_xmin","pg_start_backup","pg_stat_file","pg_statistics_obj_is_visible","pg_stop_backup","pg_switch_wal","pg_switch_xlog","pg_table_is_visible","pg_table_size","pg_tablespace_databases","pg_tablespace_location","pg_tablespace_size","pg_terminate_backend","pg_total_relation_size","pg_trigger_depth","pg_try_advisory_lock","pg_try_advisory_lock_shared","pg_try_advisory_xact_lock","pg_try_advisory_xact_lock_shared","pg_ts_config_is_visible","pg_ts_dict_is_visible","pg_ts_parser_is_visible","pg_ts_template_is_visible","pg_type_is_visible","pg_typeof","pg_visible_in_snapshot","pg_wal_lsn_diff","pg_wal_replay_pause","pg_wal_replay_resume","pg_walfile_name","pg_walfile_name_offset","pg_xact_commit_timestamp","pg_xact_commit_timestamp_origin","pg_xact_status","pg_xlog_location_diff","pg_xlog_replay_pause","pg_xlog_replay_resume","pg_xlogfile_name","pg_xlogfile_name_offset","phraseto_tsquery","pi","plainto_tsquery","point","polygon","popen","position","power","pqserverversion","query_to_xml","query_to_xml_and_xmlschema","query_to_xmlschema","querytree","quote_ident","quote_literal","quote_nullable","radians","radius","random","range_agg","range_intersect_agg","range_merge","rank","regexp_count","regexp_instr","regexp_like","regexp_match","regexp_matches","regexp_replace","regexp_split_to_array","regexp_split_to_table","regexp_substr","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","repeat","replace","reverse","right","round","row_number","row_security_active","row_to_json","rpad","rtrim","scale","schema_to_xml","schema_to_xml_and_xmlschema","schema_to_xmlschema","session_user","set_bit","set_byte","set_config","set_masklen","setseed","setval","setweight","sha224","sha256","sha384","sha512","shobj_description","sign","sin","sind","sinh","slope","split_part","sprintf","sqrt","starts_with","statement_timestamp","stddev","stddev_pop","stddev_samp","string_agg","string_to_array","string_to_table","strip","strpos","substr","substring","sum","suppress_redundant_updates_trigger","table_to_xml","table_to_xml_and_xmlschema","table_to_xmlschema","tan","tand","tanh","text","timeofday","timezone","to_ascii","to_char","to_date","to_hex","to_json","to_number","to_regclass","to_regcollation","to_regnamespace","to_regoper","to_regoperator","to_regproc","to_regprocedure","to_regrole","to_regtype","to_timestamp","to_tsquery","to_tsvector","transaction_timestamp","translate","trim","trim_array","trim_scale","trunc","ts_debug","ts_delete","ts_filter","ts_headline","ts_lexize","ts_parse","ts_rank","ts_rank_cd","ts_rewrite","ts_stat","ts_token_type","tsquery_phrase","tsvector_to_array","tsvector_update_trigger","tsvector_update_trigger_column","txid_current","txid_current_if_assigned","txid_current_snapshot","txid_snapshot_xip","txid_snapshot_xmax","txid_snapshot_xmin","txid_status","txid_visible_in_snapshot","unistr","unnest","upper","upper_inc","upper_inf","user","var_pop","var_samp","variance","version","websearch_to_tsquery","width","width_bucket","xml_is_well_formed","xml_is_well_formed_content","xml_is_well_formed_document","xmlagg","xmlcomment","xmlconcat","xmlelement","xmlexists","xmlforest","xmlparse","xmlpi","xmlroot","xmlserialize","xpath","xpath_exists"],builtinVariables:[],pseudoColumns:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@keywords":"keyword","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/--+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/'/,{token:"string",next:"@string"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],complexIdentifiers:[[/"/,{token:"identifier.quote",next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^"]+/,"identifier"],[/""/,"identifier"],[/"/,{token:"identifier.quote",next:"@pop"}]],scopes:[]}}}});var php_exports={};__export(php_exports,{conf:()=>conf46,language:()=>language47});var conf46,language47;var init_php=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/php/php.js"(){conf46={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string"]},{open:"[",close:"]",notIn:["string"]},{open:"(",close:")",notIn:["string"]},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],folding:{markers:{start:new RegExp("^\\s*(#|//)region\\b"),end:new RegExp("^\\s*(#|//)endregion\\b")}}};language47={defaultToken:"",tokenPostfix:"",tokenizer:{root:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.root"}],[/<!DOCTYPE/,"metatag.html","@doctype"],[/<!--/,"comment.html","@comment"],[/(<)(\w+)(\/>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)(script)/,["delimiter.html",{token:"tag.html",next:"@script"}]],[/(<)(style)/,["delimiter.html",{token:"tag.html",next:"@style"}]],[/(<)([:\w]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/(<\/)(\w+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/</,"delimiter.html"],[/[^<]+/]],doctype:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.comment"}],[/[^>]+/,"metatag.content.html"],[/>/,"metatag.html","@pop"]],comment:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.comment"}],[/-->/,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.script"}],[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.scriptAfterType"}],[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.scriptAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.scriptWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInEmbeddedState.scriptEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],style:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.style"}],[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.styleAfterType"}],[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.styleAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.styleWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInEmbeddedState.styleEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],phpInSimpleState:[[/<\?((php)|=)?/,"metatag.php"],[/\?>/,{token:"metatag.php",switchTo:"@$S2.$S3"}],{include:"phpRoot"}],phpInEmbeddedState:[[/<\?((php)|=)?/,"metatag.php"],[/\?>/,{token:"metatag.php",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}],{include:"phpRoot"}],phpRoot:[[/[a-zA-Z_]\w*/,{cases:{"@phpKeywords":{token:"keyword.php"},"@phpCompileTimeConstants":{token:"constant.php"},"@default":"identifier.php"}}],[/[$a-zA-Z_]\w*/,{cases:{"@phpPreDefinedVariables":{token:"variable.predefined.php"},"@default":"variable.php"}}],[/[{}]/,"delimiter.bracket.php"],[/[\[\]]/,"delimiter.array.php"],[/[()]/,"delimiter.parenthesis.php"],[/[ \t\r\n]+/],[/(#|\/\/)$/,"comment.php"],[/(#|\/\/)/,"comment.php","@phpLineComment"],[/\/\*/,"comment.php","@phpComment"],[/"/,"string.php","@phpDoubleQuoteString"],[/'/,"string.php","@phpSingleQuoteString"],[/[\+\-\*\%\&\|\^\~\!\=\<\>\/\?\;\:\.\,\@]/,"delimiter.php"],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float.php"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float.php"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex.php"],[/0[0-7']*[0-7]/,"number.octal.php"],[/0[bB][0-1']*[0-1]/,"number.binary.php"],[/\d[\d']*/,"number.php"],[/\d/,"number.php"]],phpComment:[[/\*\//,"comment.php","@pop"],[/[^*]+/,"comment.php"],[/./,"comment.php"]],phpLineComment:[[/\?>/,{token:"@rematch",next:"@pop"}],[/.$/,"comment.php","@pop"],[/[^?]+$/,"comment.php","@pop"],[/[^?]+/,"comment.php"],[/./,"comment.php"]],phpDoubleQuoteString:[[/[^\\"]+/,"string.php"],[/@escapes/,"string.escape.php"],[/\\./,"string.escape.invalid.php"],[/"/,"string.php","@pop"]],phpSingleQuoteString:[[/[^\\']+/,"string.php"],[/@escapes/,"string.escape.php"],[/\\./,"string.escape.invalid.php"],[/'/,"string.php","@pop"]]},phpKeywords:["abstract","and","array","as","break","callable","case","catch","cfunction","class","clone","const","continue","declare","default","do","else","elseif","enddeclare","endfor","endforeach","endif","endswitch","endwhile","extends","false","final","for","foreach","function","global","goto","if","implements","interface","instanceof","insteadof","namespace","new","null","object","old_function","or","private","protected","public","resource","static","switch","throw","trait","try","true","use","var","while","xor","die","echo","empty","exit","eval","include","include_once","isset","list","require","require_once","return","print","unset","yield","__construct"],phpCompileTimeConstants:["__CLASS__","__DIR__","__FILE__","__LINE__","__NAMESPACE__","__METHOD__","__FUNCTION__","__TRAIT__"],phpPreDefinedVariables:["$GLOBALS","$_SERVER","$_GET","$_POST","$_FILES","$_REQUEST","$_SESSION","$_ENV","$_COOKIE","$php_errormsg","$HTTP_RAW_POST_DATA","$http_response_header","$argc","$argv"],escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/}}});var pla_exports={};__export(pla_exports,{conf:()=>conf47,language:()=>language48});var conf47,language48;var init_pla=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/pla/pla.js"(){conf47={comments:{lineComment:"#"},brackets:[["[","]"],["<",">"],["(",")"]],autoClosingPairs:[{open:"[",close:"]"},{open:"<",close:">"},{open:"(",close:")"}],surroundingPairs:[{open:"[",close:"]"},{open:"<",close:">"},{open:"(",close:")"}]};language48={defaultToken:"",tokenPostfix:".pla",brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"<",close:">",token:"delimiter.angle"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:[".i",".o",".mv",".ilb",".ob",".label",".type",".phase",".pair",".symbolic",".symbolic-output",".kiss",".p",".e",".end"],comment:/#.*$/,identifier:/[a-zA-Z]+[a-zA-Z0-9_\-]*/,plaContent:/[01\-~\|]+/,tokenizer:{root:[{include:"@whitespace"},[/@comment/,"comment"],[/\.([a-zA-Z_\-]+)/,{cases:{"@eos":{token:"keyword.$1"},"@keywords":{cases:{".type":{token:"keyword.$1",next:"@type"},"@default":{token:"keyword.$1",next:"@keywordArg"}}},"@default":{token:"keyword.$1"}}}],[/@identifier/,"identifier"],[/@plaContent/,"string"]],whitespace:[[/[ \t\r\n]+/,""]],type:[{include:"@whitespace"},[/\w+/,{token:"type",next:"@pop"}]],keywordArg:[[/[ \t\r\n]+/,{cases:{"@eos":{token:"",next:"@pop"},"@default":""}}],[/@comment/,"comment","@pop"],[/[<>()\[\]]/,{cases:{"@eos":{token:"@brackets",next:"@pop"},"@default":"@brackets"}}],[/\-?\d+/,{cases:{"@eos":{token:"number",next:"@pop"},"@default":"number"}}],[/@identifier/,{cases:{"@eos":{token:"identifier",next:"@pop"},"@default":"identifier"}}],[/[;=]/,{cases:{"@eos":{token:"delimiter",next:"@pop"},"@default":"delimiter"}}]]}}}});var postiats_exports={};__export(postiats_exports,{conf:()=>conf48,language:()=>language49});var conf48,language49;var init_postiats=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/postiats/postiats.js"(){conf48={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}]};language49={tokenPostfix:".pats",defaultToken:"invalid",keywords:["abstype","abst0ype","absprop","absview","absvtype","absviewtype","absvt0ype","absviewt0ype","as","and","assume","begin","classdec","datasort","datatype","dataprop","dataview","datavtype","dataviewtype","do","end","extern","extype","extvar","exception","fn","fnx","fun","prfn","prfun","praxi","castfn","if","then","else","ifcase","in","infix","infixl","infixr","prefix","postfix","implmnt","implement","primplmnt","primplement","import","let","local","macdef","macrodef","nonfix","symelim","symintr","overload","of","op","rec","sif","scase","sortdef","sta","stacst","stadef","static","staload","dynload","try","tkindef","typedef","propdef","viewdef","vtypedef","viewtypedef","prval","var","prvar","when","where","with","withtype","withprop","withview","withvtype","withviewtype"],keywords_dlr:["$delay","$ldelay","$arrpsz","$arrptrsize","$d2ctype","$effmask","$effmask_ntm","$effmask_exn","$effmask_ref","$effmask_wrt","$effmask_all","$extern","$extkind","$extype","$extype_struct","$extval","$extfcall","$extmcall","$literal","$myfilename","$mylocation","$myfunction","$lst","$lst_t","$lst_vt","$list","$list_t","$list_vt","$rec","$rec_t","$rec_vt","$record","$record_t","$record_vt","$tup","$tup_t","$tup_vt","$tuple","$tuple_t","$tuple_vt","$break","$continue","$raise","$showtype","$vcopyenv_v","$vcopyenv_vt","$tempenver","$solver_assert","$solver_verify"],keywords_srp:["#if","#ifdef","#ifndef","#then","#elif","#elifdef","#elifndef","#else","#endif","#error","#prerr","#print","#assert","#undef","#define","#include","#require","#pragma","#codegen2","#codegen3"],irregular_keyword_list:["val+","val-","val","case+","case-","case","addr@","addr","fold@","free@","fix@","fix","lam@","lam","llam@","llam","viewt@ype+","viewt@ype-","viewt@ype","viewtype+","viewtype-","viewtype","view+","view-","view@","view","type+","type-","type","vtype+","vtype-","vtype","vt@ype+","vt@ype-","vt@ype","viewt@ype+","viewt@ype-","viewt@ype","viewtype+","viewtype-","viewtype","prop+","prop-","prop","type+","type-","type","t@ype","t@ype+","t@ype-","abst@ype","abstype","absviewt@ype","absvt@ype","for*","for","while*","while"],keywords_types:["bool","double","byte","int","short","char","void","unit","long","float","string","strptr"],keywords_effects:["0","fun","clo","prf","funclo","cloptr","cloref","ref","ntm","1"],operators:["@","!","|","`",":","$",".","=","#","~","..","...","=>","=<>","=/=>","=>>","=/=>>","<",">","><",".<",">.",".<>.","->","-<>"],brackets:[{open:",(",close:")",token:"delimiter.parenthesis"},{open:"`(",close:")",token:"delimiter.parenthesis"},{open:"%(",close:")",token:"delimiter.parenthesis"},{open:"'(",close:")",token:"delimiter.parenthesis"},{open:"'{",close:"}",token:"delimiter.parenthesis"},{open:"@(",close:")",token:"delimiter.parenthesis"},{open:"@{",close:"}",token:"delimiter.brace"},{open:"@[",close:"]",token:"delimiter.square"},{open:"#[",close:"]",token:"delimiter.square"},{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],symbols:/[=><!~?:&|+\-*\/\^%]+/,IDENTFST:/[a-zA-Z_]/,IDENTRST:/[a-zA-Z0-9_'$]/,symbolic:/[%&+-./:=@~`^|*!$#?<>]/,digit:/[0-9]/,digitseq0:/@digit*/,xdigit:/[0-9A-Za-z]/,xdigitseq0:/@xdigit*/,INTSP:/[lLuU]/,FLOATSP:/[fFlL]/,fexponent:/[eE][+-]?[0-9]+/,fexponent_bin:/[pP][+-]?[0-9]+/,deciexp:/\.[0-9]*@fexponent?/,hexiexp:/\.[0-9a-zA-Z]*@fexponent_bin?/,irregular_keywords:/val[+-]?|case[+-]?|addr\@?|fold\@|free\@|fix\@?|lam\@?|llam\@?|prop[+-]?|type[+-]?|view[+-@]?|viewt@?ype[+-]?|t@?ype[+-]?|v(iew)?t@?ype[+-]?|abst@?ype|absv(iew)?t@?ype|for\*?|while\*?/,ESCHAR:/[ntvbrfa\\\?'"\(\[\{]/,start:"root",tokenizer:{root:[{regex:/[ \t\r\n]+/,action:{token:""}},{regex:/\(\*\)/,action:{token:"invalid"}},{regex:/\(\*/,action:{token:"comment",next:"lexing_COMMENT_block_ml"}},{regex:/\(/,action:"@brackets"},{regex:/\)/,action:"@brackets"},{regex:/\[/,action:"@brackets"},{regex:/\]/,action:"@brackets"},{regex:/\{/,action:"@brackets"},{regex:/\}/,action:"@brackets"},{regex:/,\(/,action:"@brackets"},{regex:/,/,action:{token:"delimiter.comma"}},{regex:/;/,action:{token:"delimiter.semicolon"}},{regex:/@\(/,action:"@brackets"},{regex:/@\[/,action:"@brackets"},{regex:/@\{/,action:"@brackets"},{regex:/:</,action:{token:"keyword",next:"@lexing_EFFECT_commaseq0"}},{regex:/\.@symbolic+/,action:{token:"identifier.sym"}},{regex:/\.@digit*@fexponent@FLOATSP*/,action:{token:"number.float"}},{regex:/\.@digit+/,action:{token:"number.float"}},{regex:/\$@IDENTFST@IDENTRST*/,action:{cases:{"@keywords_dlr":{token:"keyword.dlr"},"@default":{token:"namespace"}}}},{regex:/\#@IDENTFST@IDENTRST*/,action:{cases:{"@keywords_srp":{token:"keyword.srp"},"@default":{token:"identifier"}}}},{regex:/%\(/,action:{token:"delimiter.parenthesis"}},{regex:/^%{(#|\^|\$)?/,action:{token:"keyword",next:"@lexing_EXTCODE",nextEmbedded:"text/javascript"}},{regex:/^%}/,action:{token:"keyword"}},{regex:/'\(/,action:{token:"delimiter.parenthesis"}},{regex:/'\[/,action:{token:"delimiter.bracket"}},{regex:/'\{/,action:{token:"delimiter.brace"}},[/(')(\\@ESCHAR|\\[xX]@xdigit+|\\@digit+)(')/,["string","string.escape","string"]],[/'[^\\']'/,"string"],[/"/,"string.quote","@lexing_DQUOTE"],{regex:/`\(/,action:"@brackets"},{regex:/\\/,action:{token:"punctuation"}},{regex:/@irregular_keywords(?!@IDENTRST)/,action:{token:"keyword"}},{regex:/@IDENTFST@IDENTRST*[<!\[]?/,action:{cases:{"@keywords":{token:"keyword"},"@keywords_types":{token:"type"},"@default":{token:"identifier"}}}},{regex:/\/\/\/\//,action:{token:"comment",next:"@lexing_COMMENT_rest"}},{regex:/\/\/.*$/,action:{token:"comment"}},{regex:/\/\*/,action:{token:"comment",next:"@lexing_COMMENT_block_c"}},{regex:/-<|=</,action:{token:"keyword",next:"@lexing_EFFECT_commaseq0"}},{regex:/@symbolic+/,action:{cases:{"@operators":"keyword","@default":"operator"}}},{regex:/0[xX]@xdigit+(@hexiexp|@fexponent_bin)@FLOATSP*/,action:{token:"number.float"}},{regex:/0[xX]@xdigit+@INTSP*/,action:{token:"number.hex"}},{regex:/0[0-7]+(?![0-9])@INTSP*/,action:{token:"number.octal"}},{regex:/@digit+(@fexponent|@deciexp)@FLOATSP*/,action:{token:"number.float"}},{regex:/@digit@digitseq0@INTSP*/,action:{token:"number.decimal"}},{regex:/@digit+@INTSP*/,action:{token:"number"}}],lexing_COMMENT_block_ml:[[/[^\(\*]+/,"comment"],[/\(\*/,"comment","@push"],[/\(\*/,"comment.invalid"],[/\*\)/,"comment","@pop"],[/\*/,"comment"]],lexing_COMMENT_block_c:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],lexing_COMMENT_rest:[[/$/,"comment","@pop"],[/.*/,"comment"]],lexing_EFFECT_commaseq0:[{regex:/@IDENTFST@IDENTRST+|@digit+/,action:{cases:{"@keywords_effects":{token:"type.effect"},"@default":{token:"identifier"}}}},{regex:/,/,action:{token:"punctuation"}},{regex:/>/,action:{token:"@rematch",next:"@pop"}}],lexing_EXTCODE:[{regex:/^%}/,action:{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}},{regex:/[^%]+/,action:""}],lexing_DQUOTE:[{regex:/"/,action:{token:"string.quote",next:"@pop"}},{regex:/(\{\$)(@IDENTFST@IDENTRST*)(\})/,action:[{token:"string.escape"},{token:"identifier"},{token:"string.escape"}]},{regex:/\\$/,action:{token:"string.escape"}},{regex:/\\(@ESCHAR|[xX]@xdigit+|@digit+)/,action:{token:"string.escape"}},{regex:/[^\\"]+/,action:{token:"string"}}]}}}});var powerquery_exports={};__export(powerquery_exports,{conf:()=>conf49,language:()=>language50});var conf49,language50;var init_powerquery=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/powerquery/powerquery.js"(){conf49={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["[","]"],["(",")"],["{","}"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment","identifier"]},{open:"[",close:"]",notIn:["string","comment","identifier"]},{open:"(",close:")",notIn:["string","comment","identifier"]},{open:"{",close:"}",notIn:["string","comment","identifier"]}]};language50={defaultToken:"",tokenPostfix:".pq",ignoreCase:false,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"{",close:"}",token:"delimiter.brackets"},{open:"(",close:")",token:"delimiter.parenthesis"}],operatorKeywords:["and","not","or"],keywords:["as","each","else","error","false","if","in","is","let","meta","otherwise","section","shared","then","true","try","type"],constructors:["#binary","#date","#datetime","#datetimezone","#duration","#table","#time"],constants:["#infinity","#nan","#sections","#shared"],typeKeywords:["action","any","anynonnull","none","null","logical","number","time","date","datetime","datetimezone","duration","text","binary","list","record","table","function"],builtinFunctions:["Access.Database","Action.Return","Action.Sequence","Action.Try","ActiveDirectory.Domains","AdoDotNet.DataSource","AdoDotNet.Query","AdobeAnalytics.Cubes","AnalysisServices.Database","AnalysisServices.Databases","AzureStorage.BlobContents","AzureStorage.Blobs","AzureStorage.Tables","Binary.Buffer","Binary.Combine","Binary.Compress","Binary.Decompress","Binary.End","Binary.From","Binary.FromList","Binary.FromText","Binary.InferContentType","Binary.Length","Binary.ToList","Binary.ToText","BinaryFormat.7BitEncodedSignedInteger","BinaryFormat.7BitEncodedUnsignedInteger","BinaryFormat.Binary","BinaryFormat.Byte","BinaryFormat.ByteOrder","BinaryFormat.Choice","BinaryFormat.Decimal","BinaryFormat.Double","BinaryFormat.Group","BinaryFormat.Length","BinaryFormat.List","BinaryFormat.Null","BinaryFormat.Record","BinaryFormat.SignedInteger16","BinaryFormat.SignedInteger32","BinaryFormat.SignedInteger64","BinaryFormat.Single","BinaryFormat.Text","BinaryFormat.Transform","BinaryFormat.UnsignedInteger16","BinaryFormat.UnsignedInteger32","BinaryFormat.UnsignedInteger64","Byte.From","Character.FromNumber","Character.ToNumber","Combiner.CombineTextByDelimiter","Combiner.CombineTextByEachDelimiter","Combiner.CombineTextByLengths","Combiner.CombineTextByPositions","Combiner.CombineTextByRanges","Comparer.Equals","Comparer.FromCulture","Comparer.Ordinal","Comparer.OrdinalIgnoreCase","Csv.Document","Cube.AddAndExpandDimensionColumn","Cube.AddMeasureColumn","Cube.ApplyParameter","Cube.AttributeMemberId","Cube.AttributeMemberProperty","Cube.CollapseAndRemoveColumns","Cube.Dimensions","Cube.DisplayFolders","Cube.Measures","Cube.Parameters","Cube.Properties","Cube.PropertyKey","Cube.ReplaceDimensions","Cube.Transform","Currency.From","DB2.Database","Date.AddDays","Date.AddMonths","Date.AddQuarters","Date.AddWeeks","Date.AddYears","Date.Day","Date.DayOfWeek","Date.DayOfWeekName","Date.DayOfYear","Date.DaysInMonth","Date.EndOfDay","Date.EndOfMonth","Date.EndOfQuarter","Date.EndOfWeek","Date.EndOfYear","Date.From","Date.FromText","Date.IsInCurrentDay","Date.IsInCurrentMonth","Date.IsInCurrentQuarter","Date.IsInCurrentWeek","Date.IsInCurrentYear","Date.IsInNextDay","Date.IsInNextMonth","Date.IsInNextNDays","Date.IsInNextNMonths","Date.IsInNextNQuarters","Date.IsInNextNWeeks","Date.IsInNextNYears","Date.IsInNextQuarter","Date.IsInNextWeek","Date.IsInNextYear","Date.IsInPreviousDay","Date.IsInPreviousMonth","Date.IsInPreviousNDays","Date.IsInPreviousNMonths","Date.IsInPreviousNQuarters","Date.IsInPreviousNWeeks","Date.IsInPreviousNYears","Date.IsInPreviousQuarter","Date.IsInPreviousWeek","Date.IsInPreviousYear","Date.IsInYearToDate","Date.IsLeapYear","Date.Month","Date.MonthName","Date.QuarterOfYear","Date.StartOfDay","Date.StartOfMonth","Date.StartOfQuarter","Date.StartOfWeek","Date.StartOfYear","Date.ToRecord","Date.ToText","Date.WeekOfMonth","Date.WeekOfYear","Date.Year","DateTime.AddZone","DateTime.Date","DateTime.FixedLocalNow","DateTime.From","DateTime.FromFileTime","DateTime.FromText","DateTime.IsInCurrentHour","DateTime.IsInCurrentMinute","DateTime.IsInCurrentSecond","DateTime.IsInNextHour","DateTime.IsInNextMinute","DateTime.IsInNextNHours","DateTime.IsInNextNMinutes","DateTime.IsInNextNSeconds","DateTime.IsInNextSecond","DateTime.IsInPreviousHour","DateTime.IsInPreviousMinute","DateTime.IsInPreviousNHours","DateTime.IsInPreviousNMinutes","DateTime.IsInPreviousNSeconds","DateTime.IsInPreviousSecond","DateTime.LocalNow","DateTime.Time","DateTime.ToRecord","DateTime.ToText","DateTimeZone.FixedLocalNow","DateTimeZone.FixedUtcNow","DateTimeZone.From","DateTimeZone.FromFileTime","DateTimeZone.FromText","DateTimeZone.LocalNow","DateTimeZone.RemoveZone","DateTimeZone.SwitchZone","DateTimeZone.ToLocal","DateTimeZone.ToRecord","DateTimeZone.ToText","DateTimeZone.ToUtc","DateTimeZone.UtcNow","DateTimeZone.ZoneHours","DateTimeZone.ZoneMinutes","Decimal.From","Diagnostics.ActivityId","Diagnostics.Trace","DirectQueryCapabilities.From","Double.From","Duration.Days","Duration.From","Duration.FromText","Duration.Hours","Duration.Minutes","Duration.Seconds","Duration.ToRecord","Duration.ToText","Duration.TotalDays","Duration.TotalHours","Duration.TotalMinutes","Duration.TotalSeconds","Embedded.Value","Error.Record","Excel.CurrentWorkbook","Excel.Workbook","Exchange.Contents","Expression.Constant","Expression.Evaluate","Expression.Identifier","Facebook.Graph","File.Contents","Folder.Contents","Folder.Files","Function.From","Function.Invoke","Function.InvokeAfter","Function.IsDataSource","GoogleAnalytics.Accounts","Guid.From","HdInsight.Containers","HdInsight.Contents","HdInsight.Files","Hdfs.Contents","Hdfs.Files","Informix.Database","Int16.From","Int32.From","Int64.From","Int8.From","ItemExpression.From","Json.Document","Json.FromValue","Lines.FromBinary","Lines.FromText","Lines.ToBinary","Lines.ToText","List.Accumulate","List.AllTrue","List.Alternate","List.AnyTrue","List.Average","List.Buffer","List.Combine","List.Contains","List.ContainsAll","List.ContainsAny","List.Count","List.Covariance","List.DateTimeZones","List.DateTimes","List.Dates","List.Difference","List.Distinct","List.Durations","List.FindText","List.First","List.FirstN","List.Generate","List.InsertRange","List.Intersect","List.IsDistinct","List.IsEmpty","List.Last","List.LastN","List.MatchesAll","List.MatchesAny","List.Max","List.MaxN","List.Median","List.Min","List.MinN","List.Mode","List.Modes","List.NonNullCount","List.Numbers","List.PositionOf","List.PositionOfAny","List.Positions","List.Product","List.Random","List.Range","List.RemoveFirstN","List.RemoveItems","List.RemoveLastN","List.RemoveMatchingItems","List.RemoveNulls","List.RemoveRange","List.Repeat","List.ReplaceMatchingItems","List.ReplaceRange","List.ReplaceValue","List.Reverse","List.Select","List.Single","List.SingleOrDefault","List.Skip","List.Sort","List.StandardDeviation","List.Sum","List.Times","List.Transform","List.TransformMany","List.Union","List.Zip","Logical.From","Logical.FromText","Logical.ToText","MQ.Queue","MySQL.Database","Number.Abs","Number.Acos","Number.Asin","Number.Atan","Number.Atan2","Number.BitwiseAnd","Number.BitwiseNot","Number.BitwiseOr","Number.BitwiseShiftLeft","Number.BitwiseShiftRight","Number.BitwiseXor","Number.Combinations","Number.Cos","Number.Cosh","Number.Exp","Number.Factorial","Number.From","Number.FromText","Number.IntegerDivide","Number.IsEven","Number.IsNaN","Number.IsOdd","Number.Ln","Number.Log","Number.Log10","Number.Mod","Number.Permutations","Number.Power","Number.Random","Number.RandomBetween","Number.Round","Number.RoundAwayFromZero","Number.RoundDown","Number.RoundTowardZero","Number.RoundUp","Number.Sign","Number.Sin","Number.Sinh","Number.Sqrt","Number.Tan","Number.Tanh","Number.ToText","OData.Feed","Odbc.DataSource","Odbc.Query","OleDb.DataSource","OleDb.Query","Oracle.Database","Percentage.From","PostgreSQL.Database","RData.FromBinary","Record.AddField","Record.Combine","Record.Field","Record.FieldCount","Record.FieldNames","Record.FieldOrDefault","Record.FieldValues","Record.FromList","Record.FromTable","Record.HasFields","Record.RemoveFields","Record.RenameFields","Record.ReorderFields","Record.SelectFields","Record.ToList","Record.ToTable","Record.TransformFields","Replacer.ReplaceText","Replacer.ReplaceValue","RowExpression.Column","RowExpression.From","Salesforce.Data","Salesforce.Reports","SapBusinessWarehouse.Cubes","SapHana.Database","SharePoint.Contents","SharePoint.Files","SharePoint.Tables","Single.From","Soda.Feed","Splitter.SplitByNothing","Splitter.SplitTextByAnyDelimiter","Splitter.SplitTextByDelimiter","Splitter.SplitTextByEachDelimiter","Splitter.SplitTextByLengths","Splitter.SplitTextByPositions","Splitter.SplitTextByRanges","Splitter.SplitTextByRepeatedLengths","Splitter.SplitTextByWhitespace","Sql.Database","Sql.Databases","SqlExpression.SchemaFrom","SqlExpression.ToExpression","Sybase.Database","Table.AddColumn","Table.AddIndexColumn","Table.AddJoinColumn","Table.AddKey","Table.AggregateTableColumn","Table.AlternateRows","Table.Buffer","Table.Column","Table.ColumnCount","Table.ColumnNames","Table.ColumnsOfType","Table.Combine","Table.CombineColumns","Table.Contains","Table.ContainsAll","Table.ContainsAny","Table.DemoteHeaders","Table.Distinct","Table.DuplicateColumn","Table.ExpandListColumn","Table.ExpandRecordColumn","Table.ExpandTableColumn","Table.FillDown","Table.FillUp","Table.FilterWithDataTable","Table.FindText","Table.First","Table.FirstN","Table.FirstValue","Table.FromColumns","Table.FromList","Table.FromPartitions","Table.FromRecords","Table.FromRows","Table.FromValue","Table.Group","Table.HasColumns","Table.InsertRows","Table.IsDistinct","Table.IsEmpty","Table.Join","Table.Keys","Table.Last","Table.LastN","Table.MatchesAllRows","Table.MatchesAnyRows","Table.Max","Table.MaxN","Table.Min","Table.MinN","Table.NestedJoin","Table.Partition","Table.PartitionValues","Table.Pivot","Table.PositionOf","Table.PositionOfAny","Table.PrefixColumns","Table.Profile","Table.PromoteHeaders","Table.Range","Table.RemoveColumns","Table.RemoveFirstN","Table.RemoveLastN","Table.RemoveMatchingRows","Table.RemoveRows","Table.RemoveRowsWithErrors","Table.RenameColumns","Table.ReorderColumns","Table.Repeat","Table.ReplaceErrorValues","Table.ReplaceKeys","Table.ReplaceMatchingRows","Table.ReplaceRelationshipIdentity","Table.ReplaceRows","Table.ReplaceValue","Table.ReverseRows","Table.RowCount","Table.Schema","Table.SelectColumns","Table.SelectRows","Table.SelectRowsWithErrors","Table.SingleRow","Table.Skip","Table.Sort","Table.SplitColumn","Table.ToColumns","Table.ToList","Table.ToRecords","Table.ToRows","Table.TransformColumnNames","Table.TransformColumnTypes","Table.TransformColumns","Table.TransformRows","Table.Transpose","Table.Unpivot","Table.UnpivotOtherColumns","Table.View","Table.ViewFunction","TableAction.DeleteRows","TableAction.InsertRows","TableAction.UpdateRows","Tables.GetRelationships","Teradata.Database","Text.AfterDelimiter","Text.At","Text.BeforeDelimiter","Text.BetweenDelimiters","Text.Clean","Text.Combine","Text.Contains","Text.End","Text.EndsWith","Text.Format","Text.From","Text.FromBinary","Text.Insert","Text.Length","Text.Lower","Text.Middle","Text.NewGuid","Text.PadEnd","Text.PadStart","Text.PositionOf","Text.PositionOfAny","Text.Proper","Text.Range","Text.Remove","Text.RemoveRange","Text.Repeat","Text.Replace","Text.ReplaceRange","Text.Select","Text.Split","Text.SplitAny","Text.Start","Text.StartsWith","Text.ToBinary","Text.ToList","Text.Trim","Text.TrimEnd","Text.TrimStart","Text.Upper","Time.EndOfHour","Time.From","Time.FromText","Time.Hour","Time.Minute","Time.Second","Time.StartOfHour","Time.ToRecord","Time.ToText","Type.AddTableKey","Type.ClosedRecord","Type.Facets","Type.ForFunction","Type.ForRecord","Type.FunctionParameters","Type.FunctionRequiredParameters","Type.FunctionReturn","Type.Is","Type.IsNullable","Type.IsOpenRecord","Type.ListItem","Type.NonNullable","Type.OpenRecord","Type.RecordFields","Type.ReplaceFacets","Type.ReplaceTableKeys","Type.TableColumn","Type.TableKeys","Type.TableRow","Type.TableSchema","Type.Union","Uri.BuildQueryString","Uri.Combine","Uri.EscapeDataString","Uri.Parts","Value.Add","Value.As","Value.Compare","Value.Divide","Value.Equals","Value.Firewall","Value.FromText","Value.Is","Value.Metadata","Value.Multiply","Value.NativeQuery","Value.NullableEquals","Value.RemoveMetadata","Value.ReplaceMetadata","Value.ReplaceType","Value.Subtract","Value.Type","ValueAction.NativeStatement","ValueAction.Replace","Variable.Value","Web.Contents","Web.Page","WebAction.Request","Xml.Document","Xml.Tables"],builtinConstants:["BinaryEncoding.Base64","BinaryEncoding.Hex","BinaryOccurrence.Optional","BinaryOccurrence.Repeating","BinaryOccurrence.Required","ByteOrder.BigEndian","ByteOrder.LittleEndian","Compression.Deflate","Compression.GZip","CsvStyle.QuoteAfterDelimiter","CsvStyle.QuoteAlways","Culture.Current","Day.Friday","Day.Monday","Day.Saturday","Day.Sunday","Day.Thursday","Day.Tuesday","Day.Wednesday","ExtraValues.Error","ExtraValues.Ignore","ExtraValues.List","GroupKind.Global","GroupKind.Local","JoinAlgorithm.Dynamic","JoinAlgorithm.LeftHash","JoinAlgorithm.LeftIndex","JoinAlgorithm.PairwiseHash","JoinAlgorithm.RightHash","JoinAlgorithm.RightIndex","JoinAlgorithm.SortMerge","JoinKind.FullOuter","JoinKind.Inner","JoinKind.LeftAnti","JoinKind.LeftOuter","JoinKind.RightAnti","JoinKind.RightOuter","JoinSide.Left","JoinSide.Right","MissingField.Error","MissingField.Ignore","MissingField.UseNull","Number.E","Number.Epsilon","Number.NaN","Number.NegativeInfinity","Number.PI","Number.PositiveInfinity","Occurrence.All","Occurrence.First","Occurrence.Last","Occurrence.Optional","Occurrence.Repeating","Occurrence.Required","Order.Ascending","Order.Descending","Precision.Decimal","Precision.Double","QuoteStyle.Csv","QuoteStyle.None","RelativePosition.FromEnd","RelativePosition.FromStart","RoundingMode.AwayFromZero","RoundingMode.Down","RoundingMode.ToEven","RoundingMode.TowardZero","RoundingMode.Up","SapHanaDistribution.All","SapHanaDistribution.Connection","SapHanaDistribution.Off","SapHanaDistribution.Statement","SapHanaRangeOperator.Equals","SapHanaRangeOperator.GreaterThan","SapHanaRangeOperator.GreaterThanOrEquals","SapHanaRangeOperator.LessThan","SapHanaRangeOperator.LessThanOrEquals","SapHanaRangeOperator.NotEquals","TextEncoding.Ascii","TextEncoding.BigEndianUnicode","TextEncoding.Unicode","TextEncoding.Utf16","TextEncoding.Utf8","TextEncoding.Windows","TraceLevel.Critical","TraceLevel.Error","TraceLevel.Information","TraceLevel.Verbose","TraceLevel.Warning","WebMethod.Delete","WebMethod.Get","WebMethod.Head","WebMethod.Patch","WebMethod.Post","WebMethod.Put"],builtinTypes:["Action.Type","Any.Type","Binary.Type","BinaryEncoding.Type","BinaryOccurrence.Type","Byte.Type","ByteOrder.Type","Character.Type","Compression.Type","CsvStyle.Type","Currency.Type","Date.Type","DateTime.Type","DateTimeZone.Type","Day.Type","Decimal.Type","Double.Type","Duration.Type","ExtraValues.Type","Function.Type","GroupKind.Type","Guid.Type","Int16.Type","Int32.Type","Int64.Type","Int8.Type","JoinAlgorithm.Type","JoinKind.Type","JoinSide.Type","List.Type","Logical.Type","MissingField.Type","None.Type","Null.Type","Number.Type","Occurrence.Type","Order.Type","Password.Type","Percentage.Type","Precision.Type","QuoteStyle.Type","Record.Type","RelativePosition.Type","RoundingMode.Type","SapHanaDistribution.Type","SapHanaRangeOperator.Type","Single.Type","Table.Type","Text.Type","TextEncoding.Type","Time.Type","TraceLevel.Type","Type.Type","Uri.Type","WebMethod.Type"],tokenizer:{root:[[/#"[\w \.]+"/,"identifier.quote"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/\d+([eE][\-+]?\d+)?/,"number"],[/(#?[a-z]+)\b/,{cases:{"@typeKeywords":"type","@keywords":"keyword","@constants":"constant","@constructors":"constructor","@operatorKeywords":"operators","@default":"identifier"}}],[/\b([A-Z][a-zA-Z0-9]+\.Type)\b/,{cases:{"@builtinTypes":"type","@default":"identifier"}}],[/\b([A-Z][a-zA-Z0-9]+\.[A-Z][a-zA-Z0-9]+)\b/,{cases:{"@builtinFunctions":"keyword.function","@builtinConstants":"constant","@default":"identifier"}}],[/\b([a-zA-Z_][\w\.]*)\b/,"identifier"],{include:"@whitespace"},{include:"@comments"},{include:"@strings"},[/[{}()\[\]]/,"@brackets"],[/([=\+<>\-\*&@\?\/!])|([<>]=)|(<>)|(=>)|(\.\.\.)|(\.\.)/,"operators"],[/[,;]/,"delimiter"]],whitespace:[[/\s+/,"white"]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[".","comment"]],strings:[['"',"string","@string"]],string:[['""',"string.escape"],['"',"string","@pop"],[".","string"]]}}}});var powershell_exports={};__export(powershell_exports,{conf:()=>conf50,language:()=>language51});var conf50,language51;var init_powershell=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/powershell/powershell.js"(){conf50={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"#",blockComment:["<#","#>"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}};language51={defaultToken:"",ignoreCase:true,tokenPostfix:".ps1",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"}],keywords:["begin","break","catch","class","continue","data","define","do","dynamicparam","else","elseif","end","exit","filter","finally","for","foreach","from","function","if","in","param","process","return","switch","throw","trap","try","until","using","var","while","workflow","parallel","sequence","inlinescript","configuration"],helpKeywords:/SYNOPSIS|DESCRIPTION|PARAMETER|EXAMPLE|INPUTS|OUTPUTS|NOTES|LINK|COMPONENT|ROLE|FUNCTIONALITY|FORWARDHELPTARGETNAME|FORWARDHELPCATEGORY|REMOTEHELPRUNSPACE|EXTERNALHELP/,symbols:/[=><!~?&%|+\-*\/\^;\.,]+/,escapes:/`(?:[abfnrtv\\"'$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/[a-zA-Z_][\w-]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":""}}],[/[ \t\r\n]+/,""],[/^:\w*/,"metatag"],[/\$(\{((global|local|private|script|using):)?[\w]+\}|((global|local|private|script|using):)?[\w]+)/,"variable"],[/<#/,"comment","@comment"],[/#.*$/,"comment"],[/[{}()\[\]]/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/,"number.hex"],[/\d+?/,"number"],[/[;,.]/,"delimiter"],[/\@"/,"string",'@herestring."'],[/\@'/,"string","@herestring.'"],[/"/,{cases:{"@eos":"string","@default":{token:"string",next:'@string."'}}}],[/'/,{cases:{"@eos":"string","@default":{token:"string",next:"@string.'"}}}]],string:[[/[^"'\$`]+/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/@escapes/,{cases:{"@eos":{token:"string.escape",next:"@popall"},"@default":"string.escape"}}],[/`./,{cases:{"@eos":{token:"string.escape.invalid",next:"@popall"},"@default":"string.escape.invalid"}}],[/\$[\w]+$/,{cases:{'$S2=="':{token:"variable",next:"@popall"},"@default":{token:"string",next:"@popall"}}}],[/\$[\w]+/,{cases:{'$S2=="':"variable","@default":"string"}}],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}}}]],herestring:[[/^\s*(["'])@/,{cases:{"$1==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/[^\$`]+/,"string"],[/@escapes/,"string.escape"],[/`./,"string.escape.invalid"],[/\$[\w]+/,{cases:{'$S2=="':"variable","@default":"string"}}]],comment:[[/[^#\.]+/,"comment"],[/#>/,"comment","@pop"],[/(\.)(@helpKeywords)(?!\w)/,{token:"comment.keyword.$2"}],[/[\.#]/,"comment"]]}}}});var protobuf_exports={};__export(protobuf_exports,{conf:()=>conf51,language:()=>language52});var namedLiterals2,conf51,language52;var init_protobuf=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/protobuf/protobuf.js"(){namedLiterals2=["true","false"];conf51={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string"]}],autoCloseBefore:".,=}])>' \n\t",indentationRules:{increaseIndentPattern:new RegExp("^((?!\\/\\/).)*(\\{[^}\"'`]*|\\([^)\"'`]*|\\[[^\\]\"'`]*)$"),decreaseIndentPattern:new RegExp("^((?!.*?\\/\\*).*\\*/)?\\s*[\\}\\]].*$")}};language52={defaultToken:"",tokenPostfix:".proto",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],symbols:/[=><!~?:&|+\-*/^%]+/,keywords:["syntax","import","weak","public","package","option","repeated","oneof","map","reserved","to","max","enum","message","service","rpc","stream","returns","package","optional","true","false"],builtinTypes:["double","float","int32","int64","uint32","uint64","sint32","sint64","fixed32","fixed64","sfixed32","sfixed64","bool","string","bytes"],operators:["=","+","-"],namedLiterals:namedLiterals2,escapes:`\\\\(u{[0-9A-Fa-f]+}|n|r|t|\\\\|'|\\\${)`,identifier:/[a-zA-Z]\w*/,fullIdentifier:/@identifier(?:\s*\.\s*@identifier)*/,optionName:/(?:@identifier|\(\s*@fullIdentifier\s*\))(?:\s*\.\s*@identifier)*/,messageName:/@identifier/,enumName:/@identifier/,messageType:/\.?\s*(?:@identifier\s*\.\s*)*@messageName/,enumType:/\.?\s*(?:@identifier\s*\.\s*)*@enumName/,floatLit:/[0-9]+\s*\.\s*[0-9]*(?:@exponent)?|[0-9]+@exponent|\.[0-9]+(?:@exponent)?/,exponent:/[eE]\s*[+-]?\s*[0-9]+/,boolLit:/true\b|false\b/,decimalLit:/[1-9][0-9]*/,octalLit:/0[0-7]*/,hexLit:/0[xX][0-9a-fA-F]+/,type:/double|float|int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string|bytes|@messageType|@enumType/,keyType:/int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string/,tokenizer:{root:[{include:"@whitespace"},[/syntax/,"keyword"],[/=/,"operators"],[/;/,"delimiter"],[/(")(proto3)(")/,["string.quote","string",{token:"string.quote",switchTo:"@topLevel.proto3"}]],[/(")(proto2)(")/,["string.quote","string",{token:"string.quote",switchTo:"@topLevel.proto2"}]],[/.*?/,{token:"",switchTo:"@topLevel.proto2"}]],topLevel:[{include:"@whitespace"},{include:"@constant"},[/=/,"operators"],[/[;.]/,"delimiter"],[/@fullIdentifier/,{cases:{option:{token:"keyword",next:"@option.$S2"},enum:{token:"keyword",next:"@enumDecl.$S2"},message:{token:"keyword",next:"@messageDecl.$S2"},service:{token:"keyword",next:"@serviceDecl.$S2"},extend:{cases:{"$S2==proto2":{token:"keyword",next:"@extendDecl.$S2"}}},"@keywords":"keyword","@default":"identifier"}}]],enumDecl:[{include:"@whitespace"},[/@identifier/,"type.identifier"],[/{/,{token:"@brackets",bracket:"@open",switchTo:"@enumBody.$S2"}]],enumBody:[{include:"@whitespace"},{include:"@constant"},[/=/,"operators"],[/;/,"delimiter"],[/option\b/,"keyword","@option.$S2"],[/@identifier/,"identifier"],[/\[/,{token:"@brackets",bracket:"@open",next:"@options.$S2"}],[/}/,{token:"@brackets",bracket:"@close",next:"@pop"}]],messageDecl:[{include:"@whitespace"},[/@identifier/,"type.identifier"],[/{/,{token:"@brackets",bracket:"@open",switchTo:"@messageBody.$S2"}]],messageBody:[{include:"@whitespace"},{include:"@constant"},[/=/,"operators"],[/;/,"delimiter"],["(map)(s*)(<)",["keyword","white",{token:"@brackets",bracket:"@open",next:"@map.$S2"}]],[/@identifier/,{cases:{option:{token:"keyword",next:"@option.$S2"},enum:{token:"keyword",next:"@enumDecl.$S2"},message:{token:"keyword",next:"@messageDecl.$S2"},oneof:{token:"keyword",next:"@oneofDecl.$S2"},extensions:{cases:{"$S2==proto2":{token:"keyword",next:"@reserved.$S2"}}},reserved:{token:"keyword",next:"@reserved.$S2"},"(?:repeated|optional)":{token:"keyword",next:"@field.$S2"},required:{cases:{"$S2==proto2":{token:"keyword",next:"@field.$S2"}}},"$S2==proto3":{token:"@rematch",next:"@field.$S2"}}}],[/\[/,{token:"@brackets",bracket:"@open",next:"@options.$S2"}],[/}/,{token:"@brackets",bracket:"@close",next:"@pop"}]],extendDecl:[{include:"@whitespace"},[/@identifier/,"type.identifier"],[/{/,{token:"@brackets",bracket:"@open",switchTo:"@extendBody.$S2"}]],extendBody:[{include:"@whitespace"},{include:"@constant"},[/;/,"delimiter"],[/(?:repeated|optional|required)/,"keyword","@field.$S2"],[/\[/,{token:"@brackets",bracket:"@open",next:"@options.$S2"}],[/}/,{token:"@brackets",bracket:"@close",next:"@pop"}]],options:[{include:"@whitespace"},{include:"@constant"},[/;/,"delimiter"],[/@optionName/,"annotation"],[/[()]/,"annotation.brackets"],[/=/,"operator"],[/\]/,{token:"@brackets",bracket:"@close",next:"@pop"}]],option:[{include:"@whitespace"},[/@optionName/,"annotation"],[/[()]/,"annotation.brackets"],[/=/,"operator","@pop"]],oneofDecl:[{include:"@whitespace"},[/@identifier/,"identifier"],[/{/,{token:"@brackets",bracket:"@open",switchTo:"@oneofBody.$S2"}]],oneofBody:[{include:"@whitespace"},{include:"@constant"},[/;/,"delimiter"],[/(@identifier)(\s*)(=)/,["identifier","white","delimiter"]],[/@fullIdentifier|\./,{cases:{"@builtinTypes":"keyword","@default":"type.identifier"}}],[/\[/,{token:"@brackets",bracket:"@open",next:"@options.$S2"}],[/}/,{token:"@brackets",bracket:"@close",next:"@pop"}]],reserved:[{include:"@whitespace"},[/,/,"delimiter"],[/;/,"delimiter","@pop"],{include:"@constant"},[/to\b|max\b/,"keyword"]],map:[{include:"@whitespace"},[/@fullIdentifier|\./,{cases:{"@builtinTypes":"keyword","@default":"type.identifier"}}],[/,/,"delimiter"],[/>/,{token:"@brackets",bracket:"@close",switchTo:"identifier"}]],field:[{include:"@whitespace"},["group",{cases:{"$S2==proto2":{token:"keyword",switchTo:"@groupDecl.$S2"}}}],[/(@identifier)(\s*)(=)/,["identifier","white",{token:"delimiter",next:"@pop"}]],[/@fullIdentifier|\./,{cases:{"@builtinTypes":"keyword","@default":"type.identifier"}}]],groupDecl:[{include:"@whitespace"},[/@identifier/,"identifier"],["=","operator"],[/{/,{token:"@brackets",bracket:"@open",switchTo:"@messageBody.$S2"}],{include:"@constant"}],type:[{include:"@whitespace"},[/@identifier/,"type.identifier","@pop"],[/./,"delimiter"]],identifier:[{include:"@whitespace"},[/@identifier/,"identifier","@pop"]],serviceDecl:[{include:"@whitespace"},[/@identifier/,"identifier"],[/{/,{token:"@brackets",bracket:"@open",switchTo:"@serviceBody.$S2"}]],serviceBody:[{include:"@whitespace"},{include:"@constant"},[/;/,"delimiter"],[/option\b/,"keyword","@option.$S2"],[/rpc\b/,"keyword","@rpc.$S2"],[/\[/,{token:"@brackets",bracket:"@open",next:"@options.$S2"}],[/}/,{token:"@brackets",bracket:"@close",next:"@pop"}]],rpc:[{include:"@whitespace"},[/@identifier/,"identifier"],[/\(/,{token:"@brackets",bracket:"@open",switchTo:"@request.$S2"}],[/{/,{token:"@brackets",bracket:"@open",next:"@methodOptions.$S2"}],[/;/,"delimiter","@pop"]],request:[{include:"@whitespace"},[/@messageType/,{cases:{stream:{token:"keyword",next:"@type.$S2"},"@default":"type.identifier"}}],[/\)/,{token:"@brackets",bracket:"@close",switchTo:"@returns.$S2"}]],returns:[{include:"@whitespace"},[/returns\b/,"keyword"],[/\(/,{token:"@brackets",bracket:"@open",switchTo:"@response.$S2"}]],response:[{include:"@whitespace"},[/@messageType/,{cases:{stream:{token:"keyword",next:"@type.$S2"},"@default":"type.identifier"}}],[/\)/,{token:"@brackets",bracket:"@close",switchTo:"@rpc.$S2"}]],methodOptions:[{include:"@whitespace"},{include:"@constant"},[/;/,"delimiter"],["option","keyword"],[/@optionName/,"annotation"],[/[()]/,"annotation.brackets"],[/=/,"operator"],[/}/,{token:"@brackets",bracket:"@close",next:"@pop"}]],comment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@push"],["\\*/","comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],stringSingle:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,{token:"string.quote",bracket:"@close",next:"@pop"}]],constant:[["@boolLit","keyword.constant"],["@hexLit","number.hex"],["@octalLit","number.octal"],["@decimalLit","number"],["@floatLit","number.float"],[/("([^"\\]|\\.)*|'([^'\\]|\\.)*)$/,"string.invalid"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}],[/'/,{token:"string.quote",bracket:"@open",next:"@stringSingle"}],[/{/,{token:"@brackets",bracket:"@open",next:"@prototext"}],[/identifier/,"identifier"]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],prototext:[{include:"@whitespace"},{include:"@constant"},[/@identifier/,"identifier"],[/[:;]/,"delimiter"],[/}/,{token:"@brackets",bracket:"@close",next:"@pop"}]]}}}});var pug_exports={};__export(pug_exports,{conf:()=>conf52,language:()=>language53});var conf52,language53;var init_pug=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/pug/pug.js"(){conf52={comments:{lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}],folding:{offSide:true}};language53={defaultToken:"",tokenPostfix:".pug",ignoreCase:true,brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"}],keywords:["append","block","case","default","doctype","each","else","extends","for","if","in","include","mixin","typeof","unless","var","when"],tags:["a","abbr","acronym","address","area","article","aside","audio","b","base","basefont","bdi","bdo","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","command","datalist","dd","del","details","dfn","div","dl","dt","em","embed","fieldset","figcaption","figure","font","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","keygen","kbd","label","li","link","map","mark","menu","meta","meter","nav","noframes","noscript","object","ol","optgroup","option","output","p","param","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strike","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","tracks","tt","u","ul","video","wbr"],symbols:/[\+\-\*\%\&\|\!\=\/\.\,\:]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^(\s*)([a-zA-Z_-][\w-]*)/,{cases:{"$2@tags":{cases:{"@eos":["","tag"],"@default":["",{token:"tag",next:"@tag.$1"}]}},"$2@keywords":["",{token:"keyword.$2"}],"@default":["",""]}}],[/^(\s*)(#[a-zA-Z_-][\w-]*)/,{cases:{"@eos":["","tag.id"],"@default":["",{token:"tag.id",next:"@tag.$1"}]}}],[/^(\s*)(\.[a-zA-Z_-][\w-]*)/,{cases:{"@eos":["","tag.class"],"@default":["",{token:"tag.class",next:"@tag.$1"}]}}],[/^(\s*)(\|.*)$/,""],{include:"@whitespace"},[/[a-zA-Z_$][\w$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":""}}],[/[{}()\[\]]/,"@brackets"],[/@symbols/,"delimiter"],[/\d+\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\d+/,"number"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],tag:[[/(\.)(\s*$)/,[{token:"delimiter",next:"@blockText.$S2."},""]],[/\s+/,{token:"",next:"@simpleText"}],[/#[a-zA-Z_-][\w-]*/,{cases:{"@eos":{token:"tag.id",next:"@pop"},"@default":"tag.id"}}],[/\.[a-zA-Z_-][\w-]*/,{cases:{"@eos":{token:"tag.class",next:"@pop"},"@default":"tag.class"}}],[/\(/,{token:"delimiter.parenthesis",next:"@attributeList"}]],simpleText:[[/[^#]+$/,{token:"",next:"@popall"}],[/[^#]+/,{token:""}],[/(#{)([^}]*)(})/,{cases:{"@eos":["interpolation.delimiter","interpolation",{token:"interpolation.delimiter",next:"@popall"}],"@default":["interpolation.delimiter","interpolation","interpolation.delimiter"]}}],[/#$/,{token:"",next:"@popall"}],[/#/,""]],attributeList:[[/\s+/,""],[/(\w+)(\s*=\s*)("|')/,["attribute.name","delimiter",{token:"attribute.value",next:"@value.$3"}]],[/\w+/,"attribute.name"],[/,/,{cases:{"@eos":{token:"attribute.delimiter",next:"@popall"},"@default":"attribute.delimiter"}}],[/\)$/,{token:"delimiter.parenthesis",next:"@popall"}],[/\)/,{token:"delimiter.parenthesis",next:"@pop"}]],whitespace:[[/^(\s*)(\/\/.*)$/,{token:"comment",next:"@blockText.$1.comment"}],[/[ \t\r\n]+/,""],[/<!--/,{token:"comment",next:"@comment"}]],blockText:[[/^\s+.*$/,{cases:{"($S2\\s+.*$)":{token:"$S3"},"@default":{token:"@rematch",next:"@popall"}}}],[/./,{token:"@rematch",next:"@popall"}]],comment:[[/[^<\-]+/,"comment.content"],[/-->/,{token:"comment",next:"@pop"}],[/<!--/,"comment.content.invalid"],[/[<\-]/,"comment.content"]],string:[[/[^\\"'#]+/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/@escapes/,{cases:{"@eos":{token:"string.escape",next:"@popall"},"@default":"string.escape"}}],[/\\./,{cases:{"@eos":{token:"string.escape.invalid",next:"@popall"},"@default":"string.escape.invalid"}}],[/(#{)([^}]*)(})/,["interpolation.delimiter","interpolation","interpolation.delimiter"]],[/#/,"string"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":{token:"string"}}}]],value:[[/[^\\"']+/,{cases:{"@eos":{token:"attribute.value",next:"@popall"},"@default":"attribute.value"}}],[/\\./,{cases:{"@eos":{token:"attribute.value",next:"@popall"},"@default":"attribute.value"}}],[/["']/,{cases:{"$#==$S2":{token:"attribute.value",next:"@pop"},"@default":{token:"attribute.value"}}}]]}}}});var python_exports={};__export(python_exports,{conf:()=>conf53,language:()=>language54});var __defProp9,__getOwnPropDesc9,__getOwnPropNames9,__hasOwnProp9,__copyProps9,__reExport8,monaco_editor_core_exports8,conf53,language54;var init_python=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/python/python.js"(){init_editor_api();__defProp9=Object.defineProperty;__getOwnPropDesc9=Object.getOwnPropertyDescriptor;__getOwnPropNames9=Object.getOwnPropertyNames;__hasOwnProp9=Object.prototype.hasOwnProperty;__copyProps9=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames9(from))if(!__hasOwnProp9.call(to,key)&&key!==except)__defProp9(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc9(from,key))||desc.enumerable})}return to};__reExport8=(target,mod,secondTarget)=>(__copyProps9(target,mod,"default"),secondTarget&&__copyProps9(secondTarget,mod,"default"));monaco_editor_core_exports8={};__reExport8(monaco_editor_core_exports8,editor_api_exports);conf53={comments:{lineComment:"#",blockComment:["'''","'''"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:new RegExp("^\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async|match|case).*?:\\s*$"),action:{indentAction:monaco_editor_core_exports8.languages.IndentAction.Indent}}],folding:{offSide:true,markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}};language54={defaultToken:"",tokenPostfix:".python",keywords:["False","None","True","_","and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","exec","finally","for","from","global","if","import","in","is","lambda","match","nonlocal","not","or","pass","print","raise","return","try","while","with","yield","int","float","long","complex","hex","abs","all","any","apply","basestring","bin","bool","buffer","bytearray","callable","chr","classmethod","cmp","coerce","compile","complex","delattr","dict","dir","divmod","enumerate","eval","execfile","file","filter","format","frozenset","getattr","globals","hasattr","hash","help","id","input","intern","isinstance","issubclass","iter","len","locals","list","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","reversed","range","raw_input","reduce","reload","repr","reversed","round","self","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","unichr","unicode","vars","xrange","zip","__dict__","__methods__","__members__","__class__","__bases__","__name__","__mro__","__subclasses__","__init__","__import__"],brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"}],tokenizer:{root:[{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},[/[,:;]/,"delimiter"],[/[{}\[\]()]/,"@brackets"],[/@[a-zA-Z_]\w*/,"tag"],[/[a-zA-Z_]\w*/,{cases:{"@keywords":"keyword","@default":"identifier"}}]],whitespace:[[/\s+/,"white"],[/(^#.*$)/,"comment"],[/'''/,"string","@endDocString"],[/"""/,"string","@endDblDocString"]],endDocString:[[/[^']+/,"string"],[/\\'/,"string"],[/'''/,"string","@popall"],[/'/,"string"]],endDblDocString:[[/[^"]+/,"string"],[/\\"/,"string"],[/"""/,"string","@popall"],[/"/,"string"]],numbers:[[/-?0x([abcdef]|[ABCDEF]|\d)+[lL]?/,"number.hex"],[/-?(\d*\.)?\d+([eE][+\-]?\d+)?[jJ]?[lL]?/,"number"]],strings:[[/'$/,"string.escape","@popall"],[/'/,"string.escape","@stringBody"],[/"$/,"string.escape","@popall"],[/"/,"string.escape","@dblStringBody"]],stringBody:[[/[^\\']+$/,"string","@popall"],[/[^\\']+/,"string"],[/\\./,"string"],[/'/,"string.escape","@popall"],[/\\$/,"string"]],dblStringBody:[[/[^\\"]+$/,"string","@popall"],[/[^\\"]+/,"string"],[/\\./,"string"],[/"/,"string.escape","@popall"],[/\\$/,"string"]]}}}});var qsharp_exports={};__export(qsharp_exports,{conf:()=>conf54,language:()=>language55});var conf54,language55;var init_qsharp=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/qsharp/qsharp.js"(){conf54={comments:{lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}]};language55={keywords:["namespace","open","as","operation","function","body","adjoint","newtype","controlled","if","elif","else","repeat","until","fixup","for","in","while","return","fail","within","apply","Adjoint","Controlled","Adj","Ctl","is","self","auto","distribute","invert","intrinsic","let","set","w/","new","not","and","or","use","borrow","using","borrowing","mutable","internal"],typeKeywords:["Unit","Int","BigInt","Double","Bool","String","Qubit","Result","Pauli","Range"],invalidKeywords:["abstract","base","bool","break","byte","case","catch","char","checked","class","const","continue","decimal","default","delegate","do","double","enum","event","explicit","extern","finally","fixed","float","foreach","goto","implicit","int","interface","lock","long","null","object","operator","out","override","params","private","protected","public","readonly","ref","sbyte","sealed","short","sizeof","stackalloc","static","string","struct","switch","this","throw","try","typeof","unit","ulong","unchecked","unsafe","ushort","virtual","void","volatile"],constants:["true","false","PauliI","PauliX","PauliY","PauliZ","One","Zero"],builtin:["X","Y","Z","H","HY","S","T","SWAP","CNOT","CCNOT","MultiX","R","RFrac","Rx","Ry","Rz","R1","R1Frac","Exp","ExpFrac","Measure","M","MultiM","Message","Length","Assert","AssertProb","AssertEqual"],operators:["and=","<-","->","*","*=","@","!","^","^=",":","::","..","==","...","=","=>",">",">=","<","<=","-","-=","!=","or=","%","%=","|","+","+=","?","/","/=","&&&","&&&=","^^^","^^^=",">>>",">>>=","<<<","<<<=","|||","|||=","~~~","_","w/","w/="],namespaceFollows:["namespace","open"],symbols:/[=><!~?:&|+\-*\/\^%@._]+/,escapes:/\\[\s\S]/,tokenizer:{root:[[/[a-zA-Z_$][\w$]*/,{cases:{"@namespaceFollows":{token:"keyword.$0",next:"@namespace"},"@typeKeywords":"type","@keywords":"keyword","@constants":"constant","@builtin":"keyword","@invalidKeywords":"invalid","@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],namespace:[{include:"@whitespace"},[/[A-Za-z]\w*/,"namespace"],[/[\.=]/,"delimiter"],["","","@pop"]],whitespace:[[/[ \t\r\n]+/,"white"],[/(\/\/).*/,"comment"]]}}}});var r_exports={};__export(r_exports,{conf:()=>conf55,language:()=>language56});var conf55,language56;var init_r=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/r/r.js"(){conf55={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}]};language56={defaultToken:"",tokenPostfix:".r",roxygen:["@alias","@aliases","@assignee","@author","@backref","@callGraph","@callGraphDepth","@callGraphPrimitives","@concept","@describeIn","@description","@details","@docType","@encoding","@evalNamespace","@evalRd","@example","@examples","@export","@exportClass","@exportMethod","@exportPattern","@family","@field","@formals","@format","@import","@importClassesFrom","@importFrom","@importMethodsFrom","@include","@inherit","@inheritDotParams","@inheritParams","@inheritSection","@keywords","@md","@method","@name","@noMd","@noRd","@note","@param","@rawNamespace","@rawRd","@rdname","@references","@return","@S3method","@section","@seealso","@setClass","@slot","@source","@template","@templateVar","@title","@TODO","@usage","@useDynLib"],constants:["NULL","FALSE","TRUE","NA","Inf","NaN","NA_integer_","NA_real_","NA_complex_","NA_character_","T","F","LETTERS","letters","month.abb","month.name","pi","R.version.string"],keywords:["break","next","return","if","else","for","in","repeat","while","array","category","character","complex","double","function","integer","list","logical","matrix","numeric","vector","data.frame","factor","library","require","attach","detach","source"],special:["\\n","\\r","\\t","\\b","\\a","\\f","\\v","\\'",'\\"',"\\\\"],brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"}],tokenizer:{root:[{include:"@numbers"},{include:"@strings"},[/[{}\[\]()]/,"@brackets"],{include:"@operators"},[/#'$/,"comment.doc"],[/#'/,"comment.doc","@roxygen"],[/(^#.*$)/,"comment"],[/\s+/,"white"],[/[,:;]/,"delimiter"],[/@[a-zA-Z]\w*/,"tag"],[/[a-zA-Z]\w*/,{cases:{"@keywords":"keyword","@constants":"constant","@default":"identifier"}}]],roxygen:[[/@\w+/,{cases:{"@roxygen":"tag","@eos":{token:"comment.doc",next:"@pop"},"@default":"comment.doc"}}],[/\s+/,{cases:{"@eos":{token:"comment.doc",next:"@pop"},"@default":"comment.doc"}}],[/.*/,{token:"comment.doc",next:"@pop"}]],numbers:[[/0[xX][0-9a-fA-F]+/,"number.hex"],[/-?(\d*\.)?\d+([eE][+\-]?\d+)?/,"number"]],operators:[[/<{1,2}-/,"operator"],[/->{1,2}/,"operator"],[/%[^%\s]+%/,"operator"],[/\*\*/,"operator"],[/%%/,"operator"],[/&&/,"operator"],[/\|\|/,"operator"],[/<</,"operator"],[/>>/,"operator"],[/[-+=&|!<>^~*/:$]/,"operator"]],strings:[[/'/,"string.escape","@stringBody"],[/"/,"string.escape","@dblStringBody"]],stringBody:[[/\\./,{cases:{"@special":"string","@default":"error-token"}}],[/'/,"string.escape","@popall"],[/./,"string"]],dblStringBody:[[/\\./,{cases:{"@special":"string","@default":"error-token"}}],[/"/,"string.escape","@popall"],[/./,"string"]]}}}});var razor_exports={};__export(razor_exports,{conf:()=>conf56,language:()=>language57});var __defProp10,__getOwnPropDesc10,__getOwnPropNames10,__hasOwnProp10,__copyProps10,__reExport9,monaco_editor_core_exports9,EMPTY_ELEMENTS5,conf56,language57;var init_razor=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/razor/razor.js"(){init_editor_api();__defProp10=Object.defineProperty;__getOwnPropDesc10=Object.getOwnPropertyDescriptor;__getOwnPropNames10=Object.getOwnPropertyNames;__hasOwnProp10=Object.prototype.hasOwnProperty;__copyProps10=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames10(from))if(!__hasOwnProp10.call(to,key)&&key!==except)__defProp10(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc10(from,key))||desc.enumerable})}return to};__reExport9=(target,mod,secondTarget)=>(__copyProps10(target,mod,"default"),secondTarget&&__copyProps10(secondTarget,mod,"default"));monaco_editor_core_exports9={};__reExport9(monaco_editor_core_exports9,editor_api_exports);EMPTY_ELEMENTS5=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"];conf56={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["\x3c!--","--\x3e"]},brackets:[["\x3c!--","--\x3e"],["<",">"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],onEnterRules:[{beforeText:new RegExp(`<(?!(?:${EMPTY_ELEMENTS5.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:monaco_editor_core_exports9.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`<(?!(?:${EMPTY_ELEMENTS5.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),action:{indentAction:monaco_editor_core_exports9.languages.IndentAction.Indent}}]};language57={defaultToken:"",tokenPostfix:"",tokenizer:{root:[[/@@@@/],[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.root"}],[/<!DOCTYPE/,"metatag.html","@doctype"],[/<!--/,"comment.html","@comment"],[/(<)([\w\-]+)(\/>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)(script)/,["delimiter.html",{token:"tag.html",next:"@script"}]],[/(<)(style)/,["delimiter.html",{token:"tag.html",next:"@style"}]],[/(<)([:\w\-]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/(<\/)([\w\-]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/</,"delimiter.html"],[/[ \t\r\n]+/],[/[^<@]+/]],doctype:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.comment"}],[/[^>]+/,"metatag.content.html"],[/>/,"metatag.html","@pop"]],comment:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.comment"}],[/-->/,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.script"}],[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.scriptAfterType"}],[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.scriptAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.scriptWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInEmbeddedState.scriptEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],style:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.style"}],[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.styleAfterType"}],[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.styleAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.styleWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInEmbeddedState.styleEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],razorInSimpleState:[[/@\*/,"comment.cs","@razorBlockCommentTopLevel"],[/@[{(]/,"metatag.cs","@razorRootTopLevel"],[/(@)(\s*[\w]+)/,["metatag.cs",{token:"identifier.cs",switchTo:"@$S2.$S3"}]],[/[})]/,{token:"metatag.cs",switchTo:"@$S2.$S3"}],[/\*@/,{token:"comment.cs",switchTo:"@$S2.$S3"}]],razorInEmbeddedState:[[/@\*/,"comment.cs","@razorBlockCommentTopLevel"],[/@[{(]/,"metatag.cs","@razorRootTopLevel"],[/(@)(\s*[\w]+)/,["metatag.cs",{token:"identifier.cs",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}]],[/[})]/,{token:"metatag.cs",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}],[/\*@/,{token:"comment.cs",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}]],razorBlockCommentTopLevel:[[/\*@/,"@rematch","@pop"],[/[^*]+/,"comment.cs"],[/./,"comment.cs"]],razorBlockComment:[[/\*@/,"comment.cs","@pop"],[/[^*]+/,"comment.cs"],[/./,"comment.cs"]],razorRootTopLevel:[[/\{/,"delimiter.bracket.cs","@razorRoot"],[/\(/,"delimiter.parenthesis.cs","@razorRoot"],[/[})]/,"@rematch","@pop"],{include:"razorCommon"}],razorRoot:[[/\{/,"delimiter.bracket.cs","@razorRoot"],[/\(/,"delimiter.parenthesis.cs","@razorRoot"],[/\}/,"delimiter.bracket.cs","@pop"],[/\)/,"delimiter.parenthesis.cs","@pop"],{include:"razorCommon"}],razorCommon:[[/[a-zA-Z_]\w*/,{cases:{"@razorKeywords":{token:"keyword.cs"},"@default":"identifier.cs"}}],[/[\[\]]/,"delimiter.array.cs"],[/[ \t\r\n]+/],[/\/\/.*$/,"comment.cs"],[/@\*/,"comment.cs","@razorBlockComment"],[/"([^"]*)"/,"string.cs"],[/'([^']*)'/,"string.cs"],[/(<)([\w\-]+)(\/>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)([\w\-]+)(>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<\/)([\w\-]+)(>)/,["delimiter.html","tag.html","delimiter.html"]],[/[\+\-\*\%\&\|\^\~\!\=\<\>\/\?\;\:\.\,]/,"delimiter.cs"],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float.cs"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float.cs"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex.cs"],[/0[0-7']*[0-7]/,"number.octal.cs"],[/0[bB][0-1']*[0-1]/,"number.binary.cs"],[/\d[\d']*/,"number.cs"],[/\d/,"number.cs"]]},razorKeywords:["abstract","as","async","await","base","bool","break","by","byte","case","catch","char","checked","class","const","continue","decimal","default","delegate","do","double","descending","explicit","event","extern","else","enum","false","finally","fixed","float","for","foreach","from","goto","group","if","implicit","in","int","interface","internal","into","is","lock","long","nameof","new","null","namespace","object","operator","out","override","orderby","params","private","protected","public","readonly","ref","return","switch","struct","sbyte","sealed","short","sizeof","stackalloc","static","string","select","this","throw","true","try","typeof","uint","ulong","unchecked","unsafe","ushort","using","var","virtual","volatile","void","when","while","where","yield","model","inject"],escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/}}});var redis_exports={};__export(redis_exports,{conf:()=>conf57,language:()=>language58});var conf57,language58;var init_redis=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/redis/redis.js"(){conf57={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]};language58={defaultToken:"",tokenPostfix:".redis",ignoreCase:true,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["APPEND","AUTH","BGREWRITEAOF","BGSAVE","BITCOUNT","BITFIELD","BITOP","BITPOS","BLPOP","BRPOP","BRPOPLPUSH","CLIENT","KILL","LIST","GETNAME","PAUSE","REPLY","SETNAME","CLUSTER","ADDSLOTS","COUNT-FAILURE-REPORTS","COUNTKEYSINSLOT","DELSLOTS","FAILOVER","FORGET","GETKEYSINSLOT","INFO","KEYSLOT","MEET","NODES","REPLICATE","RESET","SAVECONFIG","SET-CONFIG-EPOCH","SETSLOT","SLAVES","SLOTS","COMMAND","COUNT","GETKEYS","CONFIG","GET","REWRITE","SET","RESETSTAT","DBSIZE","DEBUG","OBJECT","SEGFAULT","DECR","DECRBY","DEL","DISCARD","DUMP","ECHO","EVAL","EVALSHA","EXEC","EXISTS","EXPIRE","EXPIREAT","FLUSHALL","FLUSHDB","GEOADD","GEOHASH","GEOPOS","GEODIST","GEORADIUS","GEORADIUSBYMEMBER","GETBIT","GETRANGE","GETSET","HDEL","HEXISTS","HGET","HGETALL","HINCRBY","HINCRBYFLOAT","HKEYS","HLEN","HMGET","HMSET","HSET","HSETNX","HSTRLEN","HVALS","INCR","INCRBY","INCRBYFLOAT","KEYS","LASTSAVE","LINDEX","LINSERT","LLEN","LPOP","LPUSH","LPUSHX","LRANGE","LREM","LSET","LTRIM","MGET","MIGRATE","MONITOR","MOVE","MSET","MSETNX","MULTI","PERSIST","PEXPIRE","PEXPIREAT","PFADD","PFCOUNT","PFMERGE","PING","PSETEX","PSUBSCRIBE","PUBSUB","PTTL","PUBLISH","PUNSUBSCRIBE","QUIT","RANDOMKEY","READONLY","READWRITE","RENAME","RENAMENX","RESTORE","ROLE","RPOP","RPOPLPUSH","RPUSH","RPUSHX","SADD","SAVE","SCARD","SCRIPT","FLUSH","LOAD","SDIFF","SDIFFSTORE","SELECT","SETBIT","SETEX","SETNX","SETRANGE","SHUTDOWN","SINTER","SINTERSTORE","SISMEMBER","SLAVEOF","SLOWLOG","SMEMBERS","SMOVE","SORT","SPOP","SRANDMEMBER","SREM","STRLEN","SUBSCRIBE","SUNION","SUNIONSTORE","SWAPDB","SYNC","TIME","TOUCH","TTL","TYPE","UNSUBSCRIBE","UNLINK","UNWATCH","WAIT","WATCH","ZADD","ZCARD","ZCOUNT","ZINCRBY","ZINTERSTORE","ZLEXCOUNT","ZRANGE","ZRANGEBYLEX","ZREVRANGEBYLEX","ZRANGEBYSCORE","ZRANK","ZREM","ZREMRANGEBYLEX","ZREMRANGEBYRANK","ZREMRANGEBYSCORE","ZREVRANGE","ZREVRANGEBYSCORE","ZREVRANK","ZSCORE","ZUNIONSTORE","SCAN","SSCAN","HSCAN","ZSCAN"],operators:[],builtinFunctions:[],builtinVariables:[],pseudoColumns:[],tokenizer:{root:[{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@keywords":"keyword","@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/'/,{token:"string",next:"@string"}],[/"/,{token:"string.double",next:"@stringDouble"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],stringDouble:[[/[^"]+/,"string.double"],[/""/,"string.double"],[/"/,{token:"string.double",next:"@pop"}]],scopes:[]}}}});var redshift_exports={};__export(redshift_exports,{conf:()=>conf58,language:()=>language59});var conf58,language59;var init_redshift=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/redshift/redshift.js"(){conf58={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]};language59={defaultToken:"",tokenPostfix:".sql",ignoreCase:true,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["AES128","AES256","ALL","ALLOWOVERWRITE","ANALYSE","ANALYZE","AND","ANY","ARRAY","AS","ASC","AUTHORIZATION","AZ64","BACKUP","BETWEEN","BINARY","BLANKSASNULL","BOTH","BYTEDICT","BZIP2","CASE","CAST","CHECK","COLLATE","COLUMN","CONSTRAINT","CREATE","CREDENTIALS","CROSS","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURRENT_USER_ID","DEFAULT","DEFERRABLE","DEFLATE","DEFRAG","DELTA","DELTA32K","DESC","DISABLE","DISTINCT","DO","ELSE","EMPTYASNULL","ENABLE","ENCODE","ENCRYPT","ENCRYPTION","END","EXCEPT","EXPLICIT","FALSE","FOR","FOREIGN","FREEZE","FROM","FULL","GLOBALDICT256","GLOBALDICT64K","GRANT","GROUP","GZIP","HAVING","IDENTITY","IGNORE","ILIKE","IN","INITIALLY","INNER","INTERSECT","INTO","IS","ISNULL","JOIN","LANGUAGE","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","LUN","LUNS","LZO","LZOP","MINUS","MOSTLY16","MOSTLY32","MOSTLY8","NATURAL","NEW","NOT","NOTNULL","NULL","NULLS","OFF","OFFLINE","OFFSET","OID","OLD","ON","ONLY","OPEN","OR","ORDER","OUTER","OVERLAPS","PARALLEL","PARTITION","PERCENT","PERMISSIONS","PLACING","PRIMARY","RAW","READRATIO","RECOVER","REFERENCES","RESPECT","REJECTLOG","RESORT","RESTORE","RIGHT","SELECT","SESSION_USER","SIMILAR","SNAPSHOT","SOME","SYSDATE","SYSTEM","TABLE","TAG","TDES","TEXT255","TEXT32K","THEN","TIMESTAMP","TO","TOP","TRAILING","TRUE","TRUNCATECOLUMNS","UNION","UNIQUE","USER","USING","VERBOSE","WALLET","WHEN","WHERE","WITH","WITHOUT"],operators:["AND","BETWEEN","IN","LIKE","NOT","OR","IS","NULL","INTERSECT","UNION","INNER","JOIN","LEFT","OUTER","RIGHT"],builtinFunctions:["current_schema","current_schemas","has_database_privilege","has_schema_privilege","has_table_privilege","age","current_time","current_timestamp","localtime","isfinite","now","ascii","get_bit","get_byte","set_bit","set_byte","to_ascii","approximate percentile_disc","avg","count","listagg","max","median","min","percentile_cont","stddev_samp","stddev_pop","sum","var_samp","var_pop","bit_and","bit_or","bool_and","bool_or","cume_dist","first_value","lag","last_value","lead","nth_value","ratio_to_report","dense_rank","ntile","percent_rank","rank","row_number","case","coalesce","decode","greatest","least","nvl","nvl2","nullif","add_months","at time zone","convert_timezone","current_date","date_cmp","date_cmp_timestamp","date_cmp_timestamptz","date_part_year","dateadd","datediff","date_part","date_trunc","extract","getdate","interval_cmp","last_day","months_between","next_day","sysdate","timeofday","timestamp_cmp","timestamp_cmp_date","timestamp_cmp_timestamptz","timestamptz_cmp","timestamptz_cmp_date","timestamptz_cmp_timestamp","timezone","to_timestamp","trunc","abs","acos","asin","atan","atan2","cbrt","ceil","ceiling","checksum","cos","cot","degrees","dexp","dlog1","dlog10","exp","floor","ln","log","mod","pi","power","radians","random","round","sin","sign","sqrt","tan","to_hex","bpcharcmp","btrim","bttext_pattern_cmp","char_length","character_length","charindex","chr","concat","crc32","func_sha1","initcap","left and rights","len","length","lower","lpad and rpads","ltrim","md5","octet_length","position","quote_ident","quote_literal","regexp_count","regexp_instr","regexp_replace","regexp_substr","repeat","replace","replicate","reverse","rtrim","split_part","strpos","strtol","substring","textlen","translate","trim","upper","cast","convert","to_char","to_date","to_number","json_array_length","json_extract_array_element_text","json_extract_path_text","current_setting","pg_cancel_backend","pg_terminate_backend","set_config","current_database","current_user","current_user_id","pg_backend_pid","pg_last_copy_count","pg_last_copy_id","pg_last_query_id","pg_last_unload_count","session_user","slice_num","user","version","abbrev","acosd","any","area","array_agg","array_append","array_cat","array_dims","array_fill","array_length","array_lower","array_ndims","array_position","array_positions","array_prepend","array_remove","array_replace","array_to_json","array_to_string","array_to_tsvector","array_upper","asind","atan2d","atand","bit","bit_length","bound_box","box","brin_summarize_new_values","broadcast","cardinality","center","circle","clock_timestamp","col_description","concat_ws","convert_from","convert_to","corr","cosd","cotd","covar_pop","covar_samp","current_catalog","current_query","current_role","currval","cursor_to_xml","diameter","div","encode","enum_first","enum_last","enum_range","every","family","format","format_type","generate_series","generate_subscripts","get_current_ts_config","gin_clean_pending_list","grouping","has_any_column_privilege","has_column_privilege","has_foreign_data_wrapper_privilege","has_function_privilege","has_language_privilege","has_sequence_privilege","has_server_privilege","has_tablespace_privilege","has_type_privilege","height","host","hostmask","inet_client_addr","inet_client_port","inet_merge","inet_same_family","inet_server_addr","inet_server_port","isclosed","isempty","isopen","json_agg","json_object","json_object_agg","json_populate_record","json_populate_recordset","json_to_record","json_to_recordset","jsonb_agg","jsonb_object_agg","justify_days","justify_hours","justify_interval","lastval","left","line","localtimestamp","lower_inc","lower_inf","lpad","lseg","make_date","make_interval","make_time","make_timestamp","make_timestamptz","masklen","mode","netmask","network","nextval","npoints","num_nonnulls","num_nulls","numnode","obj_description","overlay","parse_ident","path","pclose","percentile_disc","pg_advisory_lock","pg_advisory_lock_shared","pg_advisory_unlock","pg_advisory_unlock_all","pg_advisory_unlock_shared","pg_advisory_xact_lock","pg_advisory_xact_lock_shared","pg_backup_start_time","pg_blocking_pids","pg_client_encoding","pg_collation_is_visible","pg_column_size","pg_conf_load_time","pg_control_checkpoint","pg_control_init","pg_control_recovery","pg_control_system","pg_conversion_is_visible","pg_create_logical_replication_slot","pg_create_physical_replication_slot","pg_create_restore_point","pg_current_xlog_flush_location","pg_current_xlog_insert_location","pg_current_xlog_location","pg_database_size","pg_describe_object","pg_drop_replication_slot","pg_export_snapshot","pg_filenode_relation","pg_function_is_visible","pg_get_constraintdef","pg_get_expr","pg_get_function_arguments","pg_get_function_identity_arguments","pg_get_function_result","pg_get_functiondef","pg_get_indexdef","pg_get_keywords","pg_get_object_address","pg_get_owned_sequence","pg_get_ruledef","pg_get_serial_sequence","pg_get_triggerdef","pg_get_userbyid","pg_get_viewdef","pg_has_role","pg_identify_object","pg_identify_object_as_address","pg_index_column_has_property","pg_index_has_property","pg_indexam_has_property","pg_indexes_size","pg_is_in_backup","pg_is_in_recovery","pg_is_other_temp_schema","pg_is_xlog_replay_paused","pg_last_committed_xact","pg_last_xact_replay_timestamp","pg_last_xlog_receive_location","pg_last_xlog_replay_location","pg_listening_channels","pg_logical_emit_message","pg_logical_slot_get_binary_changes","pg_logical_slot_get_changes","pg_logical_slot_peek_binary_changes","pg_logical_slot_peek_changes","pg_ls_dir","pg_my_temp_schema","pg_notification_queue_usage","pg_opclass_is_visible","pg_operator_is_visible","pg_opfamily_is_visible","pg_options_to_table","pg_postmaster_start_time","pg_read_binary_file","pg_read_file","pg_relation_filenode","pg_relation_filepath","pg_relation_size","pg_reload_conf","pg_replication_origin_create","pg_replication_origin_drop","pg_replication_origin_oid","pg_replication_origin_progress","pg_replication_origin_session_is_setup","pg_replication_origin_session_progress","pg_replication_origin_session_reset","pg_replication_origin_session_setup","pg_replication_origin_xact_reset","pg_replication_origin_xact_setup","pg_rotate_logfile","pg_size_bytes","pg_size_pretty","pg_sleep","pg_sleep_for","pg_sleep_until","pg_start_backup","pg_stat_file","pg_stop_backup","pg_switch_xlog","pg_table_is_visible","pg_table_size","pg_tablespace_databases","pg_tablespace_location","pg_tablespace_size","pg_total_relation_size","pg_trigger_depth","pg_try_advisory_lock","pg_try_advisory_lock_shared","pg_try_advisory_xact_lock","pg_try_advisory_xact_lock_shared","pg_ts_config_is_visible","pg_ts_dict_is_visible","pg_ts_parser_is_visible","pg_ts_template_is_visible","pg_type_is_visible","pg_typeof","pg_xact_commit_timestamp","pg_xlog_location_diff","pg_xlog_replay_pause","pg_xlog_replay_resume","pg_xlogfile_name","pg_xlogfile_name_offset","phraseto_tsquery","plainto_tsquery","point","polygon","popen","pqserverversion","query_to_xml","querytree","quote_nullable","radius","range_merge","regexp_matches","regexp_split_to_array","regexp_split_to_table","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","right","row_security_active","row_to_json","rpad","scale","set_masklen","setseed","setval","setweight","shobj_description","sind","sprintf","statement_timestamp","stddev","string_agg","string_to_array","strip","substr","table_to_xml","table_to_xml_and_xmlschema","tand","text","to_json","to_regclass","to_regnamespace","to_regoper","to_regoperator","to_regproc","to_regprocedure","to_regrole","to_regtype","to_tsquery","to_tsvector","transaction_timestamp","ts_debug","ts_delete","ts_filter","ts_headline","ts_lexize","ts_parse","ts_rank","ts_rank_cd","ts_rewrite","ts_stat","ts_token_type","tsquery_phrase","tsvector_to_array","tsvector_update_trigger","tsvector_update_trigger_column","txid_current","txid_current_snapshot","txid_snapshot_xip","txid_snapshot_xmax","txid_snapshot_xmin","txid_visible_in_snapshot","unnest","upper_inc","upper_inf","variance","width","width_bucket","xml_is_well_formed","xml_is_well_formed_content","xml_is_well_formed_document","xmlagg","xmlcomment","xmlconcat","xmlelement","xmlexists","xmlforest","xmlparse","xmlpi","xmlroot","xmlserialize","xpath","xpath_exists"],builtinVariables:[],pseudoColumns:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@keywords":"keyword","@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/--+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/'/,{token:"string",next:"@string"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],complexIdentifiers:[[/"/,{token:"identifier.quote",next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^"]+/,"identifier"],[/""/,"identifier"],[/"/,{token:"identifier.quote",next:"@pop"}]],scopes:[]}}}});var restructuredtext_exports={};__export(restructuredtext_exports,{conf:()=>conf59,language:()=>language60});var conf59,language60;var init_restructuredtext=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/restructuredtext/restructuredtext.js"(){conf59={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">",notIn:["string"]}],surroundingPairs:[{open:"(",close:")"},{open:"[",close:"]"},{open:"`",close:"`"}],folding:{markers:{start:new RegExp("^\\s*\x3c!--\\s*#?region\\b.*--\x3e"),end:new RegExp("^\\s*\x3c!--\\s*#?endregion\\b.*--\x3e")}}};language60={defaultToken:"",tokenPostfix:".rst",control:/[\\`*_\[\]{}()#+\-\.!]/,escapes:/\\(?:@control)/,empty:["area","base","basefont","br","col","frame","hr","img","input","isindex","link","meta","param"],alphanumerics:/[A-Za-z0-9]/,simpleRefNameWithoutBq:/(?:@alphanumerics[-_+:.]*@alphanumerics)+|(?:@alphanumerics+)/,simpleRefName:/(?:`@phrase`|@simpleRefNameWithoutBq)/,phrase:/@simpleRefNameWithoutBq(?:\s@simpleRefNameWithoutBq)*/,citationName:/[A-Za-z][A-Za-z0-9-_.]*/,blockLiteralStart:/(?:[!"#$%&'()*+,-./:;<=>?@\[\]^_`{|}~]|[\s])/,precedingChars:/(?:[ -:/'"<([{])/,followingChars:/(?:[ -.,:;!?/'")\]}>]|$)/,punctuation:/(=|-|~|`|#|"|\^|\+|\*|:|\.|'|_|\+)/,tokenizer:{root:[[/^(@punctuation{3,}$){1,1}?/,"keyword"],[/^\s*([\*\-+‣•]|[a-zA-Z0-9]+\.|\([a-zA-Z0-9]+\)|[a-zA-Z0-9]+\))\s/,"keyword"],[/([ ]::)\s*$/,"keyword","@blankLineOfLiteralBlocks"],[/(::)\s*$/,"keyword","@blankLineOfLiteralBlocks"],{include:"@tables"},{include:"@explicitMarkupBlocks"},{include:"@inlineMarkup"}],explicitMarkupBlocks:[{include:"@citations"},{include:"@footnotes"},[/^(\.\.\s)(@simpleRefName)(::\s)(.*)$/,[{token:"",next:"subsequentLines"},"keyword","",""]],[/^(\.\.)(\s+)(_)(@simpleRefName)(:)(\s+)(.*)/,[{token:"",next:"hyperlinks"},"","","string.link","","","string.link"]],[/^((?:(?:\.\.)(?:\s+))?)(__)(:)(\s+)(.*)/,[{token:"",next:"subsequentLines"},"","","","string.link"]],[/^(__\s+)(.+)/,["","string.link"]],[/^(\.\.)( \|)([^| ]+[^|]*[^| ]*)(\| )(@simpleRefName)(:: .*)/,[{token:"",next:"subsequentLines"},"","string.link","","keyword",""],"@rawBlocks"],[/(\|)([^| ]+[^|]*[^| ]*)(\|_{0,2})/,["","string.link",""]],[/^(\.\.)([ ].*)$/,[{token:"",next:"@comments"},"comment"]]],inlineMarkup:[{include:"@citationsReference"},{include:"@footnotesReference"},[/(@simpleRefName)(_{1,2})/,["string.link",""]],[/(`)([^<`]+\s+)(<)(.*)(>)(`)(_)/,["","string.link","","string.link","","",""]],[/\*\*([^\\*]|\*(?!\*))+\*\*/,"strong"],[/\*[^*]+\*/,"emphasis"],[/(``)((?:[^`]|\`(?!`))+)(``)/,["","keyword",""]],[/(__\s+)(.+)/,["","keyword"]],[/(:)((?:@simpleRefNameWithoutBq)?)(:`)([^`]+)(`)/,["","keyword","","",""]],[/(`)([^`]+)(`:)((?:@simpleRefNameWithoutBq)?)(:)/,["","","","keyword",""]],[/(`)([^`]+)(`)/,""],[/(_`)(@phrase)(`)/,["","string.link",""]]],citations:[[/^(\.\.\s+\[)((?:@citationName))(\]\s+)(.*)/,[{token:"",next:"@subsequentLines"},"string.link","",""]]],citationsReference:[[/(\[)(@citationName)(\]_)/,["","string.link",""]]],footnotes:[[/^(\.\.\s+\[)((?:[0-9]+))(\]\s+.*)/,[{token:"",next:"@subsequentLines"},"string.link",""]],[/^(\.\.\s+\[)((?:#@simpleRefName?))(\]\s+)(.*)/,[{token:"",next:"@subsequentLines"},"string.link","",""]],[/^(\.\.\s+\[)((?:\*))(\]\s+)(.*)/,[{token:"",next:"@subsequentLines"},"string.link","",""]]],footnotesReference:[[/(\[)([0-9]+)(\])(_)/,["","string.link","",""]],[/(\[)(#@simpleRefName?)(\])(_)/,["","string.link","",""]],[/(\[)(\*)(\])(_)/,["","string.link","",""]]],blankLineOfLiteralBlocks:[[/^$/,"","@subsequentLinesOfLiteralBlocks"],[/^.*$/,"","@pop"]],subsequentLinesOfLiteralBlocks:[[/(@blockLiteralStart+)(.*)/,["keyword",""]],[/^(?!blockLiteralStart)/,"","@popall"]],subsequentLines:[[/^[\s]+.*/,""],[/^(?!\s)/,"","@pop"]],hyperlinks:[[/^[\s]+.*/,"string.link"],[/^(?!\s)/,"","@pop"]],comments:[[/^[\s]+.*/,"comment"],[/^(?!\s)/,"","@pop"]],tables:[[/\+-[+-]+/,"keyword"],[/\+=[+=]+/,"keyword"]]}}}});var ruby_exports={};__export(ruby_exports,{conf:()=>conf60,language:()=>language61});var conf60,language61;var init_ruby=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/ruby/ruby.js"(){conf60={comments:{lineComment:"#",blockComment:["=begin","=end"]},brackets:[["(",")"],["{","}"],["[","]"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],indentationRules:{increaseIndentPattern:new RegExp(`^\\s*((begin|class|(private|protected)\\s+def|def|else|elsif|ensure|for|if|module|rescue|unless|until|when|while|case)|([^#]*\\sdo\\b)|([^#]*=\\s*(case|if|unless)))\\b([^#\\{;]|("|'|/).*\\4)*(#.*)?$`),decreaseIndentPattern:new RegExp("^\\s*([}\\]]([,)]?\\s*(#|$)|\\.[a-zA-Z_]\\w*\\b)|(end|rescue|ensure|else|elsif|when)\\b)")}};language61={tokenPostfix:".ruby",keywords:["__LINE__","__ENCODING__","__FILE__","BEGIN","END","alias","and","begin","break","case","class","def","defined?","do","else","elsif","end","ensure","for","false","if","in","module","next","nil","not","or","redo","rescue","retry","return","self","super","then","true","undef","unless","until","when","while","yield"],keywordops:["::","..","...","?",":","=>"],builtins:["require","public","private","include","extend","attr_reader","protected","private_class_method","protected_class_method","new"],declarations:["module","class","def","case","do","begin","for","if","while","until","unless"],linedecls:["def","case","do","begin","for","if","while","until","unless"],operators:["^","&","|","<=>","==","===","!~","=~",">",">=","<","<=","<<",">>","+","-","*","/","%","**","~","+@","-@","[]","[]=","`","+=","-=","*=","**=","/=","^=","%=","<<=",">>=","&=","&&=","||=","|="],brackets:[{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"}],symbols:/[=><!~?:&|+\-*\/\^%\.]+/,escape:/(?:[abefnrstv\\"'\n\r]|[0-7]{1,3}|x[0-9A-Fa-f]{1,2}|u[0-9A-Fa-f]{4})/,escapes:/\\(?:C\-(@escape|.)|c(@escape|.)|@escape)/,decpart:/\d(_?\d)*/,decimal:/0|@decpart/,delim:/[^a-zA-Z0-9\s\n\r]/,heredelim:/(?:\w+|'[^']*'|"[^"]*"|`[^`]*`)/,regexpctl:/[(){}\[\]\$\^|\-*+?\.]/,regexpesc:/\\(?:[AzZbBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})?/,tokenizer:{root:[[/^(\s*)([a-z_]\w*[!?=]?)/,["white",{cases:{"for|until|while":{token:"keyword.$2",next:"@dodecl.$2"},"@declarations":{token:"keyword.$2",next:"@root.$2"},end:{token:"keyword.$S2",next:"@pop"},"@keywords":"keyword","@builtins":"predefined","@default":"identifier"}}]],[/[a-z_]\w*[!?=]?/,{cases:{"if|unless|while|until":{token:"keyword.$0x",next:"@modifier.$0x"},for:{token:"keyword.$2",next:"@dodecl.$2"},"@linedecls":{token:"keyword.$0",next:"@root.$0"},end:{token:"keyword.$S2",next:"@pop"},"@keywords":"keyword","@builtins":"predefined","@default":"identifier"}}],[/[A-Z][\w]*[!?=]?/,"constructor.identifier"],[/\$[\w]*/,"global.constant"],[/@[\w]*/,"namespace.instance.identifier"],[/@@@[\w]*/,"namespace.class.identifier"],[/<<[-~](@heredelim).*/,{token:"string.heredoc.delimiter",next:"@heredoc.$1"}],[/[ \t\r\n]+<<(@heredelim).*/,{token:"string.heredoc.delimiter",next:"@heredoc.$1"}],[/^<<(@heredelim).*/,{token:"string.heredoc.delimiter",next:"@heredoc.$1"}],{include:"@whitespace"},[/"/,{token:"string.d.delim",next:'@dstring.d."'}],[/'/,{token:"string.sq.delim",next:"@sstring.sq"}],[/%([rsqxwW]|Q?)/,{token:"@rematch",next:"pstring"}],[/`/,{token:"string.x.delim",next:"@dstring.x.`"}],[/:(\w|[$@])\w*[!?=]?/,"string.s"],[/:"/,{token:"string.s.delim",next:'@dstring.s."'}],[/:'/,{token:"string.s.delim",next:"@sstring.s"}],[/\/(?=(\\\/|[^\/\n])+\/)/,{token:"regexp.delim",next:"@regexp"}],[/[{}()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@keywordops":"keyword","@operators":"operator","@default":""}}],[/[;,]/,"delimiter"],[/0[xX][0-9a-fA-F](_?[0-9a-fA-F])*/,"number.hex"],[/0[_oO][0-7](_?[0-7])*/,"number.octal"],[/0[bB][01](_?[01])*/,"number.binary"],[/0[dD]@decpart/,"number"],[/@decimal((\.@decpart)?([eE][\-+]?@decpart)?)/,{cases:{$1:"number.float","@default":"number"}}]],dodecl:[[/^/,{token:"",switchTo:"@root.$S2"}],[/[a-z_]\w*[!?=]?/,{cases:{end:{token:"keyword.$S2",next:"@pop"},do:{token:"keyword",switchTo:"@root.$S2"},"@linedecls":{token:"@rematch",switchTo:"@root.$S2"},"@keywords":"keyword","@builtins":"predefined","@default":"identifier"}}],{include:"@root"}],modifier:[[/^/,"","@pop"],[/[a-z_]\w*[!?=]?/,{cases:{end:{token:"keyword.$S2",next:"@pop"},"then|else|elsif|do":{token:"keyword",switchTo:"@root.$S2"},"@linedecls":{token:"@rematch",switchTo:"@root.$S2"},"@keywords":"keyword","@builtins":"predefined","@default":"identifier"}}],{include:"@root"}],sstring:[[/[^\\']+/,"string.$S2"],[/\\\\|\\'|\\$/,"string.$S2.escape"],[/\\./,"string.$S2.invalid"],[/'/,{token:"string.$S2.delim",next:"@pop"}]],dstring:[[/[^\\`"#]+/,"string.$S2"],[/#/,"string.$S2.escape","@interpolated"],[/\\$/,"string.$S2.escape"],[/@escapes/,"string.$S2.escape"],[/\\./,"string.$S2.escape.invalid"],[/[`"]/,{cases:{"$#==$S3":{token:"string.$S2.delim",next:"@pop"},"@default":"string.$S2"}}]],heredoc:[[/^(\s*)(@heredelim)$/,{cases:{"$2==$S2":["string.heredoc",{token:"string.heredoc.delimiter",next:"@pop"}],"@default":["string.heredoc","string.heredoc"]}}],[/.*/,"string.heredoc"]],interpolated:[[/\$\w*/,"global.constant","@pop"],[/@\w*/,"namespace.class.identifier","@pop"],[/@@@\w*/,"namespace.instance.identifier","@pop"],[/[{]/,{token:"string.escape.curly",switchTo:"@interpolated_compound"}],["","","@pop"]],interpolated_compound:[[/[}]/,{token:"string.escape.curly",next:"@pop"}],{include:"@root"}],pregexp:[{include:"@whitespace"},[/[^\(\{\[\\]/,{cases:{"$#==$S3":{token:"regexp.delim",next:"@pop"},"$#==$S2":{token:"regexp.delim",next:"@push"},"~[)}\\]]":"@brackets.regexp.escape.control","~@regexpctl":"regexp.escape.control","@default":"regexp"}}],{include:"@regexcontrol"}],regexp:[{include:"@regexcontrol"},[/[^\\\/]/,"regexp"],["/[ixmp]*",{token:"regexp.delim"},"@pop"]],regexcontrol:[[/(\{)(\d+(?:,\d*)?)(\})/,["@brackets.regexp.escape.control","regexp.escape.control","@brackets.regexp.escape.control"]],[/(\[)(\^?)/,["@brackets.regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?[:=!])/,["@brackets.regexp.escape.control","regexp.escape.control"]],[/\(\?#/,{token:"regexp.escape.control",next:"@regexpcomment"}],[/[()]/,"@brackets.regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/\\$/,"regexp.escape"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],[/#/,"regexp.escape","@interpolated"]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/\\$/,"regexp.escape"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,"@brackets.regexp.escape.control","@pop"]],regexpcomment:[[/[^)]+/,"comment"],[/\)/,{token:"regexp.escape.control",next:"@pop"}]],pstring:[[/%([qws])\(/,{token:"string.$1.delim",switchTo:"@qstring.$1.(.)"}],[/%([qws])\[/,{token:"string.$1.delim",switchTo:"@qstring.$1.[.]"}],[/%([qws])\{/,{token:"string.$1.delim",switchTo:"@qstring.$1.{.}"}],[/%([qws])</,{token:"string.$1.delim",switchTo:"@qstring.$1.<.>"}],[/%([qws])(@delim)/,{token:"string.$1.delim",switchTo:"@qstring.$1.$2.$2"}],[/%r\(/,{token:"regexp.delim",switchTo:"@pregexp.(.)"}],[/%r\[/,{token:"regexp.delim",switchTo:"@pregexp.[.]"}],[/%r\{/,{token:"regexp.delim",switchTo:"@pregexp.{.}"}],[/%r</,{token:"regexp.delim",switchTo:"@pregexp.<.>"}],[/%r(@delim)/,{token:"regexp.delim",switchTo:"@pregexp.$1.$1"}],[/%(x|W|Q?)\(/,{token:"string.$1.delim",switchTo:"@qqstring.$1.(.)"}],[/%(x|W|Q?)\[/,{token:"string.$1.delim",switchTo:"@qqstring.$1.[.]"}],[/%(x|W|Q?)\{/,{token:"string.$1.delim",switchTo:"@qqstring.$1.{.}"}],[/%(x|W|Q?)</,{token:"string.$1.delim",switchTo:"@qqstring.$1.<.>"}],[/%(x|W|Q?)(@delim)/,{token:"string.$1.delim",switchTo:"@qqstring.$1.$2.$2"}],[/%([rqwsxW]|Q?)./,{token:"invalid",next:"@pop"}],[/./,{token:"invalid",next:"@pop"}]],qstring:[[/\\$/,"string.$S2.escape"],[/\\./,"string.$S2.escape"],[/./,{cases:{"$#==$S4":{token:"string.$S2.delim",next:"@pop"},"$#==$S3":{token:"string.$S2.delim",next:"@push"},"@default":"string.$S2"}}]],qqstring:[[/#/,"string.$S2.escape","@interpolated"],{include:"@qstring"}],whitespace:[[/[ \t\r\n]+/,""],[/^\s*=begin\b/,"comment","@comment"],[/#.*$/,"comment"]],comment:[[/[^=]+/,"comment"],[/^\s*=begin\b/,"comment.invalid"],[/^\s*=end\b.*/,"comment","@pop"],[/[=]/,"comment"]]}}}});var rust_exports={};__export(rust_exports,{conf:()=>conf61,language:()=>language62});var conf61,language62;var init_rust=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/rust/rust.js"(){conf61={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#pragma\\s+region\\b"),end:new RegExp("^\\s*#pragma\\s+endregion\\b")}}};language62={tokenPostfix:".rust",defaultToken:"invalid",keywords:["as","async","await","box","break","const","continue","crate","dyn","else","enum","extern","false","fn","for","if","impl","in","let","loop","match","mod","move","mut","pub","ref","return","self","static","struct","super","trait","true","try","type","unsafe","use","where","while","catch","default","union","static","abstract","alignof","become","do","final","macro","offsetof","override","priv","proc","pure","sizeof","typeof","unsized","virtual","yield"],typeKeywords:["Self","m32","m64","m128","f80","f16","f128","int","uint","float","char","bool","u8","u16","u32","u64","f32","f64","i8","i16","i32","i64","str","Option","Either","c_float","c_double","c_void","FILE","fpos_t","DIR","dirent","c_char","c_schar","c_uchar","c_short","c_ushort","c_int","c_uint","c_long","c_ulong","size_t","ptrdiff_t","clock_t","time_t","c_longlong","c_ulonglong","intptr_t","uintptr_t","off_t","dev_t","ino_t","pid_t","mode_t","ssize_t"],constants:["true","false","Some","None","Left","Right","Ok","Err"],supportConstants:["EXIT_FAILURE","EXIT_SUCCESS","RAND_MAX","EOF","SEEK_SET","SEEK_CUR","SEEK_END","_IOFBF","_IONBF","_IOLBF","BUFSIZ","FOPEN_MAX","FILENAME_MAX","L_tmpnam","TMP_MAX","O_RDONLY","O_WRONLY","O_RDWR","O_APPEND","O_CREAT","O_EXCL","O_TRUNC","S_IFIFO","S_IFCHR","S_IFBLK","S_IFDIR","S_IFREG","S_IFMT","S_IEXEC","S_IWRITE","S_IREAD","S_IRWXU","S_IXUSR","S_IWUSR","S_IRUSR","F_OK","R_OK","W_OK","X_OK","STDIN_FILENO","STDOUT_FILENO","STDERR_FILENO"],supportMacros:["format!","print!","println!","panic!","format_args!","unreachable!","write!","writeln!"],operators:["!","!=","%","%=","&","&=","&&","*","*=","+","+=","-","-=","->",".","..","...","/","/=",":",";","<<","<<=","<","<=","=","==","=>",">",">=",">>",">>=","@","^","^=","|","|=","||","_","?","#"],escapes:/\\([nrt0\"''\\]|x\h{2}|u\{\h{1,6}\})/,delimiters:/[,]/,symbols:/[\#\!\%\&\*\+\-\.\/\:\;\<\=\>\@\^\|_\?]+/,intSuffixes:/[iu](8|16|32|64|128|size)/,floatSuffixes:/f(32|64)/,tokenizer:{root:[[/r(#*)"/,{token:"string.quote",bracket:"@open",next:"@stringraw.$1"}],[/[a-zA-Z][a-zA-Z0-9_]*!?|_[a-zA-Z0-9_]+/,{cases:{"@typeKeywords":"keyword.type","@keywords":"keyword","@supportConstants":"keyword","@supportMacros":"keyword","@constants":"keyword","@default":"identifier"}}],[/\$/,"identifier"],[/'[a-zA-Z_][a-zA-Z0-9_]*(?=[^\'])/,"identifier"],[/'(\S|@escapes)'/,"string.byteliteral"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}],{include:"@numbers"},{include:"@whitespace"},[/@delimiters/,{cases:{"@keywords":"keyword","@default":"delimiter"}}],[/[{}()\[\]<>]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@push"],["\\*/","comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],stringraw:[[/[^"#]+/,{token:"string"}],[/"(#*)/,{cases:{"$1==$S2":{token:"string.quote",bracket:"@close",next:"@pop"},"@default":{token:"string"}}}],[/["#]/,{token:"string"}]],numbers:[[/(0o[0-7_]+)(@intSuffixes)?/,{token:"number"}],[/(0b[0-1_]+)(@intSuffixes)?/,{token:"number"}],[/[\d][\d_]*(\.[\d][\d_]*)?[eE][+-][\d_]+(@floatSuffixes)?/,{token:"number"}],[/\b(\d\.?[\d_]*)(@floatSuffixes)?\b/,{token:"number"}],[/(0x[\da-fA-F]+)_?(@intSuffixes)?/,{token:"number"}],[/[\d][\d_]*(@intSuffixes?)?/,{token:"number"}]]}}}});var sb_exports={};__export(sb_exports,{conf:()=>conf62,language:()=>language63});var conf62,language63;var init_sb=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/sb/sb.js"(){conf62={comments:{lineComment:"'"},brackets:[["(",")"],["[","]"],["If","EndIf"],["While","EndWhile"],["For","EndFor"],["Sub","EndSub"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]}]};language63={defaultToken:"",tokenPostfix:".sb",ignoreCase:true,brackets:[{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"keyword.tag-if",open:"If",close:"EndIf"},{token:"keyword.tag-while",open:"While",close:"EndWhile"},{token:"keyword.tag-for",open:"For",close:"EndFor"},{token:"keyword.tag-sub",open:"Sub",close:"EndSub"}],keywords:["Else","ElseIf","EndFor","EndIf","EndSub","EndWhile","For","Goto","If","Step","Sub","Then","To","While"],tagwords:["If","Sub","While","For"],operators:[">","<","<>","<=",">=","And","Or","+","-","*","/","="],identifier:/[a-zA-Z_][\w]*/,symbols:/[=><:+\-*\/%\.,]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[{include:"@whitespace"},[/(@identifier)(?=[.])/,"type"],[/@identifier/,{cases:{"@keywords":{token:"keyword.$0"},"@operators":"operator","@default":"variable.name"}}],[/([.])(@identifier)/,{cases:{$2:["delimiter","type.member"],"@default":""}}],[/\d*\.\d+/,"number.float"],[/\d+/,"number"],[/[()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":"delimiter"}}],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"]],whitespace:[[/[ \t\r\n]+/,""],[/(\').*$/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"C?/,"string","@pop"]]}}}});var scala_exports={};__export(scala_exports,{conf:()=>conf63,language:()=>language64});var conf63,language64;var init_scala=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/scala/scala.js"(){conf63={wordPattern:/(unary_[@~!#%^&*()\-=+\\|:<>\/?]+)|([a-zA-Z_$][\w$]*?_=)|(`[^`]+`)|([a-zA-Z_$][\w$]*)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),end:new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")}}};language64={tokenPostfix:".scala",keywords:["asInstanceOf","catch","class","classOf","def","do","else","extends","finally","for","foreach","forSome","if","import","isInstanceOf","macro","match","new","object","package","return","throw","trait","try","type","until","val","var","while","with","yield","given","enum","then"],softKeywords:["as","export","extension","end","derives","on"],constants:["true","false","null","this","super"],modifiers:["abstract","final","implicit","lazy","override","private","protected","sealed"],softModifiers:["inline","opaque","open","transparent","using"],name:/(?:[a-z_$][\w$]*|`[^`]+`)/,type:/(?:[A-Z][\w$]*)/,symbols:/[=><!~?:&|+\-*\/^\\%@#]+/,digits:/\d+(_+\d+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,escapes:/\\(?:[btnfr\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,fstring_conv:/[bBhHsScCdoxXeEfgGaAt]|[Tn](?:[HIklMSLNpzZsQ]|[BbhAaCYyjmde]|[RTrDFC])/,tokenizer:{root:[[/\braw"""/,{token:"string.quote",bracket:"@open",next:"@rawstringt"}],[/\braw"/,{token:"string.quote",bracket:"@open",next:"@rawstring"}],[/\bs"""/,{token:"string.quote",bracket:"@open",next:"@sstringt"}],[/\bs"/,{token:"string.quote",bracket:"@open",next:"@sstring"}],[/\bf""""/,{token:"string.quote",bracket:"@open",next:"@fstringt"}],[/\bf"/,{token:"string.quote",bracket:"@open",next:"@fstring"}],[/"""/,{token:"string.quote",bracket:"@open",next:"@stringt"}],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float","@allowMethod"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float","@allowMethod"],[/0[xX](@hexdigits)[Ll]?/,"number.hex","@allowMethod"],[/(@digits)[fFdD]/,"number.float","@allowMethod"],[/(@digits)[lL]?/,"number","@allowMethod"],[/\b_\*/,"key"],[/\b(_)\b/,"keyword","@allowMethod"],[/\bimport\b/,"keyword","@import"],[/\b(case)([ \t]+)(class)\b/,["keyword.modifier","white","keyword"]],[/\bcase\b/,"keyword","@case"],[/\bva[lr]\b/,"keyword","@vardef"],[/\b(def)([ \t]+)((?:unary_)?@symbols|@name(?:_=)|@name)/,["keyword","white","identifier"]],[/@name(?=[ \t]*:(?!:))/,"variable"],[/(\.)(@name|@symbols)/,["operator",{token:"@rematch",next:"@allowMethod"}]],[/([{(])(\s*)(@name(?=\s*=>))/,["@brackets","white","variable"]],[/@name/,{cases:{"@keywords":"keyword","@softKeywords":"keyword","@modifiers":"keyword.modifier","@softModifiers":"keyword.modifier","@constants":{token:"constant",next:"@allowMethod"},"@default":{token:"identifier",next:"@allowMethod"}}}],[/@type/,"type","@allowMethod"],{include:"@whitespace"},[/@[a-zA-Z_$][\w$]*(?:\.[a-zA-Z_$][\w$]*)*/,"annotation"],[/[{(]/,"@brackets"],[/[})]/,"@brackets","@allowMethod"],[/\[/,"operator.square"],[/](?!\s*(?:va[rl]|def|type)\b)/,"operator.square","@allowMethod"],[/]/,"operator.square"],[/([=-]>|<-|>:|<:|:>|<%)(?=[\s\w()[\]{},\."'`])/,"keyword"],[/@symbols/,"operator"],[/[;,\.]/,"delimiter"],[/'[a-zA-Z$][\w$]*(?!')/,"attribute.name"],[/'[^\\']'/,"string","@allowMethod"],[/(')(@escapes)(')/,["string","string.escape",{token:"string",next:"@allowMethod"}]],[/'/,"string.invalid"]],import:[[/;/,"delimiter","@pop"],[/^|$/,"","@pop"],[/[ \t]+/,"white"],[/[\n\r]+/,"white","@pop"],[/\/\*/,"comment","@comment"],[/@name|@type/,"type"],[/[(){}]/,"@brackets"],[/[[\]]/,"operator.square"],[/[\.,]/,"delimiter"]],allowMethod:[[/^|$/,"","@pop"],[/[ \t]+/,"white"],[/[\n\r]+/,"white","@pop"],[/\/\*/,"comment","@comment"],[/(?==>[\s\w([{])/,"keyword","@pop"],[/(@name|@symbols)(?=[ \t]*[[({"'`]|[ \t]+(?:[+-]?\.?\d|\w))/,{cases:{"@keywords":{token:"keyword",next:"@pop"},"->|<-|>:|<:|<%":{token:"keyword",next:"@pop"},"@default":{token:"@rematch",next:"@pop"}}}],["","","@pop"]],comment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@push"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],case:[[/\b_\*/,"key"],[/\b(_|true|false|null|this|super)\b/,"keyword","@allowMethod"],[/\bif\b|=>/,"keyword","@pop"],[/`[^`]+`/,"identifier","@allowMethod"],[/@name/,"variable","@allowMethod"],[/:::?|\||@(?![a-z_$])/,"keyword"],{include:"@root"}],vardef:[[/\b_\*/,"key"],[/\b(_|true|false|null|this|super)\b/,"keyword"],[/@name/,"variable"],[/:::?|\||@(?![a-z_$])/,"keyword"],[/=|:(?!:)/,"operator","@pop"],[/$/,"white","@pop"],{include:"@root"}],string:[[/[^\\"\n\r]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}]],stringt:[[/[^\\"\n\r]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"(?=""")/,"string"],[/"""/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}],[/"/,"string"]],fstring:[[/@escapes/,"string.escape"],[/"/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}],[/\$\$/,"string"],[/(\$)([a-z_]\w*)/,["operator","identifier"]],[/\$\{/,"operator","@interp"],[/%%/,"string"],[/(%)([\-#+ 0,(])(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/,["metatag","keyword.modifier","number","metatag"]],[/(%)(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/,["metatag","number","metatag"]],[/(%)([\-#+ 0,(])(@fstring_conv)/,["metatag","keyword.modifier","metatag"]],[/(%)(@fstring_conv)/,["metatag","metatag"]],[/./,"string"]],fstringt:[[/@escapes/,"string.escape"],[/"(?=""")/,"string"],[/"""/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}],[/\$\$/,"string"],[/(\$)([a-z_]\w*)/,["operator","identifier"]],[/\$\{/,"operator","@interp"],[/%%/,"string"],[/(%)([\-#+ 0,(])(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/,["metatag","keyword.modifier","number","metatag"]],[/(%)(\d+|\.\d+|\d+\.\d+)(@fstring_conv)/,["metatag","number","metatag"]],[/(%)([\-#+ 0,(])(@fstring_conv)/,["metatag","keyword.modifier","metatag"]],[/(%)(@fstring_conv)/,["metatag","metatag"]],[/./,"string"]],sstring:[[/@escapes/,"string.escape"],[/"/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}],[/\$\$/,"string"],[/(\$)([a-z_]\w*)/,["operator","identifier"]],[/\$\{/,"operator","@interp"],[/./,"string"]],sstringt:[[/@escapes/,"string.escape"],[/"(?=""")/,"string"],[/"""/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}],[/\$\$/,"string"],[/(\$)([a-z_]\w*)/,["operator","identifier"]],[/\$\{/,"operator","@interp"],[/./,"string"]],interp:[[/{/,"operator","@push"],[/}/,"operator","@pop"],{include:"@root"}],rawstring:[[/[^"]/,"string"],[/"/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}]],rawstringt:[[/[^"]/,"string"],[/"(?=""")/,"string"],[/"""/,{token:"string.quote",bracket:"@close",switchTo:"@allowMethod"}],[/"/,"string"]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}}}});var scheme_exports={};__export(scheme_exports,{conf:()=>conf64,language:()=>language65});var conf64,language65;var init_scheme=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/scheme/scheme.js"(){conf64={comments:{lineComment:";",blockComment:["#|","|#"]},brackets:[["(",")"],["{","}"],["[","]"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}]};language65={defaultToken:"",ignoreCase:true,tokenPostfix:".scheme",brackets:[{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"}],keywords:["case","do","let","loop","if","else","when","cons","car","cdr","cond","lambda","lambda*","syntax-rules","format","set!","quote","eval","append","list","list?","member?","load"],constants:["#t","#f"],operators:["eq?","eqv?","equal?","and","or","not","null?"],tokenizer:{root:[[/#[xXoObB][0-9a-fA-F]+/,"number.hex"],[/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?/,"number.float"],[/(?:\b(?:(define|define-syntax|define-macro))\b)(\s+)((?:\w|\-|\!|\?)*)/,["keyword","white","variable"]],{include:"@whitespace"},{include:"@strings"},[/[a-zA-Z_#][a-zA-Z0-9_\-\?\!\*]*/,{cases:{"@keywords":"keyword","@constants":"constant","@operators":"operators","@default":"identifier"}}]],comment:[[/[^\|#]+/,"comment"],[/#\|/,"comment","@push"],[/\|#/,"comment","@pop"],[/[\|#]/,"comment"]],whitespace:[[/[ \t\r\n]+/,"white"],[/#\|/,"comment","@comment"],[/;.*$/,"comment"]],strings:[[/"$/,"string","@popall"],[/"(?=.)/,"string","@multiLineString"]],multiLineString:[[/[^\\"]+$/,"string","@popall"],[/[^\\"]+/,"string"],[/\\./,"string.escape"],[/"/,"string","@popall"],[/\\$/,"string"]]}}}});var scss_exports={};__export(scss_exports,{conf:()=>conf65,language:()=>language66});var conf65,language66;var init_scss=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/scss/scss.js"(){conf65={wordPattern:/(#?-?\d*\.\d\w*%?)|([@$#!.:]?[\w-?]+%?)|[@#!.]/g,comments:{blockComment:["/*","*/"],lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}};language66={defaultToken:"",tokenPostfix:".scss",ws:"[ \t\n\r\f]*",identifier:"-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{root:[{include:"@selector"}],selector:[{include:"@comments"},{include:"@import"},{include:"@variabledeclaration"},{include:"@warndebug"},["[@](include)",{token:"keyword",next:"@includedeclaration"}],["[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)",{token:"keyword",next:"@keyframedeclaration"}],["[@](page|content|font-face|-moz-document)",{token:"keyword"}],["[@](charset|namespace)",{token:"keyword",next:"@declarationbody"}],["[@](function)",{token:"keyword",next:"@functiondeclaration"}],["[@](mixin)",{token:"keyword",next:"@mixindeclaration"}],["url(\\-prefix)?\\(",{token:"meta",next:"@urldeclaration"}],{include:"@controlstatement"},{include:"@selectorname"},["[&\\*]","tag"],["[>\\+,]","delimiter"],["\\[",{token:"delimiter.bracket",next:"@selectorattribute"}],["{",{token:"delimiter.curly",next:"@selectorbody"}]],selectorbody:[["[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))","attribute.name","@rulevalue"],{include:"@selector"},["[@](extend)",{token:"keyword",next:"@extendbody"}],["[@](return)",{token:"keyword",next:"@declarationbody"}],["}",{token:"delimiter.curly",next:"@pop"}]],selectorname:[["#{",{token:"meta",next:"@variableinterpolation"}],["(\\.|#(?=[^{])|%|(@identifier)|:)+","tag"]],selectorattribute:[{include:"@term"},["]",{token:"delimiter.bracket",next:"@pop"}]],term:[{include:"@comments"},["url(\\-prefix)?\\(",{token:"meta",next:"@urldeclaration"}],{include:"@functioninvocation"},{include:"@numbers"},{include:"@strings"},{include:"@variablereference"},["(and\\b|or\\b|not\\b)","operator"],{include:"@name"},["([<>=\\+\\-\\*\\/\\^\\|\\~,])","operator"],[",","delimiter"],["!default","literal"],["\\(",{token:"delimiter.parenthesis",next:"@parenthizedterm"}]],rulevalue:[{include:"@term"},["!important","literal"],[";","delimiter","@pop"],["{",{token:"delimiter.curly",switchTo:"@nestedproperty"}],["(?=})",{token:"",next:"@pop"}]],nestedproperty:[["[*_]?@identifier@ws:","attribute.name","@rulevalue"],{include:"@comments"},["}",{token:"delimiter.curly",next:"@pop"}]],warndebug:[["[@](warn|debug)",{token:"keyword",next:"@declarationbody"}]],import:[["[@](import)",{token:"keyword",next:"@declarationbody"}]],variabledeclaration:[["\\$@identifier@ws:","variable.decl","@declarationbody"]],urldeclaration:[{include:"@strings"},["[^)\r\n]+","string"],["\\)",{token:"meta",next:"@pop"}]],parenthizedterm:[{include:"@term"},["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],declarationbody:[{include:"@term"},[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],extendbody:[{include:"@selectorname"},["!optional","literal"],[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],variablereference:[["\\$@identifier","variable.ref"],["\\.\\.\\.","operator"],["#{",{token:"meta",next:"@variableinterpolation"}]],variableinterpolation:[{include:"@variablereference"},["}",{token:"meta",next:"@pop"}]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[".","comment"]],name:[["@identifier","attribute.value"]],numbers:[["(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","number.hex"]],units:[["(em|ex|ch|rem|fr|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","number","@pop"]],functiondeclaration:[["@identifier@ws\\(",{token:"meta",next:"@parameterdeclaration"}],["{",{token:"delimiter.curly",switchTo:"@functionbody"}]],mixindeclaration:[["@identifier@ws\\(",{token:"meta",next:"@parameterdeclaration"}],["@identifier","meta"],["{",{token:"delimiter.curly",switchTo:"@selectorbody"}]],parameterdeclaration:[["\\$@identifier@ws:","variable.decl"],["\\.\\.\\.","operator"],[",","delimiter"],{include:"@term"},["\\)",{token:"meta",next:"@pop"}]],includedeclaration:[{include:"@functioninvocation"},["@identifier","meta"],[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}],["{",{token:"delimiter.curly",switchTo:"@selectorbody"}]],keyframedeclaration:[["@identifier","meta"],["{",{token:"delimiter.curly",switchTo:"@keyframebody"}]],keyframebody:[{include:"@term"},["{",{token:"delimiter.curly",next:"@selectorbody"}],["}",{token:"delimiter.curly",next:"@pop"}]],controlstatement:[["[@](if|else|for|while|each|media)",{token:"keyword.flow",next:"@controlstatementdeclaration"}]],controlstatementdeclaration:[["(in|from|through|if|to)\\b",{token:"keyword.flow"}],{include:"@term"},["{",{token:"delimiter.curly",switchTo:"@selectorbody"}]],functionbody:[["[@](return)",{token:"keyword"}],{include:"@variabledeclaration"},{include:"@term"},{include:"@controlstatement"},[";","delimiter"],["}",{token:"delimiter.curly",next:"@pop"}]],functioninvocation:[["@identifier\\(",{token:"meta",next:"@functionarguments"}]],functionarguments:[["\\$@identifier@ws:","attribute.name"],["[,]","delimiter"],{include:"@term"},["\\)",{token:"meta",next:"@pop"}]],strings:[['~?"',{token:"string.delimiter",next:"@stringenddoublequote"}],["~?'",{token:"string.delimiter",next:"@stringendquote"}]],stringenddoublequote:[["\\\\.","string"],['"',{token:"string.delimiter",next:"@pop"}],[".","string"]],stringendquote:[["\\\\.","string"],["'",{token:"string.delimiter",next:"@pop"}],[".","string"]]}}}});var shell_exports={};__export(shell_exports,{conf:()=>conf66,language:()=>language67});var conf66,language67;var init_shell=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/shell/shell.js"(){conf66={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}]};language67={defaultToken:"",ignoreCase:true,tokenPostfix:".shell",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["if","then","do","else","elif","while","until","for","in","esac","fi","fin","fil","done","exit","set","unset","export","function"],builtins:["ab","awk","bash","beep","cat","cc","cd","chown","chmod","chroot","clear","cp","curl","cut","diff","echo","find","gawk","gcc","get","git","grep","hg","kill","killall","ln","ls","make","mkdir","openssl","mv","nc","node","npm","ping","ps","restart","rm","rmdir","sed","service","sh","shopt","shred","source","sort","sleep","ssh","start","stop","su","sudo","svn","tee","telnet","top","touch","vi","vim","wall","wc","wget","who","write","yes","zsh"],startingWithDash:/\-+\w+/,identifiersWithDashes:/[a-zA-Z]\w+(?:@startingWithDash)+/,symbols:/[=><!~?&|+\-*\/\^;\.,]+/,tokenizer:{root:[[/@identifiersWithDashes/,""],[/(\s)((?:@startingWithDash)+)/,["white","attribute.name"]],[/[a-zA-Z]\w*/,{cases:{"@keywords":"keyword","@builtins":"type.identifier","@default":""}}],{include:"@whitespace"},{include:"@strings"},{include:"@parameters"},{include:"@heredoc"},[/[{}\[\]()]/,"@brackets"],[/@symbols/,"delimiter"],{include:"@numbers"},[/[,;]/,"delimiter"]],whitespace:[[/\s+/,"white"],[/(^#!.*$)/,"metatag"],[/(^#.*$)/,"comment"]],numbers:[[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/,"number.hex"],[/\d+/,"number"]],strings:[[/'/,"string","@stringBody"],[/"/,"string","@dblStringBody"]],stringBody:[[/'/,"string","@popall"],[/./,"string"]],dblStringBody:[[/"/,"string","@popall"],[/./,"string"]],heredoc:[[/(<<[-<]?)(\s*)(['"`]?)([\w\-]+)(['"`]?)/,["constants","white","string.heredoc.delimiter","string.heredoc","string.heredoc.delimiter"]]],parameters:[[/\$\d+/,"variable.predefined"],[/\$\w+/,"variable"],[/\$[*@#?\-$!0_]/,"variable"],[/\$'/,"variable","@parameterBodyQuote"],[/\$"/,"variable","@parameterBodyDoubleQuote"],[/\$\(/,"variable","@parameterBodyParen"],[/\$\{/,"variable","@parameterBodyCurlyBrace"]],parameterBodyQuote:[[/[^#:%*@\-!_']+/,"variable"],[/[#:%*@\-!_]/,"delimiter"],[/[']/,"variable","@pop"]],parameterBodyDoubleQuote:[[/[^#:%*@\-!_"]+/,"variable"],[/[#:%*@\-!_]/,"delimiter"],[/["]/,"variable","@pop"]],parameterBodyParen:[[/[^#:%*@\-!_)]+/,"variable"],[/[#:%*@\-!_]/,"delimiter"],[/[)]/,"variable","@pop"]],parameterBodyCurlyBrace:[[/[^#:%*@\-!_}]+/,"variable"],[/[#:%*@\-!_]/,"delimiter"],[/[}]/,"variable","@pop"]]}}}});var solidity_exports={};__export(solidity_exports,{conf:()=>conf67,language:()=>language68});var conf67,language68;var init_solidity=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/solidity/solidity.js"(){conf67={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}]};language68={defaultToken:"",tokenPostfix:".sol",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.angle",open:"<",close:">"}],keywords:["pragma","solidity","contract","library","using","struct","function","modifier","constructor","address","string","bool","Int","Uint","Byte","Fixed","Ufixed","int","int8","int16","int24","int32","int40","int48","int56","int64","int72","int80","int88","int96","int104","int112","int120","int128","int136","int144","int152","int160","int168","int176","int184","int192","int200","int208","int216","int224","int232","int240","int248","int256","uint","uint8","uint16","uint24","uint32","uint40","uint48","uint56","uint64","uint72","uint80","uint88","uint96","uint104","uint112","uint120","uint128","uint136","uint144","uint152","uint160","uint168","uint176","uint184","uint192","uint200","uint208","uint216","uint224","uint232","uint240","uint248","uint256","byte","bytes","bytes1","bytes2","bytes3","bytes4","bytes5","bytes6","bytes7","bytes8","bytes9","bytes10","bytes11","bytes12","bytes13","bytes14","bytes15","bytes16","bytes17","bytes18","bytes19","bytes20","bytes21","bytes22","bytes23","bytes24","bytes25","bytes26","bytes27","bytes28","bytes29","bytes30","bytes31","bytes32","fixed","fixed0x8","fixed0x16","fixed0x24","fixed0x32","fixed0x40","fixed0x48","fixed0x56","fixed0x64","fixed0x72","fixed0x80","fixed0x88","fixed0x96","fixed0x104","fixed0x112","fixed0x120","fixed0x128","fixed0x136","fixed0x144","fixed0x152","fixed0x160","fixed0x168","fixed0x176","fixed0x184","fixed0x192","fixed0x200","fixed0x208","fixed0x216","fixed0x224","fixed0x232","fixed0x240","fixed0x248","fixed0x256","fixed8x8","fixed8x16","fixed8x24","fixed8x32","fixed8x40","fixed8x48","fixed8x56","fixed8x64","fixed8x72","fixed8x80","fixed8x88","fixed8x96","fixed8x104","fixed8x112","fixed8x120","fixed8x128","fixed8x136","fixed8x144","fixed8x152","fixed8x160","fixed8x168","fixed8x176","fixed8x184","fixed8x192","fixed8x200","fixed8x208","fixed8x216","fixed8x224","fixed8x232","fixed8x240","fixed8x248","fixed16x8","fixed16x16","fixed16x24","fixed16x32","fixed16x40","fixed16x48","fixed16x56","fixed16x64","fixed16x72","fixed16x80","fixed16x88","fixed16x96","fixed16x104","fixed16x112","fixed16x120","fixed16x128","fixed16x136","fixed16x144","fixed16x152","fixed16x160","fixed16x168","fixed16x176","fixed16x184","fixed16x192","fixed16x200","fixed16x208","fixed16x216","fixed16x224","fixed16x232","fixed16x240","fixed24x8","fixed24x16","fixed24x24","fixed24x32","fixed24x40","fixed24x48","fixed24x56","fixed24x64","fixed24x72","fixed24x80","fixed24x88","fixed24x96","fixed24x104","fixed24x112","fixed24x120","fixed24x128","fixed24x136","fixed24x144","fixed24x152","fixed24x160","fixed24x168","fixed24x176","fixed24x184","fixed24x192","fixed24x200","fixed24x208","fixed24x216","fixed24x224","fixed24x232","fixed32x8","fixed32x16","fixed32x24","fixed32x32","fixed32x40","fixed32x48","fixed32x56","fixed32x64","fixed32x72","fixed32x80","fixed32x88","fixed32x96","fixed32x104","fixed32x112","fixed32x120","fixed32x128","fixed32x136","fixed32x144","fixed32x152","fixed32x160","fixed32x168","fixed32x176","fixed32x184","fixed32x192","fixed32x200","fixed32x208","fixed32x216","fixed32x224","fixed40x8","fixed40x16","fixed40x24","fixed40x32","fixed40x40","fixed40x48","fixed40x56","fixed40x64","fixed40x72","fixed40x80","fixed40x88","fixed40x96","fixed40x104","fixed40x112","fixed40x120","fixed40x128","fixed40x136","fixed40x144","fixed40x152","fixed40x160","fixed40x168","fixed40x176","fixed40x184","fixed40x192","fixed40x200","fixed40x208","fixed40x216","fixed48x8","fixed48x16","fixed48x24","fixed48x32","fixed48x40","fixed48x48","fixed48x56","fixed48x64","fixed48x72","fixed48x80","fixed48x88","fixed48x96","fixed48x104","fixed48x112","fixed48x120","fixed48x128","fixed48x136","fixed48x144","fixed48x152","fixed48x160","fixed48x168","fixed48x176","fixed48x184","fixed48x192","fixed48x200","fixed48x208","fixed56x8","fixed56x16","fixed56x24","fixed56x32","fixed56x40","fixed56x48","fixed56x56","fixed56x64","fixed56x72","fixed56x80","fixed56x88","fixed56x96","fixed56x104","fixed56x112","fixed56x120","fixed56x128","fixed56x136","fixed56x144","fixed56x152","fixed56x160","fixed56x168","fixed56x176","fixed56x184","fixed56x192","fixed56x200","fixed64x8","fixed64x16","fixed64x24","fixed64x32","fixed64x40","fixed64x48","fixed64x56","fixed64x64","fixed64x72","fixed64x80","fixed64x88","fixed64x96","fixed64x104","fixed64x112","fixed64x120","fixed64x128","fixed64x136","fixed64x144","fixed64x152","fixed64x160","fixed64x168","fixed64x176","fixed64x184","fixed64x192","fixed72x8","fixed72x16","fixed72x24","fixed72x32","fixed72x40","fixed72x48","fixed72x56","fixed72x64","fixed72x72","fixed72x80","fixed72x88","fixed72x96","fixed72x104","fixed72x112","fixed72x120","fixed72x128","fixed72x136","fixed72x144","fixed72x152","fixed72x160","fixed72x168","fixed72x176","fixed72x184","fixed80x8","fixed80x16","fixed80x24","fixed80x32","fixed80x40","fixed80x48","fixed80x56","fixed80x64","fixed80x72","fixed80x80","fixed80x88","fixed80x96","fixed80x104","fixed80x112","fixed80x120","fixed80x128","fixed80x136","fixed80x144","fixed80x152","fixed80x160","fixed80x168","fixed80x176","fixed88x8","fixed88x16","fixed88x24","fixed88x32","fixed88x40","fixed88x48","fixed88x56","fixed88x64","fixed88x72","fixed88x80","fixed88x88","fixed88x96","fixed88x104","fixed88x112","fixed88x120","fixed88x128","fixed88x136","fixed88x144","fixed88x152","fixed88x160","fixed88x168","fixed96x8","fixed96x16","fixed96x24","fixed96x32","fixed96x40","fixed96x48","fixed96x56","fixed96x64","fixed96x72","fixed96x80","fixed96x88","fixed96x96","fixed96x104","fixed96x112","fixed96x120","fixed96x128","fixed96x136","fixed96x144","fixed96x152","fixed96x160","fixed104x8","fixed104x16","fixed104x24","fixed104x32","fixed104x40","fixed104x48","fixed104x56","fixed104x64","fixed104x72","fixed104x80","fixed104x88","fixed104x96","fixed104x104","fixed104x112","fixed104x120","fixed104x128","fixed104x136","fixed104x144","fixed104x152","fixed112x8","fixed112x16","fixed112x24","fixed112x32","fixed112x40","fixed112x48","fixed112x56","fixed112x64","fixed112x72","fixed112x80","fixed112x88","fixed112x96","fixed112x104","fixed112x112","fixed112x120","fixed112x128","fixed112x136","fixed112x144","fixed120x8","fixed120x16","fixed120x24","fixed120x32","fixed120x40","fixed120x48","fixed120x56","fixed120x64","fixed120x72","fixed120x80","fixed120x88","fixed120x96","fixed120x104","fixed120x112","fixed120x120","fixed120x128","fixed120x136","fixed128x8","fixed128x16","fixed128x24","fixed128x32","fixed128x40","fixed128x48","fixed128x56","fixed128x64","fixed128x72","fixed128x80","fixed128x88","fixed128x96","fixed128x104","fixed128x112","fixed128x120","fixed128x128","fixed136x8","fixed136x16","fixed136x24","fixed136x32","fixed136x40","fixed136x48","fixed136x56","fixed136x64","fixed136x72","fixed136x80","fixed136x88","fixed136x96","fixed136x104","fixed136x112","fixed136x120","fixed144x8","fixed144x16","fixed144x24","fixed144x32","fixed144x40","fixed144x48","fixed144x56","fixed144x64","fixed144x72","fixed144x80","fixed144x88","fixed144x96","fixed144x104","fixed144x112","fixed152x8","fixed152x16","fixed152x24","fixed152x32","fixed152x40","fixed152x48","fixed152x56","fixed152x64","fixed152x72","fixed152x80","fixed152x88","fixed152x96","fixed152x104","fixed160x8","fixed160x16","fixed160x24","fixed160x32","fixed160x40","fixed160x48","fixed160x56","fixed160x64","fixed160x72","fixed160x80","fixed160x88","fixed160x96","fixed168x8","fixed168x16","fixed168x24","fixed168x32","fixed168x40","fixed168x48","fixed168x56","fixed168x64","fixed168x72","fixed168x80","fixed168x88","fixed176x8","fixed176x16","fixed176x24","fixed176x32","fixed176x40","fixed176x48","fixed176x56","fixed176x64","fixed176x72","fixed176x80","fixed184x8","fixed184x16","fixed184x24","fixed184x32","fixed184x40","fixed184x48","fixed184x56","fixed184x64","fixed184x72","fixed192x8","fixed192x16","fixed192x24","fixed192x32","fixed192x40","fixed192x48","fixed192x56","fixed192x64","fixed200x8","fixed200x16","fixed200x24","fixed200x32","fixed200x40","fixed200x48","fixed200x56","fixed208x8","fixed208x16","fixed208x24","fixed208x32","fixed208x40","fixed208x48","fixed216x8","fixed216x16","fixed216x24","fixed216x32","fixed216x40","fixed224x8","fixed224x16","fixed224x24","fixed224x32","fixed232x8","fixed232x16","fixed232x24","fixed240x8","fixed240x16","fixed248x8","ufixed","ufixed0x8","ufixed0x16","ufixed0x24","ufixed0x32","ufixed0x40","ufixed0x48","ufixed0x56","ufixed0x64","ufixed0x72","ufixed0x80","ufixed0x88","ufixed0x96","ufixed0x104","ufixed0x112","ufixed0x120","ufixed0x128","ufixed0x136","ufixed0x144","ufixed0x152","ufixed0x160","ufixed0x168","ufixed0x176","ufixed0x184","ufixed0x192","ufixed0x200","ufixed0x208","ufixed0x216","ufixed0x224","ufixed0x232","ufixed0x240","ufixed0x248","ufixed0x256","ufixed8x8","ufixed8x16","ufixed8x24","ufixed8x32","ufixed8x40","ufixed8x48","ufixed8x56","ufixed8x64","ufixed8x72","ufixed8x80","ufixed8x88","ufixed8x96","ufixed8x104","ufixed8x112","ufixed8x120","ufixed8x128","ufixed8x136","ufixed8x144","ufixed8x152","ufixed8x160","ufixed8x168","ufixed8x176","ufixed8x184","ufixed8x192","ufixed8x200","ufixed8x208","ufixed8x216","ufixed8x224","ufixed8x232","ufixed8x240","ufixed8x248","ufixed16x8","ufixed16x16","ufixed16x24","ufixed16x32","ufixed16x40","ufixed16x48","ufixed16x56","ufixed16x64","ufixed16x72","ufixed16x80","ufixed16x88","ufixed16x96","ufixed16x104","ufixed16x112","ufixed16x120","ufixed16x128","ufixed16x136","ufixed16x144","ufixed16x152","ufixed16x160","ufixed16x168","ufixed16x176","ufixed16x184","ufixed16x192","ufixed16x200","ufixed16x208","ufixed16x216","ufixed16x224","ufixed16x232","ufixed16x240","ufixed24x8","ufixed24x16","ufixed24x24","ufixed24x32","ufixed24x40","ufixed24x48","ufixed24x56","ufixed24x64","ufixed24x72","ufixed24x80","ufixed24x88","ufixed24x96","ufixed24x104","ufixed24x112","ufixed24x120","ufixed24x128","ufixed24x136","ufixed24x144","ufixed24x152","ufixed24x160","ufixed24x168","ufixed24x176","ufixed24x184","ufixed24x192","ufixed24x200","ufixed24x208","ufixed24x216","ufixed24x224","ufixed24x232","ufixed32x8","ufixed32x16","ufixed32x24","ufixed32x32","ufixed32x40","ufixed32x48","ufixed32x56","ufixed32x64","ufixed32x72","ufixed32x80","ufixed32x88","ufixed32x96","ufixed32x104","ufixed32x112","ufixed32x120","ufixed32x128","ufixed32x136","ufixed32x144","ufixed32x152","ufixed32x160","ufixed32x168","ufixed32x176","ufixed32x184","ufixed32x192","ufixed32x200","ufixed32x208","ufixed32x216","ufixed32x224","ufixed40x8","ufixed40x16","ufixed40x24","ufixed40x32","ufixed40x40","ufixed40x48","ufixed40x56","ufixed40x64","ufixed40x72","ufixed40x80","ufixed40x88","ufixed40x96","ufixed40x104","ufixed40x112","ufixed40x120","ufixed40x128","ufixed40x136","ufixed40x144","ufixed40x152","ufixed40x160","ufixed40x168","ufixed40x176","ufixed40x184","ufixed40x192","ufixed40x200","ufixed40x208","ufixed40x216","ufixed48x8","ufixed48x16","ufixed48x24","ufixed48x32","ufixed48x40","ufixed48x48","ufixed48x56","ufixed48x64","ufixed48x72","ufixed48x80","ufixed48x88","ufixed48x96","ufixed48x104","ufixed48x112","ufixed48x120","ufixed48x128","ufixed48x136","ufixed48x144","ufixed48x152","ufixed48x160","ufixed48x168","ufixed48x176","ufixed48x184","ufixed48x192","ufixed48x200","ufixed48x208","ufixed56x8","ufixed56x16","ufixed56x24","ufixed56x32","ufixed56x40","ufixed56x48","ufixed56x56","ufixed56x64","ufixed56x72","ufixed56x80","ufixed56x88","ufixed56x96","ufixed56x104","ufixed56x112","ufixed56x120","ufixed56x128","ufixed56x136","ufixed56x144","ufixed56x152","ufixed56x160","ufixed56x168","ufixed56x176","ufixed56x184","ufixed56x192","ufixed56x200","ufixed64x8","ufixed64x16","ufixed64x24","ufixed64x32","ufixed64x40","ufixed64x48","ufixed64x56","ufixed64x64","ufixed64x72","ufixed64x80","ufixed64x88","ufixed64x96","ufixed64x104","ufixed64x112","ufixed64x120","ufixed64x128","ufixed64x136","ufixed64x144","ufixed64x152","ufixed64x160","ufixed64x168","ufixed64x176","ufixed64x184","ufixed64x192","ufixed72x8","ufixed72x16","ufixed72x24","ufixed72x32","ufixed72x40","ufixed72x48","ufixed72x56","ufixed72x64","ufixed72x72","ufixed72x80","ufixed72x88","ufixed72x96","ufixed72x104","ufixed72x112","ufixed72x120","ufixed72x128","ufixed72x136","ufixed72x144","ufixed72x152","ufixed72x160","ufixed72x168","ufixed72x176","ufixed72x184","ufixed80x8","ufixed80x16","ufixed80x24","ufixed80x32","ufixed80x40","ufixed80x48","ufixed80x56","ufixed80x64","ufixed80x72","ufixed80x80","ufixed80x88","ufixed80x96","ufixed80x104","ufixed80x112","ufixed80x120","ufixed80x128","ufixed80x136","ufixed80x144","ufixed80x152","ufixed80x160","ufixed80x168","ufixed80x176","ufixed88x8","ufixed88x16","ufixed88x24","ufixed88x32","ufixed88x40","ufixed88x48","ufixed88x56","ufixed88x64","ufixed88x72","ufixed88x80","ufixed88x88","ufixed88x96","ufixed88x104","ufixed88x112","ufixed88x120","ufixed88x128","ufixed88x136","ufixed88x144","ufixed88x152","ufixed88x160","ufixed88x168","ufixed96x8","ufixed96x16","ufixed96x24","ufixed96x32","ufixed96x40","ufixed96x48","ufixed96x56","ufixed96x64","ufixed96x72","ufixed96x80","ufixed96x88","ufixed96x96","ufixed96x104","ufixed96x112","ufixed96x120","ufixed96x128","ufixed96x136","ufixed96x144","ufixed96x152","ufixed96x160","ufixed104x8","ufixed104x16","ufixed104x24","ufixed104x32","ufixed104x40","ufixed104x48","ufixed104x56","ufixed104x64","ufixed104x72","ufixed104x80","ufixed104x88","ufixed104x96","ufixed104x104","ufixed104x112","ufixed104x120","ufixed104x128","ufixed104x136","ufixed104x144","ufixed104x152","ufixed112x8","ufixed112x16","ufixed112x24","ufixed112x32","ufixed112x40","ufixed112x48","ufixed112x56","ufixed112x64","ufixed112x72","ufixed112x80","ufixed112x88","ufixed112x96","ufixed112x104","ufixed112x112","ufixed112x120","ufixed112x128","ufixed112x136","ufixed112x144","ufixed120x8","ufixed120x16","ufixed120x24","ufixed120x32","ufixed120x40","ufixed120x48","ufixed120x56","ufixed120x64","ufixed120x72","ufixed120x80","ufixed120x88","ufixed120x96","ufixed120x104","ufixed120x112","ufixed120x120","ufixed120x128","ufixed120x136","ufixed128x8","ufixed128x16","ufixed128x24","ufixed128x32","ufixed128x40","ufixed128x48","ufixed128x56","ufixed128x64","ufixed128x72","ufixed128x80","ufixed128x88","ufixed128x96","ufixed128x104","ufixed128x112","ufixed128x120","ufixed128x128","ufixed136x8","ufixed136x16","ufixed136x24","ufixed136x32","ufixed136x40","ufixed136x48","ufixed136x56","ufixed136x64","ufixed136x72","ufixed136x80","ufixed136x88","ufixed136x96","ufixed136x104","ufixed136x112","ufixed136x120","ufixed144x8","ufixed144x16","ufixed144x24","ufixed144x32","ufixed144x40","ufixed144x48","ufixed144x56","ufixed144x64","ufixed144x72","ufixed144x80","ufixed144x88","ufixed144x96","ufixed144x104","ufixed144x112","ufixed152x8","ufixed152x16","ufixed152x24","ufixed152x32","ufixed152x40","ufixed152x48","ufixed152x56","ufixed152x64","ufixed152x72","ufixed152x80","ufixed152x88","ufixed152x96","ufixed152x104","ufixed160x8","ufixed160x16","ufixed160x24","ufixed160x32","ufixed160x40","ufixed160x48","ufixed160x56","ufixed160x64","ufixed160x72","ufixed160x80","ufixed160x88","ufixed160x96","ufixed168x8","ufixed168x16","ufixed168x24","ufixed168x32","ufixed168x40","ufixed168x48","ufixed168x56","ufixed168x64","ufixed168x72","ufixed168x80","ufixed168x88","ufixed176x8","ufixed176x16","ufixed176x24","ufixed176x32","ufixed176x40","ufixed176x48","ufixed176x56","ufixed176x64","ufixed176x72","ufixed176x80","ufixed184x8","ufixed184x16","ufixed184x24","ufixed184x32","ufixed184x40","ufixed184x48","ufixed184x56","ufixed184x64","ufixed184x72","ufixed192x8","ufixed192x16","ufixed192x24","ufixed192x32","ufixed192x40","ufixed192x48","ufixed192x56","ufixed192x64","ufixed200x8","ufixed200x16","ufixed200x24","ufixed200x32","ufixed200x40","ufixed200x48","ufixed200x56","ufixed208x8","ufixed208x16","ufixed208x24","ufixed208x32","ufixed208x40","ufixed208x48","ufixed216x8","ufixed216x16","ufixed216x24","ufixed216x32","ufixed216x40","ufixed224x8","ufixed224x16","ufixed224x24","ufixed224x32","ufixed232x8","ufixed232x16","ufixed232x24","ufixed240x8","ufixed240x16","ufixed248x8","event","enum","let","mapping","private","public","external","inherited","payable","true","false","var","import","constant","if","else","for","else","for","while","do","break","continue","throw","returns","return","suicide","new","is","this","super"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,integersuffix:/(ll|LL|u|U|l|L)?(ll|LL|u|U|l|L)?/,floatsuffix:/[fFlL]?/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/\[\[.*\]\]/,"annotation"],[/^\s*#\w+/,"keyword"],[/int\d*/,"keyword"],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,"number.hex"],[/0[0-7']*[0-7](@integersuffix)/,"number.octal"],[/0[bB][0-1']*[0-1](@integersuffix)/,"number.binary"],[/\d[\d']*\d(@integersuffix)/,"number"],[/\d(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]]}}}});var sophia_exports={};__export(sophia_exports,{conf:()=>conf68,language:()=>language69});var conf68,language69;var init_sophia=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/sophia/sophia.js"(){conf68={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}]};language69={defaultToken:"",tokenPostfix:".aes",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.angle",open:"<",close:">"}],keywords:["contract","library","entrypoint","function","stateful","state","hash","signature","tuple","list","address","string","bool","int","record","datatype","type","option","oracle","oracle_query","Call","Bits","Bytes","Oracle","String","Crypto","Address","Auth","Chain","None","Some","bits","bytes","event","let","map","private","public","true","false","var","if","else","throw"],operators:["=",">","<","!","~","?","::",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,integersuffix:/(ll|LL|u|U|l|L)?(ll|LL|u|U|l|L)?/,floatsuffix:/[fFlL]?/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/\[\[.*\]\]/,"annotation"],[/^\s*#\w+/,"keyword"],[/int\d*/,"keyword"],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,"number.hex"],[/0[0-7']*[0-7](@integersuffix)/,"number.octal"],[/0[bB][0-1']*[0-1](@integersuffix)/,"number.binary"],[/\d[\d']*\d(@integersuffix)/,"number"],[/\d(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]]}}}});var sparql_exports={};__export(sparql_exports,{conf:()=>conf69,language:()=>language70});var conf69,language70;var init_sparql=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/sparql/sparql.js"(){conf69={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"'",close:"'",notIn:["string"]},{open:'"',close:'"',notIn:["string"]},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"}]};language70={defaultToken:"",tokenPostfix:".rq",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.angle",open:"<",close:">"}],keywords:["add","as","asc","ask","base","by","clear","construct","copy","create","data","delete","desc","describe","distinct","drop","false","filter","from","graph","group","having","in","insert","limit","load","minus","move","named","not","offset","optional","order","prefix","reduced","select","service","silent","to","true","undef","union","using","values","where","with"],builtinFunctions:["a","abs","avg","bind","bnode","bound","ceil","coalesce","concat","contains","count","datatype","day","encode_for_uri","exists","floor","group_concat","hours","if","iri","isblank","isiri","isliteral","isnumeric","isuri","lang","langmatches","lcase","max","md5","min","minutes","month","now","rand","regex","replace","round","sameterm","sample","seconds","sha1","sha256","sha384","sha512","str","strafter","strbefore","strdt","strends","strlang","strlen","strstarts","struuid","substr","sum","timezone","tz","ucase","uri","uuid","year"],ignoreCase:true,tokenizer:{root:[[/<[^\s\u00a0>]*>?/,"tag"],{include:"@strings"},[/#.*/,"comment"],[/[{}()\[\]]/,"@brackets"],[/[;,.]/,"delimiter"],[/[_\w\d]+:(\.(?=[\w_\-\\%])|[:\w_-]|\\[-\\_~.!$&'()*+,;=/?#@%]|%[a-f\d][a-f\d])*/,"tag"],[/:(\.(?=[\w_\-\\%])|[:\w_-]|\\[-\\_~.!$&'()*+,;=/?#@%]|%[a-f\d][a-f\d])+/,"tag"],[/[$?]?[_\w\d]+/,{cases:{"@keywords":{token:"keyword"},"@builtinFunctions":{token:"predefined.sql"},"@default":"identifier"}}],[/\^\^/,"operator.sql"],[/\^[*+\-<>=&|^\/!?]*/,"operator.sql"],[/[*+\-<>=&|\/!?]/,"operator.sql"],[/@[a-z\d\-]*/,"metatag.html"],[/\s+/,"white"]],strings:[[/'([^'\\]|\\.)*$/,"string.invalid"],[/'$/,"string.sql","@pop"],[/'/,"string.sql","@stringBody"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"$/,"string.sql","@pop"],[/"/,"string.sql","@dblStringBody"]],stringBody:[[/[^\\']+/,"string.sql"],[/\\./,"string.escape"],[/'/,"string.sql","@pop"]],dblStringBody:[[/[^\\"]+/,"string.sql"],[/\\./,"string.escape"],[/"/,"string.sql","@pop"]]}}}});var sql_exports={};__export(sql_exports,{conf:()=>conf70,language:()=>language71});var conf70,language71;var init_sql=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/sql/sql.js"(){conf70={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]};language71={defaultToken:"",tokenPostfix:".sql",ignoreCase:true,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["ABORT","ABSOLUTE","ACTION","ADA","ADD","AFTER","ALL","ALLOCATE","ALTER","ALWAYS","ANALYZE","AND","ANY","ARE","AS","ASC","ASSERTION","AT","ATTACH","AUTHORIZATION","AUTOINCREMENT","AVG","BACKUP","BEFORE","BEGIN","BETWEEN","BIT","BIT_LENGTH","BOTH","BREAK","BROWSE","BULK","BY","CASCADE","CASCADED","CASE","CAST","CATALOG","CHAR","CHARACTER","CHARACTER_LENGTH","CHAR_LENGTH","CHECK","CHECKPOINT","CLOSE","CLUSTERED","COALESCE","COLLATE","COLLATION","COLUMN","COMMIT","COMPUTE","CONFLICT","CONNECT","CONNECTION","CONSTRAINT","CONSTRAINTS","CONTAINS","CONTAINSTABLE","CONTINUE","CONVERT","CORRESPONDING","COUNT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATE","DAY","DBCC","DEALLOCATE","DEC","DECIMAL","DECLARE","DEFAULT","DEFERRABLE","DEFERRED","DELETE","DENY","DESC","DESCRIBE","DESCRIPTOR","DETACH","DIAGNOSTICS","DISCONNECT","DISK","DISTINCT","DISTRIBUTED","DO","DOMAIN","DOUBLE","DROP","DUMP","EACH","ELSE","END","END-EXEC","ERRLVL","ESCAPE","EXCEPT","EXCEPTION","EXCLUDE","EXCLUSIVE","EXEC","EXECUTE","EXISTS","EXIT","EXPLAIN","EXTERNAL","EXTRACT","FAIL","FALSE","FETCH","FILE","FILLFACTOR","FILTER","FIRST","FLOAT","FOLLOWING","FOR","FOREIGN","FORTRAN","FOUND","FREETEXT","FREETEXTTABLE","FROM","FULL","FUNCTION","GENERATED","GET","GLOB","GLOBAL","GO","GOTO","GRANT","GROUP","GROUPS","HAVING","HOLDLOCK","HOUR","IDENTITY","IDENTITYCOL","IDENTITY_INSERT","IF","IGNORE","IMMEDIATE","IN","INCLUDE","INDEX","INDEXED","INDICATOR","INITIALLY","INNER","INPUT","INSENSITIVE","INSERT","INSTEAD","INT","INTEGER","INTERSECT","INTERVAL","INTO","IS","ISNULL","ISOLATION","JOIN","KEY","KILL","LANGUAGE","LAST","LEADING","LEFT","LEVEL","LIKE","LIMIT","LINENO","LOAD","LOCAL","LOWER","MATCH","MATERIALIZED","MAX","MERGE","MIN","MINUTE","MODULE","MONTH","NAMES","NATIONAL","NATURAL","NCHAR","NEXT","NO","NOCHECK","NONCLUSTERED","NONE","NOT","NOTHING","NOTNULL","NULL","NULLIF","NULLS","NUMERIC","OCTET_LENGTH","OF","OFF","OFFSET","OFFSETS","ON","ONLY","OPEN","OPENDATASOURCE","OPENQUERY","OPENROWSET","OPENXML","OPTION","OR","ORDER","OTHERS","OUTER","OUTPUT","OVER","OVERLAPS","PAD","PARTIAL","PARTITION","PASCAL","PERCENT","PIVOT","PLAN","POSITION","PRAGMA","PRECEDING","PRECISION","PREPARE","PRESERVE","PRIMARY","PRINT","PRIOR","PRIVILEGES","PROC","PROCEDURE","PUBLIC","QUERY","RAISE","RAISERROR","RANGE","READ","READTEXT","REAL","RECONFIGURE","RECURSIVE","REFERENCES","REGEXP","REINDEX","RELATIVE","RELEASE","RENAME","REPLACE","REPLICATION","RESTORE","RESTRICT","RETURN","RETURNING","REVERT","REVOKE","RIGHT","ROLLBACK","ROW","ROWCOUNT","ROWGUIDCOL","ROWS","RULE","SAVE","SAVEPOINT","SCHEMA","SCROLL","SECOND","SECTION","SECURITYAUDIT","SELECT","SEMANTICKEYPHRASETABLE","SEMANTICSIMILARITYDETAILSTABLE","SEMANTICSIMILARITYTABLE","SESSION","SESSION_USER","SET","SETUSER","SHUTDOWN","SIZE","SMALLINT","SOME","SPACE","SQL","SQLCA","SQLCODE","SQLERROR","SQLSTATE","SQLWARNING","STATISTICS","SUBSTRING","SUM","SYSTEM_USER","TABLE","TABLESAMPLE","TEMP","TEMPORARY","TEXTSIZE","THEN","TIES","TIME","TIMESTAMP","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TOP","TRAILING","TRAN","TRANSACTION","TRANSLATE","TRANSLATION","TRIGGER","TRIM","TRUE","TRUNCATE","TRY_CONVERT","TSEQUAL","UNBOUNDED","UNION","UNIQUE","UNKNOWN","UNPIVOT","UPDATE","UPDATETEXT","UPPER","USAGE","USE","USER","USING","VACUUM","VALUE","VALUES","VARCHAR","VARYING","VIEW","VIRTUAL","WAITFOR","WHEN","WHENEVER","WHERE","WHILE","WINDOW","WITH","WITHIN GROUP","WITHOUT","WORK","WRITE","WRITETEXT","YEAR","ZONE"],operators:["ALL","AND","ANY","BETWEEN","EXISTS","IN","LIKE","NOT","OR","SOME","EXCEPT","INTERSECT","UNION","APPLY","CROSS","FULL","INNER","JOIN","LEFT","OUTER","RIGHT","CONTAINS","FREETEXT","IS","NULL","PIVOT","UNPIVOT","MATCHED"],builtinFunctions:["AVG","CHECKSUM_AGG","COUNT","COUNT_BIG","GROUPING","GROUPING_ID","MAX","MIN","SUM","STDEV","STDEVP","VAR","VARP","CUME_DIST","FIRST_VALUE","LAG","LAST_VALUE","LEAD","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","COLLATE","COLLATIONPROPERTY","TERTIARY_WEIGHTS","FEDERATION_FILTERING_VALUE","CAST","CONVERT","PARSE","TRY_CAST","TRY_CONVERT","TRY_PARSE","ASYMKEY_ID","ASYMKEYPROPERTY","CERTPROPERTY","CERT_ID","CRYPT_GEN_RANDOM","DECRYPTBYASYMKEY","DECRYPTBYCERT","DECRYPTBYKEY","DECRYPTBYKEYAUTOASYMKEY","DECRYPTBYKEYAUTOCERT","DECRYPTBYPASSPHRASE","ENCRYPTBYASYMKEY","ENCRYPTBYCERT","ENCRYPTBYKEY","ENCRYPTBYPASSPHRASE","HASHBYTES","IS_OBJECTSIGNED","KEY_GUID","KEY_ID","KEY_NAME","SIGNBYASYMKEY","SIGNBYCERT","SYMKEYPROPERTY","VERIFYSIGNEDBYCERT","VERIFYSIGNEDBYASYMKEY","CURSOR_STATUS","DATALENGTH","IDENT_CURRENT","IDENT_INCR","IDENT_SEED","IDENTITY","SQL_VARIANT_PROPERTY","CURRENT_TIMESTAMP","DATEADD","DATEDIFF","DATEFROMPARTS","DATENAME","DATEPART","DATETIME2FROMPARTS","DATETIMEFROMPARTS","DATETIMEOFFSETFROMPARTS","DAY","EOMONTH","GETDATE","GETUTCDATE","ISDATE","MONTH","SMALLDATETIMEFROMPARTS","SWITCHOFFSET","SYSDATETIME","SYSDATETIMEOFFSET","SYSUTCDATETIME","TIMEFROMPARTS","TODATETIMEOFFSET","YEAR","CHOOSE","COALESCE","IIF","NULLIF","ABS","ACOS","ASIN","ATAN","ATN2","CEILING","COS","COT","DEGREES","EXP","FLOOR","LOG","LOG10","PI","POWER","RADIANS","RAND","ROUND","SIGN","SIN","SQRT","SQUARE","TAN","APP_NAME","APPLOCK_MODE","APPLOCK_TEST","ASSEMBLYPROPERTY","COL_LENGTH","COL_NAME","COLUMNPROPERTY","DATABASE_PRINCIPAL_ID","DATABASEPROPERTYEX","DB_ID","DB_NAME","FILE_ID","FILE_IDEX","FILE_NAME","FILEGROUP_ID","FILEGROUP_NAME","FILEGROUPPROPERTY","FILEPROPERTY","FULLTEXTCATALOGPROPERTY","FULLTEXTSERVICEPROPERTY","INDEX_COL","INDEXKEY_PROPERTY","INDEXPROPERTY","OBJECT_DEFINITION","OBJECT_ID","OBJECT_NAME","OBJECT_SCHEMA_NAME","OBJECTPROPERTY","OBJECTPROPERTYEX","ORIGINAL_DB_NAME","PARSENAME","SCHEMA_ID","SCHEMA_NAME","SCOPE_IDENTITY","SERVERPROPERTY","STATS_DATE","TYPE_ID","TYPE_NAME","TYPEPROPERTY","DENSE_RANK","NTILE","RANK","ROW_NUMBER","PUBLISHINGSERVERNAME","OPENDATASOURCE","OPENQUERY","OPENROWSET","OPENXML","CERTENCODED","CERTPRIVATEKEY","CURRENT_USER","HAS_DBACCESS","HAS_PERMS_BY_NAME","IS_MEMBER","IS_ROLEMEMBER","IS_SRVROLEMEMBER","LOGINPROPERTY","ORIGINAL_LOGIN","PERMISSIONS","PWDENCRYPT","PWDCOMPARE","SESSION_USER","SESSIONPROPERTY","SUSER_ID","SUSER_NAME","SUSER_SID","SUSER_SNAME","SYSTEM_USER","USER","USER_ID","USER_NAME","ASCII","CHAR","CHARINDEX","CONCAT","DIFFERENCE","FORMAT","LEFT","LEN","LOWER","LTRIM","NCHAR","PATINDEX","QUOTENAME","REPLACE","REPLICATE","REVERSE","RIGHT","RTRIM","SOUNDEX","SPACE","STR","STUFF","SUBSTRING","UNICODE","UPPER","BINARY_CHECKSUM","CHECKSUM","CONNECTIONPROPERTY","CONTEXT_INFO","CURRENT_REQUEST_ID","ERROR_LINE","ERROR_NUMBER","ERROR_MESSAGE","ERROR_PROCEDURE","ERROR_SEVERITY","ERROR_STATE","FORMATMESSAGE","GETANSINULL","GET_FILESTREAM_TRANSACTION_CONTEXT","HOST_ID","HOST_NAME","ISNULL","ISNUMERIC","MIN_ACTIVE_ROWVERSION","NEWID","NEWSEQUENTIALID","ROWCOUNT_BIG","XACT_STATE","TEXTPTR","TEXTVALID","COLUMNS_UPDATED","EVENTDATA","TRIGGER_NESTLEVEL","UPDATE","CHANGETABLE","CHANGE_TRACKING_CONTEXT","CHANGE_TRACKING_CURRENT_VERSION","CHANGE_TRACKING_IS_COLUMN_IN_MASK","CHANGE_TRACKING_MIN_VALID_VERSION","CONTAINSTABLE","FREETEXTTABLE","SEMANTICKEYPHRASETABLE","SEMANTICSIMILARITYDETAILSTABLE","SEMANTICSIMILARITYTABLE","FILETABLEROOTPATH","GETFILENAMESPACEPATH","GETPATHLOCATOR","PATHNAME","GET_TRANSMISSION_STATUS"],builtinVariables:["@@DATEFIRST","@@DBTS","@@LANGID","@@LANGUAGE","@@LOCK_TIMEOUT","@@MAX_CONNECTIONS","@@MAX_PRECISION","@@NESTLEVEL","@@OPTIONS","@@REMSERVER","@@SERVERNAME","@@SERVICENAME","@@SPID","@@TEXTSIZE","@@VERSION","@@CURSOR_ROWS","@@FETCH_STATUS","@@DATEFIRST","@@PROCID","@@ERROR","@@IDENTITY","@@ROWCOUNT","@@TRANCOUNT","@@CONNECTIONS","@@CPU_BUSY","@@IDLE","@@IO_BUSY","@@PACKET_ERRORS","@@PACK_RECEIVED","@@PACK_SENT","@@TIMETICKS","@@TOTAL_ERRORS","@@TOTAL_READ","@@TOTAL_WRITE"],pseudoColumns:["$ACTION","$IDENTITY","$ROWGUID","$PARTITION"],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@keywords":"keyword","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/--+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/N'/,{token:"string",next:"@string"}],[/'/,{token:"string",next:"@string"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],complexIdentifiers:[[/\[/,{token:"identifier.quote",next:"@bracketedIdentifier"}],[/"/,{token:"identifier.quote",next:"@quotedIdentifier"}]],bracketedIdentifier:[[/[^\]]+/,"identifier"],[/]]/,"identifier"],[/]/,{token:"identifier.quote",next:"@pop"}]],quotedIdentifier:[[/[^"]+/,"identifier"],[/""/,"identifier"],[/"/,{token:"identifier.quote",next:"@pop"}]],scopes:[[/BEGIN\s+(DISTRIBUTED\s+)?TRAN(SACTION)?\b/i,"keyword"],[/BEGIN\s+TRY\b/i,{token:"keyword.try"}],[/END\s+TRY\b/i,{token:"keyword.try"}],[/BEGIN\s+CATCH\b/i,{token:"keyword.catch"}],[/END\s+CATCH\b/i,{token:"keyword.catch"}],[/(BEGIN|CASE)\b/i,{token:"keyword.block"}],[/END\b/i,{token:"keyword.block"}],[/WHEN\b/i,{token:"keyword.choice"}],[/THEN\b/i,{token:"keyword.choice"}]]}}}});var st_exports={};__export(st_exports,{conf:()=>conf71,language:()=>language72});var conf71,language72;var init_st=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/st/st.js"(){conf71={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"],["var","end_var"],["var_input","end_var"],["var_output","end_var"],["var_in_out","end_var"],["var_temp","end_var"],["var_global","end_var"],["var_access","end_var"],["var_external","end_var"],["type","end_type"],["struct","end_struct"],["program","end_program"],["function","end_function"],["function_block","end_function_block"],["action","end_action"],["step","end_step"],["initial_step","end_step"],["transaction","end_transaction"],["configuration","end_configuration"],["tcp","end_tcp"],["recource","end_recource"],["channel","end_channel"],["library","end_library"],["folder","end_folder"],["binaries","end_binaries"],["includes","end_includes"],["sources","end_sources"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"/*",close:"*/"},{open:"'",close:"'",notIn:["string_sq"]},{open:'"',close:'"',notIn:["string_dq"]},{open:"var_input",close:"end_var"},{open:"var_output",close:"end_var"},{open:"var_in_out",close:"end_var"},{open:"var_temp",close:"end_var"},{open:"var_global",close:"end_var"},{open:"var_access",close:"end_var"},{open:"var_external",close:"end_var"},{open:"type",close:"end_type"},{open:"struct",close:"end_struct"},{open:"program",close:"end_program"},{open:"function",close:"end_function"},{open:"function_block",close:"end_function_block"},{open:"action",close:"end_action"},{open:"step",close:"end_step"},{open:"initial_step",close:"end_step"},{open:"transaction",close:"end_transaction"},{open:"configuration",close:"end_configuration"},{open:"tcp",close:"end_tcp"},{open:"recource",close:"end_recource"},{open:"channel",close:"end_channel"},{open:"library",close:"end_library"},{open:"folder",close:"end_folder"},{open:"binaries",close:"end_binaries"},{open:"includes",close:"end_includes"},{open:"sources",close:"end_sources"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"var",close:"end_var"},{open:"var_input",close:"end_var"},{open:"var_output",close:"end_var"},{open:"var_in_out",close:"end_var"},{open:"var_temp",close:"end_var"},{open:"var_global",close:"end_var"},{open:"var_access",close:"end_var"},{open:"var_external",close:"end_var"},{open:"type",close:"end_type"},{open:"struct",close:"end_struct"},{open:"program",close:"end_program"},{open:"function",close:"end_function"},{open:"function_block",close:"end_function_block"},{open:"action",close:"end_action"},{open:"step",close:"end_step"},{open:"initial_step",close:"end_step"},{open:"transaction",close:"end_transaction"},{open:"configuration",close:"end_configuration"},{open:"tcp",close:"end_tcp"},{open:"recource",close:"end_recource"},{open:"channel",close:"end_channel"},{open:"library",close:"end_library"},{open:"folder",close:"end_folder"},{open:"binaries",close:"end_binaries"},{open:"includes",close:"end_includes"},{open:"sources",close:"end_sources"}],folding:{markers:{start:new RegExp("^\\s*#pragma\\s+region\\b"),end:new RegExp("^\\s*#pragma\\s+endregion\\b")}}};language72={defaultToken:"",tokenPostfix:".st",ignoreCase:true,brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["if","end_if","elsif","else","case","of","to","__try","__catch","__finally","do","with","by","while","repeat","end_while","end_repeat","end_case","for","end_for","task","retain","non_retain","constant","with","at","exit","return","interval","priority","address","port","on_channel","then","iec","file","uses","version","packagetype","displayname","copyright","summary","vendor","common_source","from","extends","implements"],constant:["false","true","null"],defineKeywords:["var","var_input","var_output","var_in_out","var_temp","var_global","var_access","var_external","end_var","type","end_type","struct","end_struct","program","end_program","function","end_function","function_block","end_function_block","interface","end_interface","method","end_method","property","end_property","namespace","end_namespace","configuration","end_configuration","tcp","end_tcp","resource","end_resource","channel","end_channel","library","end_library","folder","end_folder","binaries","end_binaries","includes","end_includes","sources","end_sources","action","end_action","step","initial_step","end_step","transaction","end_transaction"],typeKeywords:["int","sint","dint","lint","usint","uint","udint","ulint","real","lreal","time","date","time_of_day","date_and_time","string","bool","byte","word","dword","array","pointer","lword"],operators:["=",">","<",":",":=","<=",">=","<>","&","+","-","*","**","MOD","^","or","and","not","xor","abs","acos","asin","atan","cos","exp","expt","ln","log","sin","sqrt","tan","sel","max","min","limit","mux","shl","shr","rol","ror","indexof","sizeof","adr","adrinst","bitadr","is_valid","ref","ref_to"],builtinVariables:[],builtinFunctions:["sr","rs","tp","ton","tof","eq","ge","le","lt","ne","round","trunc","ctd","сtu","ctud","r_trig","f_trig","move","concat","delete","find","insert","left","len","replace","right","rtc"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/(\.\.)/,"delimiter"],[/\b(16#[0-9A-Fa-f\_]*)+\b/,"number.hex"],[/\b(2#[01\_]+)+\b/,"number.binary"],[/\b(8#[0-9\_]*)+\b/,"number.octal"],[/\b\d*\.\d+([eE][\-+]?\d+)?\b/,"number.float"],[/\b(L?REAL)#[0-9\_\.e]+\b/,"number.float"],[/\b(BYTE|(?:D|L)?WORD|U?(?:S|D|L)?INT)#[0-9\_]+\b/,"number"],[/\d+/,"number"],[/\b(T|DT|TOD)#[0-9:-_shmyd]+\b/,"tag"],[/\%(I|Q|M)(X|B|W|D|L)[0-9\.]+/,"tag"],[/\%(I|Q|M)[0-9\.]*/,"tag"],[/\b[A-Za-z]{1,6}#[0-9]+\b/,"tag"],[/\b(TO_|CTU_|CTD_|CTUD_|MUX_|SEL_)[A_Za-z]+\b/,"predefined"],[/\b[A_Za-z]+(_TO_)[A_Za-z]+\b/,"predefined"],[/[;]/,"delimiter"],[/[.]/,{token:"delimiter",next:"@params"}],[/[a-zA-Z_]\w*/,{cases:{"@operators":"operators","@keywords":"keyword","@typeKeywords":"type","@defineKeywords":"variable","@constant":"constant","@builtinVariables":"predefined","@builtinFunctions":"predefined","@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",bracket:"@open",next:"@string_dq"}],[/'/,{token:"string.quote",bracket:"@open",next:"@string_sq"}],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],params:[[/\b[A-Za-z0-9_]+\b(?=\()/,{token:"identifier",next:"@pop"}],[/\b[A-Za-z0-9_]+\b/,"variable.name","@pop"]],comment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@push"],["\\*/","comment","@pop"],[/[\/*]/,"comment"]],comment2:[[/[^\(*]+/,"comment"],[/\(\*/,"comment","@push"],["\\*\\)","comment","@pop"],[/[\(*]/,"comment"]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\/.*$/,"comment"],[/\/\*/,"comment","@comment"],[/\(\*/,"comment","@comment2"]],string_dq:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],string_sq:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,{token:"string.quote",bracket:"@close",next:"@pop"}]]}}}});var swift_exports={};__export(swift_exports,{conf:()=>conf72,language:()=>language73});var conf72,language73;var init_swift=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/swift/swift.js"(){conf72={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}]};language73={defaultToken:"",tokenPostfix:".swift",identifier:/[a-zA-Z_][\w$]*/,attributes:["@GKInspectable","@IBAction","@IBDesignable","@IBInspectable","@IBOutlet","@IBSegueAction","@NSApplicationMain","@NSCopying","@NSManaged","@Sendable","@UIApplicationMain","@autoclosure","@actorIndependent","@asyncHandler","@available","@convention","@derivative","@differentiable","@discardableResult","@dynamicCallable","@dynamicMemberLookup","@escaping","@frozen","@globalActor","@inlinable","@inline","@main","@noDerivative","@nonobjc","@noreturn","@objc","@objcMembers","@preconcurrency","@propertyWrapper","@requires_stored_property_inits","@resultBuilder","@testable","@unchecked","@unknown","@usableFromInline","@warn_unqualified_access"],accessmodifiers:["open","public","internal","fileprivate","private"],keywords:["#available","#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning","Any","Protocol","Self","Type","actor","as","assignment","associatedtype","associativity","async","await","break","case","catch","class","continue","convenience","default","defer","deinit","didSet","do","dynamic","dynamicType","else","enum","extension","fallthrough","false","fileprivate","final","for","func","get","guard","higherThan","if","import","in","indirect","infix","init","inout","internal","is","isolated","lazy","left","let","lowerThan","mutating","nil","none","nonisolated","nonmutating","open","operator","optional","override","postfix","precedence","precedencegroup","prefix","private","protocol","public","repeat","required","rethrows","return","right","safe","self","set","some","static","struct","subscript","super","switch","throw","throws","true","try","typealias","unowned","unsafe","var","weak","where","while","willSet","__consuming","__owned"],symbols:/[=(){}\[\].,:;@#\_&\-<>`?!+*\\\/]/,operatorstart:/[\/=\-+!*%<>&|^~?\u00A1-\u00A7\u00A9\u00AB\u00AC\u00AE\u00B0-\u00B1\u00B6\u00BB\u00BF\u00D7\u00F7\u2016-\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001-\u3003\u3008-\u3030]/,operatorend:/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\uE0100-\uE01EF]/,operators:/(@operatorstart)((@operatorstart)|(@operatorend))*/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},{include:"@attribute"},{include:"@literal"},{include:"@keyword"},{include:"@invokedmethod"},{include:"@symbol"}],whitespace:[[/\s+/,"white"],[/"""/,"string.quote","@endDblDocString"]],endDblDocString:[[/[^"]+/,"string"],[/\\"/,"string"],[/"""/,"string.quote","@popall"],[/"/,"string"]],symbol:[[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/[.]/,"delimiter"],[/@operators/,"operator"],[/@symbols/,"operator"]],comment:[[/\/\/\/.*$/,"comment.doc"],[/\/\*\*/,"comment.doc","@commentdocbody"],[/\/\/.*$/,"comment"],[/\/\*/,"comment","@commentbody"]],commentdocbody:[[/\/\*/,"comment","@commentbody"],[/\*\//,"comment.doc","@pop"],[/\:[a-zA-Z]+\:/,"comment.doc.param"],[/./,"comment.doc"]],commentbody:[[/\/\*/,"comment","@commentbody"],[/\*\//,"comment","@pop"],[/./,"comment"]],attribute:[[/@@@identifier/,{cases:{"@attributes":"keyword.control","@default":""}}]],literal:[[/"/,{token:"string.quote",next:"@stringlit"}],[/0[b]([01]_?)+/,"number.binary"],[/0[o]([0-7]_?)+/,"number.octal"],[/0[x]([0-9a-fA-F]_?)+([pP][\-+](\d_?)+)?/,"number.hex"],[/(\d_?)*\.(\d_?)+([eE][\-+]?(\d_?)+)?/,"number.float"],[/(\d_?)+/,"number"]],stringlit:[[/\\\(/,{token:"operator",next:"@interpolatedexpression"}],[/@escapes/,"string"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",next:"@pop"}],[/./,"string"]],interpolatedexpression:[[/\(/,{token:"operator",next:"@interpolatedexpression"}],[/\)/,{token:"operator",next:"@pop"}],{include:"@literal"},{include:"@keyword"},{include:"@symbol"}],keyword:[[/`/,{token:"operator",next:"@escapedkeyword"}],[/@identifier/,{cases:{"@keywords":"keyword","[A-Z][a-zA-Z0-9$]*":"type.identifier","@default":"identifier"}}]],escapedkeyword:[[/`/,{token:"operator",next:"@pop"}],[/./,"identifier"]],invokedmethod:[[/([.])(@identifier)/,{cases:{$2:["delimeter","type.identifier"],"@default":""}}]]}}}});var systemverilog_exports={};__export(systemverilog_exports,{conf:()=>conf73,language:()=>language74});var conf73,language74;var init_systemverilog=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.js"(){conf73={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"],["begin","end"],["case","endcase"],["casex","endcase"],["casez","endcase"],["checker","endchecker"],["class","endclass"],["clocking","endclocking"],["config","endconfig"],["function","endfunction"],["generate","endgenerate"],["group","endgroup"],["interface","endinterface"],["module","endmodule"],["package","endpackage"],["primitive","endprimitive"],["program","endprogram"],["property","endproperty"],["specify","endspecify"],["sequence","endsequence"],["table","endtable"],["task","endtask"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{offSide:false,markers:{start:new RegExp("^(?:\\s*|.*(?!\\/[\\/\\*])[^\\w])(?:begin|case(x|z)?|class|clocking|config|covergroup|function|generate|interface|module|package|primitive|property|program|sequence|specify|table|task)\\b"),end:new RegExp("^(?:\\s*|.*(?!\\/[\\/\\*])[^\\w])(?:end|endcase|endclass|endclocking|endconfig|endgroup|endfunction|endgenerate|endinterface|endmodule|endpackage|endprimitive|endproperty|endprogram|endsequence|endspecify|endtable|endtask)\\b")}}};language74={defaultToken:"",tokenPostfix:".sv",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.angle",open:"<",close:">"}],keywords:["accept_on","alias","always","always_comb","always_ff","always_latch","and","assert","assign","assume","automatic","before","begin","bind","bins","binsof","bit","break","buf","bufif0","bufif1","byte","case","casex","casez","cell","chandle","checker","class","clocking","cmos","config","const","constraint","context","continue","cover","covergroup","coverpoint","cross","deassign","default","defparam","design","disable","dist","do","edge","else","end","endcase","endchecker","endclass","endclocking","endconfig","endfunction","endgenerate","endgroup","endinterface","endmodule","endpackage","endprimitive","endprogram","endproperty","endspecify","endsequence","endtable","endtask","enum","event","eventually","expect","export","extends","extern","final","first_match","for","force","foreach","forever","fork","forkjoin","function","generate","genvar","global","highz0","highz1","if","iff","ifnone","ignore_bins","illegal_bins","implements","implies","import","incdir","include","initial","inout","input","inside","instance","int","integer","interconnect","interface","intersect","join","join_any","join_none","large","let","liblist","library","local","localparam","logic","longint","macromodule","matches","medium","modport","module","nand","negedge","nettype","new","nexttime","nmos","nor","noshowcancelled","not","notif0","notif1","null","or","output","package","packed","parameter","pmos","posedge","primitive","priority","program","property","protected","pull0","pull1","pulldown","pullup","pulsestyle_ondetect","pulsestyle_onevent","pure","rand","randc","randcase","randsequence","rcmos","real","realtime","ref","reg","reject_on","release","repeat","restrict","return","rnmos","rpmos","rtran","rtranif0","rtranif1","s_always","s_eventually","s_nexttime","s_until","s_until_with","scalared","sequence","shortint","shortreal","showcancelled","signed","small","soft","solve","specify","specparam","static","string","strong","strong0","strong1","struct","super","supply0","supply1","sync_accept_on","sync_reject_on","table","tagged","task","this","throughout","time","timeprecision","timeunit","tran","tranif0","tranif1","tri","tri0","tri1","triand","trior","trireg","type","typedef","union","unique","unique0","unsigned","until","until_with","untyped","use","uwire","var","vectored","virtual","void","wait","wait_order","wand","weak","weak0","weak1","while","wildcard","wire","with","within","wor","xnor","xor"],builtin_gates:["and","nand","nor","or","xor","xnor","buf","not","bufif0","bufif1","notif1","notif0","cmos","nmos","pmos","rcmos","rnmos","rpmos","tran","tranif1","tranif0","rtran","rtranif1","rtranif0"],operators:["=","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>+","<<<=",">>>=","?",":","+","-","!","~","&","~&","|","~|","^","~^","^~","+","-","*","/","%","==","!=","===","!==","==?","!=?","&&","||","**","<","<=",">",">=","&","|","^",">>","<<",">>>","<<<","++","--","->","<->","inside","dist","::","+:","-:","*>","&&&","|->","|=>","#=#"],symbols:/[=><!~?:&|+\-*\/\^%#]+/,escapes:/%%|\\(?:[antvf\\"']|x[0-9A-Fa-f]{1,2}|[0-7]{1,3})/,identifier:/(?:[a-zA-Z_][a-zA-Z0-9_$\.]*|\\\S+ )/,systemcall:/[$][a-zA-Z0-9_]+/,timeunits:/s|ms|us|ns|ps|fs/,tokenizer:{root:[[/^(\s*)(@identifier)/,["",{cases:{"@builtin_gates":{token:"keyword.$2",next:"@module_instance"},table:{token:"keyword.$2",next:"@table"},"@keywords":{token:"keyword.$2"},"@default":{token:"identifier",next:"@module_instance"}}}]],[/^\s*`include/,{token:"keyword.directive.include",next:"@include"}],[/^\s*`\s*\w+/,"keyword"],{include:"@identifier_or_keyword"},{include:"@whitespace"},[/\(\*.*\*\)/,"annotation"],[/@systemcall/,"variable.predefined"],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],{include:"@numbers"},[/[;,.]/,"delimiter"],{include:"@strings"}],identifier_or_keyword:[[/@identifier/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}]],numbers:[[/\d+?[\d_]*(?:\.[\d_]+)?[eE][\-+]?\d+/,"number.float"],[/\d+?[\d_]*\.[\d_]+(?:\s*@timeunits)?/,"number.float"],[/(?:\d+?[\d_]*\s*)?'[sS]?[dD]\s*[0-9xXzZ?]+?[0-9xXzZ?_]*/,"number"],[/(?:\d+?[\d_]*\s*)?'[sS]?[bB]\s*[0-1xXzZ?]+?[0-1xXzZ?_]*/,"number.binary"],[/(?:\d+?[\d_]*\s*)?'[sS]?[oO]\s*[0-7xXzZ?]+?[0-7xXzZ?_]*/,"number.octal"],[/(?:\d+?[\d_]*\s*)?'[sS]?[hH]\s*[0-9a-fA-FxXzZ?]+?[0-9a-fA-FxXzZ?_]*/,"number.hex"],[/1step/,"number"],[/[\dxXzZ]+?[\dxXzZ_]*(?:\s*@timeunits)?/,"number"],[/'[01xXzZ]+/,"number"]],module_instance:[{include:"@whitespace"},[/(#?)(\()/,["",{token:"@brackets",next:"@port_connection"}]],[/@identifier\s*[;={}\[\],]/,{token:"@rematch",next:"@pop"}],[/@symbols|[;={}\[\],]/,{token:"@rematch",next:"@pop"}],[/@identifier/,"type"],[/;/,"delimiter","@pop"]],port_connection:[{include:"@identifier_or_keyword"},{include:"@whitespace"},[/@systemcall/,"variable.predefined"],{include:"@numbers"},{include:"@strings"},[/[,]/,"delimiter"],[/\(/,"@brackets","@port_connection"],[/\)/,"@brackets","@pop"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],strings:[[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],include:[[/(\s*)(")([\w*\/*]*)(.\w*)(")/,["","string.include.identifier","string.include.identifier","string.include.identifier",{token:"string.include.identifier",next:"@pop"}]],[/(\s*)(<)([\w*\/*]*)(.\w*)(>)/,["","string.include.identifier","string.include.identifier","string.include.identifier",{token:"string.include.identifier",next:"@pop"}]]],table:[{include:"@whitespace"},[/[()]/,"@brackets"],[/[:;]/,"delimiter"],[/[01\-*?xXbBrRfFpPnN]/,"variable.predefined"],["endtable","keyword.endtable","@pop"]]}}}});var tcl_exports={};__export(tcl_exports,{conf:()=>conf74,language:()=>language75});var conf74,language75;var init_tcl=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/tcl/tcl.js"(){conf74={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]};language75={tokenPostfix:".tcl",specialFunctions:["set","unset","rename","variable","proc","coroutine","foreach","incr","append","lappend","linsert","lreplace"],mainFunctions:["if","then","elseif","else","case","switch","while","for","break","continue","return","package","namespace","catch","exit","eval","expr","uplevel","upvar"],builtinFunctions:["file","info","concat","join","lindex","list","llength","lrange","lsearch","lsort","split","array","parray","binary","format","regexp","regsub","scan","string","subst","dict","cd","clock","exec","glob","pid","pwd","close","eof","fblocked","fconfigure","fcopy","fileevent","flush","gets","open","puts","read","seek","socket","tell","interp","after","auto_execok","auto_load","auto_mkindex","auto_reset","bgerror","error","global","history","load","source","time","trace","unknown","unset","update","vwait","winfo","wm","bind","event","pack","place","grid","font","bell","clipboard","destroy","focus","grab","lower","option","raise","selection","send","tk","tkwait","tk_bisque","tk_focusNext","tk_focusPrev","tk_focusFollowsMouse","tk_popup","tk_setPalette"],symbols:/[=><!~?:&|+\-*\/\^%]+/,brackets:[{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"}],escapes:/\\(?:[abfnrtv\\"'\[\]\{\};\$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,variables:/(?:\$+(?:(?:\:\:?)?[a-zA-Z_]\w*)+)/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@specialFunctions":{token:"keyword.flow",next:"@specialFunc"},"@mainFunctions":"keyword","@builtinFunctions":"variable","@default":"operator.scss"}}],[/\s+\-+(?!\d|\.)\w*|{\*}/,"metatag"],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/@symbols/,"operator"],[/\$+(?:\:\:)?\{/,{token:"identifier",next:"@nestedVariable"}],[/@variables/,"type.identifier"],[/\.(?!\d|\.)[\w\-]*/,"operator.sql"],[/\d+(\.\d+)?/,"number"],[/\d+/,"number"],[/;/,"delimiter"],[/"/,{token:"string.quote",bracket:"@open",next:"@dstring"}],[/'/,{token:"string.quote",bracket:"@open",next:"@sstring"}]],dstring:[[/\[/,{token:"@brackets",next:"@nestedCall"}],[/\$+(?:\:\:)?\{/,{token:"identifier",next:"@nestedVariable"}],[/@variables/,"type.identifier"],[/[^\\$\[\]"]+/,"string"],[/@escapes/,"string.escape"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],sstring:[[/\[/,{token:"@brackets",next:"@nestedCall"}],[/\$+(?:\:\:)?\{/,{token:"identifier",next:"@nestedVariable"}],[/@variables/,"type.identifier"],[/[^\\$\[\]']+/,"string"],[/@escapes/,"string.escape"],[/'/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"],[/#.*\\$/,{token:"comment",next:"@newlineComment"}],[/#.*(?!\\)$/,"comment"]],newlineComment:[[/.*\\$/,"comment"],[/.*(?!\\)$/,{token:"comment",next:"@pop"}]],nestedVariable:[[/[^\{\}\$]+/,"type.identifier"],[/\}/,{token:"identifier",next:"@pop"}]],nestedCall:[[/\[/,{token:"@brackets",next:"@nestedCall"}],[/\]/,{token:"@brackets",next:"@pop"}],{include:"root"}],specialFunc:[[/"/,{token:"string",next:"@dstring"}],[/'/,{token:"string",next:"@sstring"}],[/\S+/,{token:"type",next:"@pop"}]]}}}});var twig_exports={};__export(twig_exports,{conf:()=>conf75,language:()=>language76});var conf75,language76;var init_twig=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/twig/twig.js"(){conf75={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["{#","#}"]},brackets:[["{#","#}"],["{%","%}"],["{{","}}"],["(",")"],["[","]"],["\x3c!--","--\x3e"],["<",">"]],autoClosingPairs:[{open:"{# ",close:" #}"},{open:"{% ",close:" %}"},{open:"{{ ",close:" }}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}]};language76={defaultToken:"",tokenPostfix:"",ignoreCase:true,keywords:["apply","autoescape","block","deprecated","do","embed","extends","flush","for","from","if","import","include","macro","sandbox","set","use","verbatim","with","endapply","endautoescape","endblock","endembed","endfor","endif","endmacro","endsandbox","endset","endwith","true","false"],tokenizer:{root:[[/\s+/],[/{#/,"comment.twig","@commentState"],[/{%[-~]?/,"delimiter.twig","@blockState"],[/{{[-~]?/,"delimiter.twig","@variableState"],[/<!DOCTYPE/,"metatag.html","@doctype"],[/<!--/,"comment.html","@comment"],[/(<)((?:[\w\-]+:)?[\w\-]+)(\s*)(\/>)/,["delimiter.html","tag.html","","delimiter.html"]],[/(<)(script)/,["delimiter.html",{token:"tag.html",next:"@script"}]],[/(<)(style)/,["delimiter.html",{token:"tag.html",next:"@style"}]],[/(<)((?:[\w\-]+:)?[\w\-]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/(<\/)((?:[\w\-]+:)?[\w\-]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/</,"delimiter.html"],[/[^<{]+/]],commentState:[[/#}/,"comment.twig","@pop"],[/./,"comment.twig"]],blockState:[[/[-~]?%}/,"delimiter.twig","@pop"],[/\s+/],[/(verbatim)(\s*)([-~]?%})/,["keyword.twig","",{token:"delimiter.twig",next:"@rawDataState"}]],{include:"expression"}],rawDataState:[[/({%[-~]?)(\s*)(endverbatim)(\s*)([-~]?%})/,["delimiter.twig","","keyword.twig","",{token:"delimiter.twig",next:"@popall"}]],[/./,"string.twig"]],variableState:[[/[-~]?}}/,"delimiter.twig","@pop"],{include:"expression"}],stringState:[[/"/,"string.twig","@pop"],[/#{\s*/,"string.twig","@interpolationState"],[/[^#"\\]*(?:(?:\\.|#(?!\{))[^#"\\]*)*/,"string.twig"]],interpolationState:[[/}/,"string.twig","@pop"],{include:"expression"}],expression:[[/\s+/],[/\+|-|\/{1,2}|%|\*{1,2}/,"operators.twig"],[/(and|or|not|b-and|b-xor|b-or)(\s+)/,["operators.twig",""]],[/==|!=|<|>|>=|<=/,"operators.twig"],[/(starts with|ends with|matches)(\s+)/,["operators.twig",""]],[/(in)(\s+)/,["operators.twig",""]],[/(is)(\s+)/,["operators.twig",""]],[/\||~|:|\.{1,2}|\?{1,2}/,"operators.twig"],[/[^\W\d][\w]*/,{cases:{"@keywords":"keyword.twig","@default":"variable.twig"}}],[/\d+(\.\d+)?/,"number.twig"],[/\(|\)|\[|\]|{|}|,/,"delimiter.twig"],[/"([^#"\\]*(?:\\.[^#"\\]*)*)"|\'([^\'\\]*(?:\\.[^\'\\]*)*)\'/,"string.twig"],[/"/,"string.twig","@stringState"],[/=>/,"operators.twig"],[/=/,"operators.twig"]],doctype:[[/[^>]+/,"metatag.content.html"],[/>/,"metatag.html","@pop"]],comment:[[/-->/,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value.html"],[/'([^']*)'/,"attribute.value.html"],[/[\w\-]+/,"attribute.name.html"],[/=/,"delimiter.html"],[/[ \t\r\n]+/]],script:[[/type/,"attribute.name.html","@scriptAfterType"],[/"([^"]*)"/,"attribute.value.html"],[/'([^']*)'/,"attribute.value.html"],[/[\w\-]+/,"attribute.name.html"],[/=/,"delimiter.html"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/=/,"delimiter.html","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value.html",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value.html",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value.html"],[/'([^']*)'/,"attribute.value.html"],[/[\w\-]+/,"attribute.name.html"],[/=/,"delimiter.html"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]],style:[[/type/,"attribute.name.html","@styleAfterType"],[/"([^"]*)"/,"attribute.value.html"],[/'([^']*)'/,"attribute.value.html"],[/[\w\-]+/,"attribute.name.html"],[/=/,"delimiter.html"],[/>/,{token:"delimiter.html",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/=/,"delimiter.html","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value.html",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value.html",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value.html"],[/'([^']*)'/,"attribute.value.html"],[/[\w\-]+/,"attribute.name.html"],[/=/,"delimiter.html"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]]}}}});var vb_exports={};__export(vb_exports,{conf:()=>conf76,language:()=>language77});var conf76,language77;var init_vb=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/vb/vb.js"(){conf76={comments:{lineComment:"'",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"],["addhandler","end addhandler"],["class","end class"],["enum","end enum"],["event","end event"],["function","end function"],["get","end get"],["if","end if"],["interface","end interface"],["module","end module"],["namespace","end namespace"],["operator","end operator"],["property","end property"],["raiseevent","end raiseevent"],["removehandler","end removehandler"],["select","end select"],["set","end set"],["structure","end structure"],["sub","end sub"],["synclock","end synclock"],["try","end try"],["while","end while"],["with","end with"],["using","end using"],["do","loop"],["for","next"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"<",close:">",notIn:["string","comment"]}],folding:{markers:{start:new RegExp("^\\s*#Region\\b"),end:new RegExp("^\\s*#End Region\\b")}}};language77={defaultToken:"",tokenPostfix:".vb",ignoreCase:true,brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.angle",open:"<",close:">"},{token:"keyword.tag-addhandler",open:"addhandler",close:"end addhandler"},{token:"keyword.tag-class",open:"class",close:"end class"},{token:"keyword.tag-enum",open:"enum",close:"end enum"},{token:"keyword.tag-event",open:"event",close:"end event"},{token:"keyword.tag-function",open:"function",close:"end function"},{token:"keyword.tag-get",open:"get",close:"end get"},{token:"keyword.tag-if",open:"if",close:"end if"},{token:"keyword.tag-interface",open:"interface",close:"end interface"},{token:"keyword.tag-module",open:"module",close:"end module"},{token:"keyword.tag-namespace",open:"namespace",close:"end namespace"},{token:"keyword.tag-operator",open:"operator",close:"end operator"},{token:"keyword.tag-property",open:"property",close:"end property"},{token:"keyword.tag-raiseevent",open:"raiseevent",close:"end raiseevent"},{token:"keyword.tag-removehandler",open:"removehandler",close:"end removehandler"},{token:"keyword.tag-select",open:"select",close:"end select"},{token:"keyword.tag-set",open:"set",close:"end set"},{token:"keyword.tag-structure",open:"structure",close:"end structure"},{token:"keyword.tag-sub",open:"sub",close:"end sub"},{token:"keyword.tag-synclock",open:"synclock",close:"end synclock"},{token:"keyword.tag-try",open:"try",close:"end try"},{token:"keyword.tag-while",open:"while",close:"end while"},{token:"keyword.tag-with",open:"with",close:"end with"},{token:"keyword.tag-using",open:"using",close:"end using"},{token:"keyword.tag-do",open:"do",close:"loop"},{token:"keyword.tag-for",open:"for",close:"next"}],keywords:["AddHandler","AddressOf","Alias","And","AndAlso","As","Async","Boolean","ByRef","Byte","ByVal","Call","Case","Catch","CBool","CByte","CChar","CDate","CDbl","CDec","Char","CInt","Class","CLng","CObj","Const","Continue","CSByte","CShort","CSng","CStr","CType","CUInt","CULng","CUShort","Date","Decimal","Declare","Default","Delegate","Dim","DirectCast","Do","Double","Each","Else","ElseIf","End","EndIf","Enum","Erase","Error","Event","Exit","False","Finally","For","Friend","Function","Get","GetType","GetXMLNamespace","Global","GoSub","GoTo","Handles","If","Implements","Imports","In","Inherits","Integer","Interface","Is","IsNot","Let","Lib","Like","Long","Loop","Me","Mod","Module","MustInherit","MustOverride","MyBase","MyClass","NameOf","Namespace","Narrowing","New","Next","Not","Nothing","NotInheritable","NotOverridable","Object","Of","On","Operator","Option","Optional","Or","OrElse","Out","Overloads","Overridable","Overrides","ParamArray","Partial","Private","Property","Protected","Public","RaiseEvent","ReadOnly","ReDim","RemoveHandler","Resume","Return","SByte","Select","Set","Shadows","Shared","Short","Single","Static","Step","Stop","String","Structure","Sub","SyncLock","Then","Throw","To","True","Try","TryCast","TypeOf","UInteger","ULong","UShort","Using","Variant","Wend","When","While","Widening","With","WithEvents","WriteOnly","Xor"],tagwords:["If","Sub","Select","Try","Class","Enum","Function","Get","Interface","Module","Namespace","Operator","Set","Structure","Using","While","With","Do","Loop","For","Next","Property","Continue","AddHandler","RemoveHandler","Event","RaiseEvent","SyncLock"],symbols:/[=><!~?;\.,:&|+\-*\/\^%]+/,integersuffix:/U?[DI%L&S@]?/,floatsuffix:/[R#F!]?/,tokenizer:{root:[{include:"@whitespace"},[/next(?!\w)/,{token:"keyword.tag-for"}],[/loop(?!\w)/,{token:"keyword.tag-do"}],[/end\s+(?!for|do)(addhandler|class|enum|event|function|get|if|interface|module|namespace|operator|property|raiseevent|removehandler|select|set|structure|sub|synclock|try|while|with|using)/,{token:"keyword.tag-$1"}],[/[a-zA-Z_]\w*/,{cases:{"@tagwords":{token:"keyword.tag-$0"},"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],[/^\s*#\w+/,"keyword"],[/\d*\d+e([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+(e[\-+]?\d+)?(@floatsuffix)/,"number.float"],[/&H[0-9a-f]+(@integersuffix)/,"number.hex"],[/&0[0-7]+(@integersuffix)/,"number.octal"],[/\d+(@integersuffix)/,"number"],[/#.*#/,"number"],[/[{}()\[\]]/,"@brackets"],[/@symbols/,"delimiter"],[/["\u201c\u201d]/,{token:"string.quote",next:"@string"}]],whitespace:[[/[ \t\r\n]+/,""],[/(\'|REM(?!\w)).*$/,"comment"]],string:[[/[^"\u201c\u201d]+/,"string"],[/["\u201c\u201d]{2}/,"string.escape"],[/["\u201c\u201d]C?/,{token:"string.quote",next:"@pop"}]]}}}});var wgsl_exports={};__export(wgsl_exports,{conf:()=>conf77,language:()=>language78});function qw(str){let result=[];const words=str.split(/\t+|\r+|\n+| +/);for(let i=0;i<words.length;++i){if(words[i].length>0){result.push(words[i])}}return result}var conf77,atoms,keywords3,reserved,predeclared_enums,predeclared_types,predeclared_type_generators,predeclared_type_aliases,predeclared_intrinsics,operators,directive_re,ident_re,predefined_token,language78;var init_wgsl=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/wgsl/wgsl.js"(){conf77={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"}]};atoms=qw("true false");keywords3=qw(`\n\t\t\t alias\n\t\t\t break\n\t\t\t case\n\t\t\t const\n\t\t\t const_assert\n\t\t\t continue\n\t\t\t continuing\n\t\t\t default\n\t\t\t diagnostic\n\t\t\t discard\n\t\t\t else\n\t\t\t enable\n\t\t\t fn\n\t\t\t for\n\t\t\t if\n\t\t\t let\n\t\t\t loop\n\t\t\t override\n\t\t\t requires\n\t\t\t return\n\t\t\t struct\n\t\t\t switch\n\t\t\t var\n\t\t\t while\n\t\t\t `);reserved=qw(`\n\t\t\t NULL\n\t\t\t Self\n\t\t\t abstract\n\t\t\t active\n\t\t\t alignas\n\t\t\t alignof\n\t\t\t as\n\t\t\t asm\n\t\t\t asm_fragment\n\t\t\t async\n\t\t\t attribute\n\t\t\t auto\n\t\t\t await\n\t\t\t become\n\t\t\t binding_array\n\t\t\t cast\n\t\t\t catch\n\t\t\t class\n\t\t\t co_await\n\t\t\t co_return\n\t\t\t co_yield\n\t\t\t coherent\n\t\t\t column_major\n\t\t\t common\n\t\t\t compile\n\t\t\t compile_fragment\n\t\t\t concept\n\t\t\t const_cast\n\t\t\t consteval\n\t\t\t constexpr\n\t\t\t constinit\n\t\t\t crate\n\t\t\t debugger\n\t\t\t decltype\n\t\t\t delete\n\t\t\t demote\n\t\t\t demote_to_helper\n\t\t\t do\n\t\t\t dynamic_cast\n\t\t\t enum\n\t\t\t explicit\n\t\t\t export\n\t\t\t extends\n\t\t\t extern\n\t\t\t external\n\t\t\t fallthrough\n\t\t\t filter\n\t\t\t final\n\t\t\t finally\n\t\t\t friend\n\t\t\t from\n\t\t\t fxgroup\n\t\t\t get\n\t\t\t goto\n\t\t\t groupshared\n\t\t\t highp\n\t\t\t impl\n\t\t\t implements\n\t\t\t import\n\t\t\t inline\n\t\t\t instanceof\n\t\t\t interface\n\t\t\t layout\n\t\t\t lowp\n\t\t\t macro\n\t\t\t macro_rules\n\t\t\t match\n\t\t\t mediump\n\t\t\t meta\n\t\t\t mod\n\t\t\t module\n\t\t\t move\n\t\t\t mut\n\t\t\t mutable\n\t\t\t namespace\n\t\t\t new\n\t\t\t nil\n\t\t\t noexcept\n\t\t\t noinline\n\t\t\t nointerpolation\n\t\t\t noperspective\n\t\t\t null\n\t\t\t nullptr\n\t\t\t of\n\t\t\t operator\n\t\t\t package\n\t\t\t packoffset\n\t\t\t partition\n\t\t\t pass\n\t\t\t patch\n\t\t\t pixelfragment\n\t\t\t precise\n\t\t\t precision\n\t\t\t premerge\n\t\t\t priv\n\t\t\t protected\n\t\t\t pub\n\t\t\t public\n\t\t\t readonly\n\t\t\t ref\n\t\t\t regardless\n\t\t\t register\n\t\t\t reinterpret_cast\n\t\t\t require\n\t\t\t resource\n\t\t\t restrict\n\t\t\t self\n\t\t\t set\n\t\t\t shared\n\t\t\t sizeof\n\t\t\t smooth\n\t\t\t snorm\n\t\t\t static\n\t\t\t static_assert\n\t\t\t static_cast\n\t\t\t std\n\t\t\t subroutine\n\t\t\t super\n\t\t\t target\n\t\t\t template\n\t\t\t this\n\t\t\t thread_local\n\t\t\t throw\n\t\t\t trait\n\t\t\t try\n\t\t\t type\n\t\t\t typedef\n\t\t\t typeid\n\t\t\t typename\n\t\t\t typeof\n\t\t\t union\n\t\t\t unless\n\t\t\t unorm\n\t\t\t unsafe\n\t\t\t unsized\n\t\t\t use\n\t\t\t using\n\t\t\t varying\n\t\t\t virtual\n\t\t\t volatile\n\t\t\t wgsl\n\t\t\t where\n\t\t\t with\n\t\t\t writeonly\n\t\t\t yield\n\t\t\t `);predeclared_enums=qw(`\n\t\tread write read_write\n\t\tfunction private workgroup uniform storage\n\t\tperspective linear flat\n\t\tcenter centroid sample\n\t\tvertex_index instance_index position front_facing frag_depth\n\t\t\tlocal_invocation_id local_invocation_index\n\t\t\tglobal_invocation_id workgroup_id num_workgroups\n\t\t\tsample_index sample_mask\n\t\trgba8unorm\n\t\trgba8snorm\n\t\trgba8uint\n\t\trgba8sint\n\t\trgba16uint\n\t\trgba16sint\n\t\trgba16float\n\t\tr32uint\n\t\tr32sint\n\t\tr32float\n\t\trg32uint\n\t\trg32sint\n\t\trg32float\n\t\trgba32uint\n\t\trgba32sint\n\t\trgba32float\n\t\tbgra8unorm\n`);predeclared_types=qw(`\n\t\tbool\n\t\tf16\n\t\tf32\n\t\ti32\n\t\tsampler sampler_comparison\n\t\ttexture_depth_2d\n\t\ttexture_depth_2d_array\n\t\ttexture_depth_cube\n\t\ttexture_depth_cube_array\n\t\ttexture_depth_multisampled_2d\n\t\ttexture_external\n\t\ttexture_external\n\t\tu32\n\t\t`);predeclared_type_generators=qw(`\n\t\tarray\n\t\tatomic\n\t\tmat2x2\n\t\tmat2x3\n\t\tmat2x4\n\t\tmat3x2\n\t\tmat3x3\n\t\tmat3x4\n\t\tmat4x2\n\t\tmat4x3\n\t\tmat4x4\n\t\tptr\n\t\ttexture_1d\n\t\ttexture_2d\n\t\ttexture_2d_array\n\t\ttexture_3d\n\t\ttexture_cube\n\t\ttexture_cube_array\n\t\ttexture_multisampled_2d\n\t\ttexture_storage_1d\n\t\ttexture_storage_2d\n\t\ttexture_storage_2d_array\n\t\ttexture_storage_3d\n\t\tvec2\n\t\tvec3\n\t\tvec4\n\t\t`);predeclared_type_aliases=qw(`\n\t\tvec2i vec3i vec4i\n\t\tvec2u vec3u vec4u\n\t\tvec2f vec3f vec4f\n\t\tvec2h vec3h vec4h\n\t\tmat2x2f mat2x3f mat2x4f\n\t\tmat3x2f mat3x3f mat3x4f\n\t\tmat4x2f mat4x3f mat4x4f\n\t\tmat2x2h mat2x3h mat2x4h\n\t\tmat3x2h mat3x3h mat3x4h\n\t\tmat4x2h mat4x3h mat4x4h\n\t\t`);predeclared_intrinsics=qw(`\n bitcast all any select arrayLength abs acos acosh asin asinh atan atanh atan2\n ceil clamp cos cosh countLeadingZeros countOneBits countTrailingZeros cross\n degrees determinant distance dot exp exp2 extractBits faceForward firstLeadingBit\n firstTrailingBit floor fma fract frexp inverseBits inverseSqrt ldexp length\n log log2 max min mix modf normalize pow quantizeToF16 radians reflect refract\n reverseBits round saturate sign sin sinh smoothstep sqrt step tan tanh transpose\n trunc dpdx dpdxCoarse dpdxFine dpdy dpdyCoarse dpdyFine fwidth fwidthCoarse fwidthFine\n textureDimensions textureGather textureGatherCompare textureLoad textureNumLayers\n textureNumLevels textureNumSamples textureSample textureSampleBias textureSampleCompare\n textureSampleCompareLevel textureSampleGrad textureSampleLevel textureSampleBaseClampToEdge\n textureStore atomicLoad atomicStore atomicAdd atomicSub atomicMax atomicMin\n atomicAnd atomicOr atomicXor atomicExchange atomicCompareExchangeWeak pack4x8snorm\n pack4x8unorm pack2x16snorm pack2x16unorm pack2x16float unpack4x8snorm unpack4x8unorm\n unpack2x16snorm unpack2x16unorm unpack2x16float storageBarrier workgroupBarrier\n workgroupUniformLoad\n`);operators=qw(`\n\t\t\t\t\t &\n\t\t\t\t\t &&\n\t\t\t\t\t ->\n\t\t\t\t\t /\n\t\t\t\t\t =\n\t\t\t\t\t ==\n\t\t\t\t\t !=\n\t\t\t\t\t >\n\t\t\t\t\t >=\n\t\t\t\t\t <\n\t\t\t\t\t <=\n\t\t\t\t\t %\n\t\t\t\t\t -\n\t\t\t\t\t --\n\t\t\t\t\t +\n\t\t\t\t\t ++\n\t\t\t\t\t |\n\t\t\t\t\t ||\n\t\t\t\t\t *\n\t\t\t\t\t <<\n\t\t\t\t\t >>\n\t\t\t\t\t +=\n\t\t\t\t\t -=\n\t\t\t\t\t *=\n\t\t\t\t\t /=\n\t\t\t\t\t %=\n\t\t\t\t\t &=\n\t\t\t\t\t |=\n\t\t\t\t\t ^=\n\t\t\t\t\t >>=\n\t\t\t\t\t <<=\n\t\t\t\t\t `);directive_re=/enable|requires|diagnostic/;ident_re=/[_\p{XID_Start}]\p{XID_Continue}*/u;predefined_token="variable.predefined";language78={tokenPostfix:".wgsl",defaultToken:"invalid",unicode:true,atoms:atoms,keywords:keywords3,reserved:reserved,predeclared_enums:predeclared_enums,predeclared_types:predeclared_types,predeclared_type_generators:predeclared_type_generators,predeclared_type_aliases:predeclared_type_aliases,predeclared_intrinsics:predeclared_intrinsics,operators:operators,symbols:/[!%&*+\-\.\/:;<=>^|_~,]+/,tokenizer:{root:[[directive_re,"keyword","@directive"],[ident_re,{cases:{"@atoms":predefined_token,"@keywords":"keyword","@reserved":"invalid","@predeclared_enums":predefined_token,"@predeclared_types":predefined_token,"@predeclared_type_generators":predefined_token,"@predeclared_type_aliases":predefined_token,"@predeclared_intrinsics":predefined_token,"@default":"identifier"}}],{include:"@commentOrSpace"},{include:"@numbers"},[/[{}()\[\]]/,"@brackets"],["@","annotation","@attribute"],[/@symbols/,{cases:{"@operators":"operator","@default":"delimiter"}}],[/./,"invalid"]],commentOrSpace:[[/\s+/,"white"],[/\/\*/,"comment","@blockComment"],[/\/\/.*$/,"comment"]],blockComment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@push"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],attribute:[{include:"@commentOrSpace"},[/\w+/,"annotation","@pop"]],directive:[{include:"@commentOrSpace"},[/[()]/,"@brackets"],[/,/,"delimiter"],[ident_re,"meta.content"],[/;/,"delimiter","@pop"]],numbers:[[/0[fh]/,"number.float"],[/[1-9][0-9]*[fh]/,"number.float"],[/[0-9]*\.[0-9]+([eE][+-]?[0-9]+)?[fh]?/,"number.float"],[/[0-9]+\.[0-9]*([eE][+-]?[0-9]+)?[fh]?/,"number.float"],[/[0-9]+[eE][+-]?[0-9]+[fh]?/,"number.float"],[/0[xX][0-9a-fA-F]*\.[0-9a-fA-F]+(?:[pP][+-]?[0-9]+[fh]?)?/,"number.hex"],[/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*(?:[pP][+-]?[0-9]+[fh]?)?/,"number.hex"],[/0[xX][0-9a-fA-F]+[pP][+-]?[0-9]+[fh]?/,"number.hex"],[/0[xX][0-9a-fA-F]+[iu]?/,"number.hex"],[/[1-9][0-9]*[iu]?/,"number"],[/0[iu]?/,"number"]]}}}});var xml_exports={};__export(xml_exports,{conf:()=>conf78,language:()=>language79});var __defProp11,__getOwnPropDesc11,__getOwnPropNames11,__hasOwnProp11,__copyProps11,__reExport10,monaco_editor_core_exports10,conf78,language79;var init_xml=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/xml/xml.js"(){init_editor_api();__defProp11=Object.defineProperty;__getOwnPropDesc11=Object.getOwnPropertyDescriptor;__getOwnPropNames11=Object.getOwnPropertyNames;__hasOwnProp11=Object.prototype.hasOwnProperty;__copyProps11=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames11(from))if(!__hasOwnProp11.call(to,key)&&key!==except)__defProp11(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc11(from,key))||desc.enumerable})}return to};__reExport10=(target,mod,secondTarget)=>(__copyProps11(target,mod,"default"),secondTarget&&__copyProps11(secondTarget,mod,"default"));monaco_editor_core_exports10={};__reExport10(monaco_editor_core_exports10,editor_api_exports);conf78={comments:{blockComment:["\x3c!--","--\x3e"]},brackets:[["<",">"]],autoClosingPairs:[{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],surroundingPairs:[{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],onEnterRules:[{beforeText:new RegExp(`<([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:monaco_editor_core_exports10.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`<(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,"i"),action:{indentAction:monaco_editor_core_exports10.languages.IndentAction.Indent}}]};language79={defaultToken:"",tokenPostfix:".xml",ignoreCase:true,qualifiedName:/(?:[\w\.\-]+:)?[\w\.\-]+/,tokenizer:{root:[[/[^<&]+/,""],{include:"@whitespace"},[/(<)(@qualifiedName)/,[{token:"delimiter"},{token:"tag",next:"@tag"}]],[/(<\/)(@qualifiedName)(\s*)(>)/,[{token:"delimiter"},{token:"tag"},"",{token:"delimiter"}]],[/(<\?)(@qualifiedName)/,[{token:"delimiter"},{token:"metatag",next:"@tag"}]],[/(<\!)(@qualifiedName)/,[{token:"delimiter"},{token:"metatag",next:"@tag"}]],[/<\!\[CDATA\[/,{token:"delimiter.cdata",next:"@cdata"}],[/&\w+;/,"string.escape"]],cdata:[[/[^\]]+/,""],[/\]\]>/,{token:"delimiter.cdata",next:"@pop"}],[/\]/,""]],tag:[[/[ \t\r\n]+/,""],[/(@qualifiedName)(\s*=\s*)("[^"]*"|'[^']*')/,["attribute.name","","attribute.value"]],[/(@qualifiedName)(\s*=\s*)("[^">?\/]*|'[^'>?\/]*)(?=[\?\/]\>)/,["attribute.name","","attribute.value"]],[/(@qualifiedName)(\s*=\s*)("[^">]*|'[^'>]*)/,["attribute.name","","attribute.value"]],[/@qualifiedName/,"attribute.name"],[/\?>/,{token:"delimiter",next:"@pop"}],[/(\/)(>)/,[{token:"tag"},{token:"delimiter",next:"@pop"}]],[/>/,{token:"delimiter",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[/<!--/,{token:"comment",next:"@comment"}]],comment:[[/[^<\-]+/,"comment.content"],[/-->/,{token:"comment",next:"@pop"}],[/<!--/,"comment.content.invalid"],[/[<\-]/,"comment.content"]]}}}});var yaml_exports={};__export(yaml_exports,{conf:()=>conf79,language:()=>language80});var __defProp12,__getOwnPropDesc12,__getOwnPropNames12,__hasOwnProp12,__copyProps12,__reExport11,monaco_editor_core_exports11,conf79,language80;var init_yaml=__esm({"node_modules/monaco-editor/esm/vs/basic-languages/yaml/yaml.js"(){init_editor_api();__defProp12=Object.defineProperty;__getOwnPropDesc12=Object.getOwnPropertyDescriptor;__getOwnPropNames12=Object.getOwnPropertyNames;__hasOwnProp12=Object.prototype.hasOwnProperty;__copyProps12=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames12(from))if(!__hasOwnProp12.call(to,key)&&key!==except)__defProp12(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc12(from,key))||desc.enumerable})}return to};__reExport11=(target,mod,secondTarget)=>(__copyProps12(target,mod,"default"),secondTarget&&__copyProps12(secondTarget,mod,"default"));monaco_editor_core_exports11={};__reExport11(monaco_editor_core_exports11,editor_api_exports);conf79={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{offSide:true},onEnterRules:[{beforeText:/:\s*$/,action:{indentAction:monaco_editor_core_exports11.languages.IndentAction.Indent}}]};language80={tokenPostfix:".yaml",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["true","True","TRUE","false","False","FALSE","null","Null","Null","~"],numberInteger:/(?:0|[+-]?[0-9]+)/,numberFloat:/(?:0|[+-]?[0-9]+)(?:\.[0-9]+)?(?:e[-+][1-9][0-9]*)?/,numberOctal:/0o[0-7]+/,numberHex:/0x[0-9a-fA-F]+/,numberInfinity:/[+-]?\.(?:inf|Inf|INF)/,numberNaN:/\.(?:nan|Nan|NAN)/,numberDate:/\d{4}-\d\d-\d\d([Tt ]\d\d:\d\d:\d\d(\.\d+)?(( ?[+-]\d\d?(:\d\d)?)|Z)?)?/,escapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},[/%[^ ]+.*$/,"meta.directive"],[/---/,"operators.directivesEnd"],[/\.{3}/,"operators.documentEnd"],[/[-?:](?= )/,"operators"],{include:"@anchor"},{include:"@tagHandle"},{include:"@flowCollections"},{include:"@blockStyle"},[/@numberInteger(?![ \t]*\S+)/,"number"],[/@numberFloat(?![ \t]*\S+)/,"number.float"],[/@numberOctal(?![ \t]*\S+)/,"number.octal"],[/@numberHex(?![ \t]*\S+)/,"number.hex"],[/@numberInfinity(?![ \t]*\S+)/,"number.infinity"],[/@numberNaN(?![ \t]*\S+)/,"number.nan"],[/@numberDate(?![ \t]*\S+)/,"number.date"],[/(".*?"|'.*?'|[^#'"]*?)([ \t]*)(:)( |$)/,["type","white","operators","white"]],{include:"@flowScalars"},[/.+?(?=(\s+#|$))/,{cases:{"@keywords":"keyword","@default":"string"}}]],object:[{include:"@whitespace"},{include:"@comment"},[/\}/,"@brackets","@pop"],[/,/,"delimiter.comma"],[/:(?= )/,"operators"],[/(?:".*?"|'.*?'|[^,\{\[]+?)(?=: )/,"type"],{include:"@flowCollections"},{include:"@flowScalars"},{include:"@tagHandle"},{include:"@anchor"},{include:"@flowNumber"},[/[^\},]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],array:[{include:"@whitespace"},{include:"@comment"},[/\]/,"@brackets","@pop"],[/,/,"delimiter.comma"],{include:"@flowCollections"},{include:"@flowScalars"},{include:"@tagHandle"},{include:"@anchor"},{include:"@flowNumber"},[/[^\],]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],multiString:[[/^( +).+$/,"string","@multiStringContinued.$1"]],multiStringContinued:[[/^( *).+$/,{cases:{"$1==$S2":"string","@default":{token:"@rematch",next:"@popall"}}}]],whitespace:[[/[ \t\r\n]+/,"white"]],comment:[[/#.*$/,"comment"]],flowCollections:[[/\[/,"@brackets","@array"],[/\{/,"@brackets","@object"]],flowScalars:[[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'[^']*'/,"string"],[/"/,"string","@doubleQuotedString"]],doubleQuotedString:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],blockStyle:[[/[>|][0-9]*[+-]?$/,"operators","@multiString"]],flowNumber:[[/@numberInteger(?=[ \t]*[,\]\}])/,"number"],[/@numberFloat(?=[ \t]*[,\]\}])/,"number.float"],[/@numberOctal(?=[ \t]*[,\]\}])/,"number.octal"],[/@numberHex(?=[ \t]*[,\]\}])/,"number.hex"],[/@numberInfinity(?=[ \t]*[,\]\}])/,"number.infinity"],[/@numberNaN(?=[ \t]*[,\]\}])/,"number.nan"],[/@numberDate(?=[ \t]*[,\]\}])/,"number.date"]],tagHandle:[[/\![^ ]*/,"tag"]],anchor:[[/[&*][^ ]+/,"namespace"]]}}}});var cssMode_exports={};__export(cssMode_exports,{CompletionAdapter:()=>CompletionAdapter,DefinitionAdapter:()=>DefinitionAdapter,DiagnosticsAdapter:()=>DiagnosticsAdapter,DocumentColorAdapter:()=>DocumentColorAdapter,DocumentFormattingEditProvider:()=>DocumentFormattingEditProvider,DocumentHighlightAdapter:()=>DocumentHighlightAdapter,DocumentLinkAdapter:()=>DocumentLinkAdapter,DocumentRangeFormattingEditProvider:()=>DocumentRangeFormattingEditProvider,DocumentSymbolAdapter:()=>DocumentSymbolAdapter,FoldingRangeAdapter:()=>FoldingRangeAdapter,HoverAdapter:()=>HoverAdapter,ReferenceAdapter:()=>ReferenceAdapter,RenameAdapter:()=>RenameAdapter,SelectionRangeAdapter:()=>SelectionRangeAdapter,WorkerManager:()=>WorkerManager2,fromPosition:()=>fromPosition,fromRange:()=>fromRange,setupMode:()=>setupMode,toRange:()=>toRange,toTextEdit:()=>toTextEdit});function toSeverity(lsSeverity){switch(lsSeverity){case DiagnosticSeverity.Error:return monaco_editor_core_exports12.MarkerSeverity.Error;case DiagnosticSeverity.Warning:return monaco_editor_core_exports12.MarkerSeverity.Warning;case DiagnosticSeverity.Information:return monaco_editor_core_exports12.MarkerSeverity.Info;case DiagnosticSeverity.Hint:return monaco_editor_core_exports12.MarkerSeverity.Hint;default:return monaco_editor_core_exports12.MarkerSeverity.Info}}function toDiagnostics(resource,diag){let code=typeof diag.code==="number"?String(diag.code):diag.code;return{severity:toSeverity(diag.severity),startLineNumber:diag.range.start.line+1,startColumn:diag.range.start.character+1,endLineNumber:diag.range.end.line+1,endColumn:diag.range.end.character+1,message:diag.message,code:code,source:diag.source}}function fromPosition(position){if(!position){return void 0}return{character:position.column-1,line:position.lineNumber-1}}function fromRange(range2){if(!range2){return void 0}return{start:{line:range2.startLineNumber-1,character:range2.startColumn-1},end:{line:range2.endLineNumber-1,character:range2.endColumn-1}}}function toRange(range2){if(!range2){return void 0}return new monaco_editor_core_exports12.Range(range2.start.line+1,range2.start.character+1,range2.end.line+1,range2.end.character+1)}function isInsertReplaceEdit(edit){return typeof edit.insert!=="undefined"&&typeof edit.replace!=="undefined"}function toCompletionItemKind(kind){const mItemKind=monaco_editor_core_exports12.languages.CompletionItemKind;switch(kind){case CompletionItemKind2.Text:return mItemKind.Text;case CompletionItemKind2.Method:return mItemKind.Method;case CompletionItemKind2.Function:return mItemKind.Function;case CompletionItemKind2.Constructor:return mItemKind.Constructor;case CompletionItemKind2.Field:return mItemKind.Field;case CompletionItemKind2.Variable:return mItemKind.Variable;case CompletionItemKind2.Class:return mItemKind.Class;case CompletionItemKind2.Interface:return mItemKind.Interface;case CompletionItemKind2.Module:return mItemKind.Module;case CompletionItemKind2.Property:return mItemKind.Property;case CompletionItemKind2.Unit:return mItemKind.Unit;case CompletionItemKind2.Value:return mItemKind.Value;case CompletionItemKind2.Enum:return mItemKind.Enum;case CompletionItemKind2.Keyword:return mItemKind.Keyword;case CompletionItemKind2.Snippet:return mItemKind.Snippet;case CompletionItemKind2.Color:return mItemKind.Color;case CompletionItemKind2.File:return mItemKind.File;case CompletionItemKind2.Reference:return mItemKind.Reference}return mItemKind.Property}function toTextEdit(textEdit){if(!textEdit){return void 0}return{range:toRange(textEdit.range),text:textEdit.newText}}function toCommand(c){return c&&c.command==="editor.action.triggerSuggest"?{id:c.command,title:c.title,arguments:c.arguments}:void 0}function isMarkupContent(thing){return thing&&typeof thing==="object"&&typeof thing.kind==="string"}function toMarkdownString(entry){if(typeof entry==="string"){return{value:entry}}if(isMarkupContent(entry)){if(entry.kind==="plaintext"){return{value:entry.value.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}}return{value:entry.value}}return{value:"```"+entry.language+"\n"+entry.value+"\n```\n"}}function toMarkedStringArray(contents){if(!contents){return void 0}if(Array.isArray(contents)){return contents.map(toMarkdownString)}return[toMarkdownString(contents)]}function toDocumentHighlightKind(kind){switch(kind){case DocumentHighlightKind3.Read:return monaco_editor_core_exports12.languages.DocumentHighlightKind.Read;case DocumentHighlightKind3.Write:return monaco_editor_core_exports12.languages.DocumentHighlightKind.Write;case DocumentHighlightKind3.Text:return monaco_editor_core_exports12.languages.DocumentHighlightKind.Text}return monaco_editor_core_exports12.languages.DocumentHighlightKind.Text}function toLocation(location){return{uri:monaco_editor_core_exports12.Uri.parse(location.uri),range:toRange(location.range)}}function toWorkspaceEdit(edit){if(!edit||!edit.changes){return void 0}let resourceEdits=[];for(let uri in edit.changes){const _uri=monaco_editor_core_exports12.Uri.parse(uri);for(let e of edit.changes[uri]){resourceEdits.push({resource:_uri,versionId:void 0,textEdit:{range:toRange(e.range),text:e.newText}})}}return{edits:resourceEdits}}function toSymbolKind(kind){let mKind=monaco_editor_core_exports12.languages.SymbolKind;switch(kind){case SymbolKind2.File:return mKind.Array;case SymbolKind2.Module:return mKind.Module;case SymbolKind2.Namespace:return mKind.Namespace;case SymbolKind2.Package:return mKind.Package;case SymbolKind2.Class:return mKind.Class;case SymbolKind2.Method:return mKind.Method;case SymbolKind2.Property:return mKind.Property;case SymbolKind2.Field:return mKind.Field;case SymbolKind2.Constructor:return mKind.Constructor;case SymbolKind2.Enum:return mKind.Enum;case SymbolKind2.Interface:return mKind.Interface;case SymbolKind2.Function:return mKind.Function;case SymbolKind2.Variable:return mKind.Variable;case SymbolKind2.Constant:return mKind.Constant;case SymbolKind2.String:return mKind.String;case SymbolKind2.Number:return mKind.Number;case SymbolKind2.Boolean:return mKind.Boolean;case SymbolKind2.Array:return mKind.Array}return mKind.Function}function fromFormattingOptions(options2){return{tabSize:options2.tabSize,insertSpaces:options2.insertSpaces}}function toFoldingRangeKind(kind){switch(kind){case FoldingRangeKind2.Comment:return monaco_editor_core_exports12.languages.FoldingRangeKind.Comment;case FoldingRangeKind2.Imports:return monaco_editor_core_exports12.languages.FoldingRangeKind.Imports;case FoldingRangeKind2.Region:return monaco_editor_core_exports12.languages.FoldingRangeKind.Region}return void 0}function setupMode(defaults){const disposables=[];const providers=[];const client=new WorkerManager2(defaults);disposables.push(client);const worker=(...uris)=>client.getLanguageServiceWorker(...uris);function registerProviders(){const{languageId:languageId,modeConfiguration:modeConfiguration}=defaults;disposeAll(providers);if(modeConfiguration.completionItems){providers.push(monaco_editor_core_exports12.languages.registerCompletionItemProvider(languageId,new CompletionAdapter(worker,["/","-",":"])))}if(modeConfiguration.hovers){providers.push(monaco_editor_core_exports12.languages.registerHoverProvider(languageId,new HoverAdapter(worker)))}if(modeConfiguration.documentHighlights){providers.push(monaco_editor_core_exports12.languages.registerDocumentHighlightProvider(languageId,new DocumentHighlightAdapter(worker)))}if(modeConfiguration.definitions){providers.push(monaco_editor_core_exports12.languages.registerDefinitionProvider(languageId,new DefinitionAdapter(worker)))}if(modeConfiguration.references){providers.push(monaco_editor_core_exports12.languages.registerReferenceProvider(languageId,new ReferenceAdapter(worker)))}if(modeConfiguration.documentSymbols){providers.push(monaco_editor_core_exports12.languages.registerDocumentSymbolProvider(languageId,new DocumentSymbolAdapter(worker)))}if(modeConfiguration.rename){providers.push(monaco_editor_core_exports12.languages.registerRenameProvider(languageId,new RenameAdapter(worker)))}if(modeConfiguration.colors){providers.push(monaco_editor_core_exports12.languages.registerColorProvider(languageId,new DocumentColorAdapter(worker)))}if(modeConfiguration.foldingRanges){providers.push(monaco_editor_core_exports12.languages.registerFoldingRangeProvider(languageId,new FoldingRangeAdapter(worker)))}if(modeConfiguration.diagnostics){providers.push(new DiagnosticsAdapter(languageId,worker,defaults.onDidChange))}if(modeConfiguration.selectionRanges){providers.push(monaco_editor_core_exports12.languages.registerSelectionRangeProvider(languageId,new SelectionRangeAdapter(worker)))}if(modeConfiguration.documentFormattingEdits){providers.push(monaco_editor_core_exports12.languages.registerDocumentFormattingEditProvider(languageId,new DocumentFormattingEditProvider(worker)))}if(modeConfiguration.documentRangeFormattingEdits){providers.push(monaco_editor_core_exports12.languages.registerDocumentRangeFormattingEditProvider(languageId,new DocumentRangeFormattingEditProvider(worker)))}}registerProviders();disposables.push(asDisposable(providers));return asDisposable(disposables)}function asDisposable(disposables){return{dispose:()=>disposeAll(disposables)}}function disposeAll(disposables){while(disposables.length){disposables.pop().dispose()}}var __defProp13,__getOwnPropDesc13,__getOwnPropNames13,__hasOwnProp13,__copyProps13,__reExport12,monaco_editor_core_exports12,STOP_WHEN_IDLE_FOR,WorkerManager2,integer,uinteger,Position3,Range4,Location,LocationLink,Color2,ColorInformation,ColorPresentation,FoldingRangeKind2,FoldingRange,DiagnosticRelatedInformation,DiagnosticSeverity,DiagnosticTag,CodeDescription,Diagnostic,Command3,TextEdit,ChangeAnnotation,ChangeAnnotationIdentifier,AnnotatedTextEdit,TextDocumentEdit,CreateFile,RenameFile,DeleteFile,WorkspaceEdit,TextEditChangeImpl,ChangeAnnotations,WorkspaceChange,TextDocumentIdentifier,VersionedTextDocumentIdentifier,OptionalVersionedTextDocumentIdentifier,TextDocumentItem,MarkupKind,MarkupContent,CompletionItemKind2,InsertTextFormat,CompletionItemTag2,InsertReplaceEdit,InsertTextMode,CompletionItem,CompletionList,MarkedString,Hover,ParameterInformation,SignatureInformation,DocumentHighlightKind3,DocumentHighlight,SymbolKind2,SymbolTag2,SymbolInformation,DocumentSymbol,CodeActionKind,CodeActionContext,CodeAction,CodeLens,FormattingOptions,DocumentLink,SelectionRange,TextDocument,FullTextDocument,Is,DiagnosticsAdapter,CompletionAdapter,HoverAdapter,DocumentHighlightAdapter,DefinitionAdapter,ReferenceAdapter,RenameAdapter,DocumentSymbolAdapter,DocumentLinkAdapter,DocumentFormattingEditProvider,DocumentRangeFormattingEditProvider,DocumentColorAdapter,FoldingRangeAdapter,SelectionRangeAdapter;var init_cssMode=__esm({"node_modules/monaco-editor/esm/vs/language/css/cssMode.js"(){init_editor_api();__defProp13=Object.defineProperty;__getOwnPropDesc13=Object.getOwnPropertyDescriptor;__getOwnPropNames13=Object.getOwnPropertyNames;__hasOwnProp13=Object.prototype.hasOwnProperty;__copyProps13=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames13(from))if(!__hasOwnProp13.call(to,key)&&key!==except)__defProp13(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc13(from,key))||desc.enumerable})}return to};__reExport12=(target,mod,secondTarget)=>(__copyProps13(target,mod,"default"),secondTarget&&__copyProps13(secondTarget,mod,"default"));monaco_editor_core_exports12={};__reExport12(monaco_editor_core_exports12,editor_api_exports);STOP_WHEN_IDLE_FOR=2*60*1e3;WorkerManager2=class{constructor(defaults){__publicField(this,"_defaults");__publicField(this,"_idleCheckInterval");__publicField(this,"_lastUsedTime");__publicField(this,"_configChangeListener");__publicField(this,"_worker");__publicField(this,"_client");this._defaults=defaults;this._worker=null;this._client=null;this._idleCheckInterval=window.setInterval((()=>this._checkIfIdle()),30*1e3);this._lastUsedTime=0;this._configChangeListener=this._defaults.onDidChange((()=>this._stopWorker()))}_stopWorker(){if(this._worker){this._worker.dispose();this._worker=null}this._client=null}dispose(){clearInterval(this._idleCheckInterval);this._configChangeListener.dispose();this._stopWorker()}_checkIfIdle(){if(!this._worker){return}let timePassedSinceLastUsed=Date.now()-this._lastUsedTime;if(timePassedSinceLastUsed>STOP_WHEN_IDLE_FOR){this._stopWorker()}}_getClient(){this._lastUsedTime=Date.now();if(!this._client){this._worker=monaco_editor_core_exports12.editor.createWebWorker({moduleId:"vs/language/css/cssWorker",label:this._defaults.languageId,createData:{options:this._defaults.options,languageId:this._defaults.languageId}});this._client=this._worker.getProxy()}return this._client}getLanguageServiceWorker(...resources){let _client;return this._getClient().then((client=>{_client=client})).then((_=>{if(this._worker){return this._worker.withSyncedResources(resources)}})).then((_=>_client))}};(function(integer22){integer22.MIN_VALUE=-2147483648;integer22.MAX_VALUE=2147483647})(integer||(integer={}));(function(uinteger22){uinteger22.MIN_VALUE=0;uinteger22.MAX_VALUE=2147483647})(uinteger||(uinteger={}));(function(Position32){function create3(line,character){if(line===Number.MAX_VALUE){line=uinteger.MAX_VALUE}if(character===Number.MAX_VALUE){character=uinteger.MAX_VALUE}return{line:line,character:character}}Position32.create=create3;function is(value){var candidate=value;return Is.objectLiteral(candidate)&&Is.uinteger(candidate.line)&&Is.uinteger(candidate.character)}Position32.is=is})(Position3||(Position3={}));(function(Range32){function create3(one,two,three,four){if(Is.uinteger(one)&&Is.uinteger(two)&&Is.uinteger(three)&&Is.uinteger(four)){return{start:Position3.create(one,two),end:Position3.create(three,four)}}else if(Position3.is(one)&&Position3.is(two)){return{start:one,end:two}}else{throw new Error("Range#create called with invalid arguments["+one+", "+two+", "+three+", "+four+"]")}}Range32.create=create3;function is(value){var candidate=value;return Is.objectLiteral(candidate)&&Position3.is(candidate.start)&&Position3.is(candidate.end)}Range32.is=is})(Range4||(Range4={}));(function(Location22){function create3(uri,range2){return{uri:uri,range:range2}}Location22.create=create3;function is(value){var candidate=value;return Is.defined(candidate)&&Range4.is(candidate.range)&&(Is.string(candidate.uri)||Is.undefined(candidate.uri))}Location22.is=is})(Location||(Location={}));(function(LocationLink22){function create3(targetUri,targetRange,targetSelectionRange,originSelectionRange){return{targetUri:targetUri,targetRange:targetRange,targetSelectionRange:targetSelectionRange,originSelectionRange:originSelectionRange}}LocationLink22.create=create3;function is(value){var candidate=value;return Is.defined(candidate)&&Range4.is(candidate.targetRange)&&Is.string(candidate.targetUri)&&(Range4.is(candidate.targetSelectionRange)||Is.undefined(candidate.targetSelectionRange))&&(Range4.is(candidate.originSelectionRange)||Is.undefined(candidate.originSelectionRange))}LocationLink22.is=is})(LocationLink||(LocationLink={}));(function(Color22){function create3(red,green,blue,alpha){return{red:red,green:green,blue:blue,alpha:alpha}}Color22.create=create3;function is(value){var candidate=value;return Is.numberRange(candidate.red,0,1)&&Is.numberRange(candidate.green,0,1)&&Is.numberRange(candidate.blue,0,1)&&Is.numberRange(candidate.alpha,0,1)}Color22.is=is})(Color2||(Color2={}));(function(ColorInformation22){function create3(range2,color){return{range:range2,color:color}}ColorInformation22.create=create3;function is(value){var candidate=value;return Range4.is(candidate.range)&&Color2.is(candidate.color)}ColorInformation22.is=is})(ColorInformation||(ColorInformation={}));(function(ColorPresentation22){function create3(label,textEdit,additionalTextEdits){return{label:label,textEdit:textEdit,additionalTextEdits:additionalTextEdits}}ColorPresentation22.create=create3;function is(value){var candidate=value;return Is.string(candidate.label)&&(Is.undefined(candidate.textEdit)||TextEdit.is(candidate))&&(Is.undefined(candidate.additionalTextEdits)||Is.typedArray(candidate.additionalTextEdits,TextEdit.is))}ColorPresentation22.is=is})(ColorPresentation||(ColorPresentation={}));(function(FoldingRangeKind22){FoldingRangeKind22["Comment"]="comment";FoldingRangeKind22["Imports"]="imports";FoldingRangeKind22["Region"]="region"})(FoldingRangeKind2||(FoldingRangeKind2={}));(function(FoldingRange22){function create3(startLine,endLine,startCharacter,endCharacter,kind){var result={startLine:startLine,endLine:endLine};if(Is.defined(startCharacter)){result.startCharacter=startCharacter}if(Is.defined(endCharacter)){result.endCharacter=endCharacter}if(Is.defined(kind)){result.kind=kind}return result}FoldingRange22.create=create3;function is(value){var candidate=value;return Is.uinteger(candidate.startLine)&&Is.uinteger(candidate.startLine)&&(Is.undefined(candidate.startCharacter)||Is.uinteger(candidate.startCharacter))&&(Is.undefined(candidate.endCharacter)||Is.uinteger(candidate.endCharacter))&&(Is.undefined(candidate.kind)||Is.string(candidate.kind))}FoldingRange22.is=is})(FoldingRange||(FoldingRange={}));(function(DiagnosticRelatedInformation22){function create3(location,message){return{location:location,message:message}}DiagnosticRelatedInformation22.create=create3;function is(value){var candidate=value;return Is.defined(candidate)&&Location.is(candidate.location)&&Is.string(candidate.message)}DiagnosticRelatedInformation22.is=is})(DiagnosticRelatedInformation||(DiagnosticRelatedInformation={}));(function(DiagnosticSeverity22){DiagnosticSeverity22.Error=1;DiagnosticSeverity22.Warning=2;DiagnosticSeverity22.Information=3;DiagnosticSeverity22.Hint=4})(DiagnosticSeverity||(DiagnosticSeverity={}));(function(DiagnosticTag22){DiagnosticTag22.Unnecessary=1;DiagnosticTag22.Deprecated=2})(DiagnosticTag||(DiagnosticTag={}));(function(CodeDescription22){function is(value){var candidate=value;return candidate!==void 0&&candidate!==null&&Is.string(candidate.href)}CodeDescription22.is=is})(CodeDescription||(CodeDescription={}));(function(Diagnostic22){function create3(range2,message,severity,code,source,relatedInformation){var result={range:range2,message:message};if(Is.defined(severity)){result.severity=severity}if(Is.defined(code)){result.code=code}if(Is.defined(source)){result.source=source}if(Is.defined(relatedInformation)){result.relatedInformation=relatedInformation}return result}Diagnostic22.create=create3;function is(value){var _a6;var candidate=value;return Is.defined(candidate)&&Range4.is(candidate.range)&&Is.string(candidate.message)&&(Is.number(candidate.severity)||Is.undefined(candidate.severity))&&(Is.integer(candidate.code)||Is.string(candidate.code)||Is.undefined(candidate.code))&&(Is.undefined(candidate.codeDescription)||Is.string((_a6=candidate.codeDescription)===null||_a6===void 0?void 0:_a6.href))&&(Is.string(candidate.source)||Is.undefined(candidate.source))&&(Is.undefined(candidate.relatedInformation)||Is.typedArray(candidate.relatedInformation,DiagnosticRelatedInformation.is))}Diagnostic22.is=is})(Diagnostic||(Diagnostic={}));(function(Command22){function create3(title,command){var args=[];for(var _i=2;_i<arguments.length;_i++){args[_i-2]=arguments[_i]}var result={title:title,command:command};if(Is.defined(args)&&args.length>0){result.arguments=args}return result}Command22.create=create3;function is(value){var candidate=value;return Is.defined(candidate)&&Is.string(candidate.title)&&Is.string(candidate.command)}Command22.is=is})(Command3||(Command3={}));(function(TextEdit22){function replace(range2,newText){return{range:range2,newText:newText}}TextEdit22.replace=replace;function insert(position,newText){return{range:{start:position,end:position},newText:newText}}TextEdit22.insert=insert;function del(range2){return{range:range2,newText:""}}TextEdit22.del=del;function is(value){var candidate=value;return Is.objectLiteral(candidate)&&Is.string(candidate.newText)&&Range4.is(candidate.range)}TextEdit22.is=is})(TextEdit||(TextEdit={}));(function(ChangeAnnotation22){function create3(label,needsConfirmation,description){var result={label:label};if(needsConfirmation!==void 0){result.needsConfirmation=needsConfirmation}if(description!==void 0){result.description=description}return result}ChangeAnnotation22.create=create3;function is(value){var candidate=value;return candidate!==void 0&&Is.objectLiteral(candidate)&&Is.string(candidate.label)&&(Is.boolean(candidate.needsConfirmation)||candidate.needsConfirmation===void 0)&&(Is.string(candidate.description)||candidate.description===void 0)}ChangeAnnotation22.is=is})(ChangeAnnotation||(ChangeAnnotation={}));(function(ChangeAnnotationIdentifier22){function is(value){var candidate=value;return typeof candidate==="string"}ChangeAnnotationIdentifier22.is=is})(ChangeAnnotationIdentifier||(ChangeAnnotationIdentifier={}));(function(AnnotatedTextEdit22){function replace(range2,newText,annotation){return{range:range2,newText:newText,annotationId:annotation}}AnnotatedTextEdit22.replace=replace;function insert(position,newText,annotation){return{range:{start:position,end:position},newText:newText,annotationId:annotation}}AnnotatedTextEdit22.insert=insert;function del(range2,annotation){return{range:range2,newText:"",annotationId:annotation}}AnnotatedTextEdit22.del=del;function is(value){var candidate=value;return TextEdit.is(candidate)&&(ChangeAnnotation.is(candidate.annotationId)||ChangeAnnotationIdentifier.is(candidate.annotationId))}AnnotatedTextEdit22.is=is})(AnnotatedTextEdit||(AnnotatedTextEdit={}));(function(TextDocumentEdit22){function create3(textDocument,edits){return{textDocument:textDocument,edits:edits}}TextDocumentEdit22.create=create3;function is(value){var candidate=value;return Is.defined(candidate)&&OptionalVersionedTextDocumentIdentifier.is(candidate.textDocument)&&Array.isArray(candidate.edits)}TextDocumentEdit22.is=is})(TextDocumentEdit||(TextDocumentEdit={}));(function(CreateFile22){function create3(uri,options2,annotation){var result={kind:"create",uri:uri};if(options2!==void 0&&(options2.overwrite!==void 0||options2.ignoreIfExists!==void 0)){result.options=options2}if(annotation!==void 0){result.annotationId=annotation}return result}CreateFile22.create=create3;function is(value){var candidate=value;return candidate&&candidate.kind==="create"&&Is.string(candidate.uri)&&(candidate.options===void 0||(candidate.options.overwrite===void 0||Is.boolean(candidate.options.overwrite))&&(candidate.options.ignoreIfExists===void 0||Is.boolean(candidate.options.ignoreIfExists)))&&(candidate.annotationId===void 0||ChangeAnnotationIdentifier.is(candidate.annotationId))}CreateFile22.is=is})(CreateFile||(CreateFile={}));(function(RenameFile22){function create3(oldUri,newUri,options2,annotation){var result={kind:"rename",oldUri:oldUri,newUri:newUri};if(options2!==void 0&&(options2.overwrite!==void 0||options2.ignoreIfExists!==void 0)){result.options=options2}if(annotation!==void 0){result.annotationId=annotation}return result}RenameFile22.create=create3;function is(value){var candidate=value;return candidate&&candidate.kind==="rename"&&Is.string(candidate.oldUri)&&Is.string(candidate.newUri)&&(candidate.options===void 0||(candidate.options.overwrite===void 0||Is.boolean(candidate.options.overwrite))&&(candidate.options.ignoreIfExists===void 0||Is.boolean(candidate.options.ignoreIfExists)))&&(candidate.annotationId===void 0||ChangeAnnotationIdentifier.is(candidate.annotationId))}RenameFile22.is=is})(RenameFile||(RenameFile={}));(function(DeleteFile22){function create3(uri,options2,annotation){var result={kind:"delete",uri:uri};if(options2!==void 0&&(options2.recursive!==void 0||options2.ignoreIfNotExists!==void 0)){result.options=options2}if(annotation!==void 0){result.annotationId=annotation}return result}DeleteFile22.create=create3;function is(value){var candidate=value;return candidate&&candidate.kind==="delete"&&Is.string(candidate.uri)&&(candidate.options===void 0||(candidate.options.recursive===void 0||Is.boolean(candidate.options.recursive))&&(candidate.options.ignoreIfNotExists===void 0||Is.boolean(candidate.options.ignoreIfNotExists)))&&(candidate.annotationId===void 0||ChangeAnnotationIdentifier.is(candidate.annotationId))}DeleteFile22.is=is})(DeleteFile||(DeleteFile={}));(function(WorkspaceEdit22){function is(value){var candidate=value;return candidate&&(candidate.changes!==void 0||candidate.documentChanges!==void 0)&&(candidate.documentChanges===void 0||candidate.documentChanges.every((function(change){if(Is.string(change.kind)){return CreateFile.is(change)||RenameFile.is(change)||DeleteFile.is(change)}else{return TextDocumentEdit.is(change)}})))}WorkspaceEdit22.is=is})(WorkspaceEdit||(WorkspaceEdit={}));TextEditChangeImpl=function(){function TextEditChangeImpl22(edits,changeAnnotations){this.edits=edits;this.changeAnnotations=changeAnnotations}TextEditChangeImpl22.prototype.insert=function(position,newText,annotation){var edit;var id;if(annotation===void 0){edit=TextEdit.insert(position,newText)}else if(ChangeAnnotationIdentifier.is(annotation)){id=annotation;edit=AnnotatedTextEdit.insert(position,newText,annotation)}else{this.assertChangeAnnotations(this.changeAnnotations);id=this.changeAnnotations.manage(annotation);edit=AnnotatedTextEdit.insert(position,newText,id)}this.edits.push(edit);if(id!==void 0){return id}};TextEditChangeImpl22.prototype.replace=function(range2,newText,annotation){var edit;var id;if(annotation===void 0){edit=TextEdit.replace(range2,newText)}else if(ChangeAnnotationIdentifier.is(annotation)){id=annotation;edit=AnnotatedTextEdit.replace(range2,newText,annotation)}else{this.assertChangeAnnotations(this.changeAnnotations);id=this.changeAnnotations.manage(annotation);edit=AnnotatedTextEdit.replace(range2,newText,id)}this.edits.push(edit);if(id!==void 0){return id}};TextEditChangeImpl22.prototype.delete=function(range2,annotation){var edit;var id;if(annotation===void 0){edit=TextEdit.del(range2)}else if(ChangeAnnotationIdentifier.is(annotation)){id=annotation;edit=AnnotatedTextEdit.del(range2,annotation)}else{this.assertChangeAnnotations(this.changeAnnotations);id=this.changeAnnotations.manage(annotation);edit=AnnotatedTextEdit.del(range2,id)}this.edits.push(edit);if(id!==void 0){return id}};TextEditChangeImpl22.prototype.add=function(edit){this.edits.push(edit)};TextEditChangeImpl22.prototype.all=function(){return this.edits};TextEditChangeImpl22.prototype.clear=function(){this.edits.splice(0,this.edits.length)};TextEditChangeImpl22.prototype.assertChangeAnnotations=function(value){if(value===void 0){throw new Error("Text edit change is not configured to manage change annotations.")}};return TextEditChangeImpl22}();ChangeAnnotations=function(){function ChangeAnnotations22(annotations){this._annotations=annotations===void 0?Object.create(null):annotations;this._counter=0;this._size=0}ChangeAnnotations22.prototype.all=function(){return this._annotations};Object.defineProperty(ChangeAnnotations22.prototype,"size",{get:function(){return this._size},enumerable:false,configurable:true});ChangeAnnotations22.prototype.manage=function(idOrAnnotation,annotation){var id;if(ChangeAnnotationIdentifier.is(idOrAnnotation)){id=idOrAnnotation}else{id=this.nextId();annotation=idOrAnnotation}if(this._annotations[id]!==void 0){throw new Error("Id "+id+" is already in use.")}if(annotation===void 0){throw new Error("No annotation provided for id "+id)}this._annotations[id]=annotation;this._size++;return id};ChangeAnnotations22.prototype.nextId=function(){this._counter++;return this._counter.toString()};return ChangeAnnotations22}();WorkspaceChange=function(){function WorkspaceChange22(workspaceEdit){var _this=this;this._textEditChanges=Object.create(null);if(workspaceEdit!==void 0){this._workspaceEdit=workspaceEdit;if(workspaceEdit.documentChanges){this._changeAnnotations=new ChangeAnnotations(workspaceEdit.changeAnnotations);workspaceEdit.changeAnnotations=this._changeAnnotations.all();workspaceEdit.documentChanges.forEach((function(change){if(TextDocumentEdit.is(change)){var textEditChange=new TextEditChangeImpl(change.edits,_this._changeAnnotations);_this._textEditChanges[change.textDocument.uri]=textEditChange}}))}else if(workspaceEdit.changes){Object.keys(workspaceEdit.changes).forEach((function(key){var textEditChange=new TextEditChangeImpl(workspaceEdit.changes[key]);_this._textEditChanges[key]=textEditChange}))}}else{this._workspaceEdit={}}}Object.defineProperty(WorkspaceChange22.prototype,"edit",{get:function(){this.initDocumentChanges();if(this._changeAnnotations!==void 0){if(this._changeAnnotations.size===0){this._workspaceEdit.changeAnnotations=void 0}else{this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()}}return this._workspaceEdit},enumerable:false,configurable:true});WorkspaceChange22.prototype.getTextEditChange=function(key){if(OptionalVersionedTextDocumentIdentifier.is(key)){this.initDocumentChanges();if(this._workspaceEdit.documentChanges===void 0){throw new Error("Workspace edit is not configured for document changes.")}var textDocument={uri:key.uri,version:key.version};var result=this._textEditChanges[textDocument.uri];if(!result){var edits=[];var textDocumentEdit={textDocument:textDocument,edits:edits};this._workspaceEdit.documentChanges.push(textDocumentEdit);result=new TextEditChangeImpl(edits,this._changeAnnotations);this._textEditChanges[textDocument.uri]=result}return result}else{this.initChanges();if(this._workspaceEdit.changes===void 0){throw new Error("Workspace edit is not configured for normal text edit changes.")}var result=this._textEditChanges[key];if(!result){var edits=[];this._workspaceEdit.changes[key]=edits;result=new TextEditChangeImpl(edits);this._textEditChanges[key]=result}return result}};WorkspaceChange22.prototype.initDocumentChanges=function(){if(this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0){this._changeAnnotations=new ChangeAnnotations;this._workspaceEdit.documentChanges=[];this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()}};WorkspaceChange22.prototype.initChanges=function(){if(this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0){this._workspaceEdit.changes=Object.create(null)}};WorkspaceChange22.prototype.createFile=function(uri,optionsOrAnnotation,options2){this.initDocumentChanges();if(this._workspaceEdit.documentChanges===void 0){throw new Error("Workspace edit is not configured for document changes.")}var annotation;if(ChangeAnnotation.is(optionsOrAnnotation)||ChangeAnnotationIdentifier.is(optionsOrAnnotation)){annotation=optionsOrAnnotation}else{options2=optionsOrAnnotation}var operation;var id;if(annotation===void 0){operation=CreateFile.create(uri,options2)}else{id=ChangeAnnotationIdentifier.is(annotation)?annotation:this._changeAnnotations.manage(annotation);operation=CreateFile.create(uri,options2,id)}this._workspaceEdit.documentChanges.push(operation);if(id!==void 0){return id}};WorkspaceChange22.prototype.renameFile=function(oldUri,newUri,optionsOrAnnotation,options2){this.initDocumentChanges();if(this._workspaceEdit.documentChanges===void 0){throw new Error("Workspace edit is not configured for document changes.")}var annotation;if(ChangeAnnotation.is(optionsOrAnnotation)||ChangeAnnotationIdentifier.is(optionsOrAnnotation)){annotation=optionsOrAnnotation}else{options2=optionsOrAnnotation}var operation;var id;if(annotation===void 0){operation=RenameFile.create(oldUri,newUri,options2)}else{id=ChangeAnnotationIdentifier.is(annotation)?annotation:this._changeAnnotations.manage(annotation);operation=RenameFile.create(oldUri,newUri,options2,id)}this._workspaceEdit.documentChanges.push(operation);if(id!==void 0){return id}};WorkspaceChange22.prototype.deleteFile=function(uri,optionsOrAnnotation,options2){this.initDocumentChanges();if(this._workspaceEdit.documentChanges===void 0){throw new Error("Workspace edit is not configured for document changes.")}var annotation;if(ChangeAnnotation.is(optionsOrAnnotation)||ChangeAnnotationIdentifier.is(optionsOrAnnotation)){annotation=optionsOrAnnotation}else{options2=optionsOrAnnotation}var operation;var id;if(annotation===void 0){operation=DeleteFile.create(uri,options2)}else{id=ChangeAnnotationIdentifier.is(annotation)?annotation:this._changeAnnotations.manage(annotation);operation=DeleteFile.create(uri,options2,id)}this._workspaceEdit.documentChanges.push(operation);if(id!==void 0){return id}};return WorkspaceChange22}();(function(TextDocumentIdentifier22){function create3(uri){return{uri:uri}}TextDocumentIdentifier22.create=create3;function is(value){var candidate=value;return Is.defined(candidate)&&Is.string(candidate.uri)}TextDocumentIdentifier22.is=is})(TextDocumentIdentifier||(TextDocumentIdentifier={}));(function(VersionedTextDocumentIdentifier22){function create3(uri,version2){return{uri:uri,version:version2}}VersionedTextDocumentIdentifier22.create=create3;function is(value){var candidate=value;return Is.defined(candidate)&&Is.string(candidate.uri)&&Is.integer(candidate.version)}VersionedTextDocumentIdentifier22.is=is})(VersionedTextDocumentIdentifier||(VersionedTextDocumentIdentifier={}));(function(OptionalVersionedTextDocumentIdentifier22){function create3(uri,version2){return{uri:uri,version:version2}}OptionalVersionedTextDocumentIdentifier22.create=create3;function is(value){var candidate=value;return Is.defined(candidate)&&Is.string(candidate.uri)&&(candidate.version===null||Is.integer(candidate.version))}OptionalVersionedTextDocumentIdentifier22.is=is})(OptionalVersionedTextDocumentIdentifier||(OptionalVersionedTextDocumentIdentifier={}));(function(TextDocumentItem22){function create3(uri,languageId,version2,text2){return{uri:uri,languageId:languageId,version:version2,text:text2}}TextDocumentItem22.create=create3;function is(value){var candidate=value;return Is.defined(candidate)&&Is.string(candidate.uri)&&Is.string(candidate.languageId)&&Is.integer(candidate.version)&&Is.string(candidate.text)}TextDocumentItem22.is=is})(TextDocumentItem||(TextDocumentItem={}));(function(MarkupKind22){MarkupKind22.PlainText="plaintext";MarkupKind22.Markdown="markdown"})(MarkupKind||(MarkupKind={}));(function(MarkupKind22){function is(value){var candidate=value;return candidate===MarkupKind22.PlainText||candidate===MarkupKind22.Markdown}MarkupKind22.is=is})(MarkupKind||(MarkupKind={}));(function(MarkupContent22){function is(value){var candidate=value;return Is.objectLiteral(value)&&MarkupKind.is(candidate.kind)&&Is.string(candidate.value)}MarkupContent22.is=is})(MarkupContent||(MarkupContent={}));(function(CompletionItemKind22){CompletionItemKind22.Text=1;CompletionItemKind22.Method=2;CompletionItemKind22.Function=3;CompletionItemKind22.Constructor=4;CompletionItemKind22.Field=5;CompletionItemKind22.Variable=6;CompletionItemKind22.Class=7;CompletionItemKind22.Interface=8;CompletionItemKind22.Module=9;CompletionItemKind22.Property=10;CompletionItemKind22.Unit=11;CompletionItemKind22.Value=12;CompletionItemKind22.Enum=13;CompletionItemKind22.Keyword=14;CompletionItemKind22.Snippet=15;CompletionItemKind22.Color=16;CompletionItemKind22.File=17;CompletionItemKind22.Reference=18;CompletionItemKind22.Folder=19;CompletionItemKind22.EnumMember=20;CompletionItemKind22.Constant=21;CompletionItemKind22.Struct=22;CompletionItemKind22.Event=23;CompletionItemKind22.Operator=24;CompletionItemKind22.TypeParameter=25})(CompletionItemKind2||(CompletionItemKind2={}));(function(InsertTextFormat22){InsertTextFormat22.PlainText=1;InsertTextFormat22.Snippet=2})(InsertTextFormat||(InsertTextFormat={}));(function(CompletionItemTag22){CompletionItemTag22.Deprecated=1})(CompletionItemTag2||(CompletionItemTag2={}));(function(InsertReplaceEdit22){function create3(newText,insert,replace){return{newText:newText,insert:insert,replace:replace}}InsertReplaceEdit22.create=create3;function is(value){var candidate=value;return candidate&&Is.string(candidate.newText)&&Range4.is(candidate.insert)&&Range4.is(candidate.replace)}InsertReplaceEdit22.is=is})(InsertReplaceEdit||(InsertReplaceEdit={}));(function(InsertTextMode22){InsertTextMode22.asIs=1;InsertTextMode22.adjustIndentation=2})(InsertTextMode||(InsertTextMode={}));(function(CompletionItem22){function create3(label){return{label:label}}CompletionItem22.create=create3})(CompletionItem||(CompletionItem={}));(function(CompletionList22){function create3(items,isIncomplete){return{items:items?items:[],isIncomplete:!!isIncomplete}}CompletionList22.create=create3})(CompletionList||(CompletionList={}));(function(MarkedString22){function fromPlainText(plainText){return plainText.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}MarkedString22.fromPlainText=fromPlainText;function is(value){var candidate=value;return Is.string(candidate)||Is.objectLiteral(candidate)&&Is.string(candidate.language)&&Is.string(candidate.value)}MarkedString22.is=is})(MarkedString||(MarkedString={}));(function(Hover22){function is(value){var candidate=value;return!!candidate&&Is.objectLiteral(candidate)&&(MarkupContent.is(candidate.contents)||MarkedString.is(candidate.contents)||Is.typedArray(candidate.contents,MarkedString.is))&&(value.range===void 0||Range4.is(value.range))}Hover22.is=is})(Hover||(Hover={}));(function(ParameterInformation22){function create3(label,documentation){return documentation?{label:label,documentation:documentation}:{label:label}}ParameterInformation22.create=create3})(ParameterInformation||(ParameterInformation={}));(function(SignatureInformation22){function create3(label,documentation){var parameters=[];for(var _i=2;_i<arguments.length;_i++){parameters[_i-2]=arguments[_i]}var result={label:label};if(Is.defined(documentation)){result.documentation=documentation}if(Is.defined(parameters)){result.parameters=parameters}else{result.parameters=[]}return result}SignatureInformation22.create=create3})(SignatureInformation||(SignatureInformation={}));(function(DocumentHighlightKind22){DocumentHighlightKind22.Text=1;DocumentHighlightKind22.Read=2;DocumentHighlightKind22.Write=3})(DocumentHighlightKind3||(DocumentHighlightKind3={}));(function(DocumentHighlight22){function create3(range2,kind){var result={range:range2};if(Is.number(kind)){result.kind=kind}return result}DocumentHighlight22.create=create3})(DocumentHighlight||(DocumentHighlight={}));(function(SymbolKind22){SymbolKind22.File=1;SymbolKind22.Module=2;SymbolKind22.Namespace=3;SymbolKind22.Package=4;SymbolKind22.Class=5;SymbolKind22.Method=6;SymbolKind22.Property=7;SymbolKind22.Field=8;SymbolKind22.Constructor=9;SymbolKind22.Enum=10;SymbolKind22.Interface=11;SymbolKind22.Function=12;SymbolKind22.Variable=13;SymbolKind22.Constant=14;SymbolKind22.String=15;SymbolKind22.Number=16;SymbolKind22.Boolean=17;SymbolKind22.Array=18;SymbolKind22.Object=19;SymbolKind22.Key=20;SymbolKind22.Null=21;SymbolKind22.EnumMember=22;SymbolKind22.Struct=23;SymbolKind22.Event=24;SymbolKind22.Operator=25;SymbolKind22.TypeParameter=26})(SymbolKind2||(SymbolKind2={}));(function(SymbolTag22){SymbolTag22.Deprecated=1})(SymbolTag2||(SymbolTag2={}));(function(SymbolInformation22){function create3(name,kind,range2,uri,containerName){var result={name:name,kind:kind,location:{uri:uri,range:range2}};if(containerName){result.containerName=containerName}return result}SymbolInformation22.create=create3})(SymbolInformation||(SymbolInformation={}));(function(DocumentSymbol22){function create3(name,detail,kind,range2,selectionRange,children){var result={name:name,detail:detail,kind:kind,range:range2,selectionRange:selectionRange};if(children!==void 0){result.children=children}return result}DocumentSymbol22.create=create3;function is(value){var candidate=value;return candidate&&Is.string(candidate.name)&&Is.number(candidate.kind)&&Range4.is(candidate.range)&&Range4.is(candidate.selectionRange)&&(candidate.detail===void 0||Is.string(candidate.detail))&&(candidate.deprecated===void 0||Is.boolean(candidate.deprecated))&&(candidate.children===void 0||Array.isArray(candidate.children))&&(candidate.tags===void 0||Array.isArray(candidate.tags))}DocumentSymbol22.is=is})(DocumentSymbol||(DocumentSymbol={}));(function(CodeActionKind22){CodeActionKind22.Empty="";CodeActionKind22.QuickFix="quickfix";CodeActionKind22.Refactor="refactor";CodeActionKind22.RefactorExtract="refactor.extract";CodeActionKind22.RefactorInline="refactor.inline";CodeActionKind22.RefactorRewrite="refactor.rewrite";CodeActionKind22.Source="source";CodeActionKind22.SourceOrganizeImports="source.organizeImports";CodeActionKind22.SourceFixAll="source.fixAll"})(CodeActionKind||(CodeActionKind={}));(function(CodeActionContext22){function create3(diagnostics,only){var result={diagnostics:diagnostics};if(only!==void 0&&only!==null){result.only=only}return result}CodeActionContext22.create=create3;function is(value){var candidate=value;return Is.defined(candidate)&&Is.typedArray(candidate.diagnostics,Diagnostic.is)&&(candidate.only===void 0||Is.typedArray(candidate.only,Is.string))}CodeActionContext22.is=is})(CodeActionContext||(CodeActionContext={}));(function(CodeAction22){function create3(title,kindOrCommandOrEdit,kind){var result={title:title};var checkKind=true;if(typeof kindOrCommandOrEdit==="string"){checkKind=false;result.kind=kindOrCommandOrEdit}else if(Command3.is(kindOrCommandOrEdit)){result.command=kindOrCommandOrEdit}else{result.edit=kindOrCommandOrEdit}if(checkKind&&kind!==void 0){result.kind=kind}return result}CodeAction22.create=create3;function is(value){var candidate=value;return candidate&&Is.string(candidate.title)&&(candidate.diagnostics===void 0||Is.typedArray(candidate.diagnostics,Diagnostic.is))&&(candidate.kind===void 0||Is.string(candidate.kind))&&(candidate.edit!==void 0||candidate.command!==void 0)&&(candidate.command===void 0||Command3.is(candidate.command))&&(candidate.isPreferred===void 0||Is.boolean(candidate.isPreferred))&&(candidate.edit===void 0||WorkspaceEdit.is(candidate.edit))}CodeAction22.is=is})(CodeAction||(CodeAction={}));(function(CodeLens22){function create3(range2,data){var result={range:range2};if(Is.defined(data)){result.data=data}return result}CodeLens22.create=create3;function is(value){var candidate=value;return Is.defined(candidate)&&Range4.is(candidate.range)&&(Is.undefined(candidate.command)||Command3.is(candidate.command))}CodeLens22.is=is})(CodeLens||(CodeLens={}));(function(FormattingOptions22){function create3(tabSize,insertSpaces){return{tabSize:tabSize,insertSpaces:insertSpaces}}FormattingOptions22.create=create3;function is(value){var candidate=value;return Is.defined(candidate)&&Is.uinteger(candidate.tabSize)&&Is.boolean(candidate.insertSpaces)}FormattingOptions22.is=is})(FormattingOptions||(FormattingOptions={}));(function(DocumentLink22){function create3(range2,target,data){return{range:range2,target:target,data:data}}DocumentLink22.create=create3;function is(value){var candidate=value;return Is.defined(candidate)&&Range4.is(candidate.range)&&(Is.undefined(candidate.target)||Is.string(candidate.target))}DocumentLink22.is=is})(DocumentLink||(DocumentLink={}));(function(SelectionRange22){function create3(range2,parent){return{range:range2,parent:parent}}SelectionRange22.create=create3;function is(value){var candidate=value;return candidate!==void 0&&Range4.is(candidate.range)&&(candidate.parent===void 0||SelectionRange22.is(candidate.parent))}SelectionRange22.is=is})(SelectionRange||(SelectionRange={}));(function(TextDocument22){function create3(uri,languageId,version2,content){return new FullTextDocument(uri,languageId,version2,content)}TextDocument22.create=create3;function is(value){var candidate=value;return Is.defined(candidate)&&Is.string(candidate.uri)&&(Is.undefined(candidate.languageId)||Is.string(candidate.languageId))&&Is.uinteger(candidate.lineCount)&&Is.func(candidate.getText)&&Is.func(candidate.positionAt)&&Is.func(candidate.offsetAt)?true:false}TextDocument22.is=is;function applyEdits2(document2,edits){var text2=document2.getText();var sortedEdits=mergeSort(edits,(function(a,b){var diff=a.range.start.line-b.range.start.line;if(diff===0){return a.range.start.character-b.range.start.character}return diff}));var lastModifiedOffset=text2.length;for(var i=sortedEdits.length-1;i>=0;i--){var e=sortedEdits[i];var startOffset=document2.offsetAt(e.range.start);var endOffset=document2.offsetAt(e.range.end);if(endOffset<=lastModifiedOffset){text2=text2.substring(0,startOffset)+e.newText+text2.substring(endOffset,text2.length)}else{throw new Error("Overlapping edit")}lastModifiedOffset=startOffset}return text2}TextDocument22.applyEdits=applyEdits2;function mergeSort(data,compare2){if(data.length<=1){return data}var p=data.length/2|0;var left=data.slice(0,p);var right=data.slice(p);mergeSort(left,compare2);mergeSort(right,compare2);var leftIdx=0;var rightIdx=0;var i=0;while(leftIdx<left.length&&rightIdx<right.length){var ret=compare2(left[leftIdx],right[rightIdx]);if(ret<=0){data[i++]=left[leftIdx++]}else{data[i++]=right[rightIdx++]}}while(leftIdx<left.length){data[i++]=left[leftIdx++]}while(rightIdx<right.length){data[i++]=right[rightIdx++]}return data}})(TextDocument||(TextDocument={}));FullTextDocument=function(){function FullTextDocument22(uri,languageId,version2,content){this._uri=uri;this._languageId=languageId;this._version=version2;this._content=content;this._lineOffsets=void 0}Object.defineProperty(FullTextDocument22.prototype,"uri",{get:function(){return this._uri},enumerable:false,configurable:true});Object.defineProperty(FullTextDocument22.prototype,"languageId",{get:function(){return this._languageId},enumerable:false,configurable:true});Object.defineProperty(FullTextDocument22.prototype,"version",{get:function(){return this._version},enumerable:false,configurable:true});FullTextDocument22.prototype.getText=function(range2){if(range2){var start=this.offsetAt(range2.start);var end=this.offsetAt(range2.end);return this._content.substring(start,end)}return this._content};FullTextDocument22.prototype.update=function(event,version2){this._content=event.text;this._version=version2;this._lineOffsets=void 0};FullTextDocument22.prototype.getLineOffsets=function(){if(this._lineOffsets===void 0){var lineOffsets=[];var text2=this._content;var isLineStart=true;for(var i=0;i<text2.length;i++){if(isLineStart){lineOffsets.push(i);isLineStart=false}var ch=text2.charAt(i);isLineStart=ch==="\r"||ch==="\n";if(ch==="\r"&&i+1<text2.length&&text2.charAt(i+1)==="\n"){i++}}if(isLineStart&&text2.length>0){lineOffsets.push(text2.length)}this._lineOffsets=lineOffsets}return this._lineOffsets};FullTextDocument22.prototype.positionAt=function(offset){offset=Math.max(Math.min(offset,this._content.length),0);var lineOffsets=this.getLineOffsets();var low=0,high=lineOffsets.length;if(high===0){return Position3.create(0,offset)}while(low<high){var mid=Math.floor((low+high)/2);if(lineOffsets[mid]>offset){high=mid}else{low=mid+1}}var line=low-1;return Position3.create(line,offset-lineOffsets[line])};FullTextDocument22.prototype.offsetAt=function(position){var lineOffsets=this.getLineOffsets();if(position.line>=lineOffsets.length){return this._content.length}else if(position.line<0){return 0}var lineOffset=lineOffsets[position.line];var nextLineOffset=position.line+1<lineOffsets.length?lineOffsets[position.line+1]:this._content.length;return Math.max(Math.min(lineOffset+position.character,nextLineOffset),lineOffset)};Object.defineProperty(FullTextDocument22.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:false,configurable:true});return FullTextDocument22}();(function(Is22){var toString=Object.prototype.toString;function defined(value){return typeof value!=="undefined"}Is22.defined=defined;function undefined2(value){return typeof value==="undefined"}Is22.undefined=undefined2;function boolean2(value){return value===true||value===false}Is22.boolean=boolean2;function string2(value){return toString.call(value)==="[object String]"}Is22.string=string2;function number(value){return toString.call(value)==="[object Number]"}Is22.number=number;function numberRange(value,min,max){return toString.call(value)==="[object Number]"&&min<=value&&value<=max}Is22.numberRange=numberRange;function integer22(value){return toString.call(value)==="[object Number]"&&-2147483648<=value&&value<=2147483647}Is22.integer=integer22;function uinteger22(value){return toString.call(value)==="[object Number]"&&0<=value&&value<=2147483647}Is22.uinteger=uinteger22;function func(value){return toString.call(value)==="[object Function]"}Is22.func=func;function objectLiteral(value){return value!==null&&typeof value==="object"}Is22.objectLiteral=objectLiteral;function typedArray(value,check){return Array.isArray(value)&&value.every(check)}Is22.typedArray=typedArray})(Is||(Is={}));DiagnosticsAdapter=class{constructor(_languageId,_worker,configChangeEvent){__publicField(this,"_disposables",[]);__publicField(this,"_listener",Object.create(null));this._languageId=_languageId;this._worker=_worker;const onModelAdd=model=>{let modeId=model.getLanguageId();if(modeId!==this._languageId){return}let handle;this._listener[model.uri.toString()]=model.onDidChangeContent((()=>{window.clearTimeout(handle);handle=window.setTimeout((()=>this._doValidate(model.uri,modeId)),500)}));this._doValidate(model.uri,modeId)};const onModelRemoved=model=>{monaco_editor_core_exports12.editor.setModelMarkers(model,this._languageId,[]);let uriStr=model.uri.toString();let listener=this._listener[uriStr];if(listener){listener.dispose();delete this._listener[uriStr]}};this._disposables.push(monaco_editor_core_exports12.editor.onDidCreateModel(onModelAdd));this._disposables.push(monaco_editor_core_exports12.editor.onWillDisposeModel(onModelRemoved));this._disposables.push(monaco_editor_core_exports12.editor.onDidChangeModelLanguage((event=>{onModelRemoved(event.model);onModelAdd(event.model)})));this._disposables.push(configChangeEvent((_=>{monaco_editor_core_exports12.editor.getModels().forEach((model=>{if(model.getLanguageId()===this._languageId){onModelRemoved(model);onModelAdd(model)}}))})));this._disposables.push({dispose:()=>{monaco_editor_core_exports12.editor.getModels().forEach(onModelRemoved);for(let key in this._listener){this._listener[key].dispose()}}});monaco_editor_core_exports12.editor.getModels().forEach(onModelAdd)}dispose(){this._disposables.forEach((d=>d&&d.dispose()));this._disposables.length=0}_doValidate(resource,languageId){this._worker(resource).then((worker=>worker.doValidation(resource.toString()))).then((diagnostics=>{const markers=diagnostics.map((d=>toDiagnostics(resource,d)));let model=monaco_editor_core_exports12.editor.getModel(resource);if(model&&model.getLanguageId()===languageId){monaco_editor_core_exports12.editor.setModelMarkers(model,languageId,markers)}})).then(void 0,(err=>{console.error(err)}))}};CompletionAdapter=class{constructor(_worker,_triggerCharacters){this._worker=_worker;this._triggerCharacters=_triggerCharacters}get triggerCharacters(){return this._triggerCharacters}provideCompletionItems(model,position,context,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.doComplete(resource.toString(),fromPosition(position)))).then((info=>{if(!info){return}const wordInfo=model.getWordUntilPosition(position);const wordRange=new monaco_editor_core_exports12.Range(position.lineNumber,wordInfo.startColumn,position.lineNumber,wordInfo.endColumn);const items=info.items.map((entry=>{const item={label:entry.label,insertText:entry.insertText||entry.label,sortText:entry.sortText,filterText:entry.filterText,documentation:entry.documentation,detail:entry.detail,command:toCommand(entry.command),range:wordRange,kind:toCompletionItemKind(entry.kind)};if(entry.textEdit){if(isInsertReplaceEdit(entry.textEdit)){item.range={insert:toRange(entry.textEdit.insert),replace:toRange(entry.textEdit.replace)}}else{item.range=toRange(entry.textEdit.range)}item.insertText=entry.textEdit.newText}if(entry.additionalTextEdits){item.additionalTextEdits=entry.additionalTextEdits.map(toTextEdit)}if(entry.insertTextFormat===InsertTextFormat.Snippet){item.insertTextRules=monaco_editor_core_exports12.languages.CompletionItemInsertTextRule.InsertAsSnippet}return item}));return{isIncomplete:info.isIncomplete,suggestions:items}}))}};HoverAdapter=class{constructor(_worker){this._worker=_worker}provideHover(model,position,token){let resource=model.uri;return this._worker(resource).then((worker=>worker.doHover(resource.toString(),fromPosition(position)))).then((info=>{if(!info){return}return{range:toRange(info.range),contents:toMarkedStringArray(info.contents)}}))}};DocumentHighlightAdapter=class{constructor(_worker){this._worker=_worker}provideDocumentHighlights(model,position,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.findDocumentHighlights(resource.toString(),fromPosition(position)))).then((entries2=>{if(!entries2){return}return entries2.map((entry=>({range:toRange(entry.range),kind:toDocumentHighlightKind(entry.kind)})))}))}};DefinitionAdapter=class{constructor(_worker){this._worker=_worker}provideDefinition(model,position,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.findDefinition(resource.toString(),fromPosition(position)))).then((definition=>{if(!definition){return}return[toLocation(definition)]}))}};ReferenceAdapter=class{constructor(_worker){this._worker=_worker}provideReferences(model,position,context,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.findReferences(resource.toString(),fromPosition(position)))).then((entries2=>{if(!entries2){return}return entries2.map(toLocation)}))}};RenameAdapter=class{constructor(_worker){this._worker=_worker}provideRenameEdits(model,position,newName,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.doRename(resource.toString(),fromPosition(position),newName))).then((edit=>toWorkspaceEdit(edit)))}};DocumentSymbolAdapter=class{constructor(_worker){this._worker=_worker}provideDocumentSymbols(model,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.findDocumentSymbols(resource.toString()))).then((items=>{if(!items){return}return items.map((item=>({name:item.name,detail:"",containerName:item.containerName,kind:toSymbolKind(item.kind),range:toRange(item.location.range),selectionRange:toRange(item.location.range),tags:[]})))}))}};DocumentLinkAdapter=class{constructor(_worker){this._worker=_worker}provideLinks(model,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.findDocumentLinks(resource.toString()))).then((items=>{if(!items){return}return{links:items.map((item=>({range:toRange(item.range),url:item.target})))}}))}};DocumentFormattingEditProvider=class{constructor(_worker){this._worker=_worker}provideDocumentFormattingEdits(model,options2,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.format(resource.toString(),null,fromFormattingOptions(options2)).then((edits=>{if(!edits||edits.length===0){return}return edits.map(toTextEdit)}))))}};DocumentRangeFormattingEditProvider=class{constructor(_worker){__publicField(this,"canFormatMultipleRanges",false);this._worker=_worker}provideDocumentRangeFormattingEdits(model,range2,options2,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.format(resource.toString(),fromRange(range2),fromFormattingOptions(options2)).then((edits=>{if(!edits||edits.length===0){return}return edits.map(toTextEdit)}))))}};DocumentColorAdapter=class{constructor(_worker){this._worker=_worker}provideDocumentColors(model,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.findDocumentColors(resource.toString()))).then((infos=>{if(!infos){return}return infos.map((item=>({color:item.color,range:toRange(item.range)})))}))}provideColorPresentations(model,info,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.getColorPresentations(resource.toString(),info.color,fromRange(info.range)))).then((presentations=>{if(!presentations){return}return presentations.map((presentation=>{let item={label:presentation.label};if(presentation.textEdit){item.textEdit=toTextEdit(presentation.textEdit)}if(presentation.additionalTextEdits){item.additionalTextEdits=presentation.additionalTextEdits.map(toTextEdit)}return item}))}))}};FoldingRangeAdapter=class{constructor(_worker){this._worker=_worker}provideFoldingRanges(model,context,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.getFoldingRanges(resource.toString(),context))).then((ranges=>{if(!ranges){return}return ranges.map((range2=>{const result={start:range2.startLine+1,end:range2.endLine+1};if(typeof range2.kind!=="undefined"){result.kind=toFoldingRangeKind(range2.kind)}return result}))}))}};SelectionRangeAdapter=class{constructor(_worker){this._worker=_worker}provideSelectionRanges(model,positions,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.getSelectionRanges(resource.toString(),positions.map(fromPosition)))).then((selectionRanges=>{if(!selectionRanges){return}return selectionRanges.map((selectionRange=>{const result=[];while(selectionRange){result.push({range:toRange(selectionRange.range)});selectionRange=selectionRange.parent}return result}))}))}}}});var htmlMode_exports={};__export(htmlMode_exports,{CompletionAdapter:()=>CompletionAdapter2,DefinitionAdapter:()=>DefinitionAdapter2,DiagnosticsAdapter:()=>DiagnosticsAdapter2,DocumentColorAdapter:()=>DocumentColorAdapter2,DocumentFormattingEditProvider:()=>DocumentFormattingEditProvider2,DocumentHighlightAdapter:()=>DocumentHighlightAdapter2,DocumentLinkAdapter:()=>DocumentLinkAdapter2,DocumentRangeFormattingEditProvider:()=>DocumentRangeFormattingEditProvider2,DocumentSymbolAdapter:()=>DocumentSymbolAdapter2,FoldingRangeAdapter:()=>FoldingRangeAdapter2,HoverAdapter:()=>HoverAdapter2,ReferenceAdapter:()=>ReferenceAdapter2,RenameAdapter:()=>RenameAdapter2,SelectionRangeAdapter:()=>SelectionRangeAdapter2,WorkerManager:()=>WorkerManager3,fromPosition:()=>fromPosition2,fromRange:()=>fromRange2,setupMode:()=>setupMode2,setupMode1:()=>setupMode1,toRange:()=>toRange2,toTextEdit:()=>toTextEdit2});function toSeverity2(lsSeverity){switch(lsSeverity){case DiagnosticSeverity2.Error:return monaco_editor_core_exports14.MarkerSeverity.Error;case DiagnosticSeverity2.Warning:return monaco_editor_core_exports14.MarkerSeverity.Warning;case DiagnosticSeverity2.Information:return monaco_editor_core_exports14.MarkerSeverity.Info;case DiagnosticSeverity2.Hint:return monaco_editor_core_exports14.MarkerSeverity.Hint;default:return monaco_editor_core_exports14.MarkerSeverity.Info}}function toDiagnostics2(resource,diag){let code=typeof diag.code==="number"?String(diag.code):diag.code;return{severity:toSeverity2(diag.severity),startLineNumber:diag.range.start.line+1,startColumn:diag.range.start.character+1,endLineNumber:diag.range.end.line+1,endColumn:diag.range.end.character+1,message:diag.message,code:code,source:diag.source}}function fromPosition2(position){if(!position){return void 0}return{character:position.column-1,line:position.lineNumber-1}}function fromRange2(range2){if(!range2){return void 0}return{start:{line:range2.startLineNumber-1,character:range2.startColumn-1},end:{line:range2.endLineNumber-1,character:range2.endColumn-1}}}function toRange2(range2){if(!range2){return void 0}return new monaco_editor_core_exports14.Range(range2.start.line+1,range2.start.character+1,range2.end.line+1,range2.end.character+1)}function isInsertReplaceEdit2(edit){return typeof edit.insert!=="undefined"&&typeof edit.replace!=="undefined"}function toCompletionItemKind2(kind){const mItemKind=monaco_editor_core_exports14.languages.CompletionItemKind;switch(kind){case CompletionItemKind3.Text:return mItemKind.Text;case CompletionItemKind3.Method:return mItemKind.Method;case CompletionItemKind3.Function:return mItemKind.Function;case CompletionItemKind3.Constructor:return mItemKind.Constructor;case CompletionItemKind3.Field:return mItemKind.Field;case CompletionItemKind3.Variable:return mItemKind.Variable;case CompletionItemKind3.Class:return mItemKind.Class;case CompletionItemKind3.Interface:return mItemKind.Interface;case CompletionItemKind3.Module:return mItemKind.Module;case CompletionItemKind3.Property:return mItemKind.Property;case CompletionItemKind3.Unit:return mItemKind.Unit;case CompletionItemKind3.Value:return mItemKind.Value;case CompletionItemKind3.Enum:return mItemKind.Enum;case CompletionItemKind3.Keyword:return mItemKind.Keyword;case CompletionItemKind3.Snippet:return mItemKind.Snippet;case CompletionItemKind3.Color:return mItemKind.Color;case CompletionItemKind3.File:return mItemKind.File;case CompletionItemKind3.Reference:return mItemKind.Reference}return mItemKind.Property}function toTextEdit2(textEdit){if(!textEdit){return void 0}return{range:toRange2(textEdit.range),text:textEdit.newText}}function toCommand2(c){return c&&c.command==="editor.action.triggerSuggest"?{id:c.command,title:c.title,arguments:c.arguments}:void 0}function isMarkupContent2(thing){return thing&&typeof thing==="object"&&typeof thing.kind==="string"}function toMarkdownString2(entry){if(typeof entry==="string"){return{value:entry}}if(isMarkupContent2(entry)){if(entry.kind==="plaintext"){return{value:entry.value.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}}return{value:entry.value}}return{value:"```"+entry.language+"\n"+entry.value+"\n```\n"}}function toMarkedStringArray2(contents){if(!contents){return void 0}if(Array.isArray(contents)){return contents.map(toMarkdownString2)}return[toMarkdownString2(contents)]}function toDocumentHighlightKind2(kind){switch(kind){case DocumentHighlightKind4.Read:return monaco_editor_core_exports14.languages.DocumentHighlightKind.Read;case DocumentHighlightKind4.Write:return monaco_editor_core_exports14.languages.DocumentHighlightKind.Write;case DocumentHighlightKind4.Text:return monaco_editor_core_exports14.languages.DocumentHighlightKind.Text}return monaco_editor_core_exports14.languages.DocumentHighlightKind.Text}function toLocation2(location){return{uri:monaco_editor_core_exports14.Uri.parse(location.uri),range:toRange2(location.range)}}function toWorkspaceEdit2(edit){if(!edit||!edit.changes){return void 0}let resourceEdits=[];for(let uri in edit.changes){const _uri=monaco_editor_core_exports14.Uri.parse(uri);for(let e of edit.changes[uri]){resourceEdits.push({resource:_uri,versionId:void 0,textEdit:{range:toRange2(e.range),text:e.newText}})}}return{edits:resourceEdits}}function toSymbolKind2(kind){let mKind=monaco_editor_core_exports14.languages.SymbolKind;switch(kind){case SymbolKind3.File:return mKind.Array;case SymbolKind3.Module:return mKind.Module;case SymbolKind3.Namespace:return mKind.Namespace;case SymbolKind3.Package:return mKind.Package;case SymbolKind3.Class:return mKind.Class;case SymbolKind3.Method:return mKind.Method;case SymbolKind3.Property:return mKind.Property;case SymbolKind3.Field:return mKind.Field;case SymbolKind3.Constructor:return mKind.Constructor;case SymbolKind3.Enum:return mKind.Enum;case SymbolKind3.Interface:return mKind.Interface;case SymbolKind3.Function:return mKind.Function;case SymbolKind3.Variable:return mKind.Variable;case SymbolKind3.Constant:return mKind.Constant;case SymbolKind3.String:return mKind.String;case SymbolKind3.Number:return mKind.Number;case SymbolKind3.Boolean:return mKind.Boolean;case SymbolKind3.Array:return mKind.Array}return mKind.Function}function fromFormattingOptions2(options2){return{tabSize:options2.tabSize,insertSpaces:options2.insertSpaces}}function toFoldingRangeKind2(kind){switch(kind){case FoldingRangeKind3.Comment:return monaco_editor_core_exports14.languages.FoldingRangeKind.Comment;case FoldingRangeKind3.Imports:return monaco_editor_core_exports14.languages.FoldingRangeKind.Imports;case FoldingRangeKind3.Region:return monaco_editor_core_exports14.languages.FoldingRangeKind.Region}return void 0}function setupMode1(defaults){const client=new WorkerManager3(defaults);const worker=(...uris)=>client.getLanguageServiceWorker(...uris);let languageId=defaults.languageId;monaco_editor_core_exports14.languages.registerCompletionItemProvider(languageId,new HTMLCompletionAdapter(worker));monaco_editor_core_exports14.languages.registerHoverProvider(languageId,new HoverAdapter2(worker));monaco_editor_core_exports14.languages.registerDocumentHighlightProvider(languageId,new DocumentHighlightAdapter2(worker));monaco_editor_core_exports14.languages.registerLinkProvider(languageId,new DocumentLinkAdapter2(worker));monaco_editor_core_exports14.languages.registerFoldingRangeProvider(languageId,new FoldingRangeAdapter2(worker));monaco_editor_core_exports14.languages.registerDocumentSymbolProvider(languageId,new DocumentSymbolAdapter2(worker));monaco_editor_core_exports14.languages.registerSelectionRangeProvider(languageId,new SelectionRangeAdapter2(worker));monaco_editor_core_exports14.languages.registerRenameProvider(languageId,new RenameAdapter2(worker));if(languageId==="html"){monaco_editor_core_exports14.languages.registerDocumentFormattingEditProvider(languageId,new DocumentFormattingEditProvider2(worker));monaco_editor_core_exports14.languages.registerDocumentRangeFormattingEditProvider(languageId,new DocumentRangeFormattingEditProvider2(worker))}}function setupMode2(defaults){const disposables=[];const providers=[];const client=new WorkerManager3(defaults);disposables.push(client);const worker=(...uris)=>client.getLanguageServiceWorker(...uris);function registerProviders(){const{languageId:languageId,modeConfiguration:modeConfiguration}=defaults;disposeAll2(providers);if(modeConfiguration.completionItems){providers.push(monaco_editor_core_exports14.languages.registerCompletionItemProvider(languageId,new HTMLCompletionAdapter(worker)))}if(modeConfiguration.hovers){providers.push(monaco_editor_core_exports14.languages.registerHoverProvider(languageId,new HoverAdapter2(worker)))}if(modeConfiguration.documentHighlights){providers.push(monaco_editor_core_exports14.languages.registerDocumentHighlightProvider(languageId,new DocumentHighlightAdapter2(worker)))}if(modeConfiguration.links){providers.push(monaco_editor_core_exports14.languages.registerLinkProvider(languageId,new DocumentLinkAdapter2(worker)))}if(modeConfiguration.documentSymbols){providers.push(monaco_editor_core_exports14.languages.registerDocumentSymbolProvider(languageId,new DocumentSymbolAdapter2(worker)))}if(modeConfiguration.rename){providers.push(monaco_editor_core_exports14.languages.registerRenameProvider(languageId,new RenameAdapter2(worker)))}if(modeConfiguration.foldingRanges){providers.push(monaco_editor_core_exports14.languages.registerFoldingRangeProvider(languageId,new FoldingRangeAdapter2(worker)))}if(modeConfiguration.selectionRanges){providers.push(monaco_editor_core_exports14.languages.registerSelectionRangeProvider(languageId,new SelectionRangeAdapter2(worker)))}if(modeConfiguration.documentFormattingEdits){providers.push(monaco_editor_core_exports14.languages.registerDocumentFormattingEditProvider(languageId,new DocumentFormattingEditProvider2(worker)))}if(modeConfiguration.documentRangeFormattingEdits){providers.push(monaco_editor_core_exports14.languages.registerDocumentRangeFormattingEditProvider(languageId,new DocumentRangeFormattingEditProvider2(worker)))}}registerProviders();disposables.push(asDisposable2(providers));return asDisposable2(disposables)}function asDisposable2(disposables){return{dispose:()=>disposeAll2(disposables)}}function disposeAll2(disposables){while(disposables.length){disposables.pop().dispose()}}var __defProp15,__getOwnPropDesc15,__getOwnPropNames15,__hasOwnProp15,__copyProps15,__reExport14,monaco_editor_core_exports14,STOP_WHEN_IDLE_FOR2,WorkerManager3,integer2,uinteger2,Position4,Range5,Location2,LocationLink2,Color3,ColorInformation2,ColorPresentation2,FoldingRangeKind3,FoldingRange2,DiagnosticRelatedInformation2,DiagnosticSeverity2,DiagnosticTag2,CodeDescription2,Diagnostic2,Command4,TextEdit2,ChangeAnnotation2,ChangeAnnotationIdentifier2,AnnotatedTextEdit2,TextDocumentEdit2,CreateFile2,RenameFile2,DeleteFile2,WorkspaceEdit2,TextEditChangeImpl2,ChangeAnnotations2,WorkspaceChange2,TextDocumentIdentifier2,VersionedTextDocumentIdentifier2,OptionalVersionedTextDocumentIdentifier2,TextDocumentItem2,MarkupKind2,MarkupContent2,CompletionItemKind3,InsertTextFormat2,CompletionItemTag3,InsertReplaceEdit2,InsertTextMode2,CompletionItem2,CompletionList2,MarkedString2,Hover2,ParameterInformation2,SignatureInformation2,DocumentHighlightKind4,DocumentHighlight2,SymbolKind3,SymbolTag3,SymbolInformation2,DocumentSymbol2,CodeActionKind2,CodeActionContext2,CodeAction2,CodeLens2,FormattingOptions2,DocumentLink2,SelectionRange2,TextDocument2,FullTextDocument2,Is2,DiagnosticsAdapter2,CompletionAdapter2,HoverAdapter2,DocumentHighlightAdapter2,DefinitionAdapter2,ReferenceAdapter2,RenameAdapter2,DocumentSymbolAdapter2,DocumentLinkAdapter2,DocumentFormattingEditProvider2,DocumentRangeFormattingEditProvider2,DocumentColorAdapter2,FoldingRangeAdapter2,SelectionRangeAdapter2,HTMLCompletionAdapter;var init_htmlMode=__esm({"node_modules/monaco-editor/esm/vs/language/html/htmlMode.js"(){init_editor_api();__defProp15=Object.defineProperty;__getOwnPropDesc15=Object.getOwnPropertyDescriptor;__getOwnPropNames15=Object.getOwnPropertyNames;__hasOwnProp15=Object.prototype.hasOwnProperty;__copyProps15=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames15(from))if(!__hasOwnProp15.call(to,key)&&key!==except)__defProp15(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc15(from,key))||desc.enumerable})}return to};__reExport14=(target,mod,secondTarget)=>(__copyProps15(target,mod,"default"),secondTarget&&__copyProps15(secondTarget,mod,"default"));monaco_editor_core_exports14={};__reExport14(monaco_editor_core_exports14,editor_api_exports);STOP_WHEN_IDLE_FOR2=2*60*1e3;WorkerManager3=class{constructor(defaults){__publicField(this,"_defaults");__publicField(this,"_idleCheckInterval");__publicField(this,"_lastUsedTime");__publicField(this,"_configChangeListener");__publicField(this,"_worker");__publicField(this,"_client");this._defaults=defaults;this._worker=null;this._client=null;this._idleCheckInterval=window.setInterval((()=>this._checkIfIdle()),30*1e3);this._lastUsedTime=0;this._configChangeListener=this._defaults.onDidChange((()=>this._stopWorker()))}_stopWorker(){if(this._worker){this._worker.dispose();this._worker=null}this._client=null}dispose(){clearInterval(this._idleCheckInterval);this._configChangeListener.dispose();this._stopWorker()}_checkIfIdle(){if(!this._worker){return}let timePassedSinceLastUsed=Date.now()-this._lastUsedTime;if(timePassedSinceLastUsed>STOP_WHEN_IDLE_FOR2){this._stopWorker()}}_getClient(){this._lastUsedTime=Date.now();if(!this._client){this._worker=monaco_editor_core_exports14.editor.createWebWorker({moduleId:"vs/language/html/htmlWorker",createData:{languageSettings:this._defaults.options,languageId:this._defaults.languageId},label:this._defaults.languageId});this._client=this._worker.getProxy()}return this._client}getLanguageServiceWorker(...resources){let _client;return this._getClient().then((client=>{_client=client})).then((_=>{if(this._worker){return this._worker.withSyncedResources(resources)}})).then((_=>_client))}};(function(integer22){integer22.MIN_VALUE=-2147483648;integer22.MAX_VALUE=2147483647})(integer2||(integer2={}));(function(uinteger22){uinteger22.MIN_VALUE=0;uinteger22.MAX_VALUE=2147483647})(uinteger2||(uinteger2={}));(function(Position32){function create3(line,character){if(line===Number.MAX_VALUE){line=uinteger2.MAX_VALUE}if(character===Number.MAX_VALUE){character=uinteger2.MAX_VALUE}return{line:line,character:character}}Position32.create=create3;function is(value){var candidate=value;return Is2.objectLiteral(candidate)&&Is2.uinteger(candidate.line)&&Is2.uinteger(candidate.character)}Position32.is=is})(Position4||(Position4={}));(function(Range32){function create3(one,two,three,four){if(Is2.uinteger(one)&&Is2.uinteger(two)&&Is2.uinteger(three)&&Is2.uinteger(four)){return{start:Position4.create(one,two),end:Position4.create(three,four)}}else if(Position4.is(one)&&Position4.is(two)){return{start:one,end:two}}else{throw new Error("Range#create called with invalid arguments["+one+", "+two+", "+three+", "+four+"]")}}Range32.create=create3;function is(value){var candidate=value;return Is2.objectLiteral(candidate)&&Position4.is(candidate.start)&&Position4.is(candidate.end)}Range32.is=is})(Range5||(Range5={}));(function(Location22){function create3(uri,range2){return{uri:uri,range:range2}}Location22.create=create3;function is(value){var candidate=value;return Is2.defined(candidate)&&Range5.is(candidate.range)&&(Is2.string(candidate.uri)||Is2.undefined(candidate.uri))}Location22.is=is})(Location2||(Location2={}));(function(LocationLink22){function create3(targetUri,targetRange,targetSelectionRange,originSelectionRange){return{targetUri:targetUri,targetRange:targetRange,targetSelectionRange:targetSelectionRange,originSelectionRange:originSelectionRange}}LocationLink22.create=create3;function is(value){var candidate=value;return Is2.defined(candidate)&&Range5.is(candidate.targetRange)&&Is2.string(candidate.targetUri)&&(Range5.is(candidate.targetSelectionRange)||Is2.undefined(candidate.targetSelectionRange))&&(Range5.is(candidate.originSelectionRange)||Is2.undefined(candidate.originSelectionRange))}LocationLink22.is=is})(LocationLink2||(LocationLink2={}));(function(Color22){function create3(red,green,blue,alpha){return{red:red,green:green,blue:blue,alpha:alpha}}Color22.create=create3;function is(value){var candidate=value;return Is2.numberRange(candidate.red,0,1)&&Is2.numberRange(candidate.green,0,1)&&Is2.numberRange(candidate.blue,0,1)&&Is2.numberRange(candidate.alpha,0,1)}Color22.is=is})(Color3||(Color3={}));(function(ColorInformation22){function create3(range2,color){return{range:range2,color:color}}ColorInformation22.create=create3;function is(value){var candidate=value;return Range5.is(candidate.range)&&Color3.is(candidate.color)}ColorInformation22.is=is})(ColorInformation2||(ColorInformation2={}));(function(ColorPresentation22){function create3(label,textEdit,additionalTextEdits){return{label:label,textEdit:textEdit,additionalTextEdits:additionalTextEdits}}ColorPresentation22.create=create3;function is(value){var candidate=value;return Is2.string(candidate.label)&&(Is2.undefined(candidate.textEdit)||TextEdit2.is(candidate))&&(Is2.undefined(candidate.additionalTextEdits)||Is2.typedArray(candidate.additionalTextEdits,TextEdit2.is))}ColorPresentation22.is=is})(ColorPresentation2||(ColorPresentation2={}));(function(FoldingRangeKind22){FoldingRangeKind22["Comment"]="comment";FoldingRangeKind22["Imports"]="imports";FoldingRangeKind22["Region"]="region"})(FoldingRangeKind3||(FoldingRangeKind3={}));(function(FoldingRange22){function create3(startLine,endLine,startCharacter,endCharacter,kind){var result={startLine:startLine,endLine:endLine};if(Is2.defined(startCharacter)){result.startCharacter=startCharacter}if(Is2.defined(endCharacter)){result.endCharacter=endCharacter}if(Is2.defined(kind)){result.kind=kind}return result}FoldingRange22.create=create3;function is(value){var candidate=value;return Is2.uinteger(candidate.startLine)&&Is2.uinteger(candidate.startLine)&&(Is2.undefined(candidate.startCharacter)||Is2.uinteger(candidate.startCharacter))&&(Is2.undefined(candidate.endCharacter)||Is2.uinteger(candidate.endCharacter))&&(Is2.undefined(candidate.kind)||Is2.string(candidate.kind))}FoldingRange22.is=is})(FoldingRange2||(FoldingRange2={}));(function(DiagnosticRelatedInformation22){function create3(location,message){return{location:location,message:message}}DiagnosticRelatedInformation22.create=create3;function is(value){var candidate=value;return Is2.defined(candidate)&&Location2.is(candidate.location)&&Is2.string(candidate.message)}DiagnosticRelatedInformation22.is=is})(DiagnosticRelatedInformation2||(DiagnosticRelatedInformation2={}));(function(DiagnosticSeverity22){DiagnosticSeverity22.Error=1;DiagnosticSeverity22.Warning=2;DiagnosticSeverity22.Information=3;DiagnosticSeverity22.Hint=4})(DiagnosticSeverity2||(DiagnosticSeverity2={}));(function(DiagnosticTag22){DiagnosticTag22.Unnecessary=1;DiagnosticTag22.Deprecated=2})(DiagnosticTag2||(DiagnosticTag2={}));(function(CodeDescription22){function is(value){var candidate=value;return candidate!==void 0&&candidate!==null&&Is2.string(candidate.href)}CodeDescription22.is=is})(CodeDescription2||(CodeDescription2={}));(function(Diagnostic22){function create3(range2,message,severity,code,source,relatedInformation){var result={range:range2,message:message};if(Is2.defined(severity)){result.severity=severity}if(Is2.defined(code)){result.code=code}if(Is2.defined(source)){result.source=source}if(Is2.defined(relatedInformation)){result.relatedInformation=relatedInformation}return result}Diagnostic22.create=create3;function is(value){var _a6;var candidate=value;return Is2.defined(candidate)&&Range5.is(candidate.range)&&Is2.string(candidate.message)&&(Is2.number(candidate.severity)||Is2.undefined(candidate.severity))&&(Is2.integer(candidate.code)||Is2.string(candidate.code)||Is2.undefined(candidate.code))&&(Is2.undefined(candidate.codeDescription)||Is2.string((_a6=candidate.codeDescription)===null||_a6===void 0?void 0:_a6.href))&&(Is2.string(candidate.source)||Is2.undefined(candidate.source))&&(Is2.undefined(candidate.relatedInformation)||Is2.typedArray(candidate.relatedInformation,DiagnosticRelatedInformation2.is))}Diagnostic22.is=is})(Diagnostic2||(Diagnostic2={}));(function(Command22){function create3(title,command){var args=[];for(var _i=2;_i<arguments.length;_i++){args[_i-2]=arguments[_i]}var result={title:title,command:command};if(Is2.defined(args)&&args.length>0){result.arguments=args}return result}Command22.create=create3;function is(value){var candidate=value;return Is2.defined(candidate)&&Is2.string(candidate.title)&&Is2.string(candidate.command)}Command22.is=is})(Command4||(Command4={}));(function(TextEdit22){function replace(range2,newText){return{range:range2,newText:newText}}TextEdit22.replace=replace;function insert(position,newText){return{range:{start:position,end:position},newText:newText}}TextEdit22.insert=insert;function del(range2){return{range:range2,newText:""}}TextEdit22.del=del;function is(value){var candidate=value;return Is2.objectLiteral(candidate)&&Is2.string(candidate.newText)&&Range5.is(candidate.range)}TextEdit22.is=is})(TextEdit2||(TextEdit2={}));(function(ChangeAnnotation22){function create3(label,needsConfirmation,description){var result={label:label};if(needsConfirmation!==void 0){result.needsConfirmation=needsConfirmation}if(description!==void 0){result.description=description}return result}ChangeAnnotation22.create=create3;function is(value){var candidate=value;return candidate!==void 0&&Is2.objectLiteral(candidate)&&Is2.string(candidate.label)&&(Is2.boolean(candidate.needsConfirmation)||candidate.needsConfirmation===void 0)&&(Is2.string(candidate.description)||candidate.description===void 0)}ChangeAnnotation22.is=is})(ChangeAnnotation2||(ChangeAnnotation2={}));(function(ChangeAnnotationIdentifier22){function is(value){var candidate=value;return typeof candidate==="string"}ChangeAnnotationIdentifier22.is=is})(ChangeAnnotationIdentifier2||(ChangeAnnotationIdentifier2={}));(function(AnnotatedTextEdit22){function replace(range2,newText,annotation){return{range:range2,newText:newText,annotationId:annotation}}AnnotatedTextEdit22.replace=replace;function insert(position,newText,annotation){return{range:{start:position,end:position},newText:newText,annotationId:annotation}}AnnotatedTextEdit22.insert=insert;function del(range2,annotation){return{range:range2,newText:"",annotationId:annotation}}AnnotatedTextEdit22.del=del;function is(value){var candidate=value;return TextEdit2.is(candidate)&&(ChangeAnnotation2.is(candidate.annotationId)||ChangeAnnotationIdentifier2.is(candidate.annotationId))}AnnotatedTextEdit22.is=is})(AnnotatedTextEdit2||(AnnotatedTextEdit2={}));(function(TextDocumentEdit22){function create3(textDocument,edits){return{textDocument:textDocument,edits:edits}}TextDocumentEdit22.create=create3;function is(value){var candidate=value;return Is2.defined(candidate)&&OptionalVersionedTextDocumentIdentifier2.is(candidate.textDocument)&&Array.isArray(candidate.edits)}TextDocumentEdit22.is=is})(TextDocumentEdit2||(TextDocumentEdit2={}));(function(CreateFile22){function create3(uri,options2,annotation){var result={kind:"create",uri:uri};if(options2!==void 0&&(options2.overwrite!==void 0||options2.ignoreIfExists!==void 0)){result.options=options2}if(annotation!==void 0){result.annotationId=annotation}return result}CreateFile22.create=create3;function is(value){var candidate=value;return candidate&&candidate.kind==="create"&&Is2.string(candidate.uri)&&(candidate.options===void 0||(candidate.options.overwrite===void 0||Is2.boolean(candidate.options.overwrite))&&(candidate.options.ignoreIfExists===void 0||Is2.boolean(candidate.options.ignoreIfExists)))&&(candidate.annotationId===void 0||ChangeAnnotationIdentifier2.is(candidate.annotationId))}CreateFile22.is=is})(CreateFile2||(CreateFile2={}));(function(RenameFile22){function create3(oldUri,newUri,options2,annotation){var result={kind:"rename",oldUri:oldUri,newUri:newUri};if(options2!==void 0&&(options2.overwrite!==void 0||options2.ignoreIfExists!==void 0)){result.options=options2}if(annotation!==void 0){result.annotationId=annotation}return result}RenameFile22.create=create3;function is(value){var candidate=value;return candidate&&candidate.kind==="rename"&&Is2.string(candidate.oldUri)&&Is2.string(candidate.newUri)&&(candidate.options===void 0||(candidate.options.overwrite===void 0||Is2.boolean(candidate.options.overwrite))&&(candidate.options.ignoreIfExists===void 0||Is2.boolean(candidate.options.ignoreIfExists)))&&(candidate.annotationId===void 0||ChangeAnnotationIdentifier2.is(candidate.annotationId))}RenameFile22.is=is})(RenameFile2||(RenameFile2={}));(function(DeleteFile22){function create3(uri,options2,annotation){var result={kind:"delete",uri:uri};if(options2!==void 0&&(options2.recursive!==void 0||options2.ignoreIfNotExists!==void 0)){result.options=options2}if(annotation!==void 0){result.annotationId=annotation}return result}DeleteFile22.create=create3;function is(value){var candidate=value;return candidate&&candidate.kind==="delete"&&Is2.string(candidate.uri)&&(candidate.options===void 0||(candidate.options.recursive===void 0||Is2.boolean(candidate.options.recursive))&&(candidate.options.ignoreIfNotExists===void 0||Is2.boolean(candidate.options.ignoreIfNotExists)))&&(candidate.annotationId===void 0||ChangeAnnotationIdentifier2.is(candidate.annotationId))}DeleteFile22.is=is})(DeleteFile2||(DeleteFile2={}));(function(WorkspaceEdit22){function is(value){var candidate=value;return candidate&&(candidate.changes!==void 0||candidate.documentChanges!==void 0)&&(candidate.documentChanges===void 0||candidate.documentChanges.every((function(change){if(Is2.string(change.kind)){return CreateFile2.is(change)||RenameFile2.is(change)||DeleteFile2.is(change)}else{return TextDocumentEdit2.is(change)}})))}WorkspaceEdit22.is=is})(WorkspaceEdit2||(WorkspaceEdit2={}));TextEditChangeImpl2=function(){function TextEditChangeImpl22(edits,changeAnnotations){this.edits=edits;this.changeAnnotations=changeAnnotations}TextEditChangeImpl22.prototype.insert=function(position,newText,annotation){var edit;var id;if(annotation===void 0){edit=TextEdit2.insert(position,newText)}else if(ChangeAnnotationIdentifier2.is(annotation)){id=annotation;edit=AnnotatedTextEdit2.insert(position,newText,annotation)}else{this.assertChangeAnnotations(this.changeAnnotations);id=this.changeAnnotations.manage(annotation);edit=AnnotatedTextEdit2.insert(position,newText,id)}this.edits.push(edit);if(id!==void 0){return id}};TextEditChangeImpl22.prototype.replace=function(range2,newText,annotation){var edit;var id;if(annotation===void 0){edit=TextEdit2.replace(range2,newText)}else if(ChangeAnnotationIdentifier2.is(annotation)){id=annotation;edit=AnnotatedTextEdit2.replace(range2,newText,annotation)}else{this.assertChangeAnnotations(this.changeAnnotations);id=this.changeAnnotations.manage(annotation);edit=AnnotatedTextEdit2.replace(range2,newText,id)}this.edits.push(edit);if(id!==void 0){return id}};TextEditChangeImpl22.prototype.delete=function(range2,annotation){var edit;var id;if(annotation===void 0){edit=TextEdit2.del(range2)}else if(ChangeAnnotationIdentifier2.is(annotation)){id=annotation;edit=AnnotatedTextEdit2.del(range2,annotation)}else{this.assertChangeAnnotations(this.changeAnnotations);id=this.changeAnnotations.manage(annotation);edit=AnnotatedTextEdit2.del(range2,id)}this.edits.push(edit);if(id!==void 0){return id}};TextEditChangeImpl22.prototype.add=function(edit){this.edits.push(edit)};TextEditChangeImpl22.prototype.all=function(){return this.edits};TextEditChangeImpl22.prototype.clear=function(){this.edits.splice(0,this.edits.length)};TextEditChangeImpl22.prototype.assertChangeAnnotations=function(value){if(value===void 0){throw new Error("Text edit change is not configured to manage change annotations.")}};return TextEditChangeImpl22}();ChangeAnnotations2=function(){function ChangeAnnotations22(annotations){this._annotations=annotations===void 0?Object.create(null):annotations;this._counter=0;this._size=0}ChangeAnnotations22.prototype.all=function(){return this._annotations};Object.defineProperty(ChangeAnnotations22.prototype,"size",{get:function(){return this._size},enumerable:false,configurable:true});ChangeAnnotations22.prototype.manage=function(idOrAnnotation,annotation){var id;if(ChangeAnnotationIdentifier2.is(idOrAnnotation)){id=idOrAnnotation}else{id=this.nextId();annotation=idOrAnnotation}if(this._annotations[id]!==void 0){throw new Error("Id "+id+" is already in use.")}if(annotation===void 0){throw new Error("No annotation provided for id "+id)}this._annotations[id]=annotation;this._size++;return id};ChangeAnnotations22.prototype.nextId=function(){this._counter++;return this._counter.toString()};return ChangeAnnotations22}();WorkspaceChange2=function(){function WorkspaceChange22(workspaceEdit){var _this=this;this._textEditChanges=Object.create(null);if(workspaceEdit!==void 0){this._workspaceEdit=workspaceEdit;if(workspaceEdit.documentChanges){this._changeAnnotations=new ChangeAnnotations2(workspaceEdit.changeAnnotations);workspaceEdit.changeAnnotations=this._changeAnnotations.all();workspaceEdit.documentChanges.forEach((function(change){if(TextDocumentEdit2.is(change)){var textEditChange=new TextEditChangeImpl2(change.edits,_this._changeAnnotations);_this._textEditChanges[change.textDocument.uri]=textEditChange}}))}else if(workspaceEdit.changes){Object.keys(workspaceEdit.changes).forEach((function(key){var textEditChange=new TextEditChangeImpl2(workspaceEdit.changes[key]);_this._textEditChanges[key]=textEditChange}))}}else{this._workspaceEdit={}}}Object.defineProperty(WorkspaceChange22.prototype,"edit",{get:function(){this.initDocumentChanges();if(this._changeAnnotations!==void 0){if(this._changeAnnotations.size===0){this._workspaceEdit.changeAnnotations=void 0}else{this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()}}return this._workspaceEdit},enumerable:false,configurable:true});WorkspaceChange22.prototype.getTextEditChange=function(key){if(OptionalVersionedTextDocumentIdentifier2.is(key)){this.initDocumentChanges();if(this._workspaceEdit.documentChanges===void 0){throw new Error("Workspace edit is not configured for document changes.")}var textDocument={uri:key.uri,version:key.version};var result=this._textEditChanges[textDocument.uri];if(!result){var edits=[];var textDocumentEdit={textDocument:textDocument,edits:edits};this._workspaceEdit.documentChanges.push(textDocumentEdit);result=new TextEditChangeImpl2(edits,this._changeAnnotations);this._textEditChanges[textDocument.uri]=result}return result}else{this.initChanges();if(this._workspaceEdit.changes===void 0){throw new Error("Workspace edit is not configured for normal text edit changes.")}var result=this._textEditChanges[key];if(!result){var edits=[];this._workspaceEdit.changes[key]=edits;result=new TextEditChangeImpl2(edits);this._textEditChanges[key]=result}return result}};WorkspaceChange22.prototype.initDocumentChanges=function(){if(this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0){this._changeAnnotations=new ChangeAnnotations2;this._workspaceEdit.documentChanges=[];this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()}};WorkspaceChange22.prototype.initChanges=function(){if(this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0){this._workspaceEdit.changes=Object.create(null)}};WorkspaceChange22.prototype.createFile=function(uri,optionsOrAnnotation,options2){this.initDocumentChanges();if(this._workspaceEdit.documentChanges===void 0){throw new Error("Workspace edit is not configured for document changes.")}var annotation;if(ChangeAnnotation2.is(optionsOrAnnotation)||ChangeAnnotationIdentifier2.is(optionsOrAnnotation)){annotation=optionsOrAnnotation}else{options2=optionsOrAnnotation}var operation;var id;if(annotation===void 0){operation=CreateFile2.create(uri,options2)}else{id=ChangeAnnotationIdentifier2.is(annotation)?annotation:this._changeAnnotations.manage(annotation);operation=CreateFile2.create(uri,options2,id)}this._workspaceEdit.documentChanges.push(operation);if(id!==void 0){return id}};WorkspaceChange22.prototype.renameFile=function(oldUri,newUri,optionsOrAnnotation,options2){this.initDocumentChanges();if(this._workspaceEdit.documentChanges===void 0){throw new Error("Workspace edit is not configured for document changes.")}var annotation;if(ChangeAnnotation2.is(optionsOrAnnotation)||ChangeAnnotationIdentifier2.is(optionsOrAnnotation)){annotation=optionsOrAnnotation}else{options2=optionsOrAnnotation}var operation;var id;if(annotation===void 0){operation=RenameFile2.create(oldUri,newUri,options2)}else{id=ChangeAnnotationIdentifier2.is(annotation)?annotation:this._changeAnnotations.manage(annotation);operation=RenameFile2.create(oldUri,newUri,options2,id)}this._workspaceEdit.documentChanges.push(operation);if(id!==void 0){return id}};WorkspaceChange22.prototype.deleteFile=function(uri,optionsOrAnnotation,options2){this.initDocumentChanges();if(this._workspaceEdit.documentChanges===void 0){throw new Error("Workspace edit is not configured for document changes.")}var annotation;if(ChangeAnnotation2.is(optionsOrAnnotation)||ChangeAnnotationIdentifier2.is(optionsOrAnnotation)){annotation=optionsOrAnnotation}else{options2=optionsOrAnnotation}var operation;var id;if(annotation===void 0){operation=DeleteFile2.create(uri,options2)}else{id=ChangeAnnotationIdentifier2.is(annotation)?annotation:this._changeAnnotations.manage(annotation);operation=DeleteFile2.create(uri,options2,id)}this._workspaceEdit.documentChanges.push(operation);if(id!==void 0){return id}};return WorkspaceChange22}();(function(TextDocumentIdentifier22){function create3(uri){return{uri:uri}}TextDocumentIdentifier22.create=create3;function is(value){var candidate=value;return Is2.defined(candidate)&&Is2.string(candidate.uri)}TextDocumentIdentifier22.is=is})(TextDocumentIdentifier2||(TextDocumentIdentifier2={}));(function(VersionedTextDocumentIdentifier22){function create3(uri,version2){return{uri:uri,version:version2}}VersionedTextDocumentIdentifier22.create=create3;function is(value){var candidate=value;return Is2.defined(candidate)&&Is2.string(candidate.uri)&&Is2.integer(candidate.version)}VersionedTextDocumentIdentifier22.is=is})(VersionedTextDocumentIdentifier2||(VersionedTextDocumentIdentifier2={}));(function(OptionalVersionedTextDocumentIdentifier22){function create3(uri,version2){return{uri:uri,version:version2}}OptionalVersionedTextDocumentIdentifier22.create=create3;function is(value){var candidate=value;return Is2.defined(candidate)&&Is2.string(candidate.uri)&&(candidate.version===null||Is2.integer(candidate.version))}OptionalVersionedTextDocumentIdentifier22.is=is})(OptionalVersionedTextDocumentIdentifier2||(OptionalVersionedTextDocumentIdentifier2={}));(function(TextDocumentItem22){function create3(uri,languageId,version2,text2){return{uri:uri,languageId:languageId,version:version2,text:text2}}TextDocumentItem22.create=create3;function is(value){var candidate=value;return Is2.defined(candidate)&&Is2.string(candidate.uri)&&Is2.string(candidate.languageId)&&Is2.integer(candidate.version)&&Is2.string(candidate.text)}TextDocumentItem22.is=is})(TextDocumentItem2||(TextDocumentItem2={}));(function(MarkupKind22){MarkupKind22.PlainText="plaintext";MarkupKind22.Markdown="markdown"})(MarkupKind2||(MarkupKind2={}));(function(MarkupKind22){function is(value){var candidate=value;return candidate===MarkupKind22.PlainText||candidate===MarkupKind22.Markdown}MarkupKind22.is=is})(MarkupKind2||(MarkupKind2={}));(function(MarkupContent22){function is(value){var candidate=value;return Is2.objectLiteral(value)&&MarkupKind2.is(candidate.kind)&&Is2.string(candidate.value)}MarkupContent22.is=is})(MarkupContent2||(MarkupContent2={}));(function(CompletionItemKind22){CompletionItemKind22.Text=1;CompletionItemKind22.Method=2;CompletionItemKind22.Function=3;CompletionItemKind22.Constructor=4;CompletionItemKind22.Field=5;CompletionItemKind22.Variable=6;CompletionItemKind22.Class=7;CompletionItemKind22.Interface=8;CompletionItemKind22.Module=9;CompletionItemKind22.Property=10;CompletionItemKind22.Unit=11;CompletionItemKind22.Value=12;CompletionItemKind22.Enum=13;CompletionItemKind22.Keyword=14;CompletionItemKind22.Snippet=15;CompletionItemKind22.Color=16;CompletionItemKind22.File=17;CompletionItemKind22.Reference=18;CompletionItemKind22.Folder=19;CompletionItemKind22.EnumMember=20;CompletionItemKind22.Constant=21;CompletionItemKind22.Struct=22;CompletionItemKind22.Event=23;CompletionItemKind22.Operator=24;CompletionItemKind22.TypeParameter=25})(CompletionItemKind3||(CompletionItemKind3={}));(function(InsertTextFormat22){InsertTextFormat22.PlainText=1;InsertTextFormat22.Snippet=2})(InsertTextFormat2||(InsertTextFormat2={}));(function(CompletionItemTag22){CompletionItemTag22.Deprecated=1})(CompletionItemTag3||(CompletionItemTag3={}));(function(InsertReplaceEdit22){function create3(newText,insert,replace){return{newText:newText,insert:insert,replace:replace}}InsertReplaceEdit22.create=create3;function is(value){var candidate=value;return candidate&&Is2.string(candidate.newText)&&Range5.is(candidate.insert)&&Range5.is(candidate.replace)}InsertReplaceEdit22.is=is})(InsertReplaceEdit2||(InsertReplaceEdit2={}));(function(InsertTextMode22){InsertTextMode22.asIs=1;InsertTextMode22.adjustIndentation=2})(InsertTextMode2||(InsertTextMode2={}));(function(CompletionItem22){function create3(label){return{label:label}}CompletionItem22.create=create3})(CompletionItem2||(CompletionItem2={}));(function(CompletionList22){function create3(items,isIncomplete){return{items:items?items:[],isIncomplete:!!isIncomplete}}CompletionList22.create=create3})(CompletionList2||(CompletionList2={}));(function(MarkedString22){function fromPlainText(plainText){return plainText.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}MarkedString22.fromPlainText=fromPlainText;function is(value){var candidate=value;return Is2.string(candidate)||Is2.objectLiteral(candidate)&&Is2.string(candidate.language)&&Is2.string(candidate.value)}MarkedString22.is=is})(MarkedString2||(MarkedString2={}));(function(Hover22){function is(value){var candidate=value;return!!candidate&&Is2.objectLiteral(candidate)&&(MarkupContent2.is(candidate.contents)||MarkedString2.is(candidate.contents)||Is2.typedArray(candidate.contents,MarkedString2.is))&&(value.range===void 0||Range5.is(value.range))}Hover22.is=is})(Hover2||(Hover2={}));(function(ParameterInformation22){function create3(label,documentation){return documentation?{label:label,documentation:documentation}:{label:label}}ParameterInformation22.create=create3})(ParameterInformation2||(ParameterInformation2={}));(function(SignatureInformation22){function create3(label,documentation){var parameters=[];for(var _i=2;_i<arguments.length;_i++){parameters[_i-2]=arguments[_i]}var result={label:label};if(Is2.defined(documentation)){result.documentation=documentation}if(Is2.defined(parameters)){result.parameters=parameters}else{result.parameters=[]}return result}SignatureInformation22.create=create3})(SignatureInformation2||(SignatureInformation2={}));(function(DocumentHighlightKind22){DocumentHighlightKind22.Text=1;DocumentHighlightKind22.Read=2;DocumentHighlightKind22.Write=3})(DocumentHighlightKind4||(DocumentHighlightKind4={}));(function(DocumentHighlight22){function create3(range2,kind){var result={range:range2};if(Is2.number(kind)){result.kind=kind}return result}DocumentHighlight22.create=create3})(DocumentHighlight2||(DocumentHighlight2={}));(function(SymbolKind22){SymbolKind22.File=1;SymbolKind22.Module=2;SymbolKind22.Namespace=3;SymbolKind22.Package=4;SymbolKind22.Class=5;SymbolKind22.Method=6;SymbolKind22.Property=7;SymbolKind22.Field=8;SymbolKind22.Constructor=9;SymbolKind22.Enum=10;SymbolKind22.Interface=11;SymbolKind22.Function=12;SymbolKind22.Variable=13;SymbolKind22.Constant=14;SymbolKind22.String=15;SymbolKind22.Number=16;SymbolKind22.Boolean=17;SymbolKind22.Array=18;SymbolKind22.Object=19;SymbolKind22.Key=20;SymbolKind22.Null=21;SymbolKind22.EnumMember=22;SymbolKind22.Struct=23;SymbolKind22.Event=24;SymbolKind22.Operator=25;SymbolKind22.TypeParameter=26})(SymbolKind3||(SymbolKind3={}));(function(SymbolTag22){SymbolTag22.Deprecated=1})(SymbolTag3||(SymbolTag3={}));(function(SymbolInformation22){function create3(name,kind,range2,uri,containerName){var result={name:name,kind:kind,location:{uri:uri,range:range2}};if(containerName){result.containerName=containerName}return result}SymbolInformation22.create=create3})(SymbolInformation2||(SymbolInformation2={}));(function(DocumentSymbol22){function create3(name,detail,kind,range2,selectionRange,children){var result={name:name,detail:detail,kind:kind,range:range2,selectionRange:selectionRange};if(children!==void 0){result.children=children}return result}DocumentSymbol22.create=create3;function is(value){var candidate=value;return candidate&&Is2.string(candidate.name)&&Is2.number(candidate.kind)&&Range5.is(candidate.range)&&Range5.is(candidate.selectionRange)&&(candidate.detail===void 0||Is2.string(candidate.detail))&&(candidate.deprecated===void 0||Is2.boolean(candidate.deprecated))&&(candidate.children===void 0||Array.isArray(candidate.children))&&(candidate.tags===void 0||Array.isArray(candidate.tags))}DocumentSymbol22.is=is})(DocumentSymbol2||(DocumentSymbol2={}));(function(CodeActionKind22){CodeActionKind22.Empty="";CodeActionKind22.QuickFix="quickfix";CodeActionKind22.Refactor="refactor";CodeActionKind22.RefactorExtract="refactor.extract";CodeActionKind22.RefactorInline="refactor.inline";CodeActionKind22.RefactorRewrite="refactor.rewrite";CodeActionKind22.Source="source";CodeActionKind22.SourceOrganizeImports="source.organizeImports";CodeActionKind22.SourceFixAll="source.fixAll"})(CodeActionKind2||(CodeActionKind2={}));(function(CodeActionContext22){function create3(diagnostics,only){var result={diagnostics:diagnostics};if(only!==void 0&&only!==null){result.only=only}return result}CodeActionContext22.create=create3;function is(value){var candidate=value;return Is2.defined(candidate)&&Is2.typedArray(candidate.diagnostics,Diagnostic2.is)&&(candidate.only===void 0||Is2.typedArray(candidate.only,Is2.string))}CodeActionContext22.is=is})(CodeActionContext2||(CodeActionContext2={}));(function(CodeAction22){function create3(title,kindOrCommandOrEdit,kind){var result={title:title};var checkKind=true;if(typeof kindOrCommandOrEdit==="string"){checkKind=false;result.kind=kindOrCommandOrEdit}else if(Command4.is(kindOrCommandOrEdit)){result.command=kindOrCommandOrEdit}else{result.edit=kindOrCommandOrEdit}if(checkKind&&kind!==void 0){result.kind=kind}return result}CodeAction22.create=create3;function is(value){var candidate=value;return candidate&&Is2.string(candidate.title)&&(candidate.diagnostics===void 0||Is2.typedArray(candidate.diagnostics,Diagnostic2.is))&&(candidate.kind===void 0||Is2.string(candidate.kind))&&(candidate.edit!==void 0||candidate.command!==void 0)&&(candidate.command===void 0||Command4.is(candidate.command))&&(candidate.isPreferred===void 0||Is2.boolean(candidate.isPreferred))&&(candidate.edit===void 0||WorkspaceEdit2.is(candidate.edit))}CodeAction22.is=is})(CodeAction2||(CodeAction2={}));(function(CodeLens22){function create3(range2,data){var result={range:range2};if(Is2.defined(data)){result.data=data}return result}CodeLens22.create=create3;function is(value){var candidate=value;return Is2.defined(candidate)&&Range5.is(candidate.range)&&(Is2.undefined(candidate.command)||Command4.is(candidate.command))}CodeLens22.is=is})(CodeLens2||(CodeLens2={}));(function(FormattingOptions22){function create3(tabSize,insertSpaces){return{tabSize:tabSize,insertSpaces:insertSpaces}}FormattingOptions22.create=create3;function is(value){var candidate=value;return Is2.defined(candidate)&&Is2.uinteger(candidate.tabSize)&&Is2.boolean(candidate.insertSpaces)}FormattingOptions22.is=is})(FormattingOptions2||(FormattingOptions2={}));(function(DocumentLink22){function create3(range2,target,data){return{range:range2,target:target,data:data}}DocumentLink22.create=create3;function is(value){var candidate=value;return Is2.defined(candidate)&&Range5.is(candidate.range)&&(Is2.undefined(candidate.target)||Is2.string(candidate.target))}DocumentLink22.is=is})(DocumentLink2||(DocumentLink2={}));(function(SelectionRange22){function create3(range2,parent){return{range:range2,parent:parent}}SelectionRange22.create=create3;function is(value){var candidate=value;return candidate!==void 0&&Range5.is(candidate.range)&&(candidate.parent===void 0||SelectionRange22.is(candidate.parent))}SelectionRange22.is=is})(SelectionRange2||(SelectionRange2={}));(function(TextDocument22){function create3(uri,languageId,version2,content){return new FullTextDocument2(uri,languageId,version2,content)}TextDocument22.create=create3;function is(value){var candidate=value;return Is2.defined(candidate)&&Is2.string(candidate.uri)&&(Is2.undefined(candidate.languageId)||Is2.string(candidate.languageId))&&Is2.uinteger(candidate.lineCount)&&Is2.func(candidate.getText)&&Is2.func(candidate.positionAt)&&Is2.func(candidate.offsetAt)?true:false}TextDocument22.is=is;function applyEdits2(document2,edits){var text2=document2.getText();var sortedEdits=mergeSort(edits,(function(a,b){var diff=a.range.start.line-b.range.start.line;if(diff===0){return a.range.start.character-b.range.start.character}return diff}));var lastModifiedOffset=text2.length;for(var i=sortedEdits.length-1;i>=0;i--){var e=sortedEdits[i];var startOffset=document2.offsetAt(e.range.start);var endOffset=document2.offsetAt(e.range.end);if(endOffset<=lastModifiedOffset){text2=text2.substring(0,startOffset)+e.newText+text2.substring(endOffset,text2.length)}else{throw new Error("Overlapping edit")}lastModifiedOffset=startOffset}return text2}TextDocument22.applyEdits=applyEdits2;function mergeSort(data,compare2){if(data.length<=1){return data}var p=data.length/2|0;var left=data.slice(0,p);var right=data.slice(p);mergeSort(left,compare2);mergeSort(right,compare2);var leftIdx=0;var rightIdx=0;var i=0;while(leftIdx<left.length&&rightIdx<right.length){var ret=compare2(left[leftIdx],right[rightIdx]);if(ret<=0){data[i++]=left[leftIdx++]}else{data[i++]=right[rightIdx++]}}while(leftIdx<left.length){data[i++]=left[leftIdx++]}while(rightIdx<right.length){data[i++]=right[rightIdx++]}return data}})(TextDocument2||(TextDocument2={}));FullTextDocument2=function(){function FullTextDocument22(uri,languageId,version2,content){this._uri=uri;this._languageId=languageId;this._version=version2;this._content=content;this._lineOffsets=void 0}Object.defineProperty(FullTextDocument22.prototype,"uri",{get:function(){return this._uri},enumerable:false,configurable:true});Object.defineProperty(FullTextDocument22.prototype,"languageId",{get:function(){return this._languageId},enumerable:false,configurable:true});Object.defineProperty(FullTextDocument22.prototype,"version",{get:function(){return this._version},enumerable:false,configurable:true});FullTextDocument22.prototype.getText=function(range2){if(range2){var start=this.offsetAt(range2.start);var end=this.offsetAt(range2.end);return this._content.substring(start,end)}return this._content};FullTextDocument22.prototype.update=function(event,version2){this._content=event.text;this._version=version2;this._lineOffsets=void 0};FullTextDocument22.prototype.getLineOffsets=function(){if(this._lineOffsets===void 0){var lineOffsets=[];var text2=this._content;var isLineStart=true;for(var i=0;i<text2.length;i++){if(isLineStart){lineOffsets.push(i);isLineStart=false}var ch=text2.charAt(i);isLineStart=ch==="\r"||ch==="\n";if(ch==="\r"&&i+1<text2.length&&text2.charAt(i+1)==="\n"){i++}}if(isLineStart&&text2.length>0){lineOffsets.push(text2.length)}this._lineOffsets=lineOffsets}return this._lineOffsets};FullTextDocument22.prototype.positionAt=function(offset){offset=Math.max(Math.min(offset,this._content.length),0);var lineOffsets=this.getLineOffsets();var low=0,high=lineOffsets.length;if(high===0){return Position4.create(0,offset)}while(low<high){var mid=Math.floor((low+high)/2);if(lineOffsets[mid]>offset){high=mid}else{low=mid+1}}var line=low-1;return Position4.create(line,offset-lineOffsets[line])};FullTextDocument22.prototype.offsetAt=function(position){var lineOffsets=this.getLineOffsets();if(position.line>=lineOffsets.length){return this._content.length}else if(position.line<0){return 0}var lineOffset=lineOffsets[position.line];var nextLineOffset=position.line+1<lineOffsets.length?lineOffsets[position.line+1]:this._content.length;return Math.max(Math.min(lineOffset+position.character,nextLineOffset),lineOffset)};Object.defineProperty(FullTextDocument22.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:false,configurable:true});return FullTextDocument22}();(function(Is22){var toString=Object.prototype.toString;function defined(value){return typeof value!=="undefined"}Is22.defined=defined;function undefined2(value){return typeof value==="undefined"}Is22.undefined=undefined2;function boolean2(value){return value===true||value===false}Is22.boolean=boolean2;function string2(value){return toString.call(value)==="[object String]"}Is22.string=string2;function number(value){return toString.call(value)==="[object Number]"}Is22.number=number;function numberRange(value,min,max){return toString.call(value)==="[object Number]"&&min<=value&&value<=max}Is22.numberRange=numberRange;function integer22(value){return toString.call(value)==="[object Number]"&&-2147483648<=value&&value<=2147483647}Is22.integer=integer22;function uinteger22(value){return toString.call(value)==="[object Number]"&&0<=value&&value<=2147483647}Is22.uinteger=uinteger22;function func(value){return toString.call(value)==="[object Function]"}Is22.func=func;function objectLiteral(value){return value!==null&&typeof value==="object"}Is22.objectLiteral=objectLiteral;function typedArray(value,check){return Array.isArray(value)&&value.every(check)}Is22.typedArray=typedArray})(Is2||(Is2={}));DiagnosticsAdapter2=class{constructor(_languageId,_worker,configChangeEvent){__publicField(this,"_disposables",[]);__publicField(this,"_listener",Object.create(null));this._languageId=_languageId;this._worker=_worker;const onModelAdd=model=>{let modeId=model.getLanguageId();if(modeId!==this._languageId){return}let handle;this._listener[model.uri.toString()]=model.onDidChangeContent((()=>{window.clearTimeout(handle);handle=window.setTimeout((()=>this._doValidate(model.uri,modeId)),500)}));this._doValidate(model.uri,modeId)};const onModelRemoved=model=>{monaco_editor_core_exports14.editor.setModelMarkers(model,this._languageId,[]);let uriStr=model.uri.toString();let listener=this._listener[uriStr];if(listener){listener.dispose();delete this._listener[uriStr]}};this._disposables.push(monaco_editor_core_exports14.editor.onDidCreateModel(onModelAdd));this._disposables.push(monaco_editor_core_exports14.editor.onWillDisposeModel(onModelRemoved));this._disposables.push(monaco_editor_core_exports14.editor.onDidChangeModelLanguage((event=>{onModelRemoved(event.model);onModelAdd(event.model)})));this._disposables.push(configChangeEvent((_=>{monaco_editor_core_exports14.editor.getModels().forEach((model=>{if(model.getLanguageId()===this._languageId){onModelRemoved(model);onModelAdd(model)}}))})));this._disposables.push({dispose:()=>{monaco_editor_core_exports14.editor.getModels().forEach(onModelRemoved);for(let key in this._listener){this._listener[key].dispose()}}});monaco_editor_core_exports14.editor.getModels().forEach(onModelAdd)}dispose(){this._disposables.forEach((d=>d&&d.dispose()));this._disposables.length=0}_doValidate(resource,languageId){this._worker(resource).then((worker=>worker.doValidation(resource.toString()))).then((diagnostics=>{const markers=diagnostics.map((d=>toDiagnostics2(resource,d)));let model=monaco_editor_core_exports14.editor.getModel(resource);if(model&&model.getLanguageId()===languageId){monaco_editor_core_exports14.editor.setModelMarkers(model,languageId,markers)}})).then(void 0,(err=>{console.error(err)}))}};CompletionAdapter2=class{constructor(_worker,_triggerCharacters){this._worker=_worker;this._triggerCharacters=_triggerCharacters}get triggerCharacters(){return this._triggerCharacters}provideCompletionItems(model,position,context,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.doComplete(resource.toString(),fromPosition2(position)))).then((info=>{if(!info){return}const wordInfo=model.getWordUntilPosition(position);const wordRange=new monaco_editor_core_exports14.Range(position.lineNumber,wordInfo.startColumn,position.lineNumber,wordInfo.endColumn);const items=info.items.map((entry=>{const item={label:entry.label,insertText:entry.insertText||entry.label,sortText:entry.sortText,filterText:entry.filterText,documentation:entry.documentation,detail:entry.detail,command:toCommand2(entry.command),range:wordRange,kind:toCompletionItemKind2(entry.kind)};if(entry.textEdit){if(isInsertReplaceEdit2(entry.textEdit)){item.range={insert:toRange2(entry.textEdit.insert),replace:toRange2(entry.textEdit.replace)}}else{item.range=toRange2(entry.textEdit.range)}item.insertText=entry.textEdit.newText}if(entry.additionalTextEdits){item.additionalTextEdits=entry.additionalTextEdits.map(toTextEdit2)}if(entry.insertTextFormat===InsertTextFormat2.Snippet){item.insertTextRules=monaco_editor_core_exports14.languages.CompletionItemInsertTextRule.InsertAsSnippet}return item}));return{isIncomplete:info.isIncomplete,suggestions:items}}))}};HoverAdapter2=class{constructor(_worker){this._worker=_worker}provideHover(model,position,token){let resource=model.uri;return this._worker(resource).then((worker=>worker.doHover(resource.toString(),fromPosition2(position)))).then((info=>{if(!info){return}return{range:toRange2(info.range),contents:toMarkedStringArray2(info.contents)}}))}};DocumentHighlightAdapter2=class{constructor(_worker){this._worker=_worker}provideDocumentHighlights(model,position,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.findDocumentHighlights(resource.toString(),fromPosition2(position)))).then((entries2=>{if(!entries2){return}return entries2.map((entry=>({range:toRange2(entry.range),kind:toDocumentHighlightKind2(entry.kind)})))}))}};DefinitionAdapter2=class{constructor(_worker){this._worker=_worker}provideDefinition(model,position,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.findDefinition(resource.toString(),fromPosition2(position)))).then((definition=>{if(!definition){return}return[toLocation2(definition)]}))}};ReferenceAdapter2=class{constructor(_worker){this._worker=_worker}provideReferences(model,position,context,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.findReferences(resource.toString(),fromPosition2(position)))).then((entries2=>{if(!entries2){return}return entries2.map(toLocation2)}))}};RenameAdapter2=class{constructor(_worker){this._worker=_worker}provideRenameEdits(model,position,newName,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.doRename(resource.toString(),fromPosition2(position),newName))).then((edit=>toWorkspaceEdit2(edit)))}};DocumentSymbolAdapter2=class{constructor(_worker){this._worker=_worker}provideDocumentSymbols(model,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.findDocumentSymbols(resource.toString()))).then((items=>{if(!items){return}return items.map((item=>({name:item.name,detail:"",containerName:item.containerName,kind:toSymbolKind2(item.kind),range:toRange2(item.location.range),selectionRange:toRange2(item.location.range),tags:[]})))}))}};DocumentLinkAdapter2=class{constructor(_worker){this._worker=_worker}provideLinks(model,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.findDocumentLinks(resource.toString()))).then((items=>{if(!items){return}return{links:items.map((item=>({range:toRange2(item.range),url:item.target})))}}))}};DocumentFormattingEditProvider2=class{constructor(_worker){this._worker=_worker}provideDocumentFormattingEdits(model,options2,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.format(resource.toString(),null,fromFormattingOptions2(options2)).then((edits=>{if(!edits||edits.length===0){return}return edits.map(toTextEdit2)}))))}};DocumentRangeFormattingEditProvider2=class{constructor(_worker){__publicField(this,"canFormatMultipleRanges",false);this._worker=_worker}provideDocumentRangeFormattingEdits(model,range2,options2,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.format(resource.toString(),fromRange2(range2),fromFormattingOptions2(options2)).then((edits=>{if(!edits||edits.length===0){return}return edits.map(toTextEdit2)}))))}};DocumentColorAdapter2=class{constructor(_worker){this._worker=_worker}provideDocumentColors(model,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.findDocumentColors(resource.toString()))).then((infos=>{if(!infos){return}return infos.map((item=>({color:item.color,range:toRange2(item.range)})))}))}provideColorPresentations(model,info,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.getColorPresentations(resource.toString(),info.color,fromRange2(info.range)))).then((presentations=>{if(!presentations){return}return presentations.map((presentation=>{let item={label:presentation.label};if(presentation.textEdit){item.textEdit=toTextEdit2(presentation.textEdit)}if(presentation.additionalTextEdits){item.additionalTextEdits=presentation.additionalTextEdits.map(toTextEdit2)}return item}))}))}};FoldingRangeAdapter2=class{constructor(_worker){this._worker=_worker}provideFoldingRanges(model,context,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.getFoldingRanges(resource.toString(),context))).then((ranges=>{if(!ranges){return}return ranges.map((range2=>{const result={start:range2.startLine+1,end:range2.endLine+1};if(typeof range2.kind!=="undefined"){result.kind=toFoldingRangeKind2(range2.kind)}return result}))}))}};SelectionRangeAdapter2=class{constructor(_worker){this._worker=_worker}provideSelectionRanges(model,positions,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.getSelectionRanges(resource.toString(),positions.map(fromPosition2)))).then((selectionRanges=>{if(!selectionRanges){return}return selectionRanges.map((selectionRange=>{const result=[];while(selectionRange){result.push({range:toRange2(selectionRange.range)});selectionRange=selectionRange.parent}return result}))}))}};HTMLCompletionAdapter=class extends CompletionAdapter2{constructor(worker){super(worker,[".",":","<",'"',"=","/"])}}}});var jsonMode_exports={};__export(jsonMode_exports,{CompletionAdapter:()=>CompletionAdapter3,DefinitionAdapter:()=>DefinitionAdapter3,DiagnosticsAdapter:()=>DiagnosticsAdapter3,DocumentColorAdapter:()=>DocumentColorAdapter3,DocumentFormattingEditProvider:()=>DocumentFormattingEditProvider3,DocumentHighlightAdapter:()=>DocumentHighlightAdapter3,DocumentLinkAdapter:()=>DocumentLinkAdapter3,DocumentRangeFormattingEditProvider:()=>DocumentRangeFormattingEditProvider3,DocumentSymbolAdapter:()=>DocumentSymbolAdapter3,FoldingRangeAdapter:()=>FoldingRangeAdapter3,HoverAdapter:()=>HoverAdapter3,ReferenceAdapter:()=>ReferenceAdapter3,RenameAdapter:()=>RenameAdapter3,SelectionRangeAdapter:()=>SelectionRangeAdapter3,WorkerManager:()=>WorkerManager4,fromPosition:()=>fromPosition3,fromRange:()=>fromRange3,setupMode:()=>setupMode3,toRange:()=>toRange3,toTextEdit:()=>toTextEdit3});function toSeverity3(lsSeverity){switch(lsSeverity){case DiagnosticSeverity3.Error:return monaco_editor_core_exports16.MarkerSeverity.Error;case DiagnosticSeverity3.Warning:return monaco_editor_core_exports16.MarkerSeverity.Warning;case DiagnosticSeverity3.Information:return monaco_editor_core_exports16.MarkerSeverity.Info;case DiagnosticSeverity3.Hint:return monaco_editor_core_exports16.MarkerSeverity.Hint;default:return monaco_editor_core_exports16.MarkerSeverity.Info}}function toDiagnostics3(resource,diag){let code=typeof diag.code==="number"?String(diag.code):diag.code;return{severity:toSeverity3(diag.severity),startLineNumber:diag.range.start.line+1,startColumn:diag.range.start.character+1,endLineNumber:diag.range.end.line+1,endColumn:diag.range.end.character+1,message:diag.message,code:code,source:diag.source}}function fromPosition3(position){if(!position){return void 0}return{character:position.column-1,line:position.lineNumber-1}}function fromRange3(range2){if(!range2){return void 0}return{start:{line:range2.startLineNumber-1,character:range2.startColumn-1},end:{line:range2.endLineNumber-1,character:range2.endColumn-1}}}function toRange3(range2){if(!range2){return void 0}return new monaco_editor_core_exports16.Range(range2.start.line+1,range2.start.character+1,range2.end.line+1,range2.end.character+1)}function isInsertReplaceEdit3(edit){return typeof edit.insert!=="undefined"&&typeof edit.replace!=="undefined"}function toCompletionItemKind3(kind){const mItemKind=monaco_editor_core_exports16.languages.CompletionItemKind;switch(kind){case CompletionItemKind4.Text:return mItemKind.Text;case CompletionItemKind4.Method:return mItemKind.Method;case CompletionItemKind4.Function:return mItemKind.Function;case CompletionItemKind4.Constructor:return mItemKind.Constructor;case CompletionItemKind4.Field:return mItemKind.Field;case CompletionItemKind4.Variable:return mItemKind.Variable;case CompletionItemKind4.Class:return mItemKind.Class;case CompletionItemKind4.Interface:return mItemKind.Interface;case CompletionItemKind4.Module:return mItemKind.Module;case CompletionItemKind4.Property:return mItemKind.Property;case CompletionItemKind4.Unit:return mItemKind.Unit;case CompletionItemKind4.Value:return mItemKind.Value;case CompletionItemKind4.Enum:return mItemKind.Enum;case CompletionItemKind4.Keyword:return mItemKind.Keyword;case CompletionItemKind4.Snippet:return mItemKind.Snippet;case CompletionItemKind4.Color:return mItemKind.Color;case CompletionItemKind4.File:return mItemKind.File;case CompletionItemKind4.Reference:return mItemKind.Reference}return mItemKind.Property}function toTextEdit3(textEdit){if(!textEdit){return void 0}return{range:toRange3(textEdit.range),text:textEdit.newText}}function toCommand3(c){return c&&c.command==="editor.action.triggerSuggest"?{id:c.command,title:c.title,arguments:c.arguments}:void 0}function isMarkupContent3(thing){return thing&&typeof thing==="object"&&typeof thing.kind==="string"}function toMarkdownString3(entry){if(typeof entry==="string"){return{value:entry}}if(isMarkupContent3(entry)){if(entry.kind==="plaintext"){return{value:entry.value.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}}return{value:entry.value}}return{value:"```"+entry.language+"\n"+entry.value+"\n```\n"}}function toMarkedStringArray3(contents){if(!contents){return void 0}if(Array.isArray(contents)){return contents.map(toMarkdownString3)}return[toMarkdownString3(contents)]}function toDocumentHighlightKind3(kind){switch(kind){case DocumentHighlightKind5.Read:return monaco_editor_core_exports16.languages.DocumentHighlightKind.Read;case DocumentHighlightKind5.Write:return monaco_editor_core_exports16.languages.DocumentHighlightKind.Write;case DocumentHighlightKind5.Text:return monaco_editor_core_exports16.languages.DocumentHighlightKind.Text}return monaco_editor_core_exports16.languages.DocumentHighlightKind.Text}function toLocation3(location){return{uri:monaco_editor_core_exports16.Uri.parse(location.uri),range:toRange3(location.range)}}function toWorkspaceEdit3(edit){if(!edit||!edit.changes){return void 0}let resourceEdits=[];for(let uri in edit.changes){const _uri=monaco_editor_core_exports16.Uri.parse(uri);for(let e of edit.changes[uri]){resourceEdits.push({resource:_uri,versionId:void 0,textEdit:{range:toRange3(e.range),text:e.newText}})}}return{edits:resourceEdits}}function toSymbolKind3(kind){let mKind=monaco_editor_core_exports16.languages.SymbolKind;switch(kind){case SymbolKind4.File:return mKind.Array;case SymbolKind4.Module:return mKind.Module;case SymbolKind4.Namespace:return mKind.Namespace;case SymbolKind4.Package:return mKind.Package;case SymbolKind4.Class:return mKind.Class;case SymbolKind4.Method:return mKind.Method;case SymbolKind4.Property:return mKind.Property;case SymbolKind4.Field:return mKind.Field;case SymbolKind4.Constructor:return mKind.Constructor;case SymbolKind4.Enum:return mKind.Enum;case SymbolKind4.Interface:return mKind.Interface;case SymbolKind4.Function:return mKind.Function;case SymbolKind4.Variable:return mKind.Variable;case SymbolKind4.Constant:return mKind.Constant;case SymbolKind4.String:return mKind.String;case SymbolKind4.Number:return mKind.Number;case SymbolKind4.Boolean:return mKind.Boolean;case SymbolKind4.Array:return mKind.Array}return mKind.Function}function fromFormattingOptions3(options2){return{tabSize:options2.tabSize,insertSpaces:options2.insertSpaces}}function toFoldingRangeKind3(kind){switch(kind){case FoldingRangeKind4.Comment:return monaco_editor_core_exports16.languages.FoldingRangeKind.Comment;case FoldingRangeKind4.Imports:return monaco_editor_core_exports16.languages.FoldingRangeKind.Imports;case FoldingRangeKind4.Region:return monaco_editor_core_exports16.languages.FoldingRangeKind.Region}return void 0}function createScanner(text2,ignoreTrivia){if(ignoreTrivia===void 0){ignoreTrivia=false}var len=text2.length;var pos=0,value="",tokenOffset=0,token=16,lineNumber=0,lineStartOffset=0,tokenLineStartOffset=0,prevTokenLineStartOffset=0,scanError=0;function scanHexDigits(count,exact){var digits=0;var value2=0;while(digits<count||!exact){var ch=text2.charCodeAt(pos);if(ch>=48&&ch<=57){value2=value2*16+ch-48}else if(ch>=65&&ch<=70){value2=value2*16+ch-65+10}else if(ch>=97&&ch<=102){value2=value2*16+ch-97+10}else{break}pos++;digits++}if(digits<count){value2=-1}return value2}function setPosition(newPosition){pos=newPosition;value="";tokenOffset=0;token=16;scanError=0}function scanNumber(){var start=pos;if(text2.charCodeAt(pos)===48){pos++}else{pos++;while(pos<text2.length&&isDigit(text2.charCodeAt(pos))){pos++}}if(pos<text2.length&&text2.charCodeAt(pos)===46){pos++;if(pos<text2.length&&isDigit(text2.charCodeAt(pos))){pos++;while(pos<text2.length&&isDigit(text2.charCodeAt(pos))){pos++}}else{scanError=3;return text2.substring(start,pos)}}var end=pos;if(pos<text2.length&&(text2.charCodeAt(pos)===69||text2.charCodeAt(pos)===101)){pos++;if(pos<text2.length&&text2.charCodeAt(pos)===43||text2.charCodeAt(pos)===45){pos++}if(pos<text2.length&&isDigit(text2.charCodeAt(pos))){pos++;while(pos<text2.length&&isDigit(text2.charCodeAt(pos))){pos++}end=pos}else{scanError=3}}return text2.substring(start,end)}function scanString(){var result="",start=pos;while(true){if(pos>=len){result+=text2.substring(start,pos);scanError=2;break}var ch=text2.charCodeAt(pos);if(ch===34){result+=text2.substring(start,pos);pos++;break}if(ch===92){result+=text2.substring(start,pos);pos++;if(pos>=len){scanError=2;break}var ch2=text2.charCodeAt(pos++);switch(ch2){case 34:result+='"';break;case 92:result+="\\";break;case 47:result+="/";break;case 98:result+="\b";break;case 102:result+="\f";break;case 110:result+="\n";break;case 114:result+="\r";break;case 116:result+="\t";break;case 117:var ch3=scanHexDigits(4,true);if(ch3>=0){result+=String.fromCharCode(ch3)}else{scanError=4}break;default:scanError=5}start=pos;continue}if(ch>=0&&ch<=31){if(isLineBreak(ch)){result+=text2.substring(start,pos);scanError=2;break}else{scanError=6}}pos++}return result}function scanNext(){value="";scanError=0;tokenOffset=pos;lineStartOffset=lineNumber;prevTokenLineStartOffset=tokenLineStartOffset;if(pos>=len){tokenOffset=len;return token=17}var code=text2.charCodeAt(pos);if(isWhiteSpace(code)){do{pos++;value+=String.fromCharCode(code);code=text2.charCodeAt(pos)}while(isWhiteSpace(code));return token=15}if(isLineBreak(code)){pos++;value+=String.fromCharCode(code);if(code===13&&text2.charCodeAt(pos)===10){pos++;value+="\n"}lineNumber++;tokenLineStartOffset=pos;return token=14}switch(code){case 123:pos++;return token=1;case 125:pos++;return token=2;case 91:pos++;return token=3;case 93:pos++;return token=4;case 58:pos++;return token=6;case 44:pos++;return token=5;case 34:pos++;value=scanString();return token=10;case 47:var start=pos-1;if(text2.charCodeAt(pos+1)===47){pos+=2;while(pos<len){if(isLineBreak(text2.charCodeAt(pos))){break}pos++}value=text2.substring(start,pos);return token=12}if(text2.charCodeAt(pos+1)===42){pos+=2;var safeLength=len-1;var commentClosed=false;while(pos<safeLength){var ch=text2.charCodeAt(pos);if(ch===42&&text2.charCodeAt(pos+1)===47){pos+=2;commentClosed=true;break}pos++;if(isLineBreak(ch)){if(ch===13&&text2.charCodeAt(pos)===10){pos++}lineNumber++;tokenLineStartOffset=pos}}if(!commentClosed){pos++;scanError=1}value=text2.substring(start,pos);return token=13}value+=String.fromCharCode(code);pos++;return token=16;case 45:value+=String.fromCharCode(code);pos++;if(pos===len||!isDigit(text2.charCodeAt(pos))){return token=16}case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:value+=scanNumber();return token=11;default:while(pos<len&&isUnknownContentCharacter(code)){pos++;code=text2.charCodeAt(pos)}if(tokenOffset!==pos){value=text2.substring(tokenOffset,pos);switch(value){case"true":return token=8;case"false":return token=9;case"null":return token=7}return token=16}value+=String.fromCharCode(code);pos++;return token=16}}function isUnknownContentCharacter(code){if(isWhiteSpace(code)||isLineBreak(code)){return false}switch(code){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return false}return true}function scanNextNonTrivia(){var result;do{result=scanNext()}while(result>=12&&result<=15);return result}return{setPosition:setPosition,getPosition:function(){return pos},scan:ignoreTrivia?scanNextNonTrivia:scanNext,getToken:function(){return token},getTokenValue:function(){return value},getTokenOffset:function(){return tokenOffset},getTokenLength:function(){return pos-tokenOffset},getTokenStartLine:function(){return lineStartOffset},getTokenStartCharacter:function(){return tokenOffset-prevTokenLineStartOffset},getTokenError:function(){return scanError}}}function isWhiteSpace(ch){return ch===32||ch===9||ch===11||ch===12||ch===160||ch===5760||ch>=8192&&ch<=8203||ch===8239||ch===8287||ch===12288||ch===65279}function isLineBreak(ch){return ch===10||ch===13||ch===8232||ch===8233}function isDigit(ch){return ch>=48&&ch<=57}function createTokenizationSupport(supportComments){return{getInitialState:()=>new JSONState(null,null,false,null),tokenize:(line,state)=>tokenize2(supportComments,line,state)}}function tokenize2(comments,line,state,offsetDelta=0){let numberOfInsertedCharacters=0;let adjustOffset=false;switch(state.scanError){case 2:line='"'+line;numberOfInsertedCharacters=1;break;case 1:line="/*"+line;numberOfInsertedCharacters=2;break}const scanner=createScanner2(line);let lastWasColon=state.lastWasColon;let parents=state.parents;const ret={tokens:[],endState:state.clone()};while(true){let offset=offsetDelta+scanner.getPosition();let type="";const kind=scanner.scan();if(kind===17){break}if(offset===offsetDelta+scanner.getPosition()){throw new Error("Scanner did not advance, next 3 characters are: "+line.substr(scanner.getPosition(),3))}if(adjustOffset){offset-=numberOfInsertedCharacters}adjustOffset=numberOfInsertedCharacters>0;switch(kind){case 1:parents=ParentsStack.push(parents,0);type=TOKEN_DELIM_OBJECT;lastWasColon=false;break;case 2:parents=ParentsStack.pop(parents);type=TOKEN_DELIM_OBJECT;lastWasColon=false;break;case 3:parents=ParentsStack.push(parents,1);type=TOKEN_DELIM_ARRAY;lastWasColon=false;break;case 4:parents=ParentsStack.pop(parents);type=TOKEN_DELIM_ARRAY;lastWasColon=false;break;case 6:type=TOKEN_DELIM_COLON;lastWasColon=true;break;case 5:type=TOKEN_DELIM_COMMA;lastWasColon=false;break;case 8:case 9:type=TOKEN_VALUE_BOOLEAN;lastWasColon=false;break;case 7:type=TOKEN_VALUE_NULL;lastWasColon=false;break;case 10:const currentParent=parents?parents.type:0;const inArray=currentParent===1;type=lastWasColon||inArray?TOKEN_VALUE_STRING:TOKEN_PROPERTY_NAME;lastWasColon=false;break;case 11:type=TOKEN_VALUE_NUMBER;lastWasColon=false;break}if(comments){switch(kind){case 12:type=TOKEN_COMMENT_LINE;break;case 13:type=TOKEN_COMMENT_BLOCK;break}}ret.endState=new JSONState(state.getStateData(),scanner.getTokenError(),lastWasColon,parents);ret.tokens.push({startIndex:offset,scopes:type})}return ret}function setupMode3(defaults){const disposables=[];const providers=[];const client=new WorkerManager4(defaults);disposables.push(client);const worker=(...uris)=>client.getLanguageServiceWorker(...uris);function registerProviders(){const{languageId:languageId,modeConfiguration:modeConfiguration2}=defaults;disposeAll3(providers);if(modeConfiguration2.documentFormattingEdits){providers.push(monaco_editor_core_exports16.languages.registerDocumentFormattingEditProvider(languageId,new DocumentFormattingEditProvider3(worker)))}if(modeConfiguration2.documentRangeFormattingEdits){providers.push(monaco_editor_core_exports16.languages.registerDocumentRangeFormattingEditProvider(languageId,new DocumentRangeFormattingEditProvider3(worker)))}if(modeConfiguration2.completionItems){providers.push(monaco_editor_core_exports16.languages.registerCompletionItemProvider(languageId,new CompletionAdapter3(worker,[" ",":",'"'])))}if(modeConfiguration2.hovers){providers.push(monaco_editor_core_exports16.languages.registerHoverProvider(languageId,new HoverAdapter3(worker)))}if(modeConfiguration2.documentSymbols){providers.push(monaco_editor_core_exports16.languages.registerDocumentSymbolProvider(languageId,new DocumentSymbolAdapter3(worker)))}if(modeConfiguration2.tokens){providers.push(monaco_editor_core_exports16.languages.setTokensProvider(languageId,createTokenizationSupport(true)))}if(modeConfiguration2.colors){providers.push(monaco_editor_core_exports16.languages.registerColorProvider(languageId,new DocumentColorAdapter3(worker)))}if(modeConfiguration2.foldingRanges){providers.push(monaco_editor_core_exports16.languages.registerFoldingRangeProvider(languageId,new FoldingRangeAdapter3(worker)))}if(modeConfiguration2.diagnostics){providers.push(new JSONDiagnosticsAdapter(languageId,worker,defaults))}if(modeConfiguration2.selectionRanges){providers.push(monaco_editor_core_exports16.languages.registerSelectionRangeProvider(languageId,new SelectionRangeAdapter3(worker)))}}registerProviders();disposables.push(monaco_editor_core_exports16.languages.setLanguageConfiguration(defaults.languageId,richEditConfiguration));let modeConfiguration=defaults.modeConfiguration;defaults.onDidChange((newDefaults=>{if(newDefaults.modeConfiguration!==modeConfiguration){modeConfiguration=newDefaults.modeConfiguration;registerProviders()}}));disposables.push(asDisposable3(providers));return asDisposable3(disposables)}function asDisposable3(disposables){return{dispose:()=>disposeAll3(disposables)}}function disposeAll3(disposables){while(disposables.length){disposables.pop().dispose()}}var __defProp17,__getOwnPropDesc17,__getOwnPropNames17,__hasOwnProp17,__copyProps17,__reExport16,monaco_editor_core_exports16,STOP_WHEN_IDLE_FOR3,WorkerManager4,integer3,uinteger3,Position5,Range6,Location3,LocationLink3,Color4,ColorInformation3,ColorPresentation3,FoldingRangeKind4,FoldingRange3,DiagnosticRelatedInformation3,DiagnosticSeverity3,DiagnosticTag3,CodeDescription3,Diagnostic3,Command5,TextEdit3,ChangeAnnotation3,ChangeAnnotationIdentifier3,AnnotatedTextEdit3,TextDocumentEdit3,CreateFile3,RenameFile3,DeleteFile3,WorkspaceEdit3,TextEditChangeImpl3,ChangeAnnotations3,WorkspaceChange3,TextDocumentIdentifier3,VersionedTextDocumentIdentifier3,OptionalVersionedTextDocumentIdentifier3,TextDocumentItem3,MarkupKind3,MarkupContent3,CompletionItemKind4,InsertTextFormat3,CompletionItemTag4,InsertReplaceEdit3,InsertTextMode3,CompletionItem3,CompletionList3,MarkedString3,Hover3,ParameterInformation3,SignatureInformation3,DocumentHighlightKind5,DocumentHighlight3,SymbolKind4,SymbolTag4,SymbolInformation3,DocumentSymbol3,CodeActionKind3,CodeActionContext3,CodeAction3,CodeLens3,FormattingOptions3,DocumentLink3,SelectionRange3,TextDocument3,FullTextDocument3,Is3,DiagnosticsAdapter3,CompletionAdapter3,HoverAdapter3,DocumentHighlightAdapter3,DefinitionAdapter3,ReferenceAdapter3,RenameAdapter3,DocumentSymbolAdapter3,DocumentLinkAdapter3,DocumentFormattingEditProvider3,DocumentRangeFormattingEditProvider3,DocumentColorAdapter3,FoldingRangeAdapter3,SelectionRangeAdapter3,ParseOptions,createScanner2,TOKEN_DELIM_OBJECT,TOKEN_DELIM_ARRAY,TOKEN_DELIM_COLON,TOKEN_DELIM_COMMA,TOKEN_VALUE_BOOLEAN,TOKEN_VALUE_NULL,TOKEN_VALUE_STRING,TOKEN_VALUE_NUMBER,TOKEN_PROPERTY_NAME,TOKEN_COMMENT_BLOCK,TOKEN_COMMENT_LINE,ParentsStack,JSONState,JSONDiagnosticsAdapter,richEditConfiguration;var init_jsonMode=__esm({"node_modules/monaco-editor/esm/vs/language/json/jsonMode.js"(){init_editor_api();__defProp17=Object.defineProperty;__getOwnPropDesc17=Object.getOwnPropertyDescriptor;__getOwnPropNames17=Object.getOwnPropertyNames;__hasOwnProp17=Object.prototype.hasOwnProperty;__copyProps17=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames17(from))if(!__hasOwnProp17.call(to,key)&&key!==except)__defProp17(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc17(from,key))||desc.enumerable})}return to};__reExport16=(target,mod,secondTarget)=>(__copyProps17(target,mod,"default"),secondTarget&&__copyProps17(secondTarget,mod,"default"));monaco_editor_core_exports16={};__reExport16(monaco_editor_core_exports16,editor_api_exports);STOP_WHEN_IDLE_FOR3=2*60*1e3;WorkerManager4=class{constructor(defaults){__publicField(this,"_defaults");__publicField(this,"_idleCheckInterval");__publicField(this,"_lastUsedTime");__publicField(this,"_configChangeListener");__publicField(this,"_worker");__publicField(this,"_client");this._defaults=defaults;this._worker=null;this._client=null;this._idleCheckInterval=window.setInterval((()=>this._checkIfIdle()),30*1e3);this._lastUsedTime=0;this._configChangeListener=this._defaults.onDidChange((()=>this._stopWorker()))}_stopWorker(){if(this._worker){this._worker.dispose();this._worker=null}this._client=null}dispose(){clearInterval(this._idleCheckInterval);this._configChangeListener.dispose();this._stopWorker()}_checkIfIdle(){if(!this._worker){return}let timePassedSinceLastUsed=Date.now()-this._lastUsedTime;if(timePassedSinceLastUsed>STOP_WHEN_IDLE_FOR3){this._stopWorker()}}_getClient(){this._lastUsedTime=Date.now();if(!this._client){this._worker=monaco_editor_core_exports16.editor.createWebWorker({moduleId:"vs/language/json/jsonWorker",label:this._defaults.languageId,createData:{languageSettings:this._defaults.diagnosticsOptions,languageId:this._defaults.languageId,enableSchemaRequest:this._defaults.diagnosticsOptions.enableSchemaRequest}});this._client=this._worker.getProxy()}return this._client}getLanguageServiceWorker(...resources){let _client;return this._getClient().then((client=>{_client=client})).then((_=>{if(this._worker){return this._worker.withSyncedResources(resources)}})).then((_=>_client))}};(function(integer22){integer22.MIN_VALUE=-2147483648;integer22.MAX_VALUE=2147483647})(integer3||(integer3={}));(function(uinteger22){uinteger22.MIN_VALUE=0;uinteger22.MAX_VALUE=2147483647})(uinteger3||(uinteger3={}));(function(Position32){function create3(line,character){if(line===Number.MAX_VALUE){line=uinteger3.MAX_VALUE}if(character===Number.MAX_VALUE){character=uinteger3.MAX_VALUE}return{line:line,character:character}}Position32.create=create3;function is(value){var candidate=value;return Is3.objectLiteral(candidate)&&Is3.uinteger(candidate.line)&&Is3.uinteger(candidate.character)}Position32.is=is})(Position5||(Position5={}));(function(Range32){function create3(one,two,three,four){if(Is3.uinteger(one)&&Is3.uinteger(two)&&Is3.uinteger(three)&&Is3.uinteger(four)){return{start:Position5.create(one,two),end:Position5.create(three,four)}}else if(Position5.is(one)&&Position5.is(two)){return{start:one,end:two}}else{throw new Error("Range#create called with invalid arguments["+one+", "+two+", "+three+", "+four+"]")}}Range32.create=create3;function is(value){var candidate=value;return Is3.objectLiteral(candidate)&&Position5.is(candidate.start)&&Position5.is(candidate.end)}Range32.is=is})(Range6||(Range6={}));(function(Location22){function create3(uri,range2){return{uri:uri,range:range2}}Location22.create=create3;function is(value){var candidate=value;return Is3.defined(candidate)&&Range6.is(candidate.range)&&(Is3.string(candidate.uri)||Is3.undefined(candidate.uri))}Location22.is=is})(Location3||(Location3={}));(function(LocationLink22){function create3(targetUri,targetRange,targetSelectionRange,originSelectionRange){return{targetUri:targetUri,targetRange:targetRange,targetSelectionRange:targetSelectionRange,originSelectionRange:originSelectionRange}}LocationLink22.create=create3;function is(value){var candidate=value;return Is3.defined(candidate)&&Range6.is(candidate.targetRange)&&Is3.string(candidate.targetUri)&&(Range6.is(candidate.targetSelectionRange)||Is3.undefined(candidate.targetSelectionRange))&&(Range6.is(candidate.originSelectionRange)||Is3.undefined(candidate.originSelectionRange))}LocationLink22.is=is})(LocationLink3||(LocationLink3={}));(function(Color22){function create3(red,green,blue,alpha){return{red:red,green:green,blue:blue,alpha:alpha}}Color22.create=create3;function is(value){var candidate=value;return Is3.numberRange(candidate.red,0,1)&&Is3.numberRange(candidate.green,0,1)&&Is3.numberRange(candidate.blue,0,1)&&Is3.numberRange(candidate.alpha,0,1)}Color22.is=is})(Color4||(Color4={}));(function(ColorInformation22){function create3(range2,color){return{range:range2,color:color}}ColorInformation22.create=create3;function is(value){var candidate=value;return Range6.is(candidate.range)&&Color4.is(candidate.color)}ColorInformation22.is=is})(ColorInformation3||(ColorInformation3={}));(function(ColorPresentation22){function create3(label,textEdit,additionalTextEdits){return{label:label,textEdit:textEdit,additionalTextEdits:additionalTextEdits}}ColorPresentation22.create=create3;function is(value){var candidate=value;return Is3.string(candidate.label)&&(Is3.undefined(candidate.textEdit)||TextEdit3.is(candidate))&&(Is3.undefined(candidate.additionalTextEdits)||Is3.typedArray(candidate.additionalTextEdits,TextEdit3.is))}ColorPresentation22.is=is})(ColorPresentation3||(ColorPresentation3={}));(function(FoldingRangeKind22){FoldingRangeKind22["Comment"]="comment";FoldingRangeKind22["Imports"]="imports";FoldingRangeKind22["Region"]="region"})(FoldingRangeKind4||(FoldingRangeKind4={}));(function(FoldingRange22){function create3(startLine,endLine,startCharacter,endCharacter,kind){var result={startLine:startLine,endLine:endLine};if(Is3.defined(startCharacter)){result.startCharacter=startCharacter}if(Is3.defined(endCharacter)){result.endCharacter=endCharacter}if(Is3.defined(kind)){result.kind=kind}return result}FoldingRange22.create=create3;function is(value){var candidate=value;return Is3.uinteger(candidate.startLine)&&Is3.uinteger(candidate.startLine)&&(Is3.undefined(candidate.startCharacter)||Is3.uinteger(candidate.startCharacter))&&(Is3.undefined(candidate.endCharacter)||Is3.uinteger(candidate.endCharacter))&&(Is3.undefined(candidate.kind)||Is3.string(candidate.kind))}FoldingRange22.is=is})(FoldingRange3||(FoldingRange3={}));(function(DiagnosticRelatedInformation22){function create3(location,message){return{location:location,message:message}}DiagnosticRelatedInformation22.create=create3;function is(value){var candidate=value;return Is3.defined(candidate)&&Location3.is(candidate.location)&&Is3.string(candidate.message)}DiagnosticRelatedInformation22.is=is})(DiagnosticRelatedInformation3||(DiagnosticRelatedInformation3={}));(function(DiagnosticSeverity22){DiagnosticSeverity22.Error=1;DiagnosticSeverity22.Warning=2;DiagnosticSeverity22.Information=3;DiagnosticSeverity22.Hint=4})(DiagnosticSeverity3||(DiagnosticSeverity3={}));(function(DiagnosticTag22){DiagnosticTag22.Unnecessary=1;DiagnosticTag22.Deprecated=2})(DiagnosticTag3||(DiagnosticTag3={}));(function(CodeDescription22){function is(value){var candidate=value;return candidate!==void 0&&candidate!==null&&Is3.string(candidate.href)}CodeDescription22.is=is})(CodeDescription3||(CodeDescription3={}));(function(Diagnostic22){function create3(range2,message,severity,code,source,relatedInformation){var result={range:range2,message:message};if(Is3.defined(severity)){result.severity=severity}if(Is3.defined(code)){result.code=code}if(Is3.defined(source)){result.source=source}if(Is3.defined(relatedInformation)){result.relatedInformation=relatedInformation}return result}Diagnostic22.create=create3;function is(value){var _a6;var candidate=value;return Is3.defined(candidate)&&Range6.is(candidate.range)&&Is3.string(candidate.message)&&(Is3.number(candidate.severity)||Is3.undefined(candidate.severity))&&(Is3.integer(candidate.code)||Is3.string(candidate.code)||Is3.undefined(candidate.code))&&(Is3.undefined(candidate.codeDescription)||Is3.string((_a6=candidate.codeDescription)===null||_a6===void 0?void 0:_a6.href))&&(Is3.string(candidate.source)||Is3.undefined(candidate.source))&&(Is3.undefined(candidate.relatedInformation)||Is3.typedArray(candidate.relatedInformation,DiagnosticRelatedInformation3.is))}Diagnostic22.is=is})(Diagnostic3||(Diagnostic3={}));(function(Command22){function create3(title,command){var args=[];for(var _i=2;_i<arguments.length;_i++){args[_i-2]=arguments[_i]}var result={title:title,command:command};if(Is3.defined(args)&&args.length>0){result.arguments=args}return result}Command22.create=create3;function is(value){var candidate=value;return Is3.defined(candidate)&&Is3.string(candidate.title)&&Is3.string(candidate.command)}Command22.is=is})(Command5||(Command5={}));(function(TextEdit22){function replace(range2,newText){return{range:range2,newText:newText}}TextEdit22.replace=replace;function insert(position,newText){return{range:{start:position,end:position},newText:newText}}TextEdit22.insert=insert;function del(range2){return{range:range2,newText:""}}TextEdit22.del=del;function is(value){var candidate=value;return Is3.objectLiteral(candidate)&&Is3.string(candidate.newText)&&Range6.is(candidate.range)}TextEdit22.is=is})(TextEdit3||(TextEdit3={}));(function(ChangeAnnotation22){function create3(label,needsConfirmation,description){var result={label:label};if(needsConfirmation!==void 0){result.needsConfirmation=needsConfirmation}if(description!==void 0){result.description=description}return result}ChangeAnnotation22.create=create3;function is(value){var candidate=value;return candidate!==void 0&&Is3.objectLiteral(candidate)&&Is3.string(candidate.label)&&(Is3.boolean(candidate.needsConfirmation)||candidate.needsConfirmation===void 0)&&(Is3.string(candidate.description)||candidate.description===void 0)}ChangeAnnotation22.is=is})(ChangeAnnotation3||(ChangeAnnotation3={}));(function(ChangeAnnotationIdentifier22){function is(value){var candidate=value;return typeof candidate==="string"}ChangeAnnotationIdentifier22.is=is})(ChangeAnnotationIdentifier3||(ChangeAnnotationIdentifier3={}));(function(AnnotatedTextEdit22){function replace(range2,newText,annotation){return{range:range2,newText:newText,annotationId:annotation}}AnnotatedTextEdit22.replace=replace;function insert(position,newText,annotation){return{range:{start:position,end:position},newText:newText,annotationId:annotation}}AnnotatedTextEdit22.insert=insert;function del(range2,annotation){return{range:range2,newText:"",annotationId:annotation}}AnnotatedTextEdit22.del=del;function is(value){var candidate=value;return TextEdit3.is(candidate)&&(ChangeAnnotation3.is(candidate.annotationId)||ChangeAnnotationIdentifier3.is(candidate.annotationId))}AnnotatedTextEdit22.is=is})(AnnotatedTextEdit3||(AnnotatedTextEdit3={}));(function(TextDocumentEdit22){function create3(textDocument,edits){return{textDocument:textDocument,edits:edits}}TextDocumentEdit22.create=create3;function is(value){var candidate=value;return Is3.defined(candidate)&&OptionalVersionedTextDocumentIdentifier3.is(candidate.textDocument)&&Array.isArray(candidate.edits)}TextDocumentEdit22.is=is})(TextDocumentEdit3||(TextDocumentEdit3={}));(function(CreateFile22){function create3(uri,options2,annotation){var result={kind:"create",uri:uri};if(options2!==void 0&&(options2.overwrite!==void 0||options2.ignoreIfExists!==void 0)){result.options=options2}if(annotation!==void 0){result.annotationId=annotation}return result}CreateFile22.create=create3;function is(value){var candidate=value;return candidate&&candidate.kind==="create"&&Is3.string(candidate.uri)&&(candidate.options===void 0||(candidate.options.overwrite===void 0||Is3.boolean(candidate.options.overwrite))&&(candidate.options.ignoreIfExists===void 0||Is3.boolean(candidate.options.ignoreIfExists)))&&(candidate.annotationId===void 0||ChangeAnnotationIdentifier3.is(candidate.annotationId))}CreateFile22.is=is})(CreateFile3||(CreateFile3={}));(function(RenameFile22){function create3(oldUri,newUri,options2,annotation){var result={kind:"rename",oldUri:oldUri,newUri:newUri};if(options2!==void 0&&(options2.overwrite!==void 0||options2.ignoreIfExists!==void 0)){result.options=options2}if(annotation!==void 0){result.annotationId=annotation}return result}RenameFile22.create=create3;function is(value){var candidate=value;return candidate&&candidate.kind==="rename"&&Is3.string(candidate.oldUri)&&Is3.string(candidate.newUri)&&(candidate.options===void 0||(candidate.options.overwrite===void 0||Is3.boolean(candidate.options.overwrite))&&(candidate.options.ignoreIfExists===void 0||Is3.boolean(candidate.options.ignoreIfExists)))&&(candidate.annotationId===void 0||ChangeAnnotationIdentifier3.is(candidate.annotationId))}RenameFile22.is=is})(RenameFile3||(RenameFile3={}));(function(DeleteFile22){function create3(uri,options2,annotation){var result={kind:"delete",uri:uri};if(options2!==void 0&&(options2.recursive!==void 0||options2.ignoreIfNotExists!==void 0)){result.options=options2}if(annotation!==void 0){result.annotationId=annotation}return result}DeleteFile22.create=create3;function is(value){var candidate=value;return candidate&&candidate.kind==="delete"&&Is3.string(candidate.uri)&&(candidate.options===void 0||(candidate.options.recursive===void 0||Is3.boolean(candidate.options.recursive))&&(candidate.options.ignoreIfNotExists===void 0||Is3.boolean(candidate.options.ignoreIfNotExists)))&&(candidate.annotationId===void 0||ChangeAnnotationIdentifier3.is(candidate.annotationId))}DeleteFile22.is=is})(DeleteFile3||(DeleteFile3={}));(function(WorkspaceEdit22){function is(value){var candidate=value;return candidate&&(candidate.changes!==void 0||candidate.documentChanges!==void 0)&&(candidate.documentChanges===void 0||candidate.documentChanges.every((function(change){if(Is3.string(change.kind)){return CreateFile3.is(change)||RenameFile3.is(change)||DeleteFile3.is(change)}else{return TextDocumentEdit3.is(change)}})))}WorkspaceEdit22.is=is})(WorkspaceEdit3||(WorkspaceEdit3={}));TextEditChangeImpl3=function(){function TextEditChangeImpl22(edits,changeAnnotations){this.edits=edits;this.changeAnnotations=changeAnnotations}TextEditChangeImpl22.prototype.insert=function(position,newText,annotation){var edit;var id;if(annotation===void 0){edit=TextEdit3.insert(position,newText)}else if(ChangeAnnotationIdentifier3.is(annotation)){id=annotation;edit=AnnotatedTextEdit3.insert(position,newText,annotation)}else{this.assertChangeAnnotations(this.changeAnnotations);id=this.changeAnnotations.manage(annotation);edit=AnnotatedTextEdit3.insert(position,newText,id)}this.edits.push(edit);if(id!==void 0){return id}};TextEditChangeImpl22.prototype.replace=function(range2,newText,annotation){var edit;var id;if(annotation===void 0){edit=TextEdit3.replace(range2,newText)}else if(ChangeAnnotationIdentifier3.is(annotation)){id=annotation;edit=AnnotatedTextEdit3.replace(range2,newText,annotation)}else{this.assertChangeAnnotations(this.changeAnnotations);id=this.changeAnnotations.manage(annotation);edit=AnnotatedTextEdit3.replace(range2,newText,id)}this.edits.push(edit);if(id!==void 0){return id}};TextEditChangeImpl22.prototype.delete=function(range2,annotation){var edit;var id;if(annotation===void 0){edit=TextEdit3.del(range2)}else if(ChangeAnnotationIdentifier3.is(annotation)){id=annotation;edit=AnnotatedTextEdit3.del(range2,annotation)}else{this.assertChangeAnnotations(this.changeAnnotations);id=this.changeAnnotations.manage(annotation);edit=AnnotatedTextEdit3.del(range2,id)}this.edits.push(edit);if(id!==void 0){return id}};TextEditChangeImpl22.prototype.add=function(edit){this.edits.push(edit)};TextEditChangeImpl22.prototype.all=function(){return this.edits};TextEditChangeImpl22.prototype.clear=function(){this.edits.splice(0,this.edits.length)};TextEditChangeImpl22.prototype.assertChangeAnnotations=function(value){if(value===void 0){throw new Error("Text edit change is not configured to manage change annotations.")}};return TextEditChangeImpl22}();ChangeAnnotations3=function(){function ChangeAnnotations22(annotations){this._annotations=annotations===void 0?Object.create(null):annotations;this._counter=0;this._size=0}ChangeAnnotations22.prototype.all=function(){return this._annotations};Object.defineProperty(ChangeAnnotations22.prototype,"size",{get:function(){return this._size},enumerable:false,configurable:true});ChangeAnnotations22.prototype.manage=function(idOrAnnotation,annotation){var id;if(ChangeAnnotationIdentifier3.is(idOrAnnotation)){id=idOrAnnotation}else{id=this.nextId();annotation=idOrAnnotation}if(this._annotations[id]!==void 0){throw new Error("Id "+id+" is already in use.")}if(annotation===void 0){throw new Error("No annotation provided for id "+id)}this._annotations[id]=annotation;this._size++;return id};ChangeAnnotations22.prototype.nextId=function(){this._counter++;return this._counter.toString()};return ChangeAnnotations22}();WorkspaceChange3=function(){function WorkspaceChange22(workspaceEdit){var _this=this;this._textEditChanges=Object.create(null);if(workspaceEdit!==void 0){this._workspaceEdit=workspaceEdit;if(workspaceEdit.documentChanges){this._changeAnnotations=new ChangeAnnotations3(workspaceEdit.changeAnnotations);workspaceEdit.changeAnnotations=this._changeAnnotations.all();workspaceEdit.documentChanges.forEach((function(change){if(TextDocumentEdit3.is(change)){var textEditChange=new TextEditChangeImpl3(change.edits,_this._changeAnnotations);_this._textEditChanges[change.textDocument.uri]=textEditChange}}))}else if(workspaceEdit.changes){Object.keys(workspaceEdit.changes).forEach((function(key){var textEditChange=new TextEditChangeImpl3(workspaceEdit.changes[key]);_this._textEditChanges[key]=textEditChange}))}}else{this._workspaceEdit={}}}Object.defineProperty(WorkspaceChange22.prototype,"edit",{get:function(){this.initDocumentChanges();if(this._changeAnnotations!==void 0){if(this._changeAnnotations.size===0){this._workspaceEdit.changeAnnotations=void 0}else{this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()}}return this._workspaceEdit},enumerable:false,configurable:true});WorkspaceChange22.prototype.getTextEditChange=function(key){if(OptionalVersionedTextDocumentIdentifier3.is(key)){this.initDocumentChanges();if(this._workspaceEdit.documentChanges===void 0){throw new Error("Workspace edit is not configured for document changes.")}var textDocument={uri:key.uri,version:key.version};var result=this._textEditChanges[textDocument.uri];if(!result){var edits=[];var textDocumentEdit={textDocument:textDocument,edits:edits};this._workspaceEdit.documentChanges.push(textDocumentEdit);result=new TextEditChangeImpl3(edits,this._changeAnnotations);this._textEditChanges[textDocument.uri]=result}return result}else{this.initChanges();if(this._workspaceEdit.changes===void 0){throw new Error("Workspace edit is not configured for normal text edit changes.")}var result=this._textEditChanges[key];if(!result){var edits=[];this._workspaceEdit.changes[key]=edits;result=new TextEditChangeImpl3(edits);this._textEditChanges[key]=result}return result}};WorkspaceChange22.prototype.initDocumentChanges=function(){if(this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0){this._changeAnnotations=new ChangeAnnotations3;this._workspaceEdit.documentChanges=[];this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()}};WorkspaceChange22.prototype.initChanges=function(){if(this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0){this._workspaceEdit.changes=Object.create(null)}};WorkspaceChange22.prototype.createFile=function(uri,optionsOrAnnotation,options2){this.initDocumentChanges();if(this._workspaceEdit.documentChanges===void 0){throw new Error("Workspace edit is not configured for document changes.")}var annotation;if(ChangeAnnotation3.is(optionsOrAnnotation)||ChangeAnnotationIdentifier3.is(optionsOrAnnotation)){annotation=optionsOrAnnotation}else{options2=optionsOrAnnotation}var operation;var id;if(annotation===void 0){operation=CreateFile3.create(uri,options2)}else{id=ChangeAnnotationIdentifier3.is(annotation)?annotation:this._changeAnnotations.manage(annotation);operation=CreateFile3.create(uri,options2,id)}this._workspaceEdit.documentChanges.push(operation);if(id!==void 0){return id}};WorkspaceChange22.prototype.renameFile=function(oldUri,newUri,optionsOrAnnotation,options2){this.initDocumentChanges();if(this._workspaceEdit.documentChanges===void 0){throw new Error("Workspace edit is not configured for document changes.")}var annotation;if(ChangeAnnotation3.is(optionsOrAnnotation)||ChangeAnnotationIdentifier3.is(optionsOrAnnotation)){annotation=optionsOrAnnotation}else{options2=optionsOrAnnotation}var operation;var id;if(annotation===void 0){operation=RenameFile3.create(oldUri,newUri,options2)}else{id=ChangeAnnotationIdentifier3.is(annotation)?annotation:this._changeAnnotations.manage(annotation);operation=RenameFile3.create(oldUri,newUri,options2,id)}this._workspaceEdit.documentChanges.push(operation);if(id!==void 0){return id}};WorkspaceChange22.prototype.deleteFile=function(uri,optionsOrAnnotation,options2){this.initDocumentChanges();if(this._workspaceEdit.documentChanges===void 0){throw new Error("Workspace edit is not configured for document changes.")}var annotation;if(ChangeAnnotation3.is(optionsOrAnnotation)||ChangeAnnotationIdentifier3.is(optionsOrAnnotation)){annotation=optionsOrAnnotation}else{options2=optionsOrAnnotation}var operation;var id;if(annotation===void 0){operation=DeleteFile3.create(uri,options2)}else{id=ChangeAnnotationIdentifier3.is(annotation)?annotation:this._changeAnnotations.manage(annotation);operation=DeleteFile3.create(uri,options2,id)}this._workspaceEdit.documentChanges.push(operation);if(id!==void 0){return id}};return WorkspaceChange22}();(function(TextDocumentIdentifier22){function create3(uri){return{uri:uri}}TextDocumentIdentifier22.create=create3;function is(value){var candidate=value;return Is3.defined(candidate)&&Is3.string(candidate.uri)}TextDocumentIdentifier22.is=is})(TextDocumentIdentifier3||(TextDocumentIdentifier3={}));(function(VersionedTextDocumentIdentifier22){function create3(uri,version2){return{uri:uri,version:version2}}VersionedTextDocumentIdentifier22.create=create3;function is(value){var candidate=value;return Is3.defined(candidate)&&Is3.string(candidate.uri)&&Is3.integer(candidate.version)}VersionedTextDocumentIdentifier22.is=is})(VersionedTextDocumentIdentifier3||(VersionedTextDocumentIdentifier3={}));(function(OptionalVersionedTextDocumentIdentifier22){function create3(uri,version2){return{uri:uri,version:version2}}OptionalVersionedTextDocumentIdentifier22.create=create3;function is(value){var candidate=value;return Is3.defined(candidate)&&Is3.string(candidate.uri)&&(candidate.version===null||Is3.integer(candidate.version))}OptionalVersionedTextDocumentIdentifier22.is=is})(OptionalVersionedTextDocumentIdentifier3||(OptionalVersionedTextDocumentIdentifier3={}));(function(TextDocumentItem22){function create3(uri,languageId,version2,text2){return{uri:uri,languageId:languageId,version:version2,text:text2}}TextDocumentItem22.create=create3;function is(value){var candidate=value;return Is3.defined(candidate)&&Is3.string(candidate.uri)&&Is3.string(candidate.languageId)&&Is3.integer(candidate.version)&&Is3.string(candidate.text)}TextDocumentItem22.is=is})(TextDocumentItem3||(TextDocumentItem3={}));(function(MarkupKind22){MarkupKind22.PlainText="plaintext";MarkupKind22.Markdown="markdown"})(MarkupKind3||(MarkupKind3={}));(function(MarkupKind22){function is(value){var candidate=value;return candidate===MarkupKind22.PlainText||candidate===MarkupKind22.Markdown}MarkupKind22.is=is})(MarkupKind3||(MarkupKind3={}));(function(MarkupContent22){function is(value){var candidate=value;return Is3.objectLiteral(value)&&MarkupKind3.is(candidate.kind)&&Is3.string(candidate.value)}MarkupContent22.is=is})(MarkupContent3||(MarkupContent3={}));(function(CompletionItemKind22){CompletionItemKind22.Text=1;CompletionItemKind22.Method=2;CompletionItemKind22.Function=3;CompletionItemKind22.Constructor=4;CompletionItemKind22.Field=5;CompletionItemKind22.Variable=6;CompletionItemKind22.Class=7;CompletionItemKind22.Interface=8;CompletionItemKind22.Module=9;CompletionItemKind22.Property=10;CompletionItemKind22.Unit=11;CompletionItemKind22.Value=12;CompletionItemKind22.Enum=13;CompletionItemKind22.Keyword=14;CompletionItemKind22.Snippet=15;CompletionItemKind22.Color=16;CompletionItemKind22.File=17;CompletionItemKind22.Reference=18;CompletionItemKind22.Folder=19;CompletionItemKind22.EnumMember=20;CompletionItemKind22.Constant=21;CompletionItemKind22.Struct=22;CompletionItemKind22.Event=23;CompletionItemKind22.Operator=24;CompletionItemKind22.TypeParameter=25})(CompletionItemKind4||(CompletionItemKind4={}));(function(InsertTextFormat22){InsertTextFormat22.PlainText=1;InsertTextFormat22.Snippet=2})(InsertTextFormat3||(InsertTextFormat3={}));(function(CompletionItemTag22){CompletionItemTag22.Deprecated=1})(CompletionItemTag4||(CompletionItemTag4={}));(function(InsertReplaceEdit22){function create3(newText,insert,replace){return{newText:newText,insert:insert,replace:replace}}InsertReplaceEdit22.create=create3;function is(value){var candidate=value;return candidate&&Is3.string(candidate.newText)&&Range6.is(candidate.insert)&&Range6.is(candidate.replace)}InsertReplaceEdit22.is=is})(InsertReplaceEdit3||(InsertReplaceEdit3={}));(function(InsertTextMode22){InsertTextMode22.asIs=1;InsertTextMode22.adjustIndentation=2})(InsertTextMode3||(InsertTextMode3={}));(function(CompletionItem22){function create3(label){return{label:label}}CompletionItem22.create=create3})(CompletionItem3||(CompletionItem3={}));(function(CompletionList22){function create3(items,isIncomplete){return{items:items?items:[],isIncomplete:!!isIncomplete}}CompletionList22.create=create3})(CompletionList3||(CompletionList3={}));(function(MarkedString22){function fromPlainText(plainText){return plainText.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}MarkedString22.fromPlainText=fromPlainText;function is(value){var candidate=value;return Is3.string(candidate)||Is3.objectLiteral(candidate)&&Is3.string(candidate.language)&&Is3.string(candidate.value)}MarkedString22.is=is})(MarkedString3||(MarkedString3={}));(function(Hover22){function is(value){var candidate=value;return!!candidate&&Is3.objectLiteral(candidate)&&(MarkupContent3.is(candidate.contents)||MarkedString3.is(candidate.contents)||Is3.typedArray(candidate.contents,MarkedString3.is))&&(value.range===void 0||Range6.is(value.range))}Hover22.is=is})(Hover3||(Hover3={}));(function(ParameterInformation22){function create3(label,documentation){return documentation?{label:label,documentation:documentation}:{label:label}}ParameterInformation22.create=create3})(ParameterInformation3||(ParameterInformation3={}));(function(SignatureInformation22){function create3(label,documentation){var parameters=[];for(var _i=2;_i<arguments.length;_i++){parameters[_i-2]=arguments[_i]}var result={label:label};if(Is3.defined(documentation)){result.documentation=documentation}if(Is3.defined(parameters)){result.parameters=parameters}else{result.parameters=[]}return result}SignatureInformation22.create=create3})(SignatureInformation3||(SignatureInformation3={}));(function(DocumentHighlightKind22){DocumentHighlightKind22.Text=1;DocumentHighlightKind22.Read=2;DocumentHighlightKind22.Write=3})(DocumentHighlightKind5||(DocumentHighlightKind5={}));(function(DocumentHighlight22){function create3(range2,kind){var result={range:range2};if(Is3.number(kind)){result.kind=kind}return result}DocumentHighlight22.create=create3})(DocumentHighlight3||(DocumentHighlight3={}));(function(SymbolKind22){SymbolKind22.File=1;SymbolKind22.Module=2;SymbolKind22.Namespace=3;SymbolKind22.Package=4;SymbolKind22.Class=5;SymbolKind22.Method=6;SymbolKind22.Property=7;SymbolKind22.Field=8;SymbolKind22.Constructor=9;SymbolKind22.Enum=10;SymbolKind22.Interface=11;SymbolKind22.Function=12;SymbolKind22.Variable=13;SymbolKind22.Constant=14;SymbolKind22.String=15;SymbolKind22.Number=16;SymbolKind22.Boolean=17;SymbolKind22.Array=18;SymbolKind22.Object=19;SymbolKind22.Key=20;SymbolKind22.Null=21;SymbolKind22.EnumMember=22;SymbolKind22.Struct=23;SymbolKind22.Event=24;SymbolKind22.Operator=25;SymbolKind22.TypeParameter=26})(SymbolKind4||(SymbolKind4={}));(function(SymbolTag22){SymbolTag22.Deprecated=1})(SymbolTag4||(SymbolTag4={}));(function(SymbolInformation22){function create3(name,kind,range2,uri,containerName){var result={name:name,kind:kind,location:{uri:uri,range:range2}};if(containerName){result.containerName=containerName}return result}SymbolInformation22.create=create3})(SymbolInformation3||(SymbolInformation3={}));(function(DocumentSymbol22){function create3(name,detail,kind,range2,selectionRange,children){var result={name:name,detail:detail,kind:kind,range:range2,selectionRange:selectionRange};if(children!==void 0){result.children=children}return result}DocumentSymbol22.create=create3;function is(value){var candidate=value;return candidate&&Is3.string(candidate.name)&&Is3.number(candidate.kind)&&Range6.is(candidate.range)&&Range6.is(candidate.selectionRange)&&(candidate.detail===void 0||Is3.string(candidate.detail))&&(candidate.deprecated===void 0||Is3.boolean(candidate.deprecated))&&(candidate.children===void 0||Array.isArray(candidate.children))&&(candidate.tags===void 0||Array.isArray(candidate.tags))}DocumentSymbol22.is=is})(DocumentSymbol3||(DocumentSymbol3={}));(function(CodeActionKind22){CodeActionKind22.Empty="";CodeActionKind22.QuickFix="quickfix";CodeActionKind22.Refactor="refactor";CodeActionKind22.RefactorExtract="refactor.extract";CodeActionKind22.RefactorInline="refactor.inline";CodeActionKind22.RefactorRewrite="refactor.rewrite";CodeActionKind22.Source="source";CodeActionKind22.SourceOrganizeImports="source.organizeImports";CodeActionKind22.SourceFixAll="source.fixAll"})(CodeActionKind3||(CodeActionKind3={}));(function(CodeActionContext22){function create3(diagnostics,only){var result={diagnostics:diagnostics};if(only!==void 0&&only!==null){result.only=only}return result}CodeActionContext22.create=create3;function is(value){var candidate=value;return Is3.defined(candidate)&&Is3.typedArray(candidate.diagnostics,Diagnostic3.is)&&(candidate.only===void 0||Is3.typedArray(candidate.only,Is3.string))}CodeActionContext22.is=is})(CodeActionContext3||(CodeActionContext3={}));(function(CodeAction22){function create3(title,kindOrCommandOrEdit,kind){var result={title:title};var checkKind=true;if(typeof kindOrCommandOrEdit==="string"){checkKind=false;result.kind=kindOrCommandOrEdit}else if(Command5.is(kindOrCommandOrEdit)){result.command=kindOrCommandOrEdit}else{result.edit=kindOrCommandOrEdit}if(checkKind&&kind!==void 0){result.kind=kind}return result}CodeAction22.create=create3;function is(value){var candidate=value;return candidate&&Is3.string(candidate.title)&&(candidate.diagnostics===void 0||Is3.typedArray(candidate.diagnostics,Diagnostic3.is))&&(candidate.kind===void 0||Is3.string(candidate.kind))&&(candidate.edit!==void 0||candidate.command!==void 0)&&(candidate.command===void 0||Command5.is(candidate.command))&&(candidate.isPreferred===void 0||Is3.boolean(candidate.isPreferred))&&(candidate.edit===void 0||WorkspaceEdit3.is(candidate.edit))}CodeAction22.is=is})(CodeAction3||(CodeAction3={}));(function(CodeLens22){function create3(range2,data){var result={range:range2};if(Is3.defined(data)){result.data=data}return result}CodeLens22.create=create3;function is(value){var candidate=value;return Is3.defined(candidate)&&Range6.is(candidate.range)&&(Is3.undefined(candidate.command)||Command5.is(candidate.command))}CodeLens22.is=is})(CodeLens3||(CodeLens3={}));(function(FormattingOptions22){function create3(tabSize,insertSpaces){return{tabSize:tabSize,insertSpaces:insertSpaces}}FormattingOptions22.create=create3;function is(value){var candidate=value;return Is3.defined(candidate)&&Is3.uinteger(candidate.tabSize)&&Is3.boolean(candidate.insertSpaces)}FormattingOptions22.is=is})(FormattingOptions3||(FormattingOptions3={}));(function(DocumentLink22){function create3(range2,target,data){return{range:range2,target:target,data:data}}DocumentLink22.create=create3;function is(value){var candidate=value;return Is3.defined(candidate)&&Range6.is(candidate.range)&&(Is3.undefined(candidate.target)||Is3.string(candidate.target))}DocumentLink22.is=is})(DocumentLink3||(DocumentLink3={}));(function(SelectionRange22){function create3(range2,parent){return{range:range2,parent:parent}}SelectionRange22.create=create3;function is(value){var candidate=value;return candidate!==void 0&&Range6.is(candidate.range)&&(candidate.parent===void 0||SelectionRange22.is(candidate.parent))}SelectionRange22.is=is})(SelectionRange3||(SelectionRange3={}));(function(TextDocument22){function create3(uri,languageId,version2,content){return new FullTextDocument3(uri,languageId,version2,content)}TextDocument22.create=create3;function is(value){var candidate=value;return Is3.defined(candidate)&&Is3.string(candidate.uri)&&(Is3.undefined(candidate.languageId)||Is3.string(candidate.languageId))&&Is3.uinteger(candidate.lineCount)&&Is3.func(candidate.getText)&&Is3.func(candidate.positionAt)&&Is3.func(candidate.offsetAt)?true:false}TextDocument22.is=is;function applyEdits2(document2,edits){var text2=document2.getText();var sortedEdits=mergeSort(edits,(function(a,b){var diff=a.range.start.line-b.range.start.line;if(diff===0){return a.range.start.character-b.range.start.character}return diff}));var lastModifiedOffset=text2.length;for(var i=sortedEdits.length-1;i>=0;i--){var e=sortedEdits[i];var startOffset=document2.offsetAt(e.range.start);var endOffset=document2.offsetAt(e.range.end);if(endOffset<=lastModifiedOffset){text2=text2.substring(0,startOffset)+e.newText+text2.substring(endOffset,text2.length)}else{throw new Error("Overlapping edit")}lastModifiedOffset=startOffset}return text2}TextDocument22.applyEdits=applyEdits2;function mergeSort(data,compare2){if(data.length<=1){return data}var p=data.length/2|0;var left=data.slice(0,p);var right=data.slice(p);mergeSort(left,compare2);mergeSort(right,compare2);var leftIdx=0;var rightIdx=0;var i=0;while(leftIdx<left.length&&rightIdx<right.length){var ret=compare2(left[leftIdx],right[rightIdx]);if(ret<=0){data[i++]=left[leftIdx++]}else{data[i++]=right[rightIdx++]}}while(leftIdx<left.length){data[i++]=left[leftIdx++]}while(rightIdx<right.length){data[i++]=right[rightIdx++]}return data}})(TextDocument3||(TextDocument3={}));FullTextDocument3=function(){function FullTextDocument22(uri,languageId,version2,content){this._uri=uri;this._languageId=languageId;this._version=version2;this._content=content;this._lineOffsets=void 0}Object.defineProperty(FullTextDocument22.prototype,"uri",{get:function(){return this._uri},enumerable:false,configurable:true});Object.defineProperty(FullTextDocument22.prototype,"languageId",{get:function(){return this._languageId},enumerable:false,configurable:true});Object.defineProperty(FullTextDocument22.prototype,"version",{get:function(){return this._version},enumerable:false,configurable:true});FullTextDocument22.prototype.getText=function(range2){if(range2){var start=this.offsetAt(range2.start);var end=this.offsetAt(range2.end);return this._content.substring(start,end)}return this._content};FullTextDocument22.prototype.update=function(event,version2){this._content=event.text;this._version=version2;this._lineOffsets=void 0};FullTextDocument22.prototype.getLineOffsets=function(){if(this._lineOffsets===void 0){var lineOffsets=[];var text2=this._content;var isLineStart=true;for(var i=0;i<text2.length;i++){if(isLineStart){lineOffsets.push(i);isLineStart=false}var ch=text2.charAt(i);isLineStart=ch==="\r"||ch==="\n";if(ch==="\r"&&i+1<text2.length&&text2.charAt(i+1)==="\n"){i++}}if(isLineStart&&text2.length>0){lineOffsets.push(text2.length)}this._lineOffsets=lineOffsets}return this._lineOffsets};FullTextDocument22.prototype.positionAt=function(offset){offset=Math.max(Math.min(offset,this._content.length),0);var lineOffsets=this.getLineOffsets();var low=0,high=lineOffsets.length;if(high===0){return Position5.create(0,offset)}while(low<high){var mid=Math.floor((low+high)/2);if(lineOffsets[mid]>offset){high=mid}else{low=mid+1}}var line=low-1;return Position5.create(line,offset-lineOffsets[line])};FullTextDocument22.prototype.offsetAt=function(position){var lineOffsets=this.getLineOffsets();if(position.line>=lineOffsets.length){return this._content.length}else if(position.line<0){return 0}var lineOffset=lineOffsets[position.line];var nextLineOffset=position.line+1<lineOffsets.length?lineOffsets[position.line+1]:this._content.length;return Math.max(Math.min(lineOffset+position.character,nextLineOffset),lineOffset)};Object.defineProperty(FullTextDocument22.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:false,configurable:true});return FullTextDocument22}();(function(Is22){var toString=Object.prototype.toString;function defined(value){return typeof value!=="undefined"}Is22.defined=defined;function undefined2(value){return typeof value==="undefined"}Is22.undefined=undefined2;function boolean2(value){return value===true||value===false}Is22.boolean=boolean2;function string2(value){return toString.call(value)==="[object String]"}Is22.string=string2;function number(value){return toString.call(value)==="[object Number]"}Is22.number=number;function numberRange(value,min,max){return toString.call(value)==="[object Number]"&&min<=value&&value<=max}Is22.numberRange=numberRange;function integer22(value){return toString.call(value)==="[object Number]"&&-2147483648<=value&&value<=2147483647}Is22.integer=integer22;function uinteger22(value){return toString.call(value)==="[object Number]"&&0<=value&&value<=2147483647}Is22.uinteger=uinteger22;function func(value){return toString.call(value)==="[object Function]"}Is22.func=func;function objectLiteral(value){return value!==null&&typeof value==="object"}Is22.objectLiteral=objectLiteral;function typedArray(value,check){return Array.isArray(value)&&value.every(check)}Is22.typedArray=typedArray})(Is3||(Is3={}));DiagnosticsAdapter3=class{constructor(_languageId,_worker,configChangeEvent){__publicField(this,"_disposables",[]);__publicField(this,"_listener",Object.create(null));this._languageId=_languageId;this._worker=_worker;const onModelAdd=model=>{let modeId=model.getLanguageId();if(modeId!==this._languageId){return}let handle;this._listener[model.uri.toString()]=model.onDidChangeContent((()=>{window.clearTimeout(handle);handle=window.setTimeout((()=>this._doValidate(model.uri,modeId)),500)}));this._doValidate(model.uri,modeId)};const onModelRemoved=model=>{monaco_editor_core_exports16.editor.setModelMarkers(model,this._languageId,[]);let uriStr=model.uri.toString();let listener=this._listener[uriStr];if(listener){listener.dispose();delete this._listener[uriStr]}};this._disposables.push(monaco_editor_core_exports16.editor.onDidCreateModel(onModelAdd));this._disposables.push(monaco_editor_core_exports16.editor.onWillDisposeModel(onModelRemoved));this._disposables.push(monaco_editor_core_exports16.editor.onDidChangeModelLanguage((event=>{onModelRemoved(event.model);onModelAdd(event.model)})));this._disposables.push(configChangeEvent((_=>{monaco_editor_core_exports16.editor.getModels().forEach((model=>{if(model.getLanguageId()===this._languageId){onModelRemoved(model);onModelAdd(model)}}))})));this._disposables.push({dispose:()=>{monaco_editor_core_exports16.editor.getModels().forEach(onModelRemoved);for(let key in this._listener){this._listener[key].dispose()}}});monaco_editor_core_exports16.editor.getModels().forEach(onModelAdd)}dispose(){this._disposables.forEach((d=>d&&d.dispose()));this._disposables.length=0}_doValidate(resource,languageId){this._worker(resource).then((worker=>worker.doValidation(resource.toString()))).then((diagnostics=>{const markers=diagnostics.map((d=>toDiagnostics3(resource,d)));let model=monaco_editor_core_exports16.editor.getModel(resource);if(model&&model.getLanguageId()===languageId){monaco_editor_core_exports16.editor.setModelMarkers(model,languageId,markers)}})).then(void 0,(err=>{console.error(err)}))}};CompletionAdapter3=class{constructor(_worker,_triggerCharacters){this._worker=_worker;this._triggerCharacters=_triggerCharacters}get triggerCharacters(){return this._triggerCharacters}provideCompletionItems(model,position,context,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.doComplete(resource.toString(),fromPosition3(position)))).then((info=>{if(!info){return}const wordInfo=model.getWordUntilPosition(position);const wordRange=new monaco_editor_core_exports16.Range(position.lineNumber,wordInfo.startColumn,position.lineNumber,wordInfo.endColumn);const items=info.items.map((entry=>{const item={label:entry.label,insertText:entry.insertText||entry.label,sortText:entry.sortText,filterText:entry.filterText,documentation:entry.documentation,detail:entry.detail,command:toCommand3(entry.command),range:wordRange,kind:toCompletionItemKind3(entry.kind)};if(entry.textEdit){if(isInsertReplaceEdit3(entry.textEdit)){item.range={insert:toRange3(entry.textEdit.insert),replace:toRange3(entry.textEdit.replace)}}else{item.range=toRange3(entry.textEdit.range)}item.insertText=entry.textEdit.newText}if(entry.additionalTextEdits){item.additionalTextEdits=entry.additionalTextEdits.map(toTextEdit3)}if(entry.insertTextFormat===InsertTextFormat3.Snippet){item.insertTextRules=monaco_editor_core_exports16.languages.CompletionItemInsertTextRule.InsertAsSnippet}return item}));return{isIncomplete:info.isIncomplete,suggestions:items}}))}};HoverAdapter3=class{constructor(_worker){this._worker=_worker}provideHover(model,position,token){let resource=model.uri;return this._worker(resource).then((worker=>worker.doHover(resource.toString(),fromPosition3(position)))).then((info=>{if(!info){return}return{range:toRange3(info.range),contents:toMarkedStringArray3(info.contents)}}))}};DocumentHighlightAdapter3=class{constructor(_worker){this._worker=_worker}provideDocumentHighlights(model,position,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.findDocumentHighlights(resource.toString(),fromPosition3(position)))).then((entries2=>{if(!entries2){return}return entries2.map((entry=>({range:toRange3(entry.range),kind:toDocumentHighlightKind3(entry.kind)})))}))}};DefinitionAdapter3=class{constructor(_worker){this._worker=_worker}provideDefinition(model,position,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.findDefinition(resource.toString(),fromPosition3(position)))).then((definition=>{if(!definition){return}return[toLocation3(definition)]}))}};ReferenceAdapter3=class{constructor(_worker){this._worker=_worker}provideReferences(model,position,context,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.findReferences(resource.toString(),fromPosition3(position)))).then((entries2=>{if(!entries2){return}return entries2.map(toLocation3)}))}};RenameAdapter3=class{constructor(_worker){this._worker=_worker}provideRenameEdits(model,position,newName,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.doRename(resource.toString(),fromPosition3(position),newName))).then((edit=>toWorkspaceEdit3(edit)))}};DocumentSymbolAdapter3=class{constructor(_worker){this._worker=_worker}provideDocumentSymbols(model,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.findDocumentSymbols(resource.toString()))).then((items=>{if(!items){return}return items.map((item=>({name:item.name,detail:"",containerName:item.containerName,kind:toSymbolKind3(item.kind),range:toRange3(item.location.range),selectionRange:toRange3(item.location.range),tags:[]})))}))}};DocumentLinkAdapter3=class{constructor(_worker){this._worker=_worker}provideLinks(model,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.findDocumentLinks(resource.toString()))).then((items=>{if(!items){return}return{links:items.map((item=>({range:toRange3(item.range),url:item.target})))}}))}};DocumentFormattingEditProvider3=class{constructor(_worker){this._worker=_worker}provideDocumentFormattingEdits(model,options2,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.format(resource.toString(),null,fromFormattingOptions3(options2)).then((edits=>{if(!edits||edits.length===0){return}return edits.map(toTextEdit3)}))))}};DocumentRangeFormattingEditProvider3=class{constructor(_worker){__publicField(this,"canFormatMultipleRanges",false);this._worker=_worker}provideDocumentRangeFormattingEdits(model,range2,options2,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.format(resource.toString(),fromRange3(range2),fromFormattingOptions3(options2)).then((edits=>{if(!edits||edits.length===0){return}return edits.map(toTextEdit3)}))))}};DocumentColorAdapter3=class{constructor(_worker){this._worker=_worker}provideDocumentColors(model,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.findDocumentColors(resource.toString()))).then((infos=>{if(!infos){return}return infos.map((item=>({color:item.color,range:toRange3(item.range)})))}))}provideColorPresentations(model,info,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.getColorPresentations(resource.toString(),info.color,fromRange3(info.range)))).then((presentations=>{if(!presentations){return}return presentations.map((presentation=>{let item={label:presentation.label};if(presentation.textEdit){item.textEdit=toTextEdit3(presentation.textEdit)}if(presentation.additionalTextEdits){item.additionalTextEdits=presentation.additionalTextEdits.map(toTextEdit3)}return item}))}))}};FoldingRangeAdapter3=class{constructor(_worker){this._worker=_worker}provideFoldingRanges(model,context,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.getFoldingRanges(resource.toString(),context))).then((ranges=>{if(!ranges){return}return ranges.map((range2=>{const result={start:range2.startLine+1,end:range2.endLine+1};if(typeof range2.kind!=="undefined"){result.kind=toFoldingRangeKind3(range2.kind)}return result}))}))}};SelectionRangeAdapter3=class{constructor(_worker){this._worker=_worker}provideSelectionRanges(model,positions,token){const resource=model.uri;return this._worker(resource).then((worker=>worker.getSelectionRanges(resource.toString(),positions.map(fromPosition3)))).then((selectionRanges=>{if(!selectionRanges){return}return selectionRanges.map((selectionRange=>{const result=[];while(selectionRange){result.push({range:toRange3(selectionRange.range)});selectionRange=selectionRange.parent}return result}))}))}};(function(ParseOptions2){ParseOptions2.DEFAULT={allowTrailingComma:false}})(ParseOptions||(ParseOptions={}));createScanner2=createScanner;TOKEN_DELIM_OBJECT="delimiter.bracket.json";TOKEN_DELIM_ARRAY="delimiter.array.json";TOKEN_DELIM_COLON="delimiter.colon.json";TOKEN_DELIM_COMMA="delimiter.comma.json";TOKEN_VALUE_BOOLEAN="keyword.json";TOKEN_VALUE_NULL="keyword.json";TOKEN_VALUE_STRING="string.value.json";TOKEN_VALUE_NUMBER="number.json";TOKEN_PROPERTY_NAME="string.key.json";TOKEN_COMMENT_BLOCK="comment.block.json";TOKEN_COMMENT_LINE="comment.line.json";ParentsStack=class{constructor(parent,type){this.parent=parent;this.type=type}static pop(parents){if(parents){return parents.parent}return null}static push(parents,type){return new ParentsStack(parents,type)}static equals(a,b){if(!a&&!b){return true}if(!a||!b){return false}while(a&&b){if(a===b){return true}if(a.type!==b.type){return false}a=a.parent;b=b.parent}return true}};JSONState=class{constructor(state,scanError,lastWasColon,parents){__publicField(this,"_state");__publicField(this,"scanError");__publicField(this,"lastWasColon");__publicField(this,"parents");this._state=state;this.scanError=scanError;this.lastWasColon=lastWasColon;this.parents=parents}clone(){return new JSONState(this._state,this.scanError,this.lastWasColon,this.parents)}equals(other){if(other===this){return true}if(!other||!(other instanceof JSONState)){return false}return this.scanError===other.scanError&&this.lastWasColon===other.lastWasColon&&ParentsStack.equals(this.parents,other.parents)}getStateData(){return this._state}setStateData(state){this._state=state}};JSONDiagnosticsAdapter=class extends DiagnosticsAdapter3{constructor(languageId,worker,defaults){super(languageId,worker,defaults.onDidChange);this._disposables.push(monaco_editor_core_exports16.editor.onWillDisposeModel((model=>{this._resetSchema(model.uri)})));this._disposables.push(monaco_editor_core_exports16.editor.onDidChangeModelLanguage((event=>{this._resetSchema(event.model.uri)})))}_resetSchema(resource){this._worker().then((worker=>{worker.resetSchema(resource.toString())}))}};richEditConfiguration={wordPattern:/(-?\d*\.\d\w*)|([^\[\{\]\}\:\"\,\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string"]},{open:"[",close:"]",notIn:["string"]},{open:'"',close:'"',notIn:["string"]}]}}});var tsMode_exports={};__export(tsMode_exports,{Adapter:()=>Adapter,CodeActionAdaptor:()=>CodeActionAdaptor,DefinitionAdapter:()=>DefinitionAdapter4,DiagnosticsAdapter:()=>DiagnosticsAdapter4,DocumentHighlightAdapter:()=>DocumentHighlightAdapter4,FormatAdapter:()=>FormatAdapter,FormatHelper:()=>FormatHelper,FormatOnTypeAdapter:()=>FormatOnTypeAdapter,InlayHintsAdapter:()=>InlayHintsAdapter,Kind:()=>Kind,LibFiles:()=>LibFiles,OutlineAdapter:()=>OutlineAdapter,QuickInfoAdapter:()=>QuickInfoAdapter,ReferenceAdapter:()=>ReferenceAdapter4,RenameAdapter:()=>RenameAdapter4,SignatureHelpAdapter:()=>SignatureHelpAdapter,SuggestAdapter:()=>SuggestAdapter,WorkerManager:()=>WorkerManager5,flattenDiagnosticMessageText:()=>flattenDiagnosticMessageText,getJavaScriptWorker:()=>getJavaScriptWorker,getTypeScriptWorker:()=>getTypeScriptWorker,setupJavaScript:()=>setupJavaScript,setupTypeScript:()=>setupTypeScript});function flattenDiagnosticMessageText(diag,newLine,indent=0){if(typeof diag==="string"){return diag}else if(diag===void 0){return""}let result="";if(indent){result+=newLine;for(let i=0;i<indent;i++){result+=" "}}result+=diag.messageText;indent++;if(diag.next){for(const kid of diag.next){result+=flattenDiagnosticMessageText(kid,newLine,indent)}}return result}function displayPartsToString(displayParts){if(displayParts){return displayParts.map((displayPart=>displayPart.text)).join("")}return""}function tagToString(tag){let tagLabel=`*@${tag.name}*`;if(tag.name==="param"&&tag.text){const[paramName,...rest]=tag.text;tagLabel+=`\`${paramName.text}\``;if(rest.length>0)tagLabel+=` — ${rest.map((r=>r.text)).join(" ")}`}else if(Array.isArray(tag.text)){tagLabel+=` — ${tag.text.map((r=>r.text)).join(" ")}`}else if(tag.text){tagLabel+=` — ${tag.text}`}return tagLabel}function setupTypeScript(defaults){typeScriptWorker=setupMode4(defaults,"typescript")}function setupJavaScript(defaults){javaScriptWorker=setupMode4(defaults,"javascript")}function getJavaScriptWorker(){return new Promise(((resolve2,reject)=>{if(!javaScriptWorker){return reject("JavaScript not registered!")}resolve2(javaScriptWorker)}))}function getTypeScriptWorker(){return new Promise(((resolve2,reject)=>{if(!typeScriptWorker){return reject("TypeScript not registered!")}resolve2(typeScriptWorker)}))}function setupMode4(defaults,modeId){const disposables=[];const providers=[];const client=new WorkerManager5(modeId,defaults);disposables.push(client);const worker=(...uris)=>client.getLanguageServiceWorker(...uris);const libFiles=new LibFiles(worker);function registerProviders(){const{modeConfiguration:modeConfiguration}=defaults;disposeAll4(providers);if(modeConfiguration.completionItems){providers.push(monaco_editor_core_exports18.languages.registerCompletionItemProvider(modeId,new SuggestAdapter(worker)))}if(modeConfiguration.signatureHelp){providers.push(monaco_editor_core_exports18.languages.registerSignatureHelpProvider(modeId,new SignatureHelpAdapter(worker)))}if(modeConfiguration.hovers){providers.push(monaco_editor_core_exports18.languages.registerHoverProvider(modeId,new QuickInfoAdapter(worker)))}if(modeConfiguration.documentHighlights){providers.push(monaco_editor_core_exports18.languages.registerDocumentHighlightProvider(modeId,new DocumentHighlightAdapter4(worker)))}if(modeConfiguration.definitions){providers.push(monaco_editor_core_exports18.languages.registerDefinitionProvider(modeId,new DefinitionAdapter4(libFiles,worker)))}if(modeConfiguration.references){providers.push(monaco_editor_core_exports18.languages.registerReferenceProvider(modeId,new ReferenceAdapter4(libFiles,worker)))}if(modeConfiguration.documentSymbols){providers.push(monaco_editor_core_exports18.languages.registerDocumentSymbolProvider(modeId,new OutlineAdapter(worker)))}if(modeConfiguration.rename){providers.push(monaco_editor_core_exports18.languages.registerRenameProvider(modeId,new RenameAdapter4(libFiles,worker)))}if(modeConfiguration.documentRangeFormattingEdits){providers.push(monaco_editor_core_exports18.languages.registerDocumentRangeFormattingEditProvider(modeId,new FormatAdapter(worker)))}if(modeConfiguration.onTypeFormattingEdits){providers.push(monaco_editor_core_exports18.languages.registerOnTypeFormattingEditProvider(modeId,new FormatOnTypeAdapter(worker)))}if(modeConfiguration.codeActions){providers.push(monaco_editor_core_exports18.languages.registerCodeActionProvider(modeId,new CodeActionAdaptor(worker)))}if(modeConfiguration.inlayHints){providers.push(monaco_editor_core_exports18.languages.registerInlayHintsProvider(modeId,new InlayHintsAdapter(worker)))}if(modeConfiguration.diagnostics){providers.push(new DiagnosticsAdapter4(libFiles,defaults,modeId,worker))}}registerProviders();disposables.push(asDisposable4(providers));return worker}function asDisposable4(disposables){return{dispose:()=>disposeAll4(disposables)}}function disposeAll4(disposables){while(disposables.length){disposables.pop().dispose()}}var __defProp19,__getOwnPropDesc19,__getOwnPropNames19,__hasOwnProp19,__defNormalProp2,__copyProps19,__reExport18,__publicField2,monaco_editor_core_exports18,WorkerManager5,libFileSet,Adapter,LibFiles,DiagnosticsAdapter4,SuggestAdapter,SignatureHelpAdapter,QuickInfoAdapter,DocumentHighlightAdapter4,DefinitionAdapter4,ReferenceAdapter4,OutlineAdapter,Kind,outlineTypeTable,FormatHelper,FormatAdapter,FormatOnTypeAdapter,CodeActionAdaptor,RenameAdapter4,InlayHintsAdapter,javaScriptWorker,typeScriptWorker;var init_tsMode=__esm({"node_modules/monaco-editor/esm/vs/language/typescript/tsMode.js"(){init_editor_api();init_monaco_contribution();__defProp19=Object.defineProperty;__getOwnPropDesc19=Object.getOwnPropertyDescriptor;__getOwnPropNames19=Object.getOwnPropertyNames;__hasOwnProp19=Object.prototype.hasOwnProperty;__defNormalProp2=(obj,key,value)=>key in obj?__defProp19(obj,key,{enumerable:true,configurable:true,writable:true,value:value}):obj[key]=value;__copyProps19=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames19(from))if(!__hasOwnProp19.call(to,key)&&key!==except)__defProp19(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc19(from,key))||desc.enumerable})}return to};__reExport18=(target,mod,secondTarget)=>(__copyProps19(target,mod,"default"),secondTarget&&__copyProps19(secondTarget,mod,"default"));__publicField2=(obj,key,value)=>{__defNormalProp2(obj,typeof key!=="symbol"?key+"":key,value);return value};monaco_editor_core_exports18={};__reExport18(monaco_editor_core_exports18,editor_api_exports);WorkerManager5=class{constructor(_modeId,_defaults){__publicField(this,"_configChangeListener");__publicField(this,"_updateExtraLibsToken");__publicField(this,"_extraLibsChangeListener");__publicField(this,"_worker");__publicField(this,"_client");this._modeId=_modeId;this._defaults=_defaults;this._worker=null;this._client=null;this._configChangeListener=this._defaults.onDidChange((()=>this._stopWorker()));this._updateExtraLibsToken=0;this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange((()=>this._updateExtraLibs()))}dispose(){this._configChangeListener.dispose();this._extraLibsChangeListener.dispose();this._stopWorker()}_stopWorker(){if(this._worker){this._worker.dispose();this._worker=null}this._client=null}async _updateExtraLibs(){if(!this._worker){return}const myToken=++this._updateExtraLibsToken;const proxy=await this._worker.getProxy();if(this._updateExtraLibsToken!==myToken){return}proxy.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){if(!this._client){this._client=(async()=>{this._worker=monaco_editor_core_exports18.editor.createWebWorker({moduleId:"vs/language/typescript/tsWorker",label:this._modeId,keepIdleModels:true,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}});if(this._defaults.getEagerModelSync()){return await this._worker.withSyncedResources(monaco_editor_core_exports18.editor.getModels().filter((model=>model.getLanguageId()===this._modeId)).map((model=>model.uri)))}return await this._worker.getProxy()})()}return this._client}async getLanguageServiceWorker(...resources){const client=await this._getClient();if(this._worker){await this._worker.withSyncedResources(resources)}return client}};libFileSet={};libFileSet["lib.d.ts"]=true;libFileSet["lib.decorators.d.ts"]=true;libFileSet["lib.decorators.legacy.d.ts"]=true;libFileSet["lib.dom.d.ts"]=true;libFileSet["lib.dom.iterable.d.ts"]=true;libFileSet["lib.es2015.collection.d.ts"]=true;libFileSet["lib.es2015.core.d.ts"]=true;libFileSet["lib.es2015.d.ts"]=true;libFileSet["lib.es2015.generator.d.ts"]=true;libFileSet["lib.es2015.iterable.d.ts"]=true;libFileSet["lib.es2015.promise.d.ts"]=true;libFileSet["lib.es2015.proxy.d.ts"]=true;libFileSet["lib.es2015.reflect.d.ts"]=true;libFileSet["lib.es2015.symbol.d.ts"]=true;libFileSet["lib.es2015.symbol.wellknown.d.ts"]=true;libFileSet["lib.es2016.array.include.d.ts"]=true;libFileSet["lib.es2016.d.ts"]=true;libFileSet["lib.es2016.full.d.ts"]=true;libFileSet["lib.es2017.d.ts"]=true;libFileSet["lib.es2017.full.d.ts"]=true;libFileSet["lib.es2017.intl.d.ts"]=true;libFileSet["lib.es2017.object.d.ts"]=true;libFileSet["lib.es2017.sharedmemory.d.ts"]=true;libFileSet["lib.es2017.string.d.ts"]=true;libFileSet["lib.es2017.typedarrays.d.ts"]=true;libFileSet["lib.es2018.asyncgenerator.d.ts"]=true;libFileSet["lib.es2018.asynciterable.d.ts"]=true;libFileSet["lib.es2018.d.ts"]=true;libFileSet["lib.es2018.full.d.ts"]=true;libFileSet["lib.es2018.intl.d.ts"]=true;libFileSet["lib.es2018.promise.d.ts"]=true;libFileSet["lib.es2018.regexp.d.ts"]=true;libFileSet["lib.es2019.array.d.ts"]=true;libFileSet["lib.es2019.d.ts"]=true;libFileSet["lib.es2019.full.d.ts"]=true;libFileSet["lib.es2019.intl.d.ts"]=true;libFileSet["lib.es2019.object.d.ts"]=true;libFileSet["lib.es2019.string.d.ts"]=true;libFileSet["lib.es2019.symbol.d.ts"]=true;libFileSet["lib.es2020.bigint.d.ts"]=true;libFileSet["lib.es2020.d.ts"]=true;libFileSet["lib.es2020.date.d.ts"]=true;libFileSet["lib.es2020.full.d.ts"]=true;libFileSet["lib.es2020.intl.d.ts"]=true;libFileSet["lib.es2020.number.d.ts"]=true;libFileSet["lib.es2020.promise.d.ts"]=true;libFileSet["lib.es2020.sharedmemory.d.ts"]=true;libFileSet["lib.es2020.string.d.ts"]=true;libFileSet["lib.es2020.symbol.wellknown.d.ts"]=true;libFileSet["lib.es2021.d.ts"]=true;libFileSet["lib.es2021.full.d.ts"]=true;libFileSet["lib.es2021.intl.d.ts"]=true;libFileSet["lib.es2021.promise.d.ts"]=true;libFileSet["lib.es2021.string.d.ts"]=true;libFileSet["lib.es2021.weakref.d.ts"]=true;libFileSet["lib.es2022.array.d.ts"]=true;libFileSet["lib.es2022.d.ts"]=true;libFileSet["lib.es2022.error.d.ts"]=true;libFileSet["lib.es2022.full.d.ts"]=true;libFileSet["lib.es2022.intl.d.ts"]=true;libFileSet["lib.es2022.object.d.ts"]=true;libFileSet["lib.es2022.regexp.d.ts"]=true;libFileSet["lib.es2022.sharedmemory.d.ts"]=true;libFileSet["lib.es2022.string.d.ts"]=true;libFileSet["lib.es2023.array.d.ts"]=true;libFileSet["lib.es2023.d.ts"]=true;libFileSet["lib.es2023.full.d.ts"]=true;libFileSet["lib.es5.d.ts"]=true;libFileSet["lib.es6.d.ts"]=true;libFileSet["lib.esnext.d.ts"]=true;libFileSet["lib.esnext.full.d.ts"]=true;libFileSet["lib.esnext.intl.d.ts"]=true;libFileSet["lib.scripthost.d.ts"]=true;libFileSet["lib.webworker.d.ts"]=true;libFileSet["lib.webworker.importscripts.d.ts"]=true;libFileSet["lib.webworker.iterable.d.ts"]=true;Adapter=class{constructor(_worker){this._worker=_worker}_textSpanToRange(model,span){let p1=model.getPositionAt(span.start);let p2=model.getPositionAt(span.start+span.length);let{lineNumber:startLineNumber,column:startColumn}=p1;let{lineNumber:endLineNumber,column:endColumn}=p2;return{startLineNumber:startLineNumber,startColumn:startColumn,endLineNumber:endLineNumber,endColumn:endColumn}}};LibFiles=class{constructor(_worker){__publicField(this,"_libFiles");__publicField(this,"_hasFetchedLibFiles");__publicField(this,"_fetchLibFilesPromise");this._worker=_worker;this._libFiles={};this._hasFetchedLibFiles=false;this._fetchLibFilesPromise=null}isLibFile(uri){if(!uri){return false}if(uri.path.indexOf("/lib.")===0){return!!libFileSet[uri.path.slice(1)]}return false}getOrCreateModel(fileName){const uri=monaco_editor_core_exports18.Uri.parse(fileName);const model=monaco_editor_core_exports18.editor.getModel(uri);if(model){return model}if(this.isLibFile(uri)&&this._hasFetchedLibFiles){return monaco_editor_core_exports18.editor.createModel(this._libFiles[uri.path.slice(1)],"typescript",uri)}const matchedLibFile=typescriptDefaults.getExtraLibs()[fileName];if(matchedLibFile){return monaco_editor_core_exports18.editor.createModel(matchedLibFile.content,"typescript",uri)}return null}_containsLibFile(uris){for(let uri of uris){if(this.isLibFile(uri)){return true}}return false}async fetchLibFilesIfNecessary(uris){if(!this._containsLibFile(uris)){return}await this._fetchLibFiles()}_fetchLibFiles(){if(!this._fetchLibFilesPromise){this._fetchLibFilesPromise=this._worker().then((w=>w.getLibFiles())).then((libFiles=>{this._hasFetchedLibFiles=true;this._libFiles=libFiles}))}return this._fetchLibFilesPromise}};DiagnosticsAdapter4=class extends Adapter{constructor(_libFiles,_defaults,_selector,worker){super(worker);__publicField(this,"_disposables",[]);__publicField(this,"_listener",Object.create(null));this._libFiles=_libFiles;this._defaults=_defaults;this._selector=_selector;const onModelAdd=model=>{if(model.getLanguageId()!==_selector){return}const maybeValidate=()=>{const{onlyVisible:onlyVisible}=this._defaults.getDiagnosticsOptions();if(onlyVisible){if(model.isAttachedToEditor()){this._doValidate(model)}}else{this._doValidate(model)}};let handle;const changeSubscription=model.onDidChangeContent((()=>{clearTimeout(handle);handle=window.setTimeout(maybeValidate,500)}));const visibleSubscription=model.onDidChangeAttached((()=>{const{onlyVisible:onlyVisible}=this._defaults.getDiagnosticsOptions();if(onlyVisible){if(model.isAttachedToEditor()){maybeValidate()}else{monaco_editor_core_exports18.editor.setModelMarkers(model,this._selector,[])}}}));this._listener[model.uri.toString()]={dispose(){changeSubscription.dispose();visibleSubscription.dispose();clearTimeout(handle)}};maybeValidate()};const onModelRemoved=model=>{monaco_editor_core_exports18.editor.setModelMarkers(model,this._selector,[]);const key=model.uri.toString();if(this._listener[key]){this._listener[key].dispose();delete this._listener[key]}};this._disposables.push(monaco_editor_core_exports18.editor.onDidCreateModel((model=>onModelAdd(model))));this._disposables.push(monaco_editor_core_exports18.editor.onWillDisposeModel(onModelRemoved));this._disposables.push(monaco_editor_core_exports18.editor.onDidChangeModelLanguage((event=>{onModelRemoved(event.model);onModelAdd(event.model)})));this._disposables.push({dispose(){for(const model of monaco_editor_core_exports18.editor.getModels()){onModelRemoved(model)}}});const recomputeDiagostics=()=>{for(const model of monaco_editor_core_exports18.editor.getModels()){onModelRemoved(model);onModelAdd(model)}};this._disposables.push(this._defaults.onDidChange(recomputeDiagostics));this._disposables.push(this._defaults.onDidExtraLibsChange(recomputeDiagostics));monaco_editor_core_exports18.editor.getModels().forEach((model=>onModelAdd(model)))}dispose(){this._disposables.forEach((d=>d&&d.dispose()));this._disposables=[]}async _doValidate(model){const worker=await this._worker(model.uri);if(model.isDisposed()){return}const promises=[];const{noSyntaxValidation:noSyntaxValidation,noSemanticValidation:noSemanticValidation,noSuggestionDiagnostics:noSuggestionDiagnostics}=this._defaults.getDiagnosticsOptions();if(!noSyntaxValidation){promises.push(worker.getSyntacticDiagnostics(model.uri.toString()))}if(!noSemanticValidation){promises.push(worker.getSemanticDiagnostics(model.uri.toString()))}if(!noSuggestionDiagnostics){promises.push(worker.getSuggestionDiagnostics(model.uri.toString()))}const allDiagnostics=await Promise.all(promises);if(!allDiagnostics||model.isDisposed()){return}const diagnostics=allDiagnostics.reduce(((p,c)=>c.concat(p)),[]).filter((d=>(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(d.code)===-1));const relatedUris=diagnostics.map((d=>d.relatedInformation||[])).reduce(((p,c)=>c.concat(p)),[]).map((relatedInformation=>relatedInformation.file?monaco_editor_core_exports18.Uri.parse(relatedInformation.file.fileName):null));await this._libFiles.fetchLibFilesIfNecessary(relatedUris);if(model.isDisposed()){return}monaco_editor_core_exports18.editor.setModelMarkers(model,this._selector,diagnostics.map((d=>this._convertDiagnostics(model,d))))}_convertDiagnostics(model,diag){const diagStart=diag.start||0;const diagLength=diag.length||1;const{lineNumber:startLineNumber,column:startColumn}=model.getPositionAt(diagStart);const{lineNumber:endLineNumber,column:endColumn}=model.getPositionAt(diagStart+diagLength);const tags=[];if(diag.reportsUnnecessary){tags.push(monaco_editor_core_exports18.MarkerTag.Unnecessary)}if(diag.reportsDeprecated){tags.push(monaco_editor_core_exports18.MarkerTag.Deprecated)}return{severity:this._tsDiagnosticCategoryToMarkerSeverity(diag.category),startLineNumber:startLineNumber,startColumn:startColumn,endLineNumber:endLineNumber,endColumn:endColumn,message:flattenDiagnosticMessageText(diag.messageText,"\n"),code:diag.code.toString(),tags:tags,relatedInformation:this._convertRelatedInformation(model,diag.relatedInformation)}}_convertRelatedInformation(model,relatedInformation){if(!relatedInformation){return[]}const result=[];relatedInformation.forEach((info=>{let relatedResource=model;if(info.file){relatedResource=this._libFiles.getOrCreateModel(info.file.fileName)}if(!relatedResource){return}const infoStart=info.start||0;const infoLength=info.length||1;const{lineNumber:startLineNumber,column:startColumn}=relatedResource.getPositionAt(infoStart);const{lineNumber:endLineNumber,column:endColumn}=relatedResource.getPositionAt(infoStart+infoLength);result.push({resource:relatedResource.uri,startLineNumber:startLineNumber,startColumn:startColumn,endLineNumber:endLineNumber,endColumn:endColumn,message:flattenDiagnosticMessageText(info.messageText,"\n")})}));return result}_tsDiagnosticCategoryToMarkerSeverity(category){switch(category){case 1:return monaco_editor_core_exports18.MarkerSeverity.Error;case 3:return monaco_editor_core_exports18.MarkerSeverity.Info;case 0:return monaco_editor_core_exports18.MarkerSeverity.Warning;case 2:return monaco_editor_core_exports18.MarkerSeverity.Hint}return monaco_editor_core_exports18.MarkerSeverity.Info}};SuggestAdapter=class extends Adapter{get triggerCharacters(){return["."]}async provideCompletionItems(model,position,_context,token){const wordInfo=model.getWordUntilPosition(position);const wordRange=new monaco_editor_core_exports18.Range(position.lineNumber,wordInfo.startColumn,position.lineNumber,wordInfo.endColumn);const resource=model.uri;const offset=model.getOffsetAt(position);const worker=await this._worker(resource);if(model.isDisposed()){return}const info=await worker.getCompletionsAtPosition(resource.toString(),offset);if(!info||model.isDisposed()){return}const suggestions=info.entries.map((entry=>{let range2=wordRange;if(entry.replacementSpan){const p1=model.getPositionAt(entry.replacementSpan.start);const p2=model.getPositionAt(entry.replacementSpan.start+entry.replacementSpan.length);range2=new monaco_editor_core_exports18.Range(p1.lineNumber,p1.column,p2.lineNumber,p2.column)}const tags=[];if(entry.kindModifiers!==void 0&&entry.kindModifiers.indexOf("deprecated")!==-1){tags.push(monaco_editor_core_exports18.languages.CompletionItemTag.Deprecated)}return{uri:resource,position:position,offset:offset,range:range2,label:entry.name,insertText:entry.name,sortText:entry.sortText,kind:SuggestAdapter.convertKind(entry.kind),tags:tags}}));return{suggestions:suggestions}}async resolveCompletionItem(item,token){const myItem=item;const resource=myItem.uri;const position=myItem.position;const offset=myItem.offset;const worker=await this._worker(resource);const details=await worker.getCompletionEntryDetails(resource.toString(),offset,myItem.label);if(!details){return myItem}return{uri:resource,position:position,label:details.name,kind:SuggestAdapter.convertKind(details.kind),detail:displayPartsToString(details.displayParts),documentation:{value:SuggestAdapter.createDocumentationString(details)}}}static convertKind(kind){switch(kind){case Kind.primitiveType:case Kind.keyword:return monaco_editor_core_exports18.languages.CompletionItemKind.Keyword;case Kind.variable:case Kind.localVariable:return monaco_editor_core_exports18.languages.CompletionItemKind.Variable;case Kind.memberVariable:case Kind.memberGetAccessor:case Kind.memberSetAccessor:return monaco_editor_core_exports18.languages.CompletionItemKind.Field;case Kind.function:case Kind.memberFunction:case Kind.constructSignature:case Kind.callSignature:case Kind.indexSignature:return monaco_editor_core_exports18.languages.CompletionItemKind.Function;case Kind.enum:return monaco_editor_core_exports18.languages.CompletionItemKind.Enum;case Kind.module:return monaco_editor_core_exports18.languages.CompletionItemKind.Module;case Kind.class:return monaco_editor_core_exports18.languages.CompletionItemKind.Class;case Kind.interface:return monaco_editor_core_exports18.languages.CompletionItemKind.Interface;case Kind.warning:return monaco_editor_core_exports18.languages.CompletionItemKind.File}return monaco_editor_core_exports18.languages.CompletionItemKind.Property}static createDocumentationString(details){let documentationString=displayPartsToString(details.documentation);if(details.tags){for(const tag of details.tags){documentationString+=`\n\n${tagToString(tag)}`}}return documentationString}};SignatureHelpAdapter=class extends Adapter{constructor(){super(...arguments);__publicField(this,"signatureHelpTriggerCharacters",["(",","])}static _toSignatureHelpTriggerReason(context){switch(context.triggerKind){case monaco_editor_core_exports18.languages.SignatureHelpTriggerKind.TriggerCharacter:if(context.triggerCharacter){if(context.isRetrigger){return{kind:"retrigger",triggerCharacter:context.triggerCharacter}}else{return{kind:"characterTyped",triggerCharacter:context.triggerCharacter}}}else{return{kind:"invoked"}}case monaco_editor_core_exports18.languages.SignatureHelpTriggerKind.ContentChange:return context.isRetrigger?{kind:"retrigger"}:{kind:"invoked"};case monaco_editor_core_exports18.languages.SignatureHelpTriggerKind.Invoke:default:return{kind:"invoked"}}}async provideSignatureHelp(model,position,token,context){const resource=model.uri;const offset=model.getOffsetAt(position);const worker=await this._worker(resource);if(model.isDisposed()){return}const info=await worker.getSignatureHelpItems(resource.toString(),offset,{triggerReason:SignatureHelpAdapter._toSignatureHelpTriggerReason(context)});if(!info||model.isDisposed()){return}const ret={activeSignature:info.selectedItemIndex,activeParameter:info.argumentIndex,signatures:[]};info.items.forEach((item=>{const signature={label:"",parameters:[]};signature.documentation={value:displayPartsToString(item.documentation)};signature.label+=displayPartsToString(item.prefixDisplayParts);item.parameters.forEach(((p,i,a)=>{const label=displayPartsToString(p.displayParts);const parameter={label:label,documentation:{value:displayPartsToString(p.documentation)}};signature.label+=label;signature.parameters.push(parameter);if(i<a.length-1){signature.label+=displayPartsToString(item.separatorDisplayParts)}}));signature.label+=displayPartsToString(item.suffixDisplayParts);ret.signatures.push(signature)}));return{value:ret,dispose(){}}}};QuickInfoAdapter=class extends Adapter{async provideHover(model,position,token){const resource=model.uri;const offset=model.getOffsetAt(position);const worker=await this._worker(resource);if(model.isDisposed()){return}const info=await worker.getQuickInfoAtPosition(resource.toString(),offset);if(!info||model.isDisposed()){return}const documentation=displayPartsToString(info.documentation);const tags=info.tags?info.tags.map((tag=>tagToString(tag))).join(" \n\n"):"";const contents=displayPartsToString(info.displayParts);return{range:this._textSpanToRange(model,info.textSpan),contents:[{value:"```typescript\n"+contents+"\n```\n"},{value:documentation+(tags?"\n\n"+tags:"")}]}}};DocumentHighlightAdapter4=class extends Adapter{async provideDocumentHighlights(model,position,token){const resource=model.uri;const offset=model.getOffsetAt(position);const worker=await this._worker(resource);if(model.isDisposed()){return}const entries2=await worker.getDocumentHighlights(resource.toString(),offset,[resource.toString()]);if(!entries2||model.isDisposed()){return}return entries2.flatMap((entry=>entry.highlightSpans.map((highlightSpans=>({range:this._textSpanToRange(model,highlightSpans.textSpan),kind:highlightSpans.kind==="writtenReference"?monaco_editor_core_exports18.languages.DocumentHighlightKind.Write:monaco_editor_core_exports18.languages.DocumentHighlightKind.Text})))))}};DefinitionAdapter4=class extends Adapter{constructor(_libFiles,worker){super(worker);this._libFiles=_libFiles}async provideDefinition(model,position,token){const resource=model.uri;const offset=model.getOffsetAt(position);const worker=await this._worker(resource);if(model.isDisposed()){return}const entries2=await worker.getDefinitionAtPosition(resource.toString(),offset);if(!entries2||model.isDisposed()){return}await this._libFiles.fetchLibFilesIfNecessary(entries2.map((entry=>monaco_editor_core_exports18.Uri.parse(entry.fileName))));if(model.isDisposed()){return}const result=[];for(let entry of entries2){const refModel=this._libFiles.getOrCreateModel(entry.fileName);if(refModel){result.push({uri:refModel.uri,range:this._textSpanToRange(refModel,entry.textSpan)})}}return result}};ReferenceAdapter4=class extends Adapter{constructor(_libFiles,worker){super(worker);this._libFiles=_libFiles}async provideReferences(model,position,context,token){const resource=model.uri;const offset=model.getOffsetAt(position);const worker=await this._worker(resource);if(model.isDisposed()){return}const entries2=await worker.getReferencesAtPosition(resource.toString(),offset);if(!entries2||model.isDisposed()){return}await this._libFiles.fetchLibFilesIfNecessary(entries2.map((entry=>monaco_editor_core_exports18.Uri.parse(entry.fileName))));if(model.isDisposed()){return}const result=[];for(let entry of entries2){const refModel=this._libFiles.getOrCreateModel(entry.fileName);if(refModel){result.push({uri:refModel.uri,range:this._textSpanToRange(refModel,entry.textSpan)})}}return result}};OutlineAdapter=class extends Adapter{async provideDocumentSymbols(model,token){const resource=model.uri;const worker=await this._worker(resource);if(model.isDisposed()){return}const root=await worker.getNavigationTree(resource.toString());if(!root||model.isDisposed()){return}const convert=(item,containerLabel)=>{var _a6;const result2={name:item.text,detail:"",kind:outlineTypeTable[item.kind]||monaco_editor_core_exports18.languages.SymbolKind.Variable,range:this._textSpanToRange(model,item.spans[0]),selectionRange:this._textSpanToRange(model,item.spans[0]),tags:[],children:(_a6=item.childItems)==null?void 0:_a6.map((child=>convert(child,item.text))),containerName:containerLabel};return result2};const result=root.childItems?root.childItems.map((item=>convert(item))):[];return result}};Kind=class{};__publicField2(Kind,"unknown","");__publicField2(Kind,"keyword","keyword");__publicField2(Kind,"script","script");__publicField2(Kind,"module","module");__publicField2(Kind,"class","class");__publicField2(Kind,"interface","interface");__publicField2(Kind,"type","type");__publicField2(Kind,"enum","enum");__publicField2(Kind,"variable","var");__publicField2(Kind,"localVariable","local var");__publicField2(Kind,"function","function");__publicField2(Kind,"localFunction","local function");__publicField2(Kind,"memberFunction","method");__publicField2(Kind,"memberGetAccessor","getter");__publicField2(Kind,"memberSetAccessor","setter");__publicField2(Kind,"memberVariable","property");__publicField2(Kind,"constructorImplementation","constructor");__publicField2(Kind,"callSignature","call");__publicField2(Kind,"indexSignature","index");__publicField2(Kind,"constructSignature","construct");__publicField2(Kind,"parameter","parameter");__publicField2(Kind,"typeParameter","type parameter");__publicField2(Kind,"primitiveType","primitive type");__publicField2(Kind,"label","label");__publicField2(Kind,"alias","alias");__publicField2(Kind,"const","const");__publicField2(Kind,"let","let");__publicField2(Kind,"warning","warning");outlineTypeTable=Object.create(null);outlineTypeTable[Kind.module]=monaco_editor_core_exports18.languages.SymbolKind.Module;outlineTypeTable[Kind.class]=monaco_editor_core_exports18.languages.SymbolKind.Class;outlineTypeTable[Kind.enum]=monaco_editor_core_exports18.languages.SymbolKind.Enum;outlineTypeTable[Kind.interface]=monaco_editor_core_exports18.languages.SymbolKind.Interface;outlineTypeTable[Kind.memberFunction]=monaco_editor_core_exports18.languages.SymbolKind.Method;outlineTypeTable[Kind.memberVariable]=monaco_editor_core_exports18.languages.SymbolKind.Property;outlineTypeTable[Kind.memberGetAccessor]=monaco_editor_core_exports18.languages.SymbolKind.Property;outlineTypeTable[Kind.memberSetAccessor]=monaco_editor_core_exports18.languages.SymbolKind.Property;outlineTypeTable[Kind.variable]=monaco_editor_core_exports18.languages.SymbolKind.Variable;outlineTypeTable[Kind.const]=monaco_editor_core_exports18.languages.SymbolKind.Variable;outlineTypeTable[Kind.localVariable]=monaco_editor_core_exports18.languages.SymbolKind.Variable;outlineTypeTable[Kind.variable]=monaco_editor_core_exports18.languages.SymbolKind.Variable;outlineTypeTable[Kind.function]=monaco_editor_core_exports18.languages.SymbolKind.Function;outlineTypeTable[Kind.localFunction]=monaco_editor_core_exports18.languages.SymbolKind.Function;FormatHelper=class extends Adapter{static _convertOptions(options2){return{ConvertTabsToSpaces:options2.insertSpaces,TabSize:options2.tabSize,IndentSize:options2.tabSize,IndentStyle:2,NewLineCharacter:"\n",InsertSpaceAfterCommaDelimiter:true,InsertSpaceAfterSemicolonInForStatements:true,InsertSpaceBeforeAndAfterBinaryOperators:true,InsertSpaceAfterKeywordsInControlFlowStatements:true,InsertSpaceAfterFunctionKeywordForAnonymousFunctions:true,InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:false,InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:false,InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:false,PlaceOpenBraceOnNewLineForControlBlocks:false,PlaceOpenBraceOnNewLineForFunctions:false}}_convertTextChanges(model,change){return{text:change.newText,range:this._textSpanToRange(model,change.span)}}};FormatAdapter=class extends FormatHelper{constructor(){super(...arguments);__publicField(this,"canFormatMultipleRanges",false)}async provideDocumentRangeFormattingEdits(model,range2,options2,token){const resource=model.uri;const startOffset=model.getOffsetAt({lineNumber:range2.startLineNumber,column:range2.startColumn});const endOffset=model.getOffsetAt({lineNumber:range2.endLineNumber,column:range2.endColumn});const worker=await this._worker(resource);if(model.isDisposed()){return}const edits=await worker.getFormattingEditsForRange(resource.toString(),startOffset,endOffset,FormatHelper._convertOptions(options2));if(!edits||model.isDisposed()){return}return edits.map((edit=>this._convertTextChanges(model,edit)))}};FormatOnTypeAdapter=class extends FormatHelper{get autoFormatTriggerCharacters(){return[";","}","\n"]}async provideOnTypeFormattingEdits(model,position,ch,options2,token){const resource=model.uri;const offset=model.getOffsetAt(position);const worker=await this._worker(resource);if(model.isDisposed()){return}const edits=await worker.getFormattingEditsAfterKeystroke(resource.toString(),offset,ch,FormatHelper._convertOptions(options2));if(!edits||model.isDisposed()){return}return edits.map((edit=>this._convertTextChanges(model,edit)))}};CodeActionAdaptor=class extends FormatHelper{async provideCodeActions(model,range2,context,token){const resource=model.uri;const start=model.getOffsetAt({lineNumber:range2.startLineNumber,column:range2.startColumn});const end=model.getOffsetAt({lineNumber:range2.endLineNumber,column:range2.endColumn});const formatOptions=FormatHelper._convertOptions(model.getOptions());const errorCodes=context.markers.filter((m=>m.code)).map((m=>m.code)).map(Number);const worker=await this._worker(resource);if(model.isDisposed()){return}const codeFixes=await worker.getCodeFixesAtPosition(resource.toString(),start,end,errorCodes,formatOptions);if(!codeFixes||model.isDisposed()){return{actions:[],dispose:()=>{}}}const actions=codeFixes.filter((fix=>fix.changes.filter((change=>change.isNewFile)).length===0)).map((fix=>this._tsCodeFixActionToMonacoCodeAction(model,context,fix)));return{actions:actions,dispose:()=>{}}}_tsCodeFixActionToMonacoCodeAction(model,context,codeFix){const edits=[];for(const change of codeFix.changes){for(const textChange of change.textChanges){edits.push({resource:model.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(model,textChange.span),text:textChange.newText}})}}const action={title:codeFix.description,edit:{edits:edits},diagnostics:context.markers,kind:"quickfix"};return action}};RenameAdapter4=class extends Adapter{constructor(_libFiles,worker){super(worker);this._libFiles=_libFiles}async provideRenameEdits(model,position,newName,token){const resource=model.uri;const fileName=resource.toString();const offset=model.getOffsetAt(position);const worker=await this._worker(resource);if(model.isDisposed()){return}const renameInfo=await worker.getRenameInfo(fileName,offset,{allowRenameOfImportPath:false});if(renameInfo.canRename===false){return{edits:[],rejectReason:renameInfo.localizedErrorMessage}}if(renameInfo.fileToRename!==void 0){throw new Error("Renaming files is not supported.")}const renameLocations=await worker.findRenameLocations(fileName,offset,false,false,false);if(!renameLocations||model.isDisposed()){return}const edits=[];for(const renameLocation of renameLocations){const model2=this._libFiles.getOrCreateModel(renameLocation.fileName);if(model2){edits.push({resource:model2.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(model2,renameLocation.textSpan),text:newName}})}else{throw new Error(`Unknown file ${renameLocation.fileName}.`)}}return{edits:edits}}};InlayHintsAdapter=class extends Adapter{async provideInlayHints(model,range2,token){const resource=model.uri;const fileName=resource.toString();const start=model.getOffsetAt({lineNumber:range2.startLineNumber,column:range2.startColumn});const end=model.getOffsetAt({lineNumber:range2.endLineNumber,column:range2.endColumn});const worker=await this._worker(resource);if(model.isDisposed()){return null}const tsHints=await worker.provideInlayHints(fileName,start,end);const hints=tsHints.map((hint=>({...hint,label:hint.text,position:model.getPositionAt(hint.position),kind:this._convertHintKind(hint.kind)})));return{hints:hints,dispose:()=>{}}}_convertHintKind(kind){switch(kind){case"Parameter":return monaco_editor_core_exports18.languages.InlayHintKind.Parameter;case"Type":return monaco_editor_core_exports18.languages.InlayHintKind.Type;default:return monaco_editor_core_exports18.languages.InlayHintKind.Type}}}}});function getMode4(){if(false){return new Promise(((resolve2,reject)=>{__require(["vs/language/typescript/tsMode"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_tsMode(),tsMode_exports)))}}var __defProp20,__getOwnPropDesc20,__getOwnPropNames20,__hasOwnProp20,__copyProps20,__reExport19,typescriptVersion,monaco_editor_core_exports19,ModuleKind,JsxEmit,NewLineKind,ScriptTarget,ModuleResolutionKind,LanguageServiceDefaultsImpl4,typescriptVersion2,modeConfigurationDefault3,typescriptDefaults,javascriptDefaults,getTypeScriptWorker2,getJavaScriptWorker2;var init_monaco_contribution=__esm({"node_modules/monaco-editor/esm/vs/language/typescript/monaco.contribution.js"(){init_editor_api();init_editor_api();__defProp20=Object.defineProperty;__getOwnPropDesc20=Object.getOwnPropertyDescriptor;__getOwnPropNames20=Object.getOwnPropertyNames;__hasOwnProp20=Object.prototype.hasOwnProperty;__copyProps20=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames20(from))if(!__hasOwnProp20.call(to,key)&&key!==except)__defProp20(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc20(from,key))||desc.enumerable})}return to};__reExport19=(target,mod,secondTarget)=>(__copyProps20(target,mod,"default"),secondTarget&&__copyProps20(secondTarget,mod,"default"));typescriptVersion="5.0.2";monaco_editor_core_exports19={};__reExport19(monaco_editor_core_exports19,editor_api_exports);ModuleKind=(ModuleKind2=>{ModuleKind2[ModuleKind2["None"]=0]="None";ModuleKind2[ModuleKind2["CommonJS"]=1]="CommonJS";ModuleKind2[ModuleKind2["AMD"]=2]="AMD";ModuleKind2[ModuleKind2["UMD"]=3]="UMD";ModuleKind2[ModuleKind2["System"]=4]="System";ModuleKind2[ModuleKind2["ES2015"]=5]="ES2015";ModuleKind2[ModuleKind2["ESNext"]=99]="ESNext";return ModuleKind2})(ModuleKind||{});JsxEmit=(JsxEmit2=>{JsxEmit2[JsxEmit2["None"]=0]="None";JsxEmit2[JsxEmit2["Preserve"]=1]="Preserve";JsxEmit2[JsxEmit2["React"]=2]="React";JsxEmit2[JsxEmit2["ReactNative"]=3]="ReactNative";JsxEmit2[JsxEmit2["ReactJSX"]=4]="ReactJSX";JsxEmit2[JsxEmit2["ReactJSXDev"]=5]="ReactJSXDev";return JsxEmit2})(JsxEmit||{});NewLineKind=(NewLineKind2=>{NewLineKind2[NewLineKind2["CarriageReturnLineFeed"]=0]="CarriageReturnLineFeed";NewLineKind2[NewLineKind2["LineFeed"]=1]="LineFeed";return NewLineKind2})(NewLineKind||{});ScriptTarget=(ScriptTarget2=>{ScriptTarget2[ScriptTarget2["ES3"]=0]="ES3";ScriptTarget2[ScriptTarget2["ES5"]=1]="ES5";ScriptTarget2[ScriptTarget2["ES2015"]=2]="ES2015";ScriptTarget2[ScriptTarget2["ES2016"]=3]="ES2016";ScriptTarget2[ScriptTarget2["ES2017"]=4]="ES2017";ScriptTarget2[ScriptTarget2["ES2018"]=5]="ES2018";ScriptTarget2[ScriptTarget2["ES2019"]=6]="ES2019";ScriptTarget2[ScriptTarget2["ES2020"]=7]="ES2020";ScriptTarget2[ScriptTarget2["ESNext"]=99]="ESNext";ScriptTarget2[ScriptTarget2["JSON"]=100]="JSON";ScriptTarget2[ScriptTarget2["Latest"]=99]="Latest";return ScriptTarget2})(ScriptTarget||{});ModuleResolutionKind=(ModuleResolutionKind2=>{ModuleResolutionKind2[ModuleResolutionKind2["Classic"]=1]="Classic";ModuleResolutionKind2[ModuleResolutionKind2["NodeJs"]=2]="NodeJs";return ModuleResolutionKind2})(ModuleResolutionKind||{});LanguageServiceDefaultsImpl4=class{constructor(compilerOptions,diagnosticsOptions,workerOptions,inlayHintsOptions,modeConfiguration){__publicField(this,"_onDidChange",new monaco_editor_core_exports19.Emitter);__publicField(this,"_onDidExtraLibsChange",new monaco_editor_core_exports19.Emitter);__publicField(this,"_extraLibs");__publicField(this,"_removedExtraLibs");__publicField(this,"_eagerModelSync");__publicField(this,"_compilerOptions");__publicField(this,"_diagnosticsOptions");__publicField(this,"_workerOptions");__publicField(this,"_onDidExtraLibsChangeTimeout");__publicField(this,"_inlayHintsOptions");__publicField(this,"_modeConfiguration");this._extraLibs=Object.create(null);this._removedExtraLibs=Object.create(null);this._eagerModelSync=false;this.setCompilerOptions(compilerOptions);this.setDiagnosticsOptions(diagnosticsOptions);this.setWorkerOptions(workerOptions);this.setInlayHintsOptions(inlayHintsOptions);this.setModeConfiguration(modeConfiguration);this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(content,_filePath){let filePath;if(typeof _filePath==="undefined"){filePath=`ts:extralib-${Math.random().toString(36).substring(2,15)}`}else{filePath=_filePath}if(this._extraLibs[filePath]&&this._extraLibs[filePath].content===content){return{dispose:()=>{}}}let myVersion=1;if(this._removedExtraLibs[filePath]){myVersion=this._removedExtraLibs[filePath]+1}if(this._extraLibs[filePath]){myVersion=this._extraLibs[filePath].version+1}this._extraLibs[filePath]={content:content,version:myVersion};this._fireOnDidExtraLibsChangeSoon();return{dispose:()=>{let extraLib=this._extraLibs[filePath];if(!extraLib){return}if(extraLib.version!==myVersion){return}delete this._extraLibs[filePath];this._removedExtraLibs[filePath]=myVersion;this._fireOnDidExtraLibsChangeSoon()}}}setExtraLibs(libs){for(const filePath in this._extraLibs){this._removedExtraLibs[filePath]=this._extraLibs[filePath].version}this._extraLibs=Object.create(null);if(libs&&libs.length>0){for(const lib of libs){const filePath=lib.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`;const content=lib.content;let myVersion=1;if(this._removedExtraLibs[filePath]){myVersion=this._removedExtraLibs[filePath]+1}this._extraLibs[filePath]={content:content,version:myVersion}}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){if(this._onDidExtraLibsChangeTimeout!==-1){return}this._onDidExtraLibsChangeTimeout=window.setTimeout((()=>{this._onDidExtraLibsChangeTimeout=-1;this._onDidExtraLibsChange.fire(void 0)}),0)}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(options2){this._compilerOptions=options2||Object.create(null);this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(options2){this._diagnosticsOptions=options2||Object.create(null);this._onDidChange.fire(void 0)}setWorkerOptions(options2){this._workerOptions=options2||Object.create(null);this._onDidChange.fire(void 0)}setInlayHintsOptions(options2){this._inlayHintsOptions=options2||Object.create(null);this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(value){}setEagerModelSync(value){this._eagerModelSync=value}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(modeConfiguration){this._modeConfiguration=modeConfiguration||Object.create(null);this._onDidChange.fire(void 0)}};typescriptVersion2=typescriptVersion;modeConfigurationDefault3={completionItems:true,hovers:true,documentSymbols:true,definitions:true,references:true,documentHighlights:true,rename:true,diagnostics:true,documentRangeFormattingEdits:true,signatureHelp:true,onTypeFormattingEdits:true,codeActions:true,inlayHints:true};typescriptDefaults=new LanguageServiceDefaultsImpl4({allowNonTsExtensions:true,target:99},{noSemanticValidation:false,noSyntaxValidation:false,onlyVisible:false},{},{},modeConfigurationDefault3);javascriptDefaults=new LanguageServiceDefaultsImpl4({allowNonTsExtensions:true,allowJs:true,target:99},{noSemanticValidation:true,noSyntaxValidation:false,onlyVisible:false},{},{},modeConfigurationDefault3);getTypeScriptWorker2=()=>getMode4().then((mode=>mode.getTypeScriptWorker()));getJavaScriptWorker2=()=>getMode4().then((mode=>mode.getJavaScriptWorker()));monaco_editor_core_exports19.languages.typescript={ModuleKind:ModuleKind,JsxEmit:JsxEmit,NewLineKind:NewLineKind,ScriptTarget:ScriptTarget,ModuleResolutionKind:ModuleResolutionKind,typescriptVersion:typescriptVersion2,typescriptDefaults:typescriptDefaults,javascriptDefaults:javascriptDefaults,getTypeScriptWorker:getTypeScriptWorker2,getJavaScriptWorker:getJavaScriptWorker2};monaco_editor_core_exports19.languages.onLanguage("typescript",(()=>getMode4().then((mode=>mode.setupTypeScript(typescriptDefaults)))));monaco_editor_core_exports19.languages.onLanguage("javascript",(()=>getMode4().then((mode=>mode.setupJavaScript(javascriptDefaults)))))}});var require_formatActions=__commonJS({"node_modules/monaco-editor/esm/vs/editor/contrib/format/browser/formatActions.js"(exports2){init_arrays();init_cancellation();init_errors();init_keyCodes();init_lifecycle();init_editorExtensions();init_codeEditorService();init_characterClassifier();init_range();init_editorContextKeys();init_editorWorker();init_languageFeatures();init_format();init_formattingEdit();init_nls();init_commands();init_contextkey();init_instantiation();init_progress();var __decorate139=exports2&&exports2.__decorate||function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param132=exports2&&exports2.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter102=exports2&&exports2.__awaiter||function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var FormatOnType=class FormatOnType{constructor(_editor,_languageFeaturesService,_workerService){this._editor=_editor;this._languageFeaturesService=_languageFeaturesService;this._workerService=_workerService;this._disposables=new DisposableStore;this._sessionDisposables=new DisposableStore;this._disposables.add(_languageFeaturesService.onTypeFormattingEditProvider.onDidChange(this._update,this));this._disposables.add(_editor.onDidChangeModel((()=>this._update())));this._disposables.add(_editor.onDidChangeModelLanguage((()=>this._update())));this._disposables.add(_editor.onDidChangeConfiguration((e=>{if(e.hasChanged(55)){this._update()}})));this._update()}dispose(){this._disposables.dispose();this._sessionDisposables.dispose()}_update(){this._sessionDisposables.clear();if(!this._editor.getOption(55)){return}if(!this._editor.hasModel()){return}const model=this._editor.getModel();const[support]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(model);if(!support||!support.autoFormatTriggerCharacters){return}const triggerChars=new CharacterSet;for(const ch of support.autoFormatTriggerCharacters){triggerChars.add(ch.charCodeAt(0))}this._sessionDisposables.add(this._editor.onDidType((text2=>{const lastCharCode=text2.charCodeAt(text2.length-1);if(triggerChars.has(lastCharCode)){this._trigger(String.fromCharCode(lastCharCode))}})))}_trigger(ch){if(!this._editor.hasModel()){return}if(this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty()){return}const model=this._editor.getModel();const position=this._editor.getPosition();const cts=new CancellationTokenSource;const unbind=this._editor.onDidChangeModelContent((e=>{if(e.isFlush){cts.cancel();unbind.dispose();return}for(let i=0,len=e.changes.length;i<len;i++){const change=e.changes[i];if(change.range.endLineNumber<=position.lineNumber){cts.cancel();unbind.dispose();return}}}));getOnTypeFormattingEdits(this._workerService,this._languageFeaturesService,model,position,ch,model.getFormattingOptions(),cts.token).then((edits=>{if(cts.token.isCancellationRequested){return}if(isNonEmptyArray(edits)){FormattingEdit.execute(this._editor,edits,true);alertFormattingEdits(edits)}})).finally((()=>{unbind.dispose()}))}};FormatOnType.ID="editor.contrib.autoFormat";FormatOnType=__decorate139([__param132(1,ILanguageFeaturesService),__param132(2,IEditorWorkerService)],FormatOnType);var FormatOnPaste=class FormatOnPaste{constructor(editor2,_languageFeaturesService,_instantiationService){this.editor=editor2;this._languageFeaturesService=_languageFeaturesService;this._instantiationService=_instantiationService;this._callOnDispose=new DisposableStore;this._callOnModel=new DisposableStore;this._callOnDispose.add(editor2.onDidChangeConfiguration((()=>this._update())));this._callOnDispose.add(editor2.onDidChangeModel((()=>this._update())));this._callOnDispose.add(editor2.onDidChangeModelLanguage((()=>this._update())));this._callOnDispose.add(_languageFeaturesService.documentRangeFormattingEditProvider.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose();this._callOnModel.dispose()}_update(){this._callOnModel.clear();if(!this.editor.getOption(54)){return}if(!this.editor.hasModel()){return}if(!this._languageFeaturesService.documentRangeFormattingEditProvider.has(this.editor.getModel())){return}this._callOnModel.add(this.editor.onDidPaste((({range:range2})=>this._trigger(range2))))}_trigger(range2){if(!this.editor.hasModel()){return}if(this.editor.getSelections().length>1){return}this._instantiationService.invokeFunction(formatDocumentRangesWithSelectedProvider,this.editor,range2,2,Progress.None,CancellationToken.None).catch(onUnexpectedError)}};FormatOnPaste.ID="editor.contrib.formatOnPaste";FormatOnPaste=__decorate139([__param132(1,ILanguageFeaturesService),__param132(2,IInstantiationService)],FormatOnPaste);var FormatDocumentAction=class extends EditorAction{constructor(){super({id:"editor.action.formatDocument",label:localize("formatDocument.label","Format Document"),alias:"Format Document",precondition:ContextKeyExpr.and(EditorContextKeys.notInCompositeEditor,EditorContextKeys.writable,EditorContextKeys.hasDocumentFormattingProvider),kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:1024|512|36,linux:{primary:2048|1024|39},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}run(accessor,editor2){return __awaiter102(this,void 0,void 0,(function*(){if(editor2.hasModel()){const instaService=accessor.get(IInstantiationService);const progressService=accessor.get(IEditorProgressService);yield progressService.showWhile(instaService.invokeFunction(formatDocumentWithSelectedProvider,editor2,1,Progress.None,CancellationToken.None),250)}}))}};var FormatSelectionAction=class extends EditorAction{constructor(){super({id:"editor.action.formatSelection",label:localize("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:ContextKeyExpr.and(EditorContextKeys.writable,EditorContextKeys.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2048|41,2048|36),weight:100},contextMenuOpts:{when:EditorContextKeys.hasNonEmptySelection,group:"1_modification",order:1.31}})}run(accessor,editor2){return __awaiter102(this,void 0,void 0,(function*(){if(!editor2.hasModel()){return}const instaService=accessor.get(IInstantiationService);const model=editor2.getModel();const ranges=editor2.getSelections().map((range2=>range2.isEmpty()?new Range(range2.startLineNumber,1,range2.startLineNumber,model.getLineMaxColumn(range2.startLineNumber)):range2));const progressService=accessor.get(IEditorProgressService);yield progressService.showWhile(instaService.invokeFunction(formatDocumentRangesWithSelectedProvider,editor2,ranges,1,Progress.None,CancellationToken.None),250)}))}};registerEditorContribution(FormatOnType.ID,FormatOnType,2);registerEditorContribution(FormatOnPaste.ID,FormatOnPaste,2);registerEditorAction(FormatDocumentAction);registerEditorAction(FormatSelectionAction);CommandsRegistry.registerCommand("editor.action.format",(accessor=>__awaiter102(void 0,void 0,void 0,(function*(){const editor2=accessor.get(ICodeEditorService).getFocusedCodeEditor();if(!editor2||!editor2.hasModel()){return}const commandService=accessor.get(ICommandService);if(editor2.getSelection().isEmpty()){yield commandService.executeCommand("editor.action.formatDocument")}else{yield commandService.executeCommand("editor.action.formatSelection")}}))))}});var __decorate91,__param84,__awaiter68,TreeElement2,OutlineElement2,OutlineGroup2,OutlineModel2,IOutlineModelService,OutlineModelService;var init_outlineModel2=__esm({"node_modules/monaco-editor/esm/vs/editor/contrib/documentSymbols/browser/outlineModel.js"(){init_arrays();init_cancellation();init_errors();init_iterator();init_map();init_position();init_range();init_languageFeatureDebounce();init_instantiation();init_extensions();init_model2();init_lifecycle();init_languageFeatures();__decorate91=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};__param84=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};__awaiter68=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};TreeElement2=class{remove(){var _a6;(_a6=this.parent)===null||_a6===void 0?void 0:_a6.children.delete(this.id)}static findId(candidate,container){let candidateId;if(typeof candidate==="string"){candidateId=`${container.id}/${candidate}`}else{candidateId=`${container.id}/${candidate.name}`;if(container.children.get(candidateId)!==void 0){candidateId=`${container.id}/${candidate.name}_${candidate.range.startLineNumber}_${candidate.range.startColumn}`}}let id=candidateId;for(let i=0;container.children.get(id)!==void 0;i++){id=`${candidateId}_${i}`}return id}static empty(element){return element.children.size===0}};OutlineElement2=class extends TreeElement2{constructor(id,parent,symbol){super();this.id=id;this.parent=parent;this.symbol=symbol;this.children=new Map}};OutlineGroup2=class extends TreeElement2{constructor(id,parent,label,order){super();this.id=id;this.parent=parent;this.label=label;this.order=order;this.children=new Map}};OutlineModel2=class extends TreeElement2{static create(registry,textModel,token){const cts=new CancellationTokenSource(token);const result=new OutlineModel2(textModel.uri);const provider=registry.ordered(textModel);const promises=provider.map(((provider2,index)=>{var _a6;const id=TreeElement2.findId(`provider_${index}`,result);const group3=new OutlineGroup2(id,result,(_a6=provider2.displayName)!==null&&_a6!==void 0?_a6:"Unknown Outline Provider",index);return Promise.resolve(provider2.provideDocumentSymbols(textModel,cts.token)).then((result2=>{for(const info of result2||[]){OutlineModel2._makeOutlineElement(info,group3)}return group3}),(err=>{onUnexpectedExternalError(err);return group3})).then((group4=>{if(!TreeElement2.empty(group4)){result._groups.set(id,group4)}else{group4.remove()}}))}));const listener=registry.onDidChange((()=>{const newProvider=registry.ordered(textModel);if(!equals(newProvider,provider)){cts.cancel()}}));return Promise.all(promises).then((()=>{if(cts.token.isCancellationRequested&&!token.isCancellationRequested){return OutlineModel2.create(registry,textModel,token)}else{return result._compact()}})).finally((()=>{listener.dispose()}))}static _makeOutlineElement(info,container){const id=TreeElement2.findId(info,container);const res=new OutlineElement2(id,container,info);if(info.children){for(const childInfo of info.children){OutlineModel2._makeOutlineElement(childInfo,res)}}container.children.set(res.id,res)}constructor(uri){super();this.uri=uri;this.id="root";this.parent=void 0;this._groups=new Map;this.children=new Map;this.id="root";this.parent=void 0}_compact(){let count=0;for(const[key,group3]of this._groups){if(group3.children.size===0){this._groups.delete(key)}else{count+=1}}if(count!==1){this.children=this._groups}else{const group3=Iterable.first(this._groups.values());for(const[,child]of group3.children){child.parent=this;this.children.set(child.id,child)}}return this}getTopLevelSymbols(){const roots=[];for(const child of this.children.values()){if(child instanceof OutlineElement2){roots.push(child.symbol)}else{roots.push(...Iterable.map(child.children.values(),(child2=>child2.symbol)))}}return roots.sort(((a,b)=>Range.compareRangesUsingStarts(a.range,b.range)))}asListOfDocumentSymbols(){const roots=this.getTopLevelSymbols();const bucket=[];OutlineModel2._flattenDocumentSymbols(bucket,roots,"");return bucket.sort(((a,b)=>Position.compare(Range.getStartPosition(a.range),Range.getStartPosition(b.range))||Position.compare(Range.getEndPosition(b.range),Range.getEndPosition(a.range))))}static _flattenDocumentSymbols(bucket,entries2,overrideContainerLabel){for(const entry of entries2){bucket.push({kind:entry.kind,tags:entry.tags,name:entry.name,detail:entry.detail,containerName:entry.containerName||overrideContainerLabel,range:entry.range,selectionRange:entry.selectionRange,children:void 0});if(entry.children){OutlineModel2._flattenDocumentSymbols(bucket,entry.children,entry.name)}}}};IOutlineModelService=createDecorator("IOutlineModelService");OutlineModelService=class OutlineModelService2{constructor(_languageFeaturesService,debounces,modelService){this._languageFeaturesService=_languageFeaturesService;this._disposables=new DisposableStore;this._cache=new LRUCache(10,.7);this._debounceInformation=debounces.for(_languageFeaturesService.documentSymbolProvider,"DocumentSymbols",{min:350});this._disposables.add(modelService.onModelRemoved((textModel=>{this._cache.delete(textModel.id)})))}dispose(){this._disposables.dispose()}getOrCreate(textModel,token){return __awaiter68(this,void 0,void 0,(function*(){const registry=this._languageFeaturesService.documentSymbolProvider;const provider=registry.ordered(textModel);let data=this._cache.get(textModel.id);if(!data||data.versionId!==textModel.getVersionId()||!equals(data.provider,provider)){const source=new CancellationTokenSource;data={versionId:textModel.getVersionId(),provider:provider,promiseCnt:0,source:source,promise:OutlineModel2.create(registry,textModel,source.token),model:void 0};this._cache.set(textModel.id,data);const now=Date.now();data.promise.then((outlineModel=>{data.model=outlineModel;this._debounceInformation.update(textModel,Date.now()-now)})).catch((_err=>{this._cache.delete(textModel.id)}))}if(data.model){return data.model}data.promiseCnt+=1;const listener=token.onCancellationRequested((()=>{if(--data.promiseCnt===0){data.source.cancel();this._cache.delete(textModel.id)}}));try{return yield data.promise}finally{listener.dispose()}}))}};OutlineModelService=__decorate91([__param84(0,ILanguageFeaturesService),__param84(1,ILanguageFeatureDebounceService),__param84(2,IModelService)],OutlineModelService);registerSingleton(IOutlineModelService,OutlineModelService,1)}});var require_documentSymbols=__commonJS({"node_modules/monaco-editor/esm/vs/editor/contrib/documentSymbols/browser/documentSymbols.js"(exports2){init_cancellation();init_types();init_uri();init_resolverService();init_outlineModel2();init_commands();var __awaiter102=exports2&&exports2.__awaiter||function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};CommandsRegistry.registerCommand("_executeDocumentSymbolProvider",(function(accessor,...args){return __awaiter102(this,void 0,void 0,(function*(){const[resource]=args;assertType(URI.isUri(resource));const outlineService=accessor.get(IOutlineModelService);const modelService=accessor.get(ITextModelService);const reference=yield modelService.createModelReference(resource);try{return(yield outlineService.getOrCreate(reference.object.textEditorModel,CancellationToken.None)).getTopLevelSymbols()}finally{reference.dispose()}}))}))}});var InPlaceReplaceCommand;var init_inPlaceReplaceCommand=__esm({"node_modules/monaco-editor/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplaceCommand.js"(){init_selection();InPlaceReplaceCommand=class{constructor(editRange,originalSelection,text2){this._editRange=editRange;this._originalSelection=originalSelection;this._text=text2}getEditOperations(model,builder){builder.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(model,helper){const inverseEditOperations=helper.getInverseEditOperations();const srcRange=inverseEditOperations[0].range;if(!this._originalSelection.isEmpty()){return new Selection(srcRange.endLineNumber,srcRange.endColumn-this._text.length,srcRange.endLineNumber,srcRange.endColumn)}return new Selection(srcRange.endLineNumber,Math.min(this._originalSelection.positionColumn,srcRange.endColumn),srcRange.endLineNumber,Math.min(this._originalSelection.positionColumn,srcRange.endColumn))}}}});var init_48=__esm({"node_modules/monaco-editor/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.css"(){}});var require_inPlaceReplace=__commonJS({"node_modules/monaco-editor/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js"(exports2){init_async();init_errors();init_editorState();init_editorExtensions();init_range();init_selection();init_editorContextKeys();init_textModel();init_editorWorker();init_nls();init_inPlaceReplaceCommand();init_48();var __decorate139=exports2&&exports2.__decorate||function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param132=exports2&&exports2.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var InPlaceReplaceController_1;var InPlaceReplaceController=InPlaceReplaceController_1=class InPlaceReplaceController{static get(editor2){return editor2.getContribution(InPlaceReplaceController_1.ID)}constructor(editor2,editorWorkerService){this.editor=editor2;this.editorWorkerService=editorWorkerService;this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(source,up){var _a6;(_a6=this.currentRequest)===null||_a6===void 0?void 0:_a6.cancel();const editorSelection=this.editor.getSelection();const model=this.editor.getModel();if(!model||!editorSelection){return void 0}let selection=editorSelection;if(selection.startLineNumber!==selection.endLineNumber){return void 0}const state=new EditorState(this.editor,1|4);const modelURI=model.uri;if(!this.editorWorkerService.canNavigateValueSet(modelURI)){return Promise.resolve(void 0)}this.currentRequest=createCancelablePromise((token=>this.editorWorkerService.navigateValueSet(modelURI,selection,up)));return this.currentRequest.then((result=>{var _a7;if(!result||!result.range||!result.value){return}if(!state.validate(this.editor)){return}const editRange=Range.lift(result.range);let highlightRange=result.range;const diff=result.value.length-(selection.endColumn-selection.startColumn);highlightRange={startLineNumber:highlightRange.startLineNumber,startColumn:highlightRange.startColumn,endLineNumber:highlightRange.endLineNumber,endColumn:highlightRange.startColumn+result.value.length};if(diff>1){selection=new Selection(selection.startLineNumber,selection.startColumn,selection.endLineNumber,selection.endColumn+diff-1)}const command=new InPlaceReplaceCommand(editRange,selection,result.value);this.editor.pushUndoStop();this.editor.executeCommand(source,command);this.editor.pushUndoStop();this.decorations.set([{range:highlightRange,options:InPlaceReplaceController_1.DECORATION}]);(_a7=this.decorationRemover)===null||_a7===void 0?void 0:_a7.cancel();this.decorationRemover=timeout(350);this.decorationRemover.then((()=>this.decorations.clear())).catch(onUnexpectedError)})).catch(onUnexpectedError)}};InPlaceReplaceController.ID="editor.contrib.inPlaceReplaceController";InPlaceReplaceController.DECORATION=ModelDecorationOptions.register({description:"in-place-replace",className:"valueSetReplacement"});InPlaceReplaceController=InPlaceReplaceController_1=__decorate139([__param132(1,IEditorWorkerService)],InPlaceReplaceController);var InPlaceReplaceUp=class extends EditorAction{constructor(){super({id:"editor.action.inPlaceReplace.up",label:localize("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2048|1024|87,weight:100}})}run(accessor,editor2){const controller=InPlaceReplaceController.get(editor2);if(!controller){return Promise.resolve(void 0)}return controller.run(this.id,false)}};var InPlaceReplaceDown=class extends EditorAction{constructor(){super({id:"editor.action.inPlaceReplace.down",label:localize("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2048|1024|89,weight:100}})}run(accessor,editor2){const controller=InPlaceReplaceController.get(editor2);if(!controller){return Promise.resolve(void 0)}return controller.run(this.id,true)}};registerEditorContribution(InPlaceReplaceController.ID,InPlaceReplaceController,4);registerEditorAction(InPlaceReplaceUp);registerEditorAction(InPlaceReplaceDown)}});var init_49=__esm({"node_modules/monaco-editor/esm/vs/editor/standalone/browser/inspectTokens/inspectTokens.css"(){}});var require_inspectTokens=__commonJS({"node_modules/monaco-editor/esm/vs/editor/standalone/browser/inspectTokens/inspectTokens.js"(exports2){init_49();init_dom();init_color();init_lifecycle();init_editorExtensions();init_languages();init_encodedTokenAttributes();init_nullTokenize();init_language();init_standaloneTheme();init_standaloneStrings();var __decorate139=exports2&&exports2.__decorate||function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param132=exports2&&exports2.__param||function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var InspectTokensController_1;var InspectTokensController=InspectTokensController_1=class InspectTokensController extends Disposable{static get(editor2){return editor2.getContribution(InspectTokensController_1.ID)}constructor(editor2,standaloneColorService,languageService){super();this._editor=editor2;this._languageService=languageService;this._widget=null;this._register(this._editor.onDidChangeModel((e=>this.stop())));this._register(this._editor.onDidChangeModelLanguage((e=>this.stop())));this._register(TokenizationRegistry2.onDidChange((e=>this.stop())));this._register(this._editor.onKeyUp((e=>e.keyCode===9&&this.stop())))}dispose(){this.stop();super.dispose()}launch(){if(this._widget){return}if(!this._editor.hasModel()){return}this._widget=new InspectTokensWidget(this._editor,this._languageService)}stop(){if(this._widget){this._widget.dispose();this._widget=null}}};InspectTokensController.ID="editor.contrib.inspectTokens";InspectTokensController=InspectTokensController_1=__decorate139([__param132(1,IStandaloneThemeService),__param132(2,ILanguageService)],InspectTokensController);var InspectTokens=class extends EditorAction{constructor(){super({id:"editor.action.inspectTokens",label:InspectTokensNLS.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(accessor,editor2){const controller=InspectTokensController.get(editor2);controller===null||controller===void 0?void 0:controller.launch()}};function renderTokenText(tokenText){let result="";for(let charIndex=0,len=tokenText.length;charIndex<len;charIndex++){const charCode=tokenText.charCodeAt(charIndex);switch(charCode){case 9:result+="→";break;case 32:result+="·";break;default:result+=String.fromCharCode(charCode)}}return result}function getSafeTokenizationSupport2(languageIdCodec,languageId){const tokenizationSupport=TokenizationRegistry2.get(languageId);if(tokenizationSupport){return tokenizationSupport}const encodedLanguageId=languageIdCodec.encodeLanguageId(languageId);return{getInitialState:()=>NullState,tokenize:(line,hasEOL,state)=>nullTokenize(languageId,state),tokenizeEncoded:(line,hasEOL,state)=>nullTokenizeEncoded(encodedLanguageId,state)}}var InspectTokensWidget=class extends Disposable{constructor(editor2,languageService){super();this.allowEditorOverflow=true;this._editor=editor2;this._languageService=languageService;this._model=this._editor.getModel();this._domNode=document.createElement("div");this._domNode.className="tokens-inspect-widget";this._tokenizationSupport=getSafeTokenizationSupport2(this._languageService.languageIdCodec,this._model.getLanguageId());this._compute(this._editor.getPosition());this._register(this._editor.onDidChangeCursorPosition((e=>this._compute(this._editor.getPosition()))));this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this);super.dispose()}getId(){return InspectTokensWidget._ID}_compute(position){const data=this._getTokensAtLine(position.lineNumber);let token1Index=0;for(let i=data.tokens1.length-1;i>=0;i--){const t2=data.tokens1[i];if(position.column-1>=t2.offset){token1Index=i;break}}let token2Index=0;for(let i=data.tokens2.length>>>1;i>=0;i--){if(position.column-1>=data.tokens2[i<<1]){token2Index=i;break}}const lineContent=this._model.getLineContent(position.lineNumber);let tokenText="";if(token1Index<data.tokens1.length){const tokenStartIndex=data.tokens1[token1Index].offset;const tokenEndIndex=token1Index+1<data.tokens1.length?data.tokens1[token1Index+1].offset:lineContent.length;tokenText=lineContent.substring(tokenStartIndex,tokenEndIndex)}reset(this._domNode,$("h2.tm-token",void 0,renderTokenText(tokenText),$("span.tm-token-length",void 0,`${tokenText.length} ${tokenText.length===1?"char":"chars"}`)));append(this._domNode,$("hr.tokens-inspect-separator",{style:"clear:both"}));const metadata=(token2Index<<1)+1<data.tokens2.length?this._decodeMetadata(data.tokens2[(token2Index<<1)+1]):null;append(this._domNode,$("table.tm-metadata-table",void 0,$("tbody",void 0,$("tr",void 0,$("td.tm-metadata-key",void 0,"language"),$("td.tm-metadata-value",void 0,`${metadata?metadata.languageId:"-?-"}`)),$("tr",void 0,$("td.tm-metadata-key",void 0,"token type"),$("td.tm-metadata-value",void 0,`${metadata?this._tokenTypeToString(metadata.tokenType):"-?-"}`)),$("tr",void 0,$("td.tm-metadata-key",void 0,"font style"),$("td.tm-metadata-value",void 0,`${metadata?this._fontStyleToString(metadata.fontStyle):"-?-"}`)),$("tr",void 0,$("td.tm-metadata-key",void 0,"foreground"),$("td.tm-metadata-value",void 0,`${metadata?Color.Format.CSS.formatHex(metadata.foreground):"-?-"}`)),$("tr",void 0,$("td.tm-metadata-key",void 0,"background"),$("td.tm-metadata-value",void 0,`${metadata?Color.Format.CSS.formatHex(metadata.background):"-?-"}`)))));append(this._domNode,$("hr.tokens-inspect-separator"));if(token1Index<data.tokens1.length){append(this._domNode,$("span.tm-token-type",void 0,data.tokens1[token1Index].type))}this._editor.layoutContentWidget(this)}_decodeMetadata(metadata){const colorMap=TokenizationRegistry2.getColorMap();const languageId=TokenMetadata.getLanguageId(metadata);const tokenType=TokenMetadata.getTokenType(metadata);const fontStyle=TokenMetadata.getFontStyle(metadata);const foreground2=TokenMetadata.getForeground(metadata);const background=TokenMetadata.getBackground(metadata);return{languageId:this._languageService.languageIdCodec.decodeLanguageId(languageId),tokenType:tokenType,fontStyle:fontStyle,foreground:colorMap[foreground2],background:colorMap[background]}}_tokenTypeToString(tokenType){switch(tokenType){case 0:return"Other";case 1:return"Comment";case 2:return"String";case 3:return"RegEx";default:return"??"}}_fontStyleToString(fontStyle){let r="";if(fontStyle&1){r+="italic "}if(fontStyle&2){r+="bold "}if(fontStyle&4){r+="underline "}if(fontStyle&8){r+="strikethrough "}if(r.length===0){r="---"}return r}_getTokensAtLine(lineNumber){const stateBeforeLine=this._getStateBeforeLine(lineNumber);const tokenizationResult1=this._tokenizationSupport.tokenize(this._model.getLineContent(lineNumber),true,stateBeforeLine);const tokenizationResult2=this._tokenizationSupport.tokenizeEncoded(this._model.getLineContent(lineNumber),true,stateBeforeLine);return{startState:stateBeforeLine,tokens1:tokenizationResult1.tokens,tokens2:tokenizationResult2.tokens,endState:tokenizationResult1.endState}}_getStateBeforeLine(lineNumber){let state=this._tokenizationSupport.getInitialState();for(let i=1;i<lineNumber;i++){const tokenizationResult=this._tokenizationSupport.tokenize(this._model.getLineContent(i),true,state);state=tokenizationResult.endState}return state}getDomNode(){return this._domNode}getPosition(){return{position:this._editor.getPosition(),preference:[2,1]}}};InspectTokensWidget._ID="editor.contrib.inspectTokensWidget";registerEditorContribution(InspectTokensController.ID,InspectTokensController,4);registerEditorAction(InspectTokens)}});var main_exports={};__export(main_exports,{default:()=>CodeFilesPlugin});module.exports=__toCommonJS(main_exports);var import_obsidian6=require("obsidian");var DEFAULT_SETTINGS={extensions:["ts","js","py","css","c","cpp","go","rs","java","lua","php"],folding:true,lineNumbers:true,wordWrap:true,minimap:true,semanticValidation:true,syntaxValidation:true,themeColor:"AUTO",fontSize:16};var viewType="vscode-editor";var import_obsidian=require("obsidian");init_editor_api();init_editor_api();var __defProp2=Object.defineProperty;var __getOwnPropDesc2=Object.getOwnPropertyDescriptor;var __getOwnPropNames2=Object.getOwnPropertyNames;var __hasOwnProp2=Object.prototype.hasOwnProperty;var __copyProps2=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames2(from))if(!__hasOwnProp2.call(to,key)&&key!==except)__defProp2(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc2(from,key))||desc.enumerable})}return to};var __reExport=(target,mod,secondTarget)=>(__copyProps2(target,mod,"default"),secondTarget&&__copyProps2(secondTarget,mod,"default"));var monaco_editor_core_exports={};__reExport(monaco_editor_core_exports,editor_api_exports);var languageDefinitions={};var lazyLanguageLoaders={};var LazyLanguageLoader=class{constructor(languageId){__publicField(this,"_languageId");__publicField(this,"_loadingTriggered");__publicField(this,"_lazyLoadPromise");__publicField(this,"_lazyLoadPromiseResolve");__publicField(this,"_lazyLoadPromiseReject");this._languageId=languageId;this._loadingTriggered=false;this._lazyLoadPromise=new Promise(((resolve2,reject)=>{this._lazyLoadPromiseResolve=resolve2;this._lazyLoadPromiseReject=reject}))}static getOrCreate(languageId){if(!lazyLanguageLoaders[languageId]){lazyLanguageLoaders[languageId]=new LazyLanguageLoader(languageId)}return lazyLanguageLoaders[languageId]}load(){if(!this._loadingTriggered){this._loadingTriggered=true;languageDefinitions[this._languageId].loader().then((mod=>this._lazyLoadPromiseResolve(mod)),(err=>this._lazyLoadPromiseReject(err)))}return this._lazyLoadPromise}};function registerLanguage(def){const languageId=def.id;languageDefinitions[languageId]=def;monaco_editor_core_exports.languages.register(def);const lazyLanguageLoader=LazyLanguageLoader.getOrCreate(languageId);monaco_editor_core_exports.languages.registerTokensProviderFactory(languageId,{create:async()=>{const mod=await lazyLanguageLoader.load();return mod.language}});monaco_editor_core_exports.languages.onLanguageEncountered(languageId,(async()=>{const mod=await lazyLanguageLoader.load();monaco_editor_core_exports.languages.setLanguageConfiguration(languageId,mod.conf)}))}registerLanguage({id:"abap",extensions:[".abap"],aliases:["abap","ABAP"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/abap/abap"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_abap(),abap_exports)))}}});registerLanguage({id:"apex",extensions:[".cls"],aliases:["Apex","apex"],mimetypes:["text/x-apex-source","text/x-apex"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/apex/apex"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_apex(),apex_exports)))}}});registerLanguage({id:"azcli",extensions:[".azcli"],aliases:["Azure CLI","azcli"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/azcli/azcli"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_azcli(),azcli_exports)))}}});registerLanguage({id:"bat",extensions:[".bat",".cmd"],aliases:["Batch","bat"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/bat/bat"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_bat(),bat_exports)))}}});registerLanguage({id:"bicep",extensions:[".bicep"],aliases:["Bicep"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/bicep/bicep"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_bicep(),bicep_exports)))}}});registerLanguage({id:"cameligo",extensions:[".mligo"],aliases:["Cameligo"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/cameligo/cameligo"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_cameligo(),cameligo_exports)))}}});registerLanguage({id:"clojure",extensions:[".clj",".cljs",".cljc",".edn"],aliases:["clojure","Clojure"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/clojure/clojure"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_clojure(),clojure_exports)))}}});registerLanguage({id:"coffeescript",extensions:[".coffee"],aliases:["CoffeeScript","coffeescript","coffee"],mimetypes:["text/x-coffeescript","text/coffeescript"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/coffee/coffee"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_coffee(),coffee_exports)))}}});registerLanguage({id:"c",extensions:[".c",".h"],aliases:["C","c"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/cpp/cpp"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_cpp(),cpp_exports)))}}});registerLanguage({id:"cpp",extensions:[".cpp",".cc",".cxx",".hpp",".hh",".hxx"],aliases:["C++","Cpp","cpp"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/cpp/cpp"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_cpp(),cpp_exports)))}}});registerLanguage({id:"csharp",extensions:[".cs",".csx",".cake"],aliases:["C#","csharp"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/csharp/csharp"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_csharp(),csharp_exports)))}}});registerLanguage({id:"csp",extensions:[],aliases:["CSP","csp"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/csp/csp"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_csp(),csp_exports)))}}});registerLanguage({id:"css",extensions:[".css"],aliases:["CSS","css"],mimetypes:["text/css"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/css/css"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_css(),css_exports)))}}});registerLanguage({id:"cypher",extensions:[".cypher",".cyp"],aliases:["Cypher","OpenCypher"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/cypher/cypher"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_cypher(),cypher_exports)))}}});registerLanguage({id:"dart",extensions:[".dart"],aliases:["Dart","dart"],mimetypes:["text/x-dart-source","text/x-dart"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/dart/dart"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_dart(),dart_exports)))}}});registerLanguage({id:"dockerfile",extensions:[".dockerfile"],filenames:["Dockerfile"],aliases:["Dockerfile"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/dockerfile/dockerfile"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_dockerfile(),dockerfile_exports)))}}});registerLanguage({id:"ecl",extensions:[".ecl"],aliases:["ECL","Ecl","ecl"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/ecl/ecl"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_ecl(),ecl_exports)))}}});registerLanguage({id:"elixir",extensions:[".ex",".exs"],aliases:["Elixir","elixir","ex"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/elixir/elixir"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_elixir(),elixir_exports)))}}});registerLanguage({id:"flow9",extensions:[".flow"],aliases:["Flow9","Flow","flow9","flow"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/flow9/flow9"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_flow9(),flow9_exports)))}}});registerLanguage({id:"fsharp",extensions:[".fs",".fsi",".ml",".mli",".fsx",".fsscript"],aliases:["F#","FSharp","fsharp"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/fsharp/fsharp"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_fsharp(),fsharp_exports)))}}});registerLanguage({id:"freemarker2",extensions:[".ftl",".ftlh",".ftlx"],aliases:["FreeMarker2","Apache FreeMarker2"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/freemarker2/freemarker2"],resolve2,reject)})).then((m=>m.TagAngleInterpolationDollar))}else{return Promise.resolve().then((()=>(init_freemarker2(),freemarker2_exports))).then((m=>m.TagAutoInterpolationDollar))}}});registerLanguage({id:"freemarker2.tag-angle.interpolation-dollar",aliases:["FreeMarker2 (Angle/Dollar)","Apache FreeMarker2 (Angle/Dollar)"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/freemarker2/freemarker2"],resolve2,reject)})).then((m=>m.TagAngleInterpolationDollar))}else{return Promise.resolve().then((()=>(init_freemarker2(),freemarker2_exports))).then((m=>m.TagAngleInterpolationDollar))}}});registerLanguage({id:"freemarker2.tag-bracket.interpolation-dollar",aliases:["FreeMarker2 (Bracket/Dollar)","Apache FreeMarker2 (Bracket/Dollar)"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/freemarker2/freemarker2"],resolve2,reject)})).then((m=>m.TagBracketInterpolationDollar))}else{return Promise.resolve().then((()=>(init_freemarker2(),freemarker2_exports))).then((m=>m.TagBracketInterpolationDollar))}}});registerLanguage({id:"freemarker2.tag-angle.interpolation-bracket",aliases:["FreeMarker2 (Angle/Bracket)","Apache FreeMarker2 (Angle/Bracket)"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/freemarker2/freemarker2"],resolve2,reject)})).then((m=>m.TagAngleInterpolationBracket))}else{return Promise.resolve().then((()=>(init_freemarker2(),freemarker2_exports))).then((m=>m.TagAngleInterpolationBracket))}}});registerLanguage({id:"freemarker2.tag-bracket.interpolation-bracket",aliases:["FreeMarker2 (Bracket/Bracket)","Apache FreeMarker2 (Bracket/Bracket)"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/freemarker2/freemarker2"],resolve2,reject)})).then((m=>m.TagBracketInterpolationBracket))}else{return Promise.resolve().then((()=>(init_freemarker2(),freemarker2_exports))).then((m=>m.TagBracketInterpolationBracket))}}});registerLanguage({id:"freemarker2.tag-auto.interpolation-dollar",aliases:["FreeMarker2 (Auto/Dollar)","Apache FreeMarker2 (Auto/Dollar)"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/freemarker2/freemarker2"],resolve2,reject)})).then((m=>m.TagAutoInterpolationDollar))}else{return Promise.resolve().then((()=>(init_freemarker2(),freemarker2_exports))).then((m=>m.TagAutoInterpolationDollar))}}});registerLanguage({id:"freemarker2.tag-auto.interpolation-bracket",aliases:["FreeMarker2 (Auto/Bracket)","Apache FreeMarker2 (Auto/Bracket)"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/freemarker2/freemarker2"],resolve2,reject)})).then((m=>m.TagAutoInterpolationBracket))}else{return Promise.resolve().then((()=>(init_freemarker2(),freemarker2_exports))).then((m=>m.TagAutoInterpolationBracket))}}});registerLanguage({id:"go",extensions:[".go"],aliases:["Go"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/go/go"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_go(),go_exports)))}}});registerLanguage({id:"graphql",extensions:[".graphql",".gql"],aliases:["GraphQL","graphql","gql"],mimetypes:["application/graphql"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/graphql/graphql"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_graphql(),graphql_exports)))}}});registerLanguage({id:"handlebars",extensions:[".handlebars",".hbs"],aliases:["Handlebars","handlebars","hbs"],mimetypes:["text/x-handlebars-template"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/handlebars/handlebars"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_handlebars(),handlebars_exports)))}}});registerLanguage({id:"hcl",extensions:[".tf",".tfvars",".hcl"],aliases:["Terraform","tf","HCL","hcl"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/hcl/hcl"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_hcl(),hcl_exports)))}}});registerLanguage({id:"html",extensions:[".html",".htm",".shtml",".xhtml",".mdoc",".jsp",".asp",".aspx",".jshtm"],aliases:["HTML","htm","html","xhtml"],mimetypes:["text/html","text/x-jshtm","text/template","text/ng-template"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/html/html"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_html(),html_exports)))}}});registerLanguage({id:"ini",extensions:[".ini",".properties",".gitconfig"],filenames:["config",".gitattributes",".gitconfig",".editorconfig"],aliases:["Ini","ini"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/ini/ini"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_ini(),ini_exports)))}}});registerLanguage({id:"java",extensions:[".java",".jav"],aliases:["Java","java"],mimetypes:["text/x-java-source","text/x-java"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/java/java"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_java(),java_exports)))}}});registerLanguage({id:"javascript",extensions:[".js",".es6",".jsx",".mjs",".cjs"],firstLine:"^#!.*\\bnode",filenames:["jakefile"],aliases:["JavaScript","javascript","js"],mimetypes:["text/javascript"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/javascript/javascript"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_javascript(),javascript_exports)))}}});registerLanguage({id:"julia",extensions:[".jl"],aliases:["julia","Julia"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/julia/julia"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_julia(),julia_exports)))}}});registerLanguage({id:"kotlin",extensions:[".kt",".kts"],aliases:["Kotlin","kotlin"],mimetypes:["text/x-kotlin-source","text/x-kotlin"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/kotlin/kotlin"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_kotlin(),kotlin_exports)))}}});registerLanguage({id:"less",extensions:[".less"],aliases:["Less","less"],mimetypes:["text/x-less","text/less"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/less/less"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_less(),less_exports)))}}});registerLanguage({id:"lexon",extensions:[".lex"],aliases:["Lexon"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/lexon/lexon"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_lexon(),lexon_exports)))}}});registerLanguage({id:"lua",extensions:[".lua"],aliases:["Lua","lua"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/lua/lua"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_lua(),lua_exports)))}}});registerLanguage({id:"liquid",extensions:[".liquid",".html.liquid"],aliases:["Liquid","liquid"],mimetypes:["application/liquid"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/liquid/liquid"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_liquid(),liquid_exports)))}}});registerLanguage({id:"m3",extensions:[".m3",".i3",".mg",".ig"],aliases:["Modula-3","Modula3","modula3","m3"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/m3/m3"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_m3(),m3_exports)))}}});registerLanguage({id:"markdown",extensions:[".md",".markdown",".mdown",".mkdn",".mkd",".mdwn",".mdtxt",".mdtext"],aliases:["Markdown","markdown"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/markdown/markdown"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_markdown(),markdown_exports)))}}});registerLanguage({id:"mdx",extensions:[".mdx"],aliases:["MDX","mdx"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/mdx/mdx"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_mdx(),mdx_exports)))}}});registerLanguage({id:"mips",extensions:[".s"],aliases:["MIPS","MIPS-V"],mimetypes:["text/x-mips","text/mips","text/plaintext"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/mips/mips"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_mips(),mips_exports)))}}});registerLanguage({id:"msdax",extensions:[".dax",".msdax"],aliases:["DAX","MSDAX"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/msdax/msdax"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_msdax(),msdax_exports)))}}});registerLanguage({id:"mysql",extensions:[],aliases:["MySQL","mysql"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/mysql/mysql"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_mysql(),mysql_exports)))}}});registerLanguage({id:"objective-c",extensions:[".m"],aliases:["Objective-C"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/objective-c/objective-c"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_objective_c(),objective_c_exports)))}}});registerLanguage({id:"pascal",extensions:[".pas",".p",".pp"],aliases:["Pascal","pas"],mimetypes:["text/x-pascal-source","text/x-pascal"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/pascal/pascal"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_pascal(),pascal_exports)))}}});registerLanguage({id:"pascaligo",extensions:[".ligo"],aliases:["Pascaligo","ligo"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/pascaligo/pascaligo"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_pascaligo(),pascaligo_exports)))}}});registerLanguage({id:"perl",extensions:[".pl",".pm"],aliases:["Perl","pl"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/perl/perl"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_perl(),perl_exports)))}}});registerLanguage({id:"pgsql",extensions:[],aliases:["PostgreSQL","postgres","pg","postgre"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/pgsql/pgsql"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_pgsql(),pgsql_exports)))}}});registerLanguage({id:"php",extensions:[".php",".php4",".php5",".phtml",".ctp"],aliases:["PHP","php"],mimetypes:["application/x-php"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/php/php"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_php(),php_exports)))}}});registerLanguage({id:"pla",extensions:[".pla"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/pla/pla"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_pla(),pla_exports)))}}});registerLanguage({id:"postiats",extensions:[".dats",".sats",".hats"],aliases:["ATS","ATS/Postiats"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/postiats/postiats"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_postiats(),postiats_exports)))}}});registerLanguage({id:"powerquery",extensions:[".pq",".pqm"],aliases:["PQ","M","Power Query","Power Query M"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/powerquery/powerquery"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_powerquery(),powerquery_exports)))}}});registerLanguage({id:"powershell",extensions:[".ps1",".psm1",".psd1"],aliases:["PowerShell","powershell","ps","ps1"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/powershell/powershell"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_powershell(),powershell_exports)))}}});registerLanguage({id:"proto",extensions:[".proto"],aliases:["protobuf","Protocol Buffers"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/protobuf/protobuf"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_protobuf(),protobuf_exports)))}}});registerLanguage({id:"pug",extensions:[".jade",".pug"],aliases:["Pug","Jade","jade"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/pug/pug"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_pug(),pug_exports)))}}});registerLanguage({id:"python",extensions:[".py",".rpy",".pyw",".cpy",".gyp",".gypi"],aliases:["Python","py"],firstLine:"^#!/.*\\bpython[0-9.-]*\\b",loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/python/python"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_python(),python_exports)))}}});registerLanguage({id:"qsharp",extensions:[".qs"],aliases:["Q#","qsharp"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/qsharp/qsharp"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_qsharp(),qsharp_exports)))}}});registerLanguage({id:"r",extensions:[".r",".rhistory",".rmd",".rprofile",".rt"],aliases:["R","r"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/r/r"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_r(),r_exports)))}}});registerLanguage({id:"razor",extensions:[".cshtml"],aliases:["Razor","razor"],mimetypes:["text/x-cshtml"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/razor/razor"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_razor(),razor_exports)))}}});registerLanguage({id:"redis",extensions:[".redis"],aliases:["redis"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/redis/redis"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_redis(),redis_exports)))}}});registerLanguage({id:"redshift",extensions:[],aliases:["Redshift","redshift"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/redshift/redshift"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_redshift(),redshift_exports)))}}});registerLanguage({id:"restructuredtext",extensions:[".rst"],aliases:["reStructuredText","restructuredtext"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/restructuredtext/restructuredtext"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_restructuredtext(),restructuredtext_exports)))}}});registerLanguage({id:"ruby",extensions:[".rb",".rbx",".rjs",".gemspec",".pp"],filenames:["rakefile","Gemfile"],aliases:["Ruby","rb"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/ruby/ruby"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_ruby(),ruby_exports)))}}});registerLanguage({id:"rust",extensions:[".rs",".rlib"],aliases:["Rust","rust"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/rust/rust"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_rust(),rust_exports)))}}});registerLanguage({id:"sb",extensions:[".sb"],aliases:["Small Basic","sb"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/sb/sb"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_sb(),sb_exports)))}}});registerLanguage({id:"scala",extensions:[".scala",".sc",".sbt"],aliases:["Scala","scala","SBT","Sbt","sbt","Dotty","dotty"],mimetypes:["text/x-scala-source","text/x-scala","text/x-sbt","text/x-dotty"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/scala/scala"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_scala(),scala_exports)))}}});registerLanguage({id:"scheme",extensions:[".scm",".ss",".sch",".rkt"],aliases:["scheme","Scheme"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/scheme/scheme"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_scheme(),scheme_exports)))}}});registerLanguage({id:"scss",extensions:[".scss"],aliases:["Sass","sass","scss"],mimetypes:["text/x-scss","text/scss"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/scss/scss"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_scss(),scss_exports)))}}});registerLanguage({id:"shell",extensions:[".sh",".bash"],aliases:["Shell","sh"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/shell/shell"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_shell(),shell_exports)))}}});registerLanguage({id:"sol",extensions:[".sol"],aliases:["sol","solidity","Solidity"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/solidity/solidity"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_solidity(),solidity_exports)))}}});registerLanguage({id:"aes",extensions:[".aes"],aliases:["aes","sophia","Sophia"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/sophia/sophia"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_sophia(),sophia_exports)))}}});registerLanguage({id:"sparql",extensions:[".rq"],aliases:["sparql","SPARQL"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/sparql/sparql"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_sparql(),sparql_exports)))}}});registerLanguage({id:"sql",extensions:[".sql"],aliases:["SQL"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/sql/sql"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_sql(),sql_exports)))}}});registerLanguage({id:"st",extensions:[".st",".iecst",".iecplc",".lc3lib",".TcPOU",".TcDUT",".TcGVL",".TcIO"],aliases:["StructuredText","scl","stl"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/st/st"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_st(),st_exports)))}}});registerLanguage({id:"swift",aliases:["Swift","swift"],extensions:[".swift"],mimetypes:["text/swift"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/swift/swift"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_swift(),swift_exports)))}}});registerLanguage({id:"systemverilog",extensions:[".sv",".svh"],aliases:["SV","sv","SystemVerilog","systemverilog"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/systemverilog/systemverilog"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_systemverilog(),systemverilog_exports)))}}});registerLanguage({id:"verilog",extensions:[".v",".vh"],aliases:["V","v","Verilog","verilog"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/systemverilog/systemverilog"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_systemverilog(),systemverilog_exports)))}}});registerLanguage({id:"tcl",extensions:[".tcl"],aliases:["tcl","Tcl","tcltk","TclTk","tcl/tk","Tcl/Tk"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/tcl/tcl"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_tcl(),tcl_exports)))}}});registerLanguage({id:"twig",extensions:[".twig"],aliases:["Twig","twig"],mimetypes:["text/x-twig"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/twig/twig"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_twig(),twig_exports)))}}});registerLanguage({id:"typescript",extensions:[".ts",".tsx",".cts",".mts"],aliases:["TypeScript","ts","typescript"],mimetypes:["text/typescript"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/typescript/typescript"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_typescript(),typescript_exports)))}}});registerLanguage({id:"vb",extensions:[".vb"],aliases:["Visual Basic","vb"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/vb/vb"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_vb(),vb_exports)))}}});registerLanguage({id:"wgsl",extensions:[".wgsl"],aliases:["WebGPU Shading Language","WGSL","wgsl"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/wgsl/wgsl"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_wgsl(),wgsl_exports)))}}});registerLanguage({id:"xml",extensions:[".xml",".xsd",".dtd",".ascx",".csproj",".config",".props",".targets",".wxi",".wxl",".wxs",".xaml",".svg",".svgz",".opf",".xslt",".xsl"],firstLine:"(\\<\\?xml.*)|(\\<svg)|(\\<\\!doctype\\s+svg)",aliases:["XML","xml"],mimetypes:["text/xml","application/xml","application/xaml+xml","application/xml-dtd"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/xml/xml"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_xml(),xml_exports)))}}});registerLanguage({id:"yaml",extensions:[".yaml",".yml"],aliases:["YAML","yaml","YML","yml"],mimetypes:["application/x-yaml","text/x-yaml"],loader:()=>{if(false){return new Promise(((resolve2,reject)=>{__require(["vs/basic-languages/yaml/yaml"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_yaml(),yaml_exports)))}}});init_editor_api();init_editor_api();var __defProp14=Object.defineProperty;var __getOwnPropDesc14=Object.getOwnPropertyDescriptor;var __getOwnPropNames14=Object.getOwnPropertyNames;var __hasOwnProp14=Object.prototype.hasOwnProperty;var __copyProps14=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames14(from))if(!__hasOwnProp14.call(to,key)&&key!==except)__defProp14(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc14(from,key))||desc.enumerable})}return to};var __reExport13=(target,mod,secondTarget)=>(__copyProps14(target,mod,"default"),secondTarget&&__copyProps14(secondTarget,mod,"default"));var monaco_editor_core_exports13={};__reExport13(monaco_editor_core_exports13,editor_api_exports);var LanguageServiceDefaultsImpl=class{constructor(languageId,options2,modeConfiguration){__publicField(this,"_onDidChange",new monaco_editor_core_exports13.Emitter);__publicField(this,"_options");__publicField(this,"_modeConfiguration");__publicField(this,"_languageId");this._languageId=languageId;this.setOptions(options2);this.setModeConfiguration(modeConfiguration)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this.options}get options(){return this._options}setOptions(options2){this._options=options2||Object.create(null);this._onDidChange.fire(this)}setDiagnosticsOptions(options2){this.setOptions(options2)}setModeConfiguration(modeConfiguration){this._modeConfiguration=modeConfiguration||Object.create(null);this._onDidChange.fire(this)}};var optionsDefault={validate:true,lint:{compatibleVendorPrefixes:"ignore",vendorPrefix:"warning",duplicateProperties:"warning",emptyRules:"warning",importStatement:"ignore",boxModel:"ignore",universalSelector:"ignore",zeroUnits:"ignore",fontFaceProperties:"warning",hexColorLength:"error",argumentsInColorFunction:"error",unknownProperties:"warning",ieHack:"ignore",unknownVendorSpecificProperties:"ignore",propertyIgnoredDueToDisplay:"warning",important:"ignore",float:"ignore",idSelector:"ignore"},data:{useDefaultDataProvider:true},format:{newlineBetweenSelectors:true,newlineBetweenRules:true,spaceAroundSelectorSeparator:false,braceStyle:"collapse",maxPreserveNewLines:void 0,preserveNewLines:true}};var modeConfigurationDefault={completionItems:true,hovers:true,documentSymbols:true,definitions:true,references:true,documentHighlights:true,rename:true,colors:true,foldingRanges:true,diagnostics:true,selectionRanges:true,documentFormattingEdits:true,documentRangeFormattingEdits:true};var cssDefaults=new LanguageServiceDefaultsImpl("css",optionsDefault,modeConfigurationDefault);var scssDefaults=new LanguageServiceDefaultsImpl("scss",optionsDefault,modeConfigurationDefault);var lessDefaults=new LanguageServiceDefaultsImpl("less",optionsDefault,modeConfigurationDefault);monaco_editor_core_exports13.languages.css={cssDefaults:cssDefaults,lessDefaults:lessDefaults,scssDefaults:scssDefaults};function getMode(){if(false){return new Promise(((resolve2,reject)=>{__require(["vs/language/css/cssMode"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_cssMode(),cssMode_exports)))}}monaco_editor_core_exports13.languages.onLanguage("less",(()=>{getMode().then((mode=>mode.setupMode(lessDefaults)))}));monaco_editor_core_exports13.languages.onLanguage("scss",(()=>{getMode().then((mode=>mode.setupMode(scssDefaults)))}));monaco_editor_core_exports13.languages.onLanguage("css",(()=>{getMode().then((mode=>mode.setupMode(cssDefaults)))}));init_editor_api();init_editor_api();var __defProp16=Object.defineProperty;var __getOwnPropDesc16=Object.getOwnPropertyDescriptor;var __getOwnPropNames16=Object.getOwnPropertyNames;var __hasOwnProp16=Object.prototype.hasOwnProperty;var __copyProps16=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames16(from))if(!__hasOwnProp16.call(to,key)&&key!==except)__defProp16(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc16(from,key))||desc.enumerable})}return to};var __reExport15=(target,mod,secondTarget)=>(__copyProps16(target,mod,"default"),secondTarget&&__copyProps16(secondTarget,mod,"default"));var monaco_editor_core_exports15={};__reExport15(monaco_editor_core_exports15,editor_api_exports);var LanguageServiceDefaultsImpl2=class{constructor(languageId,options2,modeConfiguration){__publicField(this,"_onDidChange",new monaco_editor_core_exports15.Emitter);__publicField(this,"_options");__publicField(this,"_modeConfiguration");__publicField(this,"_languageId");this._languageId=languageId;this.setOptions(options2);this.setModeConfiguration(modeConfiguration)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get options(){return this._options}get modeConfiguration(){return this._modeConfiguration}setOptions(options2){this._options=options2||Object.create(null);this._onDidChange.fire(this)}setModeConfiguration(modeConfiguration){this._modeConfiguration=modeConfiguration||Object.create(null);this._onDidChange.fire(this)}};var formatDefaults={tabSize:4,insertSpaces:false,wrapLineLength:120,unformatted:'default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var',contentUnformatted:"pre",indentInnerHtml:false,preserveNewLines:true,maxPreserveNewLines:void 0,indentHandlebars:false,endWithNewline:false,extraLiners:"head, body, /html",wrapAttributes:"auto"};var optionsDefault2={format:formatDefaults,suggest:{},data:{useDefaultDataProvider:true}};function getConfigurationDefault(languageId){return{completionItems:true,hovers:true,documentSymbols:true,links:true,documentHighlights:true,rename:true,colors:true,foldingRanges:true,selectionRanges:true,diagnostics:languageId===htmlLanguageId,documentFormattingEdits:languageId===htmlLanguageId,documentRangeFormattingEdits:languageId===htmlLanguageId}}var htmlLanguageId="html";var handlebarsLanguageId="handlebars";var razorLanguageId="razor";var htmlLanguageService=registerHTMLLanguageService(htmlLanguageId,optionsDefault2,getConfigurationDefault(htmlLanguageId));var htmlDefaults=htmlLanguageService.defaults;var handlebarLanguageService=registerHTMLLanguageService(handlebarsLanguageId,optionsDefault2,getConfigurationDefault(handlebarsLanguageId));var handlebarDefaults=handlebarLanguageService.defaults;var razorLanguageService=registerHTMLLanguageService(razorLanguageId,optionsDefault2,getConfigurationDefault(razorLanguageId));var razorDefaults=razorLanguageService.defaults;monaco_editor_core_exports15.languages.html={htmlDefaults:htmlDefaults,razorDefaults:razorDefaults,handlebarDefaults:handlebarDefaults,htmlLanguageService:htmlLanguageService,handlebarLanguageService:handlebarLanguageService,razorLanguageService:razorLanguageService,registerHTMLLanguageService:registerHTMLLanguageService};function getMode2(){if(false){return new Promise(((resolve2,reject)=>{__require(["vs/language/html/htmlMode"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_htmlMode(),htmlMode_exports)))}}function registerHTMLLanguageService(languageId,options2=optionsDefault2,modeConfiguration=getConfigurationDefault(languageId)){const defaults=new LanguageServiceDefaultsImpl2(languageId,options2,modeConfiguration);let mode;const onLanguageListener=monaco_editor_core_exports15.languages.onLanguage(languageId,(async()=>{mode=(await getMode2()).setupMode(defaults)}));return{defaults:defaults,dispose(){onLanguageListener.dispose();mode==null?void 0:mode.dispose();mode=void 0}}}init_editor_api();init_editor_api();var __defProp18=Object.defineProperty;var __getOwnPropDesc18=Object.getOwnPropertyDescriptor;var __getOwnPropNames18=Object.getOwnPropertyNames;var __hasOwnProp18=Object.prototype.hasOwnProperty;var __copyProps18=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames18(from))if(!__hasOwnProp18.call(to,key)&&key!==except)__defProp18(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc18(from,key))||desc.enumerable})}return to};var __reExport17=(target,mod,secondTarget)=>(__copyProps18(target,mod,"default"),secondTarget&&__copyProps18(secondTarget,mod,"default"));var monaco_editor_core_exports17={};__reExport17(monaco_editor_core_exports17,editor_api_exports);var LanguageServiceDefaultsImpl3=class{constructor(languageId,diagnosticsOptions,modeConfiguration){__publicField(this,"_onDidChange",new monaco_editor_core_exports17.Emitter);__publicField(this,"_diagnosticsOptions");__publicField(this,"_modeConfiguration");__publicField(this,"_languageId");this._languageId=languageId;this.setDiagnosticsOptions(diagnosticsOptions);this.setModeConfiguration(modeConfiguration)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(options2){this._diagnosticsOptions=options2||Object.create(null);this._onDidChange.fire(this)}setModeConfiguration(modeConfiguration){this._modeConfiguration=modeConfiguration||Object.create(null);this._onDidChange.fire(this)}};var diagnosticDefault={validate:true,allowComments:true,schemas:[],enableSchemaRequest:false,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"};var modeConfigurationDefault2={documentFormattingEdits:true,documentRangeFormattingEdits:true,completionItems:true,hovers:true,documentSymbols:true,tokens:true,colors:true,foldingRanges:true,diagnostics:true,selectionRanges:true};var jsonDefaults=new LanguageServiceDefaultsImpl3("json",diagnosticDefault,modeConfigurationDefault2);monaco_editor_core_exports17.languages.json={jsonDefaults:jsonDefaults};function getMode3(){if(false){return new Promise(((resolve2,reject)=>{__require(["vs/language/json/jsonMode"],resolve2,reject)}))}else{return Promise.resolve().then((()=>(init_jsonMode(),jsonMode_exports)))}}monaco_editor_core_exports17.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});monaco_editor_core_exports17.languages.onLanguage("json",(()=>{getMode3().then((mode=>mode.setupMode(jsonDefaults)))}));init_monaco_contribution();init_coreCommands();init_codeEditorWidget();init_diffEditorWidget();init_diffNavigator();init_aria();init_htmlContent();init_keyCodes();init_editorExtensions();init_selection();init_editorContextKeys();init_nls();init_contextkey();var __decorate52=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param45=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter35=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var SelectionAnchorController_1;var SelectionAnchorSet=new RawContextKey("selectionAnchorSet",false);var SelectionAnchorController=SelectionAnchorController_1=class SelectionAnchorController2{static get(editor2){return editor2.getContribution(SelectionAnchorController_1.ID)}constructor(editor2,contextKeyService){this.editor=editor2;this.selectionAnchorSetContextKey=SelectionAnchorSet.bindTo(contextKeyService);this.modelChangeListener=editor2.onDidChangeModel((()=>this.selectionAnchorSetContextKey.reset()))}setSelectionAnchor(){if(this.editor.hasModel()){const position=this.editor.getPosition();this.editor.changeDecorations((accessor=>{if(this.decorationId){accessor.removeDecoration(this.decorationId)}this.decorationId=accessor.addDecoration(Selection.fromPositions(position,position),{description:"selection-anchor",stickiness:1,hoverMessage:(new MarkdownString).appendText(localize("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}));this.selectionAnchorSetContextKey.set(!!this.decorationId);alert(localize("anchorSet","Anchor set at {0}:{1}",position.lineNumber,position.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const anchorPosition=this.editor.getModel().getDecorationRange(this.decorationId);if(anchorPosition){this.editor.setPosition(anchorPosition.getStartPosition())}}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const start=this.editor.getModel().getDecorationRange(this.decorationId);if(start){const end=this.editor.getPosition();this.editor.setSelection(Selection.fromPositions(start.getStartPosition(),end));this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const decorationId=this.decorationId;this.editor.changeDecorations((accessor=>{accessor.removeDecoration(decorationId);this.decorationId=void 0}));this.selectionAnchorSetContextKey.set(false)}}dispose(){this.cancelSelectionAnchor();this.modelChangeListener.dispose()}};SelectionAnchorController.ID="editor.contrib.selectionAnchorController";SelectionAnchorController=SelectionAnchorController_1=__decorate52([__param45(1,IContextKeyService)],SelectionAnchorController);var SetSelectionAnchor=class extends EditorAction{constructor(){super({id:"editor.action.setSelectionAnchor",label:localize("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2048|41,2048|32),weight:100}})}run(_accessor,editor2){var _a6;return __awaiter35(this,void 0,void 0,(function*(){(_a6=SelectionAnchorController.get(editor2))===null||_a6===void 0?void 0:_a6.setSelectionAnchor()}))}};var GoToSelectionAnchor=class extends EditorAction{constructor(){super({id:"editor.action.goToSelectionAnchor",label:localize("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:SelectionAnchorSet})}run(_accessor,editor2){var _a6;return __awaiter35(this,void 0,void 0,(function*(){(_a6=SelectionAnchorController.get(editor2))===null||_a6===void 0?void 0:_a6.goToSelectionAnchor()}))}};var SelectFromAnchorToCursor=class extends EditorAction{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:localize("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:SelectionAnchorSet,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2048|41,2048|41),weight:100}})}run(_accessor,editor2){var _a6;return __awaiter35(this,void 0,void 0,(function*(){(_a6=SelectionAnchorController.get(editor2))===null||_a6===void 0?void 0:_a6.selectFromAnchorToCursor()}))}};var CancelSelectionAnchor=class extends EditorAction{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:localize("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:SelectionAnchorSet,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:9,weight:100}})}run(_accessor,editor2){var _a6;return __awaiter35(this,void 0,void 0,(function*(){(_a6=SelectionAnchorController.get(editor2))===null||_a6===void 0?void 0:_a6.cancelSelectionAnchor()}))}};registerEditorContribution(SelectionAnchorController.ID,SelectionAnchorController,4);registerEditorAction(SetSelectionAnchor);registerEditorAction(GoToSelectionAnchor);registerEditorAction(SelectFromAnchorToCursor);registerEditorAction(CancelSelectionAnchor);init_async();init_lifecycle();init_editorExtensions();init_position();init_range();init_selection();init_editorContextKeys();init_model();init_textModel();init_nls();init_actions2();init_colorRegistry();init_themeService();var overviewRulerBracketMatchForeground=registerColor("editorOverviewRuler.bracketMatchForeground",{dark:"#A0A0A0",light:"#A0A0A0",hcDark:"#A0A0A0",hcLight:"#A0A0A0"},localize("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));var JumpToBracketAction=class extends EditorAction{constructor(){super({id:"editor.action.jumpToBracket",label:localize("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2048|1024|93,weight:100}})}run(accessor,editor2){var _a6;(_a6=BracketMatchingController.get(editor2))===null||_a6===void 0?void 0:_a6.jumpToBracket()}};var SelectToBracketAction=class extends EditorAction{constructor(){super({id:"editor.action.selectToBracket",label:localize("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,description:{description:`Select to Bracket`,args:[{name:"args",schema:{type:"object",properties:{selectBrackets:{type:"boolean",default:true}}}}]}})}run(accessor,editor2,args){var _a6;let selectBrackets=true;if(args&&args.selectBrackets===false){selectBrackets=false}(_a6=BracketMatchingController.get(editor2))===null||_a6===void 0?void 0:_a6.selectToBracket(selectBrackets)}};var RemoveBracketsAction=class extends EditorAction{constructor(){super({id:"editor.action.removeBrackets",label:localize("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2048|512|1,weight:100}})}run(accessor,editor2){var _a6;(_a6=BracketMatchingController.get(editor2))===null||_a6===void 0?void 0:_a6.removeBrackets(this.id)}};var BracketsData=class{constructor(position,brackets,options2){this.position=position;this.brackets=brackets;this.options=options2}};var BracketMatchingController=class extends Disposable{static get(editor2){return editor2.getContribution(BracketMatchingController.ID)}constructor(editor2){super();this._editor=editor2;this._lastBracketsData=[];this._lastVersionId=0;this._decorations=this._editor.createDecorationsCollection();this._updateBracketsSoon=this._register(new RunOnceScheduler((()=>this._updateBrackets()),50));this._matchBrackets=this._editor.getOption(70);this._updateBracketsSoon.schedule();this._register(editor2.onDidChangeCursorPosition((e=>{if(this._matchBrackets==="never"){return}this._updateBracketsSoon.schedule()})));this._register(editor2.onDidChangeModelContent((e=>{this._updateBracketsSoon.schedule()})));this._register(editor2.onDidChangeModel((e=>{this._lastBracketsData=[];this._updateBracketsSoon.schedule()})));this._register(editor2.onDidChangeModelLanguageConfiguration((e=>{this._lastBracketsData=[];this._updateBracketsSoon.schedule()})));this._register(editor2.onDidChangeConfiguration((e=>{if(e.hasChanged(70)){this._matchBrackets=this._editor.getOption(70);this._decorations.clear();this._lastBracketsData=[];this._lastVersionId=0;this._updateBracketsSoon.schedule()}})));this._register(editor2.onDidBlurEditorWidget((()=>{this._updateBracketsSoon.schedule()})));this._register(editor2.onDidFocusEditorWidget((()=>{this._updateBracketsSoon.schedule()})))}jumpToBracket(){if(!this._editor.hasModel()){return}const model=this._editor.getModel();const newSelections=this._editor.getSelections().map((selection=>{const position=selection.getStartPosition();const brackets=model.bracketPairs.matchBracket(position);let newCursorPosition=null;if(brackets){if(brackets[0].containsPosition(position)&&!brackets[1].containsPosition(position)){newCursorPosition=brackets[1].getStartPosition()}else if(brackets[1].containsPosition(position)){newCursorPosition=brackets[0].getStartPosition()}}else{const enclosingBrackets=model.bracketPairs.findEnclosingBrackets(position);if(enclosingBrackets){newCursorPosition=enclosingBrackets[1].getStartPosition()}else{const nextBracket=model.bracketPairs.findNextBracket(position);if(nextBracket&&nextBracket.range){newCursorPosition=nextBracket.range.getStartPosition()}}}if(newCursorPosition){return new Selection(newCursorPosition.lineNumber,newCursorPosition.column,newCursorPosition.lineNumber,newCursorPosition.column)}return new Selection(position.lineNumber,position.column,position.lineNumber,position.column)}));this._editor.setSelections(newSelections);this._editor.revealRange(newSelections[0])}selectToBracket(selectBrackets){if(!this._editor.hasModel()){return}const model=this._editor.getModel();const newSelections=[];this._editor.getSelections().forEach((selection=>{const position=selection.getStartPosition();let brackets=model.bracketPairs.matchBracket(position);if(!brackets){brackets=model.bracketPairs.findEnclosingBrackets(position);if(!brackets){const nextBracket=model.bracketPairs.findNextBracket(position);if(nextBracket&&nextBracket.range){brackets=model.bracketPairs.matchBracket(nextBracket.range.getStartPosition())}}}let selectFrom=null;let selectTo=null;if(brackets){brackets.sort(Range.compareRangesUsingStarts);const[open,close]=brackets;selectFrom=selectBrackets?open.getStartPosition():open.getEndPosition();selectTo=selectBrackets?close.getEndPosition():close.getStartPosition();if(close.containsPosition(position)){const tmp=selectFrom;selectFrom=selectTo;selectTo=tmp}}if(selectFrom&&selectTo){newSelections.push(new Selection(selectFrom.lineNumber,selectFrom.column,selectTo.lineNumber,selectTo.column))}}));if(newSelections.length>0){this._editor.setSelections(newSelections);this._editor.revealRange(newSelections[0])}}removeBrackets(editSource){if(!this._editor.hasModel()){return}const model=this._editor.getModel();this._editor.getSelections().forEach((selection=>{const position=selection.getPosition();let brackets=model.bracketPairs.matchBracket(position);if(!brackets){brackets=model.bracketPairs.findEnclosingBrackets(position)}if(brackets){this._editor.pushUndoStop();this._editor.executeEdits(editSource,[{range:brackets[0],text:""},{range:brackets[1],text:""}]);this._editor.pushUndoStop()}}))}_updateBrackets(){if(this._matchBrackets==="never"){return}this._recomputeBrackets();const newDecorations=[];let newDecorationsLen=0;for(const bracketData of this._lastBracketsData){const brackets=bracketData.brackets;if(brackets){newDecorations[newDecorationsLen++]={range:brackets[0],options:bracketData.options};newDecorations[newDecorationsLen++]={range:brackets[1],options:bracketData.options}}}this._decorations.set(newDecorations)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[];this._lastVersionId=0;return}const selections=this._editor.getSelections();if(selections.length>100){this._lastBracketsData=[];this._lastVersionId=0;return}const model=this._editor.getModel();const versionId=model.getVersionId();let previousData=[];if(this._lastVersionId===versionId){previousData=this._lastBracketsData}const positions=[];let positionsLen=0;for(let i=0,len=selections.length;i<len;i++){const selection=selections[i];if(selection.isEmpty()){positions[positionsLen++]=selection.getStartPosition()}}if(positions.length>1){positions.sort(Position.compare)}const newData=[];let newDataLen=0;let previousIndex=0;const previousLen=previousData.length;for(let i=0,len=positions.length;i<len;i++){const position=positions[i];while(previousIndex<previousLen&&previousData[previousIndex].position.isBefore(position)){previousIndex++}if(previousIndex<previousLen&&previousData[previousIndex].position.equals(position)){newData[newDataLen++]=previousData[previousIndex]}else{let brackets=model.bracketPairs.matchBracket(position,20);let options2=BracketMatchingController._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;if(!brackets&&this._matchBrackets==="always"){brackets=model.bracketPairs.findEnclosingBrackets(position,20);options2=BracketMatchingController._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER}newData[newDataLen++]=new BracketsData(position,brackets,options2)}}this._lastBracketsData=newData;this._lastVersionId=versionId}};BracketMatchingController.ID="editor.contrib.bracketMatchingController";BracketMatchingController._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=ModelDecorationOptions.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:themeColorFromId(overviewRulerBracketMatchForeground),position:OverviewRulerLane2.Center}});BracketMatchingController._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=ModelDecorationOptions.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});registerEditorContribution(BracketMatchingController.ID,BracketMatchingController,1);registerEditorAction(SelectToBracketAction);registerEditorAction(JumpToBracketAction);registerEditorAction(RemoveBracketsAction);MenuRegistry.appendMenuItem(MenuId.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:localize({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});init_editorExtensions();init_editorContextKeys();init_range();init_selection();var MoveCaretCommand=class{constructor(selection,isMovingLeft){this._selection=selection;this._isMovingLeft=isMovingLeft}getEditOperations(model,builder){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty()){return}const lineNumber=this._selection.startLineNumber;const startColumn=this._selection.startColumn;const endColumn=this._selection.endColumn;if(this._isMovingLeft&&startColumn===1){return}if(!this._isMovingLeft&&endColumn===model.getLineMaxColumn(lineNumber)){return}if(this._isMovingLeft){const rangeBefore=new Range(lineNumber,startColumn-1,lineNumber,startColumn);const charBefore=model.getValueInRange(rangeBefore);builder.addEditOperation(rangeBefore,null);builder.addEditOperation(new Range(lineNumber,endColumn,lineNumber,endColumn),charBefore)}else{const rangeAfter=new Range(lineNumber,endColumn,lineNumber,endColumn+1);const charAfter=model.getValueInRange(rangeAfter);builder.addEditOperation(rangeAfter,null);builder.addEditOperation(new Range(lineNumber,startColumn,lineNumber,startColumn),charAfter)}}computeCursorState(model,helper){if(this._isMovingLeft){return new Selection(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1)}else{return new Selection(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}};init_nls();var MoveCaretAction=class extends EditorAction{constructor(left,opts){super(opts);this.left=left}run(accessor,editor2){if(!editor2.hasModel()){return}const commands=[];const selections=editor2.getSelections();for(const selection of selections){commands.push(new MoveCaretCommand(selection,this.left))}editor2.pushUndoStop();editor2.executeCommands(this.id,commands);editor2.pushUndoStop()}};var MoveCaretLeftAction=class extends MoveCaretAction{constructor(){super(true,{id:"editor.action.moveCarretLeftAction",label:localize("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:EditorContextKeys.writable})}};var MoveCaretRightAction=class extends MoveCaretAction{constructor(){super(false,{id:"editor.action.moveCarretRightAction",label:localize("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:EditorContextKeys.writable})}};registerEditorAction(MoveCaretLeftAction);registerEditorAction(MoveCaretRightAction);init_editorExtensions();init_replaceCommand();init_cursorMoveOperations();init_range();init_editorContextKeys();init_nls();var TransposeLettersAction=class extends EditorAction{constructor(){super({id:"editor.action.transposeLetters",label:localize("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|50},weight:100}})}run(accessor,editor2){if(!editor2.hasModel()){return}const model=editor2.getModel();const commands=[];const selections=editor2.getSelections();for(const selection of selections){if(!selection.isEmpty()){continue}const lineNumber=selection.startLineNumber;const column=selection.startColumn;const lastColumn=model.getLineMaxColumn(lineNumber);if(lineNumber===1&&(column===1||column===2&&lastColumn===2)){continue}const endPosition=column===lastColumn?selection.getPosition():MoveOperations.rightPosition(model,selection.getPosition().lineNumber,selection.getPosition().column);const middlePosition=MoveOperations.leftPosition(model,endPosition);const beginPosition=MoveOperations.leftPosition(model,middlePosition);const leftChar=model.getValueInRange(Range.fromPositions(beginPosition,middlePosition));const rightChar=model.getValueInRange(Range.fromPositions(middlePosition,endPosition));const replaceRange=Range.fromPositions(beginPosition,endPosition);commands.push(new ReplaceCommand(replaceRange,rightChar+leftChar))}if(commands.length>0){editor2.pushUndoStop();editor2.executeCommands(this.id,commands);editor2.pushUndoStop()}}};registerEditorAction(TransposeLettersAction);init_browser();init_platform();init_textAreaInput();init_editorExtensions();init_codeEditorService();init_editorContextKeys();init_nls();init_actions2();init_clipboardService();init_contextkey();var __awaiter36=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var CLIPBOARD_CONTEXT_MENU_GROUP="9_cutcopypaste";var supportsCut=isNative||document.queryCommandSupported("cut");var supportsCopy=isNative||document.queryCommandSupported("copy");var supportsPaste=typeof navigator.clipboard==="undefined"||isFirefox2?document.queryCommandSupported("paste"):true;function registerCommand4(command){command.register();return command}var CutAction=supportsCut?registerCommand4(new MultiCommand({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:isNative?{primary:2048|54,win:{primary:2048|54,secondary:[1024|20]},weight:100}:void 0,menuOpts:[{menuId:MenuId.MenubarEditMenu,group:"2_ccp",title:localize({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:MenuId.EditorContext,group:CLIPBOARD_CONTEXT_MENU_GROUP,title:localize("actions.clipboard.cutLabel","Cut"),when:EditorContextKeys.writable,order:1},{menuId:MenuId.CommandPalette,group:"",title:localize("actions.clipboard.cutLabel","Cut"),order:1},{menuId:MenuId.SimpleEditorContext,group:CLIPBOARD_CONTEXT_MENU_GROUP,title:localize("actions.clipboard.cutLabel","Cut"),when:EditorContextKeys.writable,order:1}]})):void 0;var CopyAction=supportsCopy?registerCommand4(new MultiCommand({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:isNative?{primary:2048|33,win:{primary:2048|33,secondary:[2048|19]},weight:100}:void 0,menuOpts:[{menuId:MenuId.MenubarEditMenu,group:"2_ccp",title:localize({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:MenuId.EditorContext,group:CLIPBOARD_CONTEXT_MENU_GROUP,title:localize("actions.clipboard.copyLabel","Copy"),order:2},{menuId:MenuId.CommandPalette,group:"",title:localize("actions.clipboard.copyLabel","Copy"),order:1},{menuId:MenuId.SimpleEditorContext,group:CLIPBOARD_CONTEXT_MENU_GROUP,title:localize("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;MenuRegistry.appendMenuItem(MenuId.MenubarEditMenu,{submenu:MenuId.MenubarCopy,title:{value:localize("copy as","Copy As"),original:"Copy As"},group:"2_ccp",order:3});MenuRegistry.appendMenuItem(MenuId.EditorContext,{submenu:MenuId.EditorContextCopy,title:{value:localize("copy as","Copy As"),original:"Copy As"},group:CLIPBOARD_CONTEXT_MENU_GROUP,order:3});MenuRegistry.appendMenuItem(MenuId.EditorContext,{submenu:MenuId.EditorContextShare,title:{value:localize("share","Share"),original:"Share"},group:"11_share",order:-1,when:ContextKeyExpr.and(ContextKeyExpr.notEquals("resourceScheme","output"),EditorContextKeys.editorTextFocus)});MenuRegistry.appendMenuItem(MenuId.EditorTitleContext,{submenu:MenuId.EditorTitleContextShare,title:{value:localize("share","Share"),original:"Share"},group:"11_share",order:-1});MenuRegistry.appendMenuItem(MenuId.ExplorerContext,{submenu:MenuId.ExplorerContextShare,title:{value:localize("share","Share"),original:"Share"},group:"11_share",order:-1});var PasteAction=supportsPaste?registerCommand4(new MultiCommand({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:isNative?{primary:2048|52,win:{primary:2048|52,secondary:[1024|19]},linux:{primary:2048|52,secondary:[1024|19]},weight:100}:void 0,menuOpts:[{menuId:MenuId.MenubarEditMenu,group:"2_ccp",title:localize({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:MenuId.EditorContext,group:CLIPBOARD_CONTEXT_MENU_GROUP,title:localize("actions.clipboard.pasteLabel","Paste"),when:EditorContextKeys.writable,order:4},{menuId:MenuId.CommandPalette,group:"",title:localize("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:MenuId.SimpleEditorContext,group:CLIPBOARD_CONTEXT_MENU_GROUP,title:localize("actions.clipboard.pasteLabel","Paste"),when:EditorContextKeys.writable,order:4}]})):void 0;var ExecCommandCopyWithSyntaxHighlightingAction=class extends EditorAction{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:localize("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:0,weight:100}})}run(accessor,editor2){if(!editor2.hasModel()){return}const emptySelectionClipboard=editor2.getOption(36);if(!emptySelectionClipboard&&editor2.getSelection().isEmpty()){return}CopyOptions.forceCopyWithSyntaxHighlighting=true;editor2.focus();document.execCommand("copy");CopyOptions.forceCopyWithSyntaxHighlighting=false}};function registerExecCommandImpl(target,browserCommand){if(!target){return}target.addImplementation(1e4,"code-editor",((accessor,args)=>{const focusedEditor=accessor.get(ICodeEditorService).getFocusedCodeEditor();if(focusedEditor&&focusedEditor.hasTextFocus()){const emptySelectionClipboard=focusedEditor.getOption(36);const selection=focusedEditor.getSelection();if(selection&&selection.isEmpty()&&!emptySelectionClipboard){return true}document.execCommand(browserCommand);return true}return false}));target.addImplementation(0,"generic-dom",((accessor,args)=>{document.execCommand(browserCommand);return true}))}registerExecCommandImpl(CutAction,"cut");registerExecCommandImpl(CopyAction,"copy");if(PasteAction){PasteAction.addImplementation(1e4,"code-editor",((accessor,args)=>{const codeEditorService=accessor.get(ICodeEditorService);const clipboardService=accessor.get(IClipboardService);const focusedEditor=codeEditorService.getFocusedCodeEditor();if(focusedEditor&&focusedEditor.hasTextFocus()){const result=document.execCommand("paste");if(!result&&isWeb){return(()=>__awaiter36(void 0,void 0,void 0,(function*(){const clipboardText=yield clipboardService.readText();if(clipboardText!==""){const metadata=InMemoryClipboardMetadataManager.INSTANCE.get(clipboardText);let pasteOnNewLine=false;let multicursorText=null;let mode=null;if(metadata){pasteOnNewLine=focusedEditor.getOption(36)&&!!metadata.isFromEmptySelection;multicursorText=typeof metadata.multicursorText!=="undefined"?metadata.multicursorText:null;mode=metadata.mode}focusedEditor.trigger("keyboard","paste",{text:clipboardText,pasteOnNewLine:pasteOnNewLine,multicursorText:multicursorText,mode:mode})}})))()}return true}return false}));PasteAction.addImplementation(0,"generic-dom",((accessor,args)=>{document.execCommand("paste");return true}))}if(supportsCopy){registerEditorAction(ExecCommandCopyWithSyntaxHighlightingAction)}init_editorExtensions();init_editorConfigurationSchema();init_strings();init_editorExtensions();init_editorContextKeys();init_arrays();init_cancellation();init_errors();init_lifecycle();init_uri();init_bulkEditService();init_range();init_selection();init_languageFeatures();init_model2();init_editorState();init_nls();init_commands();init_notification();init_progress();init_telemetry();init_errors();var __awaiter37=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var CodeActionKind4=class{constructor(value){this.value=value}equals(other){return this.value===other.value}contains(other){return this.equals(other)||this.value===""||other.value.startsWith(this.value+CodeActionKind4.sep)}intersects(other){return this.contains(other)||other.contains(this)}append(part){return new CodeActionKind4(this.value+CodeActionKind4.sep+part)}};CodeActionKind4.sep=".";CodeActionKind4.None=new CodeActionKind4("@@none@@");CodeActionKind4.Empty=new CodeActionKind4("");CodeActionKind4.QuickFix=new CodeActionKind4("quickfix");CodeActionKind4.Refactor=new CodeActionKind4("refactor");CodeActionKind4.RefactorExtract=CodeActionKind4.Refactor.append("extract");CodeActionKind4.RefactorInline=CodeActionKind4.Refactor.append("inline");CodeActionKind4.RefactorMove=CodeActionKind4.Refactor.append("move");CodeActionKind4.RefactorRewrite=CodeActionKind4.Refactor.append("rewrite");CodeActionKind4.Source=new CodeActionKind4("source");CodeActionKind4.SourceOrganizeImports=CodeActionKind4.Source.append("organizeImports");CodeActionKind4.SourceFixAll=CodeActionKind4.Source.append("fixAll");CodeActionKind4.SurroundWith=CodeActionKind4.Refactor.append("surround");var CodeActionTriggerSource;(function(CodeActionTriggerSource2){CodeActionTriggerSource2["Refactor"]="refactor";CodeActionTriggerSource2["RefactorPreview"]="refactor preview";CodeActionTriggerSource2["Lightbulb"]="lightbulb";CodeActionTriggerSource2["Default"]="other (default)";CodeActionTriggerSource2["SourceAction"]="source action";CodeActionTriggerSource2["QuickFix"]="quick fix action";CodeActionTriggerSource2["FixAll"]="fix all";CodeActionTriggerSource2["OrganizeImports"]="organize imports";CodeActionTriggerSource2["AutoFix"]="auto fix";CodeActionTriggerSource2["QuickFixHover"]="quick fix hover window";CodeActionTriggerSource2["OnSave"]="save participants";CodeActionTriggerSource2["ProblemsView"]="problems view"})(CodeActionTriggerSource||(CodeActionTriggerSource={}));function mayIncludeActionsOfKind(filter,providedKind){if(filter.include&&!filter.include.intersects(providedKind)){return false}if(filter.excludes){if(filter.excludes.some((exclude=>excludesAction(providedKind,exclude,filter.include)))){return false}}if(!filter.includeSourceActions&&CodeActionKind4.Source.contains(providedKind)){return false}return true}function filtersAction(filter,action){const actionKind=action.kind?new CodeActionKind4(action.kind):void 0;if(filter.include){if(!actionKind||!filter.include.contains(actionKind)){return false}}if(filter.excludes){if(actionKind&&filter.excludes.some((exclude=>excludesAction(actionKind,exclude,filter.include)))){return false}}if(!filter.includeSourceActions){if(actionKind&&CodeActionKind4.Source.contains(actionKind)){return false}}if(filter.onlyIncludePreferredActions){if(!action.isPreferred){return false}}return true}function excludesAction(providedKind,exclude,include){if(!exclude.contains(providedKind)){return false}if(include&&exclude.contains(include)){return false}return true}var CodeActionCommandArgs=class{static fromUser(arg,defaults){if(!arg||typeof arg!=="object"){return new CodeActionCommandArgs(defaults.kind,defaults.apply,false)}return new CodeActionCommandArgs(CodeActionCommandArgs.getKindFromUser(arg,defaults.kind),CodeActionCommandArgs.getApplyFromUser(arg,defaults.apply),CodeActionCommandArgs.getPreferredUser(arg))}static getApplyFromUser(arg,defaultAutoApply){switch(typeof arg.apply==="string"?arg.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return defaultAutoApply}}static getKindFromUser(arg,defaultKind){return typeof arg.kind==="string"?new CodeActionKind4(arg.kind):defaultKind}static getPreferredUser(arg){return typeof arg.preferred==="boolean"?arg.preferred:false}constructor(kind,apply2,preferred){this.kind=kind;this.apply=apply2;this.preferred=preferred}};var CodeActionItem=class{constructor(action,provider){this.action=action;this.provider=provider}resolve(token){var _a6;return __awaiter37(this,void 0,void 0,(function*(){if(((_a6=this.provider)===null||_a6===void 0?void 0:_a6.resolveCodeAction)&&!this.action.edit){let action;try{action=yield this.provider.resolveCodeAction(this.action,token)}catch(err){onUnexpectedExternalError(err)}if(action){this.action.edit=action.edit}}return this}))}};var __awaiter38=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var codeActionCommandId="editor.action.codeAction";var quickFixCommandId="editor.action.quickFix";var autoFixCommandId="editor.action.autoFix";var refactorCommandId="editor.action.refactor";var sourceActionCommandId="editor.action.sourceAction";var organizeImportsCommandId="editor.action.organizeImports";var fixAllCommandId="editor.action.fixAll";var ManagedCodeActionSet=class extends Disposable{static codeActionsPreferredComparator(a,b){if(a.isPreferred&&!b.isPreferred){return-1}else if(!a.isPreferred&&b.isPreferred){return 1}else{return 0}}static codeActionsComparator({action:a},{action:b}){if(isNonEmptyArray(a.diagnostics)){return isNonEmptyArray(b.diagnostics)?ManagedCodeActionSet.codeActionsPreferredComparator(a,b):-1}else if(isNonEmptyArray(b.diagnostics)){return 1}else{return ManagedCodeActionSet.codeActionsPreferredComparator(a,b)}}constructor(actions,documentation,disposables){super();this.documentation=documentation;this._register(disposables);this.allActions=[...actions].sort(ManagedCodeActionSet.codeActionsComparator);this.validActions=this.allActions.filter((({action:action})=>!action.disabled))}get hasAutoFix(){return this.validActions.some((({action:fix})=>!!fix.kind&&CodeActionKind4.QuickFix.contains(new CodeActionKind4(fix.kind))&&!!fix.isPreferred))}};var emptyCodeActionsResponse={actions:[],documentation:void 0};function getCodeActions(registry,model,rangeOrSelection,trigger,progress,token){var _a6;return __awaiter38(this,void 0,void 0,(function*(){const filter=trigger.filter||{};const codeActionContext={only:(_a6=filter.include)===null||_a6===void 0?void 0:_a6.value,trigger:trigger.type};const cts=new TextModelCancellationTokenSource(model,token);const providers=getCodeActionProviders(registry,model,filter);const disposables=new DisposableStore;const promises=providers.map((provider=>__awaiter38(this,void 0,void 0,(function*(){try{progress.report(provider);const providedCodeActions=yield provider.provideCodeActions(model,rangeOrSelection,codeActionContext,cts.token);if(providedCodeActions){disposables.add(providedCodeActions)}if(cts.token.isCancellationRequested){return emptyCodeActionsResponse}const filteredActions=((providedCodeActions===null||providedCodeActions===void 0?void 0:providedCodeActions.actions)||[]).filter((action=>action&&filtersAction(filter,action)));const documentation=getDocumentationFromProvider(provider,filteredActions,filter.include);return{actions:filteredActions.map((action=>new CodeActionItem(action,provider))),documentation:documentation}}catch(err){if(isCancellationError(err)){throw err}onUnexpectedExternalError(err);return emptyCodeActionsResponse}}))));const listener=registry.onDidChange((()=>{const newProviders=registry.all(model);if(!equals(newProviders,providers)){cts.cancel()}}));try{const actions=yield Promise.all(promises);const allActions=actions.map((x=>x.actions)).flat();const allDocumentation=[...coalesce(actions.map((x=>x.documentation))),...getAdditionalDocumentationForShowingActions(registry,model,trigger,allActions)];return new ManagedCodeActionSet(allActions,allDocumentation,disposables)}finally{listener.dispose();cts.dispose()}}))}function getCodeActionProviders(registry,model,filter){return registry.all(model).filter((provider=>{if(!provider.providedCodeActionKinds){return true}return provider.providedCodeActionKinds.some((kind=>mayIncludeActionsOfKind(filter,new CodeActionKind4(kind))))}))}function*getAdditionalDocumentationForShowingActions(registry,model,trigger,actionsToShow){var _a6,_b3,_c2;if(model&&actionsToShow.length){for(const provider of registry.all(model)){if(provider._getAdditionalMenuItems){yield*(_a6=provider._getAdditionalMenuItems)===null||_a6===void 0?void 0:_a6.call(provider,{trigger:trigger.type,only:(_c2=(_b3=trigger.filter)===null||_b3===void 0?void 0:_b3.include)===null||_c2===void 0?void 0:_c2.value},actionsToShow.map((item=>item.action)))}}}}function getDocumentationFromProvider(provider,providedCodeActions,only){if(!provider.documentation){return void 0}const documentation=provider.documentation.map((entry=>({kind:new CodeActionKind4(entry.kind),command:entry.command})));if(only){let currentBest;for(const entry of documentation){if(entry.kind.contains(only)){if(!currentBest){currentBest=entry}else{if(currentBest.kind.contains(entry.kind)){currentBest=entry}}}}if(currentBest){return currentBest===null||currentBest===void 0?void 0:currentBest.command}}for(const action of providedCodeActions){if(!action.kind){continue}for(const entry of documentation){if(entry.kind.contains(new CodeActionKind4(action.kind))){return entry.command}}}return void 0}var ApplyCodeActionReason;(function(ApplyCodeActionReason2){ApplyCodeActionReason2["OnSave"]="onSave";ApplyCodeActionReason2["FromProblemsView"]="fromProblemsView";ApplyCodeActionReason2["FromCodeActions"]="fromCodeActions"})(ApplyCodeActionReason||(ApplyCodeActionReason={}));function applyCodeAction(accessor,item,codeActionReason,options2,token=CancellationToken.None){var _a6;return __awaiter38(this,void 0,void 0,(function*(){const bulkEditService=accessor.get(IBulkEditService);const commandService=accessor.get(ICommandService);const telemetryService=accessor.get(ITelemetryService);const notificationService=accessor.get(INotificationService);telemetryService.publicLog2("codeAction.applyCodeAction",{codeActionTitle:item.action.title,codeActionKind:item.action.kind,codeActionIsPreferred:!!item.action.isPreferred,reason:codeActionReason});yield item.resolve(token);if(token.isCancellationRequested){return}if((_a6=item.action.edit)===null||_a6===void 0?void 0:_a6.edits.length){const result=yield bulkEditService.apply(item.action.edit,{editor:options2===null||options2===void 0?void 0:options2.editor,label:item.action.title,quotableLabel:item.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:codeActionReason!==ApplyCodeActionReason.OnSave,showPreview:options2===null||options2===void 0?void 0:options2.preview});if(!result.isApplied){return}}if(item.action.command){try{yield commandService.executeCommand(item.action.command.id,...item.action.command.arguments||[])}catch(err){const message=asMessage(err);notificationService.error(typeof message==="string"?message:localize("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}}))}function asMessage(err){if(typeof err==="string"){return err}else if(err instanceof Error&&typeof err.message==="string"){return err.message}else{return void 0}}CommandsRegistry.registerCommand("_executeCodeActionProvider",(function(accessor,resource,rangeOrSelection,kind,itemResolveCount){return __awaiter38(this,void 0,void 0,(function*(){if(!(resource instanceof URI)){throw illegalArgument()}const{codeActionProvider:codeActionProvider}=accessor.get(ILanguageFeaturesService);const model=accessor.get(IModelService).getModel(resource);if(!model){throw illegalArgument()}const validatedRangeOrSelection=Selection.isISelection(rangeOrSelection)?Selection.liftSelection(rangeOrSelection):Range.isIRange(rangeOrSelection)?model.validateRange(rangeOrSelection):void 0;if(!validatedRangeOrSelection){throw illegalArgument()}const include=typeof kind==="string"?new CodeActionKind4(kind):void 0;const codeActionSet=yield getCodeActions(codeActionProvider,model,validatedRangeOrSelection,{type:1,triggerAction:CodeActionTriggerSource.Default,filter:{includeSourceActions:true,include:include}},Progress.None,CancellationToken.None);const resolving=[];const resolveCount=Math.min(codeActionSet.validActions.length,typeof itemResolveCount==="number"?itemResolveCount:0);for(let i=0;i<resolveCount;i++){resolving.push(codeActionSet.validActions[i].resolve(CancellationToken.None))}try{yield Promise.all(resolving);return codeActionSet.validActions.map((item=>item.action))}finally{setTimeout((()=>codeActionSet.dispose()),100)}}))}));init_nls();init_contextkey();init_dom();init_errors();init_lazy();init_lifecycle();init_position();init_languageFeatures();init_lazy();init_keybinding();var __decorate53=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param46=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var CodeActionKeybindingResolver_1;var CodeActionKeybindingResolver=CodeActionKeybindingResolver_1=class CodeActionKeybindingResolver2{constructor(keybindingService){this.keybindingService=keybindingService}getResolver(){const allCodeActionBindings=new Lazy((()=>this.keybindingService.getKeybindings().filter((item=>CodeActionKeybindingResolver_1.codeActionCommands.indexOf(item.command)>=0)).filter((item=>item.resolvedKeybinding)).map((item=>{let commandArgs=item.commandArgs;if(item.command===organizeImportsCommandId){commandArgs={kind:CodeActionKind4.SourceOrganizeImports.value}}else if(item.command===fixAllCommandId){commandArgs={kind:CodeActionKind4.SourceFixAll.value}}return Object.assign({resolvedKeybinding:item.resolvedKeybinding},CodeActionCommandArgs.fromUser(commandArgs,{kind:CodeActionKind4.None,apply:"never"}))}))));return action=>{if(action.kind){const binding=this.bestKeybindingForCodeAction(action,allCodeActionBindings.value);return binding===null||binding===void 0?void 0:binding.resolvedKeybinding}return void 0}}bestKeybindingForCodeAction(action,candidates){if(!action.kind){return void 0}const kind=new CodeActionKind4(action.kind);return candidates.filter((candidate=>candidate.kind.contains(kind))).filter((candidate=>{if(candidate.preferred){return action.isPreferred}return true})).reduceRight(((currentBest,candidate)=>{if(!currentBest){return candidate}return currentBest.kind.contains(candidate.kind)?candidate:currentBest}),void 0)}};CodeActionKeybindingResolver.codeActionCommands=[refactorCommandId,codeActionCommandId,sourceActionCommandId,organizeImportsCommandId,fixAllCommandId];CodeActionKeybindingResolver=CodeActionKeybindingResolver_1=__decorate53([__param46(0,IKeybindingService)],CodeActionKeybindingResolver);init_codicons();init_nls();init_colorRegistry();var SYMBOL_ICON_ARRAY_FOREGROUND=registerColor("symbolIcon.arrayForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_BOOLEAN_FOREGROUND=registerColor("symbolIcon.booleanForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_CLASS_FOREGROUND=registerColor("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},localize("symbolIcon.classForeground","The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_COLOR_FOREGROUND=registerColor("symbolIcon.colorForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_CONSTANT_FOREGROUND=registerColor("symbolIcon.constantForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_CONSTRUCTOR_FOREGROUND=registerColor("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},localize("symbolIcon.constructorForeground","The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_ENUMERATOR_FOREGROUND=registerColor("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},localize("symbolIcon.enumeratorForeground","The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_ENUMERATOR_MEMBER_FOREGROUND=registerColor("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},localize("symbolIcon.enumeratorMemberForeground","The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_EVENT_FOREGROUND=registerColor("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},localize("symbolIcon.eventForeground","The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_FIELD_FOREGROUND=registerColor("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},localize("symbolIcon.fieldForeground","The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_FILE_FOREGROUND=registerColor("symbolIcon.fileForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_FOLDER_FOREGROUND=registerColor("symbolIcon.folderForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_FUNCTION_FOREGROUND=registerColor("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},localize("symbolIcon.functionForeground","The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_INTERFACE_FOREGROUND=registerColor("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},localize("symbolIcon.interfaceForeground","The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_KEY_FOREGROUND=registerColor("symbolIcon.keyForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_KEYWORD_FOREGROUND=registerColor("symbolIcon.keywordForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_METHOD_FOREGROUND=registerColor("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},localize("symbolIcon.methodForeground","The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_MODULE_FOREGROUND=registerColor("symbolIcon.moduleForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_NAMESPACE_FOREGROUND=registerColor("symbolIcon.namespaceForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_NULL_FOREGROUND=registerColor("symbolIcon.nullForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_NUMBER_FOREGROUND=registerColor("symbolIcon.numberForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_OBJECT_FOREGROUND=registerColor("symbolIcon.objectForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_OPERATOR_FOREGROUND=registerColor("symbolIcon.operatorForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_PACKAGE_FOREGROUND=registerColor("symbolIcon.packageForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_PROPERTY_FOREGROUND=registerColor("symbolIcon.propertyForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_REFERENCE_FOREGROUND=registerColor("symbolIcon.referenceForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_SNIPPET_FOREGROUND=registerColor("symbolIcon.snippetForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_STRING_FOREGROUND=registerColor("symbolIcon.stringForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_STRUCT_FOREGROUND=registerColor("symbolIcon.structForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_TEXT_FOREGROUND=registerColor("symbolIcon.textForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_TYPEPARAMETER_FOREGROUND=registerColor("symbolIcon.typeParameterForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_UNIT_FOREGROUND=registerColor("symbolIcon.unitForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));var SYMBOL_ICON_VARIABLE_FOREGROUND=registerColor("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},localize("symbolIcon.variableForeground","The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));init_nls();var uncategorizedCodeActionGroup=Object.freeze({kind:CodeActionKind4.Empty,title:localize("codeAction.widget.id.more","More Actions...")});var codeActionGroups=Object.freeze([{kind:CodeActionKind4.QuickFix,title:localize("codeAction.widget.id.quickfix","Quick Fix")},{kind:CodeActionKind4.RefactorExtract,title:localize("codeAction.widget.id.extract","Extract"),icon:Codicon.wrench},{kind:CodeActionKind4.RefactorInline,title:localize("codeAction.widget.id.inline","Inline"),icon:Codicon.wrench},{kind:CodeActionKind4.RefactorRewrite,title:localize("codeAction.widget.id.convert","Rewrite"),icon:Codicon.wrench},{kind:CodeActionKind4.RefactorMove,title:localize("codeAction.widget.id.move","Move"),icon:Codicon.wrench},{kind:CodeActionKind4.SurroundWith,title:localize("codeAction.widget.id.surround","Surround With"),icon:Codicon.symbolSnippet},{kind:CodeActionKind4.Source,title:localize("codeAction.widget.id.source","Source Action"),icon:Codicon.symbolFile},uncategorizedCodeActionGroup]);function toMenuItems(inputCodeActions,showHeaders,keybindingResolver){if(!showHeaders){return inputCodeActions.map((action=>({kind:"action",item:action,group:uncategorizedCodeActionGroup,disabled:!!action.action.disabled,label:action.action.disabled||action.action.title})))}const menuEntries=codeActionGroups.map((group3=>({group:group3,actions:[]})));for(const action of inputCodeActions){const kind=action.action.kind?new CodeActionKind4(action.action.kind):CodeActionKind4.None;for(const menuEntry of menuEntries){if(menuEntry.group.kind.contains(kind)){menuEntry.actions.push(action);break}}}const allMenuItems=[];for(const menuEntry of menuEntries){if(menuEntry.actions.length){allMenuItems.push({kind:"header",group:menuEntry.group});for(const action of menuEntry.actions){allMenuItems.push({kind:"action",item:action,group:menuEntry.group,label:action.action.title,disabled:!!action.action.disabled,keybinding:keybindingResolver(action.action)})}}}return allMenuItems}init_dom();init_touch();init_codicons();init_event();init_lifecycle();init_themables();init_utils2();init_nls();init_keybinding();var __decorate54=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param47=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var LightBulbWidget_1;var LightBulbState;(function(LightBulbState2){LightBulbState2.Hidden={type:0};class Showing{constructor(actions,trigger,editorPosition,widgetPosition){this.actions=actions;this.trigger=trigger;this.editorPosition=editorPosition;this.widgetPosition=widgetPosition;this.type=1}}LightBulbState2.Showing=Showing})(LightBulbState||(LightBulbState={}));var LightBulbWidget=LightBulbWidget_1=class LightBulbWidget2 extends Disposable{constructor(_editor,keybindingService){super();this._editor=_editor;this._onClick=this._register(new Emitter);this.onClick=this._onClick.event;this._state=LightBulbState.Hidden;this._domNode=$("div.lightBulbWidget");this._register(Gesture.ignoreTarget(this._domNode));this._editor.addContentWidget(this);this._register(this._editor.onDidChangeModelContent((_=>{const editorModel=this._editor.getModel();if(this.state.type!==1||!editorModel||this.state.editorPosition.lineNumber>=editorModel.getLineCount()){this.hide()}})));this._register(addStandardDisposableGenericMouseDownListener(this._domNode,(e=>{if(this.state.type!==1){return}this._editor.focus();e.preventDefault();const{top:top,height:height}=getDomNodePagePosition(this._domNode);const lineHeight=this._editor.getOption(65);let pad=Math.floor(lineHeight/3);if(this.state.widgetPosition.position!==null&&this.state.widgetPosition.position.lineNumber<this.state.editorPosition.lineNumber){pad+=lineHeight}this._onClick.fire({x:e.posx,y:top+height+pad,actions:this.state.actions,trigger:this.state.trigger})})));this._register(addDisposableListener(this._domNode,"mouseenter",(e=>{if((e.buttons&1)!==1){return}this.hide()})));this._register(this._editor.onDidChangeConfiguration((e=>{if(e.hasChanged(63)&&!this._editor.getOption(63).enabled){this.hide()}})));this._register(Event.runAndSubscribe(keybindingService.onDidUpdateKeybindings,(()=>{var _a6,_b3,_c2,_d2;this._preferredKbLabel=(_b3=(_a6=keybindingService.lookupKeybinding(autoFixCommandId))===null||_a6===void 0?void 0:_a6.getLabel())!==null&&_b3!==void 0?_b3:void 0;this._quickFixKbLabel=(_d2=(_c2=keybindingService.lookupKeybinding(quickFixCommandId))===null||_c2===void 0?void 0:_c2.getLabel())!==null&&_d2!==void 0?_d2:void 0;this._updateLightBulbTitleAndIcon()})))}dispose(){super.dispose();this._editor.removeContentWidget(this)}getId(){return"LightBulbWidget"}getDomNode(){return this._domNode}getPosition(){return this._state.type===1?this._state.widgetPosition:null}update(actions,trigger,atPosition){if(actions.validActions.length<=0){return this.hide()}const options2=this._editor.getOptions();if(!options2.get(63).enabled){return this.hide()}const model=this._editor.getModel();if(!model){return this.hide()}const{lineNumber:lineNumber,column:column}=model.validatePosition(atPosition);const tabSize=model.getOptions().tabSize;const fontInfo=options2.get(49);const lineContent=model.getLineContent(lineNumber);const indent=computeIndentLevel(lineContent,tabSize);const lineHasSpace=fontInfo.spaceWidth*indent>22;const isFolded=lineNumber2=>lineNumber2>2&&this._editor.getTopForLineNumber(lineNumber2)===this._editor.getTopForLineNumber(lineNumber2-1);let effectiveLineNumber=lineNumber;if(!lineHasSpace){if(lineNumber>1&&!isFolded(lineNumber-1)){effectiveLineNumber-=1}else if(!isFolded(lineNumber+1)){effectiveLineNumber+=1}else if(column*fontInfo.spaceWidth<22){return this.hide()}}this.state=new LightBulbState.Showing(actions,trigger,atPosition,{position:{lineNumber:effectiveLineNumber,column:1},preference:LightBulbWidget_1._posPref});this._editor.layoutContentWidget(this)}hide(){if(this.state===LightBulbState.Hidden){return}this.state=LightBulbState.Hidden;this._editor.layoutContentWidget(this)}get state(){return this._state}set state(value){this._state=value;this._updateLightBulbTitleAndIcon()}_updateLightBulbTitleAndIcon(){if(this.state.type===1&&this.state.actions.hasAutoFix){this._domNode.classList.remove(...ThemeIcon.asClassNameArray(Codicon.lightBulb));this._domNode.classList.add(...ThemeIcon.asClassNameArray(Codicon.lightbulbAutofix));if(this._preferredKbLabel){this.title=localize("preferredcodeActionWithKb","Show Code Actions. Preferred Quick Fix Available ({0})",this._preferredKbLabel);return}}this._domNode.classList.remove(...ThemeIcon.asClassNameArray(Codicon.lightbulbAutofix));this._domNode.classList.add(...ThemeIcon.asClassNameArray(Codicon.lightBulb));if(this._quickFixKbLabel){this.title=localize("codeActionWithKb","Show Code Actions ({0})",this._quickFixKbLabel)}else{this.title=localize("codeAction","Show Code Actions")}}set title(value){this._domNode.title=value}};LightBulbWidget.ID="editor.contrib.lightbulbWidget";LightBulbWidget._posPref=[0];LightBulbWidget=LightBulbWidget_1=__decorate54([__param47(1,IKeybindingService)],LightBulbWidget);init_markdownRenderer();init_aria();init_event();init_htmlContent();init_lifecycle();init_editorExtensions();init_range();init_markdownRenderer();init_trustedTypes();init_errors();init_event();init_lifecycle();init_domFontInfo();init_language();init_modesRegistry();init_textToHtmlTokenizer();init_opener();var __decorate55=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param48=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter39=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var MarkdownRenderer_1;var MarkdownRenderer=MarkdownRenderer_1=class MarkdownRenderer2{constructor(_options,_languageService,_openerService){this._options=_options;this._languageService=_languageService;this._openerService=_openerService;this._onDidRenderAsync=new Emitter;this.onDidRenderAsync=this._onDidRenderAsync.event}dispose(){this._onDidRenderAsync.dispose()}render(markdown,options2,markedOptions){if(!markdown){const element=document.createElement("span");return{element:element,dispose:()=>{}}}const disposables=new DisposableStore;const rendered=disposables.add(renderMarkdown(markdown,Object.assign(Object.assign({},this._getRenderOptions(markdown,disposables)),options2),markedOptions));rendered.element.classList.add("rendered-markdown");return{element:rendered.element,dispose:()=>disposables.dispose()}}_getRenderOptions(markdown,disposables){return{codeBlockRenderer:(languageAlias,value)=>__awaiter39(this,void 0,void 0,(function*(){var _a6,_b3,_c2;let languageId;if(languageAlias){languageId=this._languageService.getLanguageIdByLanguageName(languageAlias)}else if(this._options.editor){languageId=(_a6=this._options.editor.getModel())===null||_a6===void 0?void 0:_a6.getLanguageId()}if(!languageId){languageId=PLAINTEXT_LANGUAGE_ID}const html2=yield tokenizeToString(this._languageService,value,languageId);const element=document.createElement("span");element.innerHTML=(_c2=(_b3=MarkdownRenderer_1._ttpTokenizer)===null||_b3===void 0?void 0:_b3.createHTML(html2))!==null&&_c2!==void 0?_c2:html2;if(this._options.editor){const fontInfo=this._options.editor.getOption(49);applyFontInfo(element,fontInfo)}else if(this._options.codeBlockFontFamily){element.style.fontFamily=this._options.codeBlockFontFamily}if(this._options.codeBlockFontSize!==void 0){element.style.fontSize=this._options.codeBlockFontSize}return element})),asyncRenderCallback:()=>this._onDidRenderAsync.fire(),actionHandler:{callback:link=>openLinkFromMarkdown(this._openerService,link,markdown.isTrusted),disposables:disposables}}}};MarkdownRenderer._ttpTokenizer=createTrustedTypesPolicy("tokenizeToString",{createHTML(html2){return html2}});MarkdownRenderer=MarkdownRenderer_1=__decorate55([__param48(1,ILanguageService),__param48(2,IOpenerService)],MarkdownRenderer);function openLinkFromMarkdown(openerService,link,isTrusted){return __awaiter39(this,void 0,void 0,(function*(){try{return yield openerService.open(link,{fromUserGesture:true,allowContributedOpeners:true,allowCommands:toAllowCommandsOption(isTrusted)})}catch(e){onUnexpectedError(e);return false}}))}function toAllowCommandsOption(isTrusted){if(isTrusted===true){return true}if(isTrusted&&Array.isArray(isTrusted.enabledCommands)){return isTrusted.enabledCommands}return false}init_nls();init_contextkey();init_opener();init_dom();var __decorate56=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param49=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var MessageController_1;var MessageController=MessageController_1=class MessageController2{static get(editor2){return editor2.getContribution(MessageController_1.ID)}constructor(editor2,contextKeyService,_openerService){this._openerService=_openerService;this._messageWidget=new MutableDisposable;this._messageListeners=new DisposableStore;this._mouseOverMessage=false;this._editor=editor2;this._visible=MessageController_1.MESSAGE_VISIBLE.bindTo(contextKeyService)}dispose(){var _a6;(_a6=this._message)===null||_a6===void 0?void 0:_a6.dispose();this._messageListeners.dispose();this._messageWidget.dispose();this._visible.reset()}showMessage(message,position){alert(isMarkdownString(message)?message.value:message);this._visible.set(true);this._messageWidget.clear();this._messageListeners.clear();this._message=isMarkdownString(message)?renderMarkdown(message,{actionHandler:{callback:url=>openLinkFromMarkdown(this._openerService,url,isMarkdownString(message)?message.isTrusted:void 0),disposables:this._messageListeners}}):void 0;this._messageWidget.value=new MessageWidget(this._editor,position,typeof message==="string"?message:this._message.element);this._messageListeners.add(Event.debounce(this._editor.onDidBlurEditorText,((last,event)=>event),0)((()=>{if(this._mouseOverMessage){return}if(this._messageWidget.value&&isAncestor(document.activeElement,this._messageWidget.value.getDomNode())){return}this.closeMessage()})));this._messageListeners.add(this._editor.onDidChangeCursorPosition((()=>this.closeMessage())));this._messageListeners.add(this._editor.onDidDispose((()=>this.closeMessage())));this._messageListeners.add(this._editor.onDidChangeModel((()=>this.closeMessage())));this._messageListeners.add(addDisposableListener(this._messageWidget.value.getDomNode(),EventType.MOUSE_ENTER,(()=>this._mouseOverMessage=true),true));this._messageListeners.add(addDisposableListener(this._messageWidget.value.getDomNode(),EventType.MOUSE_LEAVE,(()=>this._mouseOverMessage=false),true));let bounds;this._messageListeners.add(this._editor.onMouseMove((e=>{if(!e.target.position){return}if(!bounds){bounds=new Range(position.lineNumber-3,1,e.target.position.lineNumber+3,1)}else if(!bounds.containsPosition(e.target.position)){this.closeMessage()}})))}closeMessage(){this._visible.reset();this._messageListeners.clear();if(this._messageWidget.value){this._messageListeners.add(MessageWidget.fadeOut(this._messageWidget.value))}}};MessageController.ID="editor.contrib.messageController";MessageController.MESSAGE_VISIBLE=new RawContextKey("messageVisible",false,localize("messageVisible","Whether the editor is currently showing an inline message"));MessageController=MessageController_1=__decorate56([__param49(1,IContextKeyService),__param49(2,IOpenerService)],MessageController);var MessageCommand=EditorCommand.bindToContribution(MessageController.get);registerEditorCommand(new MessageCommand({id:"leaveEditorMessage",precondition:MessageController.MESSAGE_VISIBLE,handler:c=>c.closeMessage(),kbOpts:{weight:100+30,primary:9}}));var MessageWidget=class{static fadeOut(messageWidget){const dispose2=()=>{messageWidget.dispose();clearTimeout(handle);messageWidget.getDomNode().removeEventListener("animationend",dispose2)};const handle=setTimeout(dispose2,110);messageWidget.getDomNode().addEventListener("animationend",dispose2);messageWidget.getDomNode().classList.add("fadeOut");return{dispose:dispose2}}constructor(editor2,{lineNumber:lineNumber,column:column},text2){this.allowEditorOverflow=true;this.suppressMouseDown=false;this._editor=editor2;this._editor.revealLinesInCenterIfOutsideViewport(lineNumber,lineNumber,0);this._position={lineNumber:lineNumber,column:column};this._domNode=document.createElement("div");this._domNode.classList.add("monaco-editor-overlaymessage");this._domNode.style.marginLeft="-6px";const anchorTop=document.createElement("div");anchorTop.classList.add("anchor","top");this._domNode.appendChild(anchorTop);const message=document.createElement("div");if(typeof text2==="string"){message.classList.add("message");message.textContent=text2}else{text2.classList.add("message");message.appendChild(text2)}this._domNode.appendChild(message);const anchorBottom=document.createElement("div");anchorBottom.classList.add("anchor","below");this._domNode.appendChild(anchorBottom);this._editor.addContentWidget(this);this._domNode.classList.add("fadeIn")}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(position){this._domNode.classList.toggle("below",position===2)}};registerEditorContribution(MessageController.ID,MessageController,4);init_nls();init_dom();init_actionbar();init_lifecycle();init_nls();init_dom();init_keybindingLabel();init_listWidget();init_codicons();init_lifecycle();init_platform();init_themables();init_nls();init_contextView();init_keybinding();init_defaultStyles();init_colorRegistry();var __decorate57=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param50=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var acceptSelectedActionCommand="acceptSelectedCodeAction";var previewSelectedActionCommand="previewSelectedCodeAction";var HeaderRenderer=class{get templateId(){return"header"}renderTemplate(container){container.classList.add("group-header");const text2=document.createElement("span");container.append(text2);return{container:container,text:text2}}renderElement(element,_index,templateData){var _a6,_b3;templateData.text.textContent=(_b3=(_a6=element.group)===null||_a6===void 0?void 0:_a6.title)!==null&&_b3!==void 0?_b3:""}disposeTemplate(_templateData){}};var ActionItemRenderer=class ActionItemRenderer2{get templateId(){return"action"}constructor(_supportsPreview,_keybindingService){this._supportsPreview=_supportsPreview;this._keybindingService=_keybindingService}renderTemplate(container){container.classList.add(this.templateId);const icon=document.createElement("div");icon.className="icon";container.append(icon);const text2=document.createElement("span");text2.className="title";container.append(text2);const keybinding=new KeybindingLabel(container,OS);return{container:container,icon:icon,text:text2,keybinding:keybinding}}renderElement(element,_index,data){var _a6,_b3,_c2;if((_a6=element.group)===null||_a6===void 0?void 0:_a6.icon){data.icon.className=ThemeIcon.asClassName(element.group.icon);if(element.group.icon.color){data.icon.style.color=asCssVariable(element.group.icon.color.id)}}else{data.icon.className=ThemeIcon.asClassName(Codicon.lightBulb);data.icon.style.color="var(--vscode-editorLightBulb-foreground)"}if(!element.item||!element.label){return}data.text.textContent=stripNewlines(element.label);data.keybinding.set(element.keybinding);setVisibility(!!element.keybinding,data.keybinding.element);const actionTitle=(_b3=this._keybindingService.lookupKeybinding(acceptSelectedActionCommand))===null||_b3===void 0?void 0:_b3.getLabel();const previewTitle=(_c2=this._keybindingService.lookupKeybinding(previewSelectedActionCommand))===null||_c2===void 0?void 0:_c2.getLabel();data.container.classList.toggle("option-disabled",element.disabled);if(element.disabled){data.container.title=element.label}else if(actionTitle&&previewTitle){if(this._supportsPreview){data.container.title=localize({key:"label-preview",comment:['placeholders are keybindings, e.g "F2 to apply, Shift+F2 to preview"']},"{0} to apply, {1} to preview",actionTitle,previewTitle)}else{data.container.title=localize({key:"label",comment:['placeholder is a keybinding, e.g "F2 to apply"']},"{0} to apply",actionTitle)}}else{data.container.title=""}}disposeTemplate(_templateData){}};ActionItemRenderer=__decorate57([__param50(1,IKeybindingService)],ActionItemRenderer);var AcceptSelectedEvent=class extends UIEvent{constructor(){super("acceptSelectedAction")}};var PreviewSelectedEvent=class extends UIEvent{constructor(){super("previewSelectedAction")}};function getKeyboardNavigationLabel(item){if(item.kind==="action"){return item.label}return void 0}var ActionList=class ActionList2 extends Disposable{constructor(user,preview,items,_delegate,_contextViewService,_keybindingService){super();this._delegate=_delegate;this._contextViewService=_contextViewService;this._keybindingService=_keybindingService;this._actionLineHeight=24;this._headerLineHeight=26;this.domNode=document.createElement("div");this.domNode.classList.add("actionList");const virtualDelegate={getHeight:element=>element.kind==="header"?this._headerLineHeight:this._actionLineHeight,getTemplateId:element=>element.kind};this._list=this._register(new List(user,this.domNode,virtualDelegate,[new ActionItemRenderer(preview,this._keybindingService),new HeaderRenderer],{keyboardSupport:false,typeNavigationEnabled:true,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:getKeyboardNavigationLabel},accessibilityProvider:{getAriaLabel:element=>{if(element.kind==="action"){let label=element.label?stripNewlines(element===null||element===void 0?void 0:element.label):"";if(element.disabled){label=localize({key:"customQuickFixWidget.labels",comment:[`Action widget labels for accessibility.`]},"{0}, Disabled Reason: {1}",label,element.disabled)}return label}return null},getWidgetAriaLabel:()=>localize({key:"customQuickFixWidget",comment:[`An action widget option`]},"Action Widget"),getRole:e=>e.kind==="action"?"option":"separator",getWidgetRole:()=>"listbox"}}));this._list.style(defaultListStyles);this._register(this._list.onMouseClick((e=>this.onListClick(e))));this._register(this._list.onMouseOver((e=>this.onListHover(e))));this._register(this._list.onDidChangeFocus((()=>this._list.domFocus())));this._register(this._list.onDidChangeSelection((e=>this.onListSelection(e))));this._allMenuItems=items;this._list.splice(0,this._list.length,this._allMenuItems);if(this._list.length){this.focusNext()}}focusCondition(element){return!element.disabled&&element.kind==="action"}hide(didCancel){this._delegate.onHide(didCancel);this._contextViewService.hideContextView()}layout(minWidth){const numHeaders=this._allMenuItems.filter((item=>item.kind==="header")).length;const itemsHeight=this._allMenuItems.length*this._actionLineHeight;const heightWithHeaders=itemsHeight+numHeaders*this._headerLineHeight-numHeaders*this._actionLineHeight;this._list.layout(heightWithHeaders);const itemWidths=this._allMenuItems.map(((_,index)=>{const element=document.getElementById(this._list.getElementID(index));if(element){element.style.width="auto";const width2=element.getBoundingClientRect().width;element.style.width="";return width2}return 0}));const width=Math.max(...itemWidths,minWidth);const maxVhPrecentage=.7;const height=Math.min(heightWithHeaders,document.body.clientHeight*maxVhPrecentage);this._list.layout(height,width);this.domNode.style.height=`${height}px`;this._list.domFocus();return width}focusPrevious(){this._list.focusPrevious(1,true,void 0,this.focusCondition)}focusNext(){this._list.focusNext(1,true,void 0,this.focusCondition)}acceptSelected(preview){const focused=this._list.getFocus();if(focused.length===0){return}const focusIndex=focused[0];const element=this._list.element(focusIndex);if(!this.focusCondition(element)){return}const event=preview?new PreviewSelectedEvent:new AcceptSelectedEvent;this._list.setSelection([focusIndex],event)}onListSelection(e){if(!e.elements.length){return}const element=e.elements[0];if(element.item&&this.focusCondition(element)){this._delegate.onSelect(element.item,e.browserEvent instanceof PreviewSelectedEvent)}else{this._list.setSelection([])}}onListHover(e){this._list.setFocus(typeof e.index==="number"?[e.index]:[])}onListClick(e){if(e.element&&this.focusCondition(e.element)){this._list.setFocus([])}}};ActionList=__decorate57([__param50(4,IContextViewService),__param50(5,IKeybindingService)],ActionList);function stripNewlines(str){return str.replace(/\r\n|\r|\n/g," ")}init_actions2();init_contextkey();init_contextView();init_extensions();init_instantiation();init_colorRegistry();var __decorate58=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param51=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};registerColor("actionBar.toggledBackground",{dark:inputActiveOptionBackground,light:inputActiveOptionBackground,hcDark:inputActiveOptionBackground,hcLight:inputActiveOptionBackground},localize("actionBar.toggledBackground","Background color for toggled action items in action bar."));var ActionWidgetContextKeys={Visible:new RawContextKey("codeActionMenuVisible",false,localize("codeActionMenuVisible","Whether the action widget list is visible"))};var IActionWidgetService=createDecorator("actionWidgetService");var ActionWidgetService=class ActionWidgetService2 extends Disposable{get isVisible(){return ActionWidgetContextKeys.Visible.getValue(this._contextKeyService)||false}constructor(_contextViewService,_contextKeyService,_instantiationService){super();this._contextViewService=_contextViewService;this._contextKeyService=_contextKeyService;this._instantiationService=_instantiationService;this._list=this._register(new MutableDisposable)}show(user,supportsPreview,items,delegate,anchor,container,actionBarActions){const visibleContext=ActionWidgetContextKeys.Visible.bindTo(this._contextKeyService);const list=this._instantiationService.createInstance(ActionList,user,supportsPreview,items,delegate);this._contextViewService.showContextView({getAnchor:()=>anchor,render:container2=>{visibleContext.set(true);return this._renderWidget(container2,list,actionBarActions!==null&&actionBarActions!==void 0?actionBarActions:[])},onHide:didCancel=>{visibleContext.reset();this._onWidgetClosed(didCancel)}},container,false)}acceptSelected(preview){var _a6;(_a6=this._list.value)===null||_a6===void 0?void 0:_a6.acceptSelected(preview)}focusPrevious(){var _a6,_b3;(_b3=(_a6=this._list)===null||_a6===void 0?void 0:_a6.value)===null||_b3===void 0?void 0:_b3.focusPrevious()}focusNext(){var _a6,_b3;(_b3=(_a6=this._list)===null||_a6===void 0?void 0:_a6.value)===null||_b3===void 0?void 0:_b3.focusNext()}hide(){var _a6;(_a6=this._list.value)===null||_a6===void 0?void 0:_a6.hide();this._list.clear()}_renderWidget(element,list,actionBarActions){var _a6;const widget=document.createElement("div");widget.classList.add("action-widget");element.appendChild(widget);this._list.value=list;if(this._list.value){widget.appendChild(this._list.value.domNode)}else{throw new Error("List has no value")}const renderDisposables=new DisposableStore;const menuBlock=document.createElement("div");const block=element.appendChild(menuBlock);block.classList.add("context-view-block");renderDisposables.add(addDisposableListener(block,EventType.MOUSE_DOWN,(e=>e.stopPropagation())));const pointerBlockDiv=document.createElement("div");const pointerBlock=element.appendChild(pointerBlockDiv);pointerBlock.classList.add("context-view-pointerBlock");renderDisposables.add(addDisposableListener(pointerBlock,EventType.POINTER_MOVE,(()=>pointerBlock.remove())));renderDisposables.add(addDisposableListener(pointerBlock,EventType.MOUSE_DOWN,(()=>pointerBlock.remove())));let actionBarWidth=0;if(actionBarActions.length){const actionBar=this._createActionBar(".action-widget-action-bar",actionBarActions);if(actionBar){widget.appendChild(actionBar.getContainer().parentElement);renderDisposables.add(actionBar);actionBarWidth=actionBar.getContainer().offsetWidth}}const width=(_a6=this._list.value)===null||_a6===void 0?void 0:_a6.layout(actionBarWidth);widget.style.width=`${width}px`;const focusTracker=renderDisposables.add(trackFocus(element));renderDisposables.add(focusTracker.onDidBlur((()=>this.hide())));return renderDisposables}_createActionBar(className,actions){if(!actions.length){return void 0}const container=$(className);const actionBar=new ActionBar(container);actionBar.push(actions,{icon:false,label:true});return actionBar}_onWidgetClosed(didCancel){var _a6;(_a6=this._list.value)===null||_a6===void 0?void 0:_a6.hide(didCancel)}};ActionWidgetService=__decorate58([__param51(0,IContextViewService),__param51(1,IContextKeyService),__param51(2,IInstantiationService)],ActionWidgetService);registerSingleton(IActionWidgetService,ActionWidgetService,1);var weight=100+1e3;registerAction2(class extends Action2{constructor(){super({id:"hideCodeActionWidget",title:{value:localize("hideCodeActionWidget.title","Hide action widget"),original:"Hide action widget"},precondition:ActionWidgetContextKeys.Visible,keybinding:{weight:weight,primary:9,secondary:[1024|9]}})}run(accessor){accessor.get(IActionWidgetService).hide()}});registerAction2(class extends Action2{constructor(){super({id:"selectPrevCodeAction",title:{value:localize("selectPrevCodeAction.title","Select previous action"),original:"Select previous action"},precondition:ActionWidgetContextKeys.Visible,keybinding:{weight:weight,primary:16,secondary:[2048|16],mac:{primary:16,secondary:[2048|16,256|46]}}})}run(accessor){const widgetService=accessor.get(IActionWidgetService);if(widgetService instanceof ActionWidgetService){widgetService.focusPrevious()}}});registerAction2(class extends Action2{constructor(){super({id:"selectNextCodeAction",title:{value:localize("selectNextCodeAction.title","Select next action"),original:"Select next action"},precondition:ActionWidgetContextKeys.Visible,keybinding:{weight:weight,primary:18,secondary:[2048|18],mac:{primary:18,secondary:[2048|18,256|44]}}})}run(accessor){const widgetService=accessor.get(IActionWidgetService);if(widgetService instanceof ActionWidgetService){widgetService.focusNext()}}});registerAction2(class extends Action2{constructor(){super({id:acceptSelectedActionCommand,title:{value:localize("acceptSelected.title","Accept selected action"),original:"Accept selected action"},precondition:ActionWidgetContextKeys.Visible,keybinding:{weight:weight,primary:3,secondary:[2048|89]}})}run(accessor){const widgetService=accessor.get(IActionWidgetService);if(widgetService instanceof ActionWidgetService){widgetService.acceptSelected()}}});registerAction2(class extends Action2{constructor(){super({id:previewSelectedActionCommand,title:{value:localize("previewSelected.title","Preview selected action"),original:"Preview selected action"},precondition:ActionWidgetContextKeys.Visible,keybinding:{weight:weight,primary:2048|3}})}run(accessor){const widgetService=accessor.get(IActionWidgetService);if(widgetService instanceof ActionWidgetService){widgetService.acceptSelected(true)}}});init_commands();init_configuration();init_contextkey();init_instantiation();init_markers();init_progress();init_async();init_errors();init_event();init_lifecycle();init_resources();init_contextkey();init_progress();var SUPPORTED_CODE_ACTIONS=new RawContextKey("supportedCodeAction","");var CodeActionOracle=class extends Disposable{constructor(_editor,_markerService,_signalChange,_delay=250){super();this._editor=_editor;this._markerService=_markerService;this._signalChange=_signalChange;this._delay=_delay;this._autoTriggerTimer=this._register(new TimeoutTimer);this._register(this._markerService.onMarkerChanged((e=>this._onMarkerChanges(e))));this._register(this._editor.onDidChangeCursorPosition((()=>this._tryAutoTrigger())))}trigger(trigger){const selection=this._getRangeOfSelectionUnlessWhitespaceEnclosed(trigger);this._signalChange(selection?{trigger:trigger,selection:selection}:void 0)}_onMarkerChanges(resources){const model=this._editor.getModel();if(model&&resources.some((resource=>isEqual(resource,model.uri)))){this._tryAutoTrigger()}}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet((()=>{this.trigger({type:2,triggerAction:CodeActionTriggerSource.Default})}),this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(trigger){if(!this._editor.hasModel()){return void 0}const model=this._editor.getModel();const selection=this._editor.getSelection();if(selection.isEmpty()&&trigger.type===2){const{lineNumber:lineNumber,column:column}=selection.getPosition();const line=model.getLineContent(lineNumber);if(line.length===0){return void 0}else if(column===1){if(/\s/.test(line[0])){return void 0}}else if(column===model.getLineMaxColumn(lineNumber)){if(/\s/.test(line[line.length-1])){return void 0}}else{if(/\s/.test(line[column-2])&&/\s/.test(line[column-1])){return void 0}}}return selection}};var CodeActionsState;(function(CodeActionsState2){CodeActionsState2.Empty={type:0};class Triggered{constructor(trigger,position,_cancellablePromise){this.trigger=trigger;this.position=position;this._cancellablePromise=_cancellablePromise;this.type=1;this.actions=_cancellablePromise.catch((e=>{if(isCancellationError(e)){return emptyCodeActionSet}throw e}))}cancel(){this._cancellablePromise.cancel()}}CodeActionsState2.Triggered=Triggered})(CodeActionsState||(CodeActionsState={}));var emptyCodeActionSet=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:false});var CodeActionModel=class extends Disposable{constructor(_editor,_registry2,_markerService,contextKeyService,_progressService){super();this._editor=_editor;this._registry=_registry2;this._markerService=_markerService;this._progressService=_progressService;this._codeActionOracle=this._register(new MutableDisposable);this._state=CodeActionsState.Empty;this._onDidChangeState=this._register(new Emitter);this.onDidChangeState=this._onDidChangeState.event;this._disposed=false;this._supportedCodeActions=SUPPORTED_CODE_ACTIONS.bindTo(contextKeyService);this._register(this._editor.onDidChangeModel((()=>this._update())));this._register(this._editor.onDidChangeModelLanguage((()=>this._update())));this._register(this._registry.onDidChange((()=>this._update())));this._update()}dispose(){if(this._disposed){return}this._disposed=true;super.dispose();this.setState(CodeActionsState.Empty,true)}_update(){if(this._disposed){return}this._codeActionOracle.value=void 0;this.setState(CodeActionsState.Empty);const model=this._editor.getModel();if(model&&this._registry.has(model)&&!this._editor.getOption(89)){const supportedActions=this._registry.all(model).flatMap((provider=>{var _a6;return(_a6=provider.providedCodeActionKinds)!==null&&_a6!==void 0?_a6:[]}));this._supportedCodeActions.set(supportedActions.join(" "));this._codeActionOracle.value=new CodeActionOracle(this._editor,this._markerService,(trigger=>{var _a6;if(!trigger){this.setState(CodeActionsState.Empty);return}const actions=createCancelablePromise((token=>getCodeActions(this._registry,model,trigger.selection,trigger.trigger,Progress.None,token)));if(trigger.trigger.type===1){(_a6=this._progressService)===null||_a6===void 0?void 0:_a6.showWhile(actions,250)}this.setState(new CodeActionsState.Triggered(trigger.trigger,trigger.selection.getStartPosition(),actions))}),void 0);this._codeActionOracle.value.trigger({type:2,triggerAction:CodeActionTriggerSource.Default})}else{this._supportedCodeActions.reset()}}trigger(trigger){var _a6;(_a6=this._codeActionOracle.value)===null||_a6===void 0?void 0:_a6.trigger(trigger)}setState(newState,skipNotify){if(newState===this._state){return}if(this._state.type===1){this._state.cancel()}this._state=newState;if(!skipNotify&&!this._disposed){this._onDidChangeState.fire(newState)}}};var __decorate59=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param52=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter40=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var CodeActionController_1;var CodeActionController=CodeActionController_1=class CodeActionController2 extends Disposable{static get(editor2){return editor2.getContribution(CodeActionController_1.ID)}constructor(editor2,markerService,contextKeyService,instantiationService,languageFeaturesService,progressService,_commandService,_configurationService,_actionWidgetService,_instantiationService){super();this._commandService=_commandService;this._configurationService=_configurationService;this._actionWidgetService=_actionWidgetService;this._instantiationService=_instantiationService;this._activeCodeActions=this._register(new MutableDisposable);this._showDisabled=false;this._disposed=false;this._editor=editor2;this._model=this._register(new CodeActionModel(this._editor,languageFeaturesService.codeActionProvider,markerService,contextKeyService,progressService));this._register(this._model.onDidChangeState((newState=>this.update(newState))));this._lightBulbWidget=new Lazy((()=>{const widget=this._editor.getContribution(LightBulbWidget.ID);if(widget){this._register(widget.onClick((e=>this.showCodeActionList(e.actions,e,{includeDisabledActions:false,fromLightbulb:true}))))}return widget}));this._resolver=instantiationService.createInstance(CodeActionKeybindingResolver);this._register(this._editor.onDidLayoutChange((()=>this._actionWidgetService.hide())))}dispose(){this._disposed=true;super.dispose()}showCodeActions(_trigger,actions,at){return this.showCodeActionList(actions,at,{includeDisabledActions:false,fromLightbulb:false})}manualTriggerAtCurrentPosition(notAvailableMessage,triggerAction,filter,autoApply){var _a6;if(!this._editor.hasModel()){return}(_a6=MessageController.get(this._editor))===null||_a6===void 0?void 0:_a6.closeMessage();const triggerPosition=this._editor.getPosition();this._trigger({type:1,triggerAction:triggerAction,filter:filter,autoApply:autoApply,context:{notAvailableMessage:notAvailableMessage,position:triggerPosition}})}_trigger(trigger){return this._model.trigger(trigger)}_applyCodeAction(action,retrigger,preview){return __awaiter40(this,void 0,void 0,(function*(){try{yield this._instantiationService.invokeFunction(applyCodeAction,action,ApplyCodeActionReason.FromCodeActions,{preview:preview,editor:this._editor})}finally{if(retrigger){this._trigger({type:2,triggerAction:CodeActionTriggerSource.QuickFix,filter:{}})}}}))}update(newState){var _a6,_b3,_c2,_d2,_e2,_f2,_g2;return __awaiter40(this,void 0,void 0,(function*(){if(newState.type!==1){(_a6=this._lightBulbWidget.rawValue)===null||_a6===void 0?void 0:_a6.hide();return}let actions;try{actions=yield newState.actions}catch(e){onUnexpectedError(e);return}if(this._disposed){return}(_b3=this._lightBulbWidget.value)===null||_b3===void 0?void 0:_b3.update(actions,newState.trigger,newState.position);if(newState.trigger.type===1){if((_c2=newState.trigger.filter)===null||_c2===void 0?void 0:_c2.include){const validActionToApply=this.tryGetValidActionToApply(newState.trigger,actions);if(validActionToApply){try{(_d2=this._lightBulbWidget.value)===null||_d2===void 0?void 0:_d2.hide();yield this._applyCodeAction(validActionToApply,false,false)}finally{actions.dispose()}return}if(newState.trigger.context){const invalidAction=this.getInvalidActionThatWouldHaveBeenApplied(newState.trigger,actions);if(invalidAction&&invalidAction.action.disabled){(_e2=MessageController.get(this._editor))===null||_e2===void 0?void 0:_e2.showMessage(invalidAction.action.disabled,newState.trigger.context.position);actions.dispose();return}}}const includeDisabledActions=!!((_f2=newState.trigger.filter)===null||_f2===void 0?void 0:_f2.include);if(newState.trigger.context){if(!actions.allActions.length||!includeDisabledActions&&!actions.validActions.length){(_g2=MessageController.get(this._editor))===null||_g2===void 0?void 0:_g2.showMessage(newState.trigger.context.notAvailableMessage,newState.trigger.context.position);this._activeCodeActions.value=actions;actions.dispose();return}}this._activeCodeActions.value=actions;this.showCodeActionList(actions,this.toCoords(newState.position),{includeDisabledActions:includeDisabledActions,fromLightbulb:false})}else{if(this._actionWidgetService.isVisible){actions.dispose()}else{this._activeCodeActions.value=actions}}}))}getInvalidActionThatWouldHaveBeenApplied(trigger,actions){if(!actions.allActions.length){return void 0}if(trigger.autoApply==="first"&&actions.validActions.length===0||trigger.autoApply==="ifSingle"&&actions.allActions.length===1){return actions.allActions.find((({action:action})=>action.disabled))}return void 0}tryGetValidActionToApply(trigger,actions){if(!actions.validActions.length){return void 0}if(trigger.autoApply==="first"&&actions.validActions.length>0||trigger.autoApply==="ifSingle"&&actions.validActions.length===1){return actions.validActions[0]}return void 0}showCodeActionList(actions,at,options2){return __awaiter40(this,void 0,void 0,(function*(){const editorDom=this._editor.getDomNode();if(!editorDom){return}const actionsToShow=options2.includeDisabledActions&&(this._showDisabled||actions.validActions.length===0)?actions.allActions:actions.validActions;if(!actionsToShow.length){return}const anchor=Position.isIPosition(at)?this.toCoords(at):at;const delegate={onSelect:(action,preview)=>__awaiter40(this,void 0,void 0,(function*(){this._applyCodeAction(action,true,!!preview);this._actionWidgetService.hide()})),onHide:()=>{var _a6;(_a6=this._editor)===null||_a6===void 0?void 0:_a6.focus()}};this._actionWidgetService.show("codeActionWidget",true,toMenuItems(actionsToShow,this._shouldShowHeaders(),this._resolver.getResolver()),delegate,anchor,editorDom,this._getActionBarActions(actions,at,options2))}))}toCoords(position){if(!this._editor.hasModel()){return{x:0,y:0}}this._editor.revealPosition(position,1);this._editor.render();const cursorCoords=this._editor.getScrolledVisiblePosition(position);const editorCoords=getDomNodePagePosition(this._editor.getDomNode());const x=editorCoords.left+cursorCoords.left;const y=editorCoords.top+cursorCoords.top+cursorCoords.height;return{x:x,y:y}}_shouldShowHeaders(){var _a6;const model=(_a6=this._editor)===null||_a6===void 0?void 0:_a6.getModel();return this._configurationService.getValue("editor.codeActionWidget.showHeaders",{resource:model===null||model===void 0?void 0:model.uri})}_getActionBarActions(actions,at,options2){if(options2.fromLightbulb){return[]}const resultActions=actions.documentation.map((command=>{var _a6;return{id:command.id,label:command.title,tooltip:(_a6=command.tooltip)!==null&&_a6!==void 0?_a6:"",class:void 0,enabled:true,run:()=>{var _a7;return this._commandService.executeCommand(command.id,...(_a7=command.arguments)!==null&&_a7!==void 0?_a7:[])}}}));if(options2.includeDisabledActions&&actions.validActions.length>0&&actions.allActions.length!==actions.validActions.length){resultActions.push(this._showDisabled?{id:"hideMoreActions",label:localize("hideMoreActions","Hide Disabled"),enabled:true,tooltip:"",class:void 0,run:()=>{this._showDisabled=false;return this.showCodeActionList(actions,at,options2)}}:{id:"showMoreActions",label:localize("showMoreActions","Show Disabled"),enabled:true,tooltip:"",class:void 0,run:()=>{this._showDisabled=true;return this.showCodeActionList(actions,at,options2)}})}return resultActions}};CodeActionController.ID="editor.contrib.codeActionController";CodeActionController=CodeActionController_1=__decorate59([__param52(1,IMarkerService),__param52(2,IContextKeyService),__param52(3,IInstantiationService),__param52(4,ILanguageFeaturesService),__param52(5,IEditorProgressService),__param52(6,ICommandService),__param52(7,IConfigurationService),__param52(8,IActionWidgetService),__param52(9,IInstantiationService)],CodeActionController);function contextKeyForSupportedActions(kind){return ContextKeyExpr.regex(SUPPORTED_CODE_ACTIONS.keys()[0],new RegExp("(\\s|^)"+escapeRegExpCharacters(kind.value)+"\\b"))}var argsSchema={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:localize("args.schema.kind","Kind of the code action to run.")},apply:{type:"string",description:localize("args.schema.apply","Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[localize("args.schema.apply.first","Always apply the first returned code action."),localize("args.schema.apply.ifSingle","Apply the first returned code action if it is the only one."),localize("args.schema.apply.never","Do not apply the returned code actions.")]},preferred:{type:"boolean",default:false,description:localize("args.schema.preferred","Controls if only preferred code actions should be returned.")}}};function triggerCodeActionsForEditorSelection(editor2,notAvailableMessage,filter,autoApply,triggerAction=CodeActionTriggerSource.Default){if(editor2.hasModel()){const controller=CodeActionController.get(editor2);controller===null||controller===void 0?void 0:controller.manualTriggerAtCurrentPosition(notAvailableMessage,triggerAction,filter,autoApply)}}var QuickFixAction=class extends EditorAction{constructor(){super({id:quickFixCommandId,label:localize("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:ContextKeyExpr.and(EditorContextKeys.writable,EditorContextKeys.hasCodeActionsProvider),kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:2048|89,weight:100}})}run(_accessor,editor2){return triggerCodeActionsForEditorSelection(editor2,localize("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,CodeActionTriggerSource.QuickFix)}};var CodeActionCommand=class extends EditorCommand{constructor(){super({id:codeActionCommandId,precondition:ContextKeyExpr.and(EditorContextKeys.writable,EditorContextKeys.hasCodeActionsProvider),description:{description:"Trigger a code action",args:[{name:"args",schema:argsSchema}]}})}runEditorCommand(_accessor,editor2,userArgs){const args=CodeActionCommandArgs.fromUser(userArgs,{kind:CodeActionKind4.Empty,apply:"ifSingle"});return triggerCodeActionsForEditorSelection(editor2,typeof(userArgs===null||userArgs===void 0?void 0:userArgs.kind)==="string"?args.preferred?localize("editor.action.codeAction.noneMessage.preferred.kind","No preferred code actions for '{0}' available",userArgs.kind):localize("editor.action.codeAction.noneMessage.kind","No code actions for '{0}' available",userArgs.kind):args.preferred?localize("editor.action.codeAction.noneMessage.preferred","No preferred code actions available"):localize("editor.action.codeAction.noneMessage","No code actions available"),{include:args.kind,includeSourceActions:true,onlyIncludePreferredActions:args.preferred},args.apply)}};var RefactorAction=class extends EditorAction{constructor(){super({id:refactorCommandId,label:localize("refactor.label","Refactor..."),alias:"Refactor...",precondition:ContextKeyExpr.and(EditorContextKeys.writable,EditorContextKeys.hasCodeActionsProvider),kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:2048|1024|48,mac:{primary:256|1024|48},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:ContextKeyExpr.and(EditorContextKeys.writable,contextKeyForSupportedActions(CodeActionKind4.Refactor))},description:{description:"Refactor...",args:[{name:"args",schema:argsSchema}]}})}run(_accessor,editor2,userArgs){const args=CodeActionCommandArgs.fromUser(userArgs,{kind:CodeActionKind4.Refactor,apply:"never"});return triggerCodeActionsForEditorSelection(editor2,typeof(userArgs===null||userArgs===void 0?void 0:userArgs.kind)==="string"?args.preferred?localize("editor.action.refactor.noneMessage.preferred.kind","No preferred refactorings for '{0}' available",userArgs.kind):localize("editor.action.refactor.noneMessage.kind","No refactorings for '{0}' available",userArgs.kind):args.preferred?localize("editor.action.refactor.noneMessage.preferred","No preferred refactorings available"):localize("editor.action.refactor.noneMessage","No refactorings available"),{include:CodeActionKind4.Refactor.contains(args.kind)?args.kind:CodeActionKind4.None,onlyIncludePreferredActions:args.preferred},args.apply,CodeActionTriggerSource.Refactor)}};var SourceAction=class extends EditorAction{constructor(){super({id:sourceActionCommandId,label:localize("source.label","Source Action..."),alias:"Source Action...",precondition:ContextKeyExpr.and(EditorContextKeys.writable,EditorContextKeys.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:ContextKeyExpr.and(EditorContextKeys.writable,contextKeyForSupportedActions(CodeActionKind4.Source))},description:{description:"Source Action...",args:[{name:"args",schema:argsSchema}]}})}run(_accessor,editor2,userArgs){const args=CodeActionCommandArgs.fromUser(userArgs,{kind:CodeActionKind4.Source,apply:"never"});return triggerCodeActionsForEditorSelection(editor2,typeof(userArgs===null||userArgs===void 0?void 0:userArgs.kind)==="string"?args.preferred?localize("editor.action.source.noneMessage.preferred.kind","No preferred source actions for '{0}' available",userArgs.kind):localize("editor.action.source.noneMessage.kind","No source actions for '{0}' available",userArgs.kind):args.preferred?localize("editor.action.source.noneMessage.preferred","No preferred source actions available"):localize("editor.action.source.noneMessage","No source actions available"),{include:CodeActionKind4.Source.contains(args.kind)?args.kind:CodeActionKind4.None,includeSourceActions:true,onlyIncludePreferredActions:args.preferred},args.apply,CodeActionTriggerSource.SourceAction)}};var OrganizeImportsAction=class extends EditorAction{constructor(){super({id:organizeImportsCommandId,label:localize("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:ContextKeyExpr.and(EditorContextKeys.writable,contextKeyForSupportedActions(CodeActionKind4.SourceOrganizeImports)),kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:1024|512|45,weight:100}})}run(_accessor,editor2){return triggerCodeActionsForEditorSelection(editor2,localize("editor.action.organize.noneMessage","No organize imports action available"),{include:CodeActionKind4.SourceOrganizeImports,includeSourceActions:true},"ifSingle",CodeActionTriggerSource.OrganizeImports)}};var FixAllAction=class extends EditorAction{constructor(){super({id:fixAllCommandId,label:localize("fixAll.label","Fix All"),alias:"Fix All",precondition:ContextKeyExpr.and(EditorContextKeys.writable,contextKeyForSupportedActions(CodeActionKind4.SourceFixAll))})}run(_accessor,editor2){return triggerCodeActionsForEditorSelection(editor2,localize("fixAll.noneMessage","No fix all action available"),{include:CodeActionKind4.SourceFixAll,includeSourceActions:true},"ifSingle",CodeActionTriggerSource.FixAll)}};var AutoFixAction=class extends EditorAction{constructor(){super({id:autoFixCommandId,label:localize("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:ContextKeyExpr.and(EditorContextKeys.writable,contextKeyForSupportedActions(CodeActionKind4.QuickFix)),kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:512|1024|89,mac:{primary:2048|512|89},weight:100}})}run(_accessor,editor2){return triggerCodeActionsForEditorSelection(editor2,localize("editor.action.autoFix.noneMessage","No auto fixes available"),{include:CodeActionKind4.QuickFix,onlyIncludePreferredActions:true},"ifSingle",CodeActionTriggerSource.AutoFix)}};init_nls();init_configurationRegistry();init_platform2();registerEditorContribution(CodeActionController.ID,CodeActionController,3);registerEditorContribution(LightBulbWidget.ID,LightBulbWidget,4);registerEditorAction(QuickFixAction);registerEditorAction(RefactorAction);registerEditorAction(SourceAction);registerEditorAction(OrganizeImportsAction);registerEditorAction(AutoFixAction);registerEditorAction(FixAllAction);registerEditorCommand(new CodeActionCommand);Registry.as(Extensions2.Configuration).registerConfiguration(Object.assign(Object.assign({},editorConfigurationBaseNode),{properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:localize("showCodeActionHeaders","Enable/disable showing group headers in the Code Action menu."),default:true}}}));init_async();init_errors();init_lifecycle();init_stableEditorScroll();init_editorExtensions();init_editorOptions();init_editorContextKeys();init_cancellation();init_errors();init_lifecycle();init_types();init_uri();init_model2();init_commands();init_languageFeatures();var __awaiter41=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var CodeLensModel=class{constructor(){this.lenses=[];this._disposables=new DisposableStore}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(list,provider){this._disposables.add(list);for(const symbol of list.lenses){this.lenses.push({symbol:symbol,provider:provider})}}};function getCodeLensModel(registry,model,token){return __awaiter41(this,void 0,void 0,(function*(){const provider=registry.ordered(model);const providerRanks=new Map;const result=new CodeLensModel;const promises=provider.map(((provider2,i)=>__awaiter41(this,void 0,void 0,(function*(){providerRanks.set(provider2,i);try{const list=yield Promise.resolve(provider2.provideCodeLenses(model,token));if(list){result.add(list,provider2)}}catch(err){onUnexpectedExternalError(err)}}))));yield Promise.all(promises);result.lenses=result.lenses.sort(((a,b)=>{if(a.symbol.range.startLineNumber<b.symbol.range.startLineNumber){return-1}else if(a.symbol.range.startLineNumber>b.symbol.range.startLineNumber){return 1}else if(providerRanks.get(a.provider)<providerRanks.get(b.provider)){return-1}else if(providerRanks.get(a.provider)>providerRanks.get(b.provider)){return 1}else if(a.symbol.range.startColumn<b.symbol.range.startColumn){return-1}else if(a.symbol.range.startColumn>b.symbol.range.startColumn){return 1}else{return 0}}));return result}))}CommandsRegistry.registerCommand("_executeCodeLensProvider",(function(accessor,...args){let[uri,itemResolveCount]=args;assertType(URI.isUri(uri));assertType(typeof itemResolveCount==="number"||!itemResolveCount);const{codeLensProvider:codeLensProvider}=accessor.get(ILanguageFeaturesService);const model=accessor.get(IModelService).getModel(uri);if(!model){throw illegalArgument()}const result=[];const disposables=new DisposableStore;return getCodeLensModel(codeLensProvider,model,CancellationToken.None).then((value=>{disposables.add(value);const resolve2=[];for(const item of value.lenses){if(itemResolveCount===void 0||itemResolveCount===null||Boolean(item.symbol.command)){result.push(item.symbol)}else if(itemResolveCount-- >0&&item.provider.resolveCodeLens){resolve2.push(Promise.resolve(item.provider.resolveCodeLens(model,item.symbol,CancellationToken.None)).then((symbol=>result.push(symbol||item.symbol))))}}return Promise.all(resolve2)})).then((()=>result)).finally((()=>{setTimeout((()=>disposables.dispose()),100)}))}));init_async();init_functional();init_map();init_range();init_extensions();init_instantiation();init_storage2();var __decorate60=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param53=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var ICodeLensCache=createDecorator("ICodeLensCache");var CacheItem=class{constructor(lineCount,data){this.lineCount=lineCount;this.data=data}};var CodeLensCache=class CodeLensCache2{constructor(storageService){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}};this._cache=new LRUCache(20,.75);const oldkey="codelens/cache";runWhenIdle((()=>storageService.remove(oldkey,1)));const key="codelens/cache2";const raw=storageService.get(key,1,"{}");this._deserialize(raw);once(storageService.onWillSaveState)((e=>{if(e.reason===WillSaveStateReason.SHUTDOWN){storageService.store(key,this._serialize(),1,1)}}))}put(model,data){const copyItems=data.lenses.map((item2=>{var _a6;return{range:item2.symbol.range,command:item2.symbol.command&&{id:"",title:(_a6=item2.symbol.command)===null||_a6===void 0?void 0:_a6.title}}}));const copyModel=new CodeLensModel;copyModel.add({lenses:copyItems,dispose:()=>{}},this._fakeProvider);const item=new CacheItem(model.getLineCount(),copyModel);this._cache.set(model.uri.toString(),item)}get(model){const item=this._cache.get(model.uri.toString());return item&&item.lineCount===model.getLineCount()?item.data:void 0}delete(model){this._cache.delete(model.uri.toString())}_serialize(){const data=Object.create(null);for(const[key,value]of this._cache){const lines=new Set;for(const d of value.data.lenses){lines.add(d.symbol.range.startLineNumber)}data[key]={lineCount:value.lineCount,lines:[...lines.values()]}}return JSON.stringify(data)}_deserialize(raw){try{const data=JSON.parse(raw);for(const key in data){const element=data[key];const lenses=[];for(const line of element.lines){lenses.push({range:new Range(line,1,line,11)})}const model=new CodeLensModel;model.add({lenses:lenses,dispose(){}},this._fakeProvider);this._cache.set(key,new CacheItem(element.lineCount,model))}}catch(_a6){}}};CodeLensCache=__decorate60([__param53(0,IStorageService)],CodeLensCache);registerSingleton(ICodeLensCache,CodeLensCache,1);init_dom();init_iconLabels2();init_range();init_textModel();var CodeLensViewZone=class{constructor(afterLineNumber,heightInPx,onHeight){this.afterColumn=1073741824;this.afterLineNumber=afterLineNumber;this.heightInPx=heightInPx;this._onHeight=onHeight;this.suppressMouseDown=true;this.domNode=document.createElement("div")}onComputedHeight(height){if(this._lastHeight===void 0){this._lastHeight=height}else if(this._lastHeight!==height){this._lastHeight=height;this._onHeight()}}isVisible(){return this._lastHeight!==0&&this.domNode.hasAttribute("monaco-visible-view-zone")}};var CodeLensContentWidget=class{constructor(editor2,line){this.allowEditorOverflow=false;this.suppressMouseDown=true;this._commands=new Map;this._isEmpty=true;this._editor=editor2;this._id=`codelens.widget-${CodeLensContentWidget._idPool++}`;this.updatePosition(line);this._domNode=document.createElement("span");this._domNode.className=`codelens-decoration`}withCommands(lenses,animate2){this._commands.clear();const children=[];let hasSymbol=false;for(let i=0;i<lenses.length;i++){const lens=lenses[i];if(!lens){continue}hasSymbol=true;if(lens.command){const title=renderLabelWithIcons(lens.command.title.trim());if(lens.command.id){children.push($("a",{id:String(i),title:lens.command.tooltip,role:"button"},...title));this._commands.set(String(i),lens.command)}else{children.push($("span",{title:lens.command.tooltip},...title))}if(i+1<lenses.length){children.push($("span",void 0," | "))}}}if(!hasSymbol){reset(this._domNode,$("span",void 0,"no commands"))}else{reset(this._domNode,...children);if(this._isEmpty&&animate2){this._domNode.classList.add("fadein")}this._isEmpty=false}}getCommand(link){return link.parentElement===this._domNode?this._commands.get(link.id):void 0}getId(){return this._id}getDomNode(){return this._domNode}updatePosition(line){const column=this._editor.getModel().getLineFirstNonWhitespaceColumn(line);this._widgetPosition={position:{lineNumber:line,column:column},preference:[1]}}getPosition(){return this._widgetPosition||null}};CodeLensContentWidget._idPool=0;var CodeLensHelper=class{constructor(){this._removeDecorations=[];this._addDecorations=[];this._addDecorationsCallbacks=[]}addDecoration(decoration2,callback){this._addDecorations.push(decoration2);this._addDecorationsCallbacks.push(callback)}removeDecoration(decorationId){this._removeDecorations.push(decorationId)}commit(changeAccessor){const resultingDecorations=changeAccessor.deltaDecorations(this._removeDecorations,this._addDecorations);for(let i=0,len=resultingDecorations.length;i<len;i++){this._addDecorationsCallbacks[i](resultingDecorations[i])}}};var codeLensDecorationOptions=ModelDecorationOptions.register({collapseOnReplaceEdit:true,description:"codelens"});var CodeLensWidget=class{constructor(data,editor2,helper,viewZoneChangeAccessor,heightInPx,updateCallback){this._isDisposed=false;this._editor=editor2;this._data=data;this._decorationIds=[];let range2;const lenses=[];this._data.forEach(((codeLensData,i)=>{if(codeLensData.symbol.command){lenses.push(codeLensData.symbol)}helper.addDecoration({range:codeLensData.symbol.range,options:codeLensDecorationOptions},(id=>this._decorationIds[i]=id));if(!range2){range2=Range.lift(codeLensData.symbol.range)}else{range2=Range.plusRange(range2,codeLensData.symbol.range)}}));this._viewZone=new CodeLensViewZone(range2.startLineNumber-1,heightInPx,updateCallback);this._viewZoneId=viewZoneChangeAccessor.addZone(this._viewZone);if(lenses.length>0){this._createContentWidgetIfNecessary();this._contentWidget.withCommands(lenses,false)}}_createContentWidgetIfNecessary(){if(!this._contentWidget){this._contentWidget=new CodeLensContentWidget(this._editor,this._viewZone.afterLineNumber+1);this._editor.addContentWidget(this._contentWidget)}else{this._editor.layoutContentWidget(this._contentWidget)}}dispose(helper,viewZoneChangeAccessor){this._decorationIds.forEach(helper.removeDecoration,helper);this._decorationIds=[];viewZoneChangeAccessor===null||viewZoneChangeAccessor===void 0?void 0:viewZoneChangeAccessor.removeZone(this._viewZoneId);if(this._contentWidget){this._editor.removeContentWidget(this._contentWidget);this._contentWidget=void 0}this._isDisposed=true}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some(((id,i)=>{const range2=this._editor.getModel().getDecorationRange(id);const symbol=this._data[i].symbol;return!!(range2&&Range.isEmpty(symbol.range)===range2.isEmpty())}))}updateCodeLensSymbols(data,helper){this._decorationIds.forEach(helper.removeDecoration,helper);this._decorationIds=[];this._data=data;this._data.forEach(((codeLensData,i)=>{helper.addDecoration({range:codeLensData.symbol.range,options:codeLensDecorationOptions},(id=>this._decorationIds[i]=id))}))}updateHeight(height,viewZoneChangeAccessor){this._viewZone.heightInPx=height;viewZoneChangeAccessor.layoutZone(this._viewZoneId);if(this._contentWidget){this._editor.layoutContentWidget(this._contentWidget)}}computeIfNecessary(model){if(!this._viewZone.isVisible()){return null}for(let i=0;i<this._decorationIds.length;i++){const range2=model.getDecorationRange(this._decorationIds[i]);if(range2){this._data[i].symbol.range=range2}}return this._data}updateCommands(symbols){this._createContentWidgetIfNecessary();this._contentWidget.withCommands(symbols,true);for(let i=0;i<this._data.length;i++){const resolved=symbols[i];if(resolved){const{symbol:symbol}=this._data[i];symbol.command=resolved.command||symbol.command}}}getCommand(link){var _a6;return(_a6=this._contentWidget)===null||_a6===void 0?void 0:_a6.getCommand(link)}getLineNumber(){const range2=this._editor.getModel().getDecorationRange(this._decorationIds[0]);if(range2){return range2.startLineNumber}return-1}update(viewZoneChangeAccessor){if(this.isValid()){const range2=this._editor.getModel().getDecorationRange(this._decorationIds[0]);if(range2){this._viewZone.afterLineNumber=range2.startLineNumber-1;viewZoneChangeAccessor.layoutZone(this._viewZoneId);if(this._contentWidget){this._contentWidget.updatePosition(range2.startLineNumber);this._editor.layoutContentWidget(this._contentWidget)}}}}};init_nls();init_commands();init_notification();init_quickInput();init_languageFeatureDebounce();init_languageFeatures();var __decorate61=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param54=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter42=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var CodeLensContribution=class CodeLensContribution2{constructor(_editor,_languageFeaturesService,debounceService,_commandService,_notificationService,_codeLensCache){this._editor=_editor;this._languageFeaturesService=_languageFeaturesService;this._commandService=_commandService;this._notificationService=_notificationService;this._codeLensCache=_codeLensCache;this._disposables=new DisposableStore;this._localToDispose=new DisposableStore;this._lenses=[];this._oldCodeLensModels=new DisposableStore;this._provideCodeLensDebounce=debounceService.for(_languageFeaturesService.codeLensProvider,"CodeLensProvide",{min:250});this._resolveCodeLensesDebounce=debounceService.for(_languageFeaturesService.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"});this._resolveCodeLensesScheduler=new RunOnceScheduler((()=>this._resolveCodeLensesInViewport()),this._resolveCodeLensesDebounce.default());this._disposables.add(this._editor.onDidChangeModel((()=>this._onModelChange())));this._disposables.add(this._editor.onDidChangeModelLanguage((()=>this._onModelChange())));this._disposables.add(this._editor.onDidChangeConfiguration((e=>{if(e.hasChanged(49)||e.hasChanged(18)||e.hasChanged(17)){this._updateLensStyle()}if(e.hasChanged(16)){this._onModelChange()}})));this._disposables.add(_languageFeaturesService.codeLensProvider.onDidChange(this._onModelChange,this));this._onModelChange();this._updateLensStyle()}dispose(){var _a6;this._localDispose();this._disposables.dispose();this._oldCodeLensModels.dispose();(_a6=this._currentCodeLensModel)===null||_a6===void 0?void 0:_a6.dispose()}_getLayoutInfo(){const lineHeightFactor=Math.max(1.3,this._editor.getOption(65)/this._editor.getOption(51));let fontSize=this._editor.getOption(18);if(!fontSize||fontSize<5){fontSize=this._editor.getOption(51)*.9|0}return{fontSize:fontSize,codeLensHeight:fontSize*lineHeightFactor|0}}_updateLensStyle(){const{codeLensHeight:codeLensHeight,fontSize:fontSize}=this._getLayoutInfo();const fontFamily=this._editor.getOption(17);const editorFontInfo=this._editor.getOption(49);const{style:style}=this._editor.getContainerDomNode();style.setProperty("--vscode-editorCodeLens-lineHeight",`${codeLensHeight}px`);style.setProperty("--vscode-editorCodeLens-fontSize",`${fontSize}px`);style.setProperty("--vscode-editorCodeLens-fontFeatureSettings",editorFontInfo.fontFeatureSettings);if(fontFamily){style.setProperty("--vscode-editorCodeLens-fontFamily",fontFamily);style.setProperty("--vscode-editorCodeLens-fontFamilyDefault",EDITOR_FONT_DEFAULTS.fontFamily)}this._editor.changeViewZones((accessor=>{for(const lens of this._lenses){lens.updateHeight(codeLensHeight,accessor)}}))}_localDispose(){var _a6,_b3,_c2;(_a6=this._getCodeLensModelPromise)===null||_a6===void 0?void 0:_a6.cancel();this._getCodeLensModelPromise=void 0;(_b3=this._resolveCodeLensesPromise)===null||_b3===void 0?void 0:_b3.cancel();this._resolveCodeLensesPromise=void 0;this._localToDispose.clear();this._oldCodeLensModels.clear();(_c2=this._currentCodeLensModel)===null||_c2===void 0?void 0:_c2.dispose()}_onModelChange(){this._localDispose();const model=this._editor.getModel();if(!model){return}if(!this._editor.getOption(16)){return}const cachedLenses=this._codeLensCache.get(model);if(cachedLenses){this._renderCodeLensSymbols(cachedLenses)}if(!this._languageFeaturesService.codeLensProvider.has(model)){if(cachedLenses){this._localToDispose.add(disposableTimeout((()=>{const cachedLensesNow=this._codeLensCache.get(model);if(cachedLenses===cachedLensesNow){this._codeLensCache.delete(model);this._onModelChange()}}),30*1e3))}return}for(const provider of this._languageFeaturesService.codeLensProvider.all(model)){if(typeof provider.onDidChange==="function"){const registration=provider.onDidChange((()=>scheduler.schedule()));this._localToDispose.add(registration)}}const scheduler=new RunOnceScheduler((()=>{var _a6;const t1=Date.now();(_a6=this._getCodeLensModelPromise)===null||_a6===void 0?void 0:_a6.cancel();this._getCodeLensModelPromise=createCancelablePromise((token=>getCodeLensModel(this._languageFeaturesService.codeLensProvider,model,token)));this._getCodeLensModelPromise.then((result=>{if(this._currentCodeLensModel){this._oldCodeLensModels.add(this._currentCodeLensModel)}this._currentCodeLensModel=result;this._codeLensCache.put(model,result);const newDelay=this._provideCodeLensDebounce.update(model,Date.now()-t1);scheduler.delay=newDelay;this._renderCodeLensSymbols(result);this._resolveCodeLensesInViewportSoon()}),onUnexpectedError)}),this._provideCodeLensDebounce.get(model));this._localToDispose.add(scheduler);this._localToDispose.add(toDisposable((()=>this._resolveCodeLensesScheduler.cancel())));this._localToDispose.add(this._editor.onDidChangeModelContent((()=>{var _a6;this._editor.changeDecorations((decorationsAccessor=>{this._editor.changeViewZones((viewZonesAccessor=>{const toDispose=[];let lastLensLineNumber=-1;this._lenses.forEach((lens=>{if(!lens.isValid()||lastLensLineNumber===lens.getLineNumber()){toDispose.push(lens)}else{lens.update(viewZonesAccessor);lastLensLineNumber=lens.getLineNumber()}}));const helper=new CodeLensHelper;toDispose.forEach((l=>{l.dispose(helper,viewZonesAccessor);this._lenses.splice(this._lenses.indexOf(l),1)}));helper.commit(decorationsAccessor)}))}));scheduler.schedule();this._resolveCodeLensesScheduler.cancel();(_a6=this._resolveCodeLensesPromise)===null||_a6===void 0?void 0:_a6.cancel();this._resolveCodeLensesPromise=void 0})));this._localToDispose.add(this._editor.onDidFocusEditorWidget((()=>{scheduler.schedule()})));this._localToDispose.add(this._editor.onDidScrollChange((e=>{if(e.scrollTopChanged&&this._lenses.length>0){this._resolveCodeLensesInViewportSoon()}})));this._localToDispose.add(this._editor.onDidLayoutChange((()=>{this._resolveCodeLensesInViewportSoon()})));this._localToDispose.add(toDisposable((()=>{if(this._editor.getModel()){const scrollState=StableEditorScrollState.capture(this._editor);this._editor.changeDecorations((decorationsAccessor=>{this._editor.changeViewZones((viewZonesAccessor=>{this._disposeAllLenses(decorationsAccessor,viewZonesAccessor)}))}));scrollState.restore(this._editor)}else{this._disposeAllLenses(void 0,void 0)}})));this._localToDispose.add(this._editor.onMouseDown((e=>{if(e.target.type!==9){return}let target=e.target.element;if((target===null||target===void 0?void 0:target.tagName)==="SPAN"){target=target.parentElement}if((target===null||target===void 0?void 0:target.tagName)==="A"){for(const lens of this._lenses){const command=lens.getCommand(target);if(command){this._commandService.executeCommand(command.id,...command.arguments||[]).catch((err=>this._notificationService.error(err)));break}}}})));scheduler.schedule()}_disposeAllLenses(decChangeAccessor,viewZoneChangeAccessor){const helper=new CodeLensHelper;for(const lens of this._lenses){lens.dispose(helper,viewZoneChangeAccessor)}if(decChangeAccessor){helper.commit(decChangeAccessor)}this._lenses.length=0}_renderCodeLensSymbols(symbols){if(!this._editor.hasModel()){return}const maxLineNumber=this._editor.getModel().getLineCount();const groups=[];let lastGroup;for(const symbol of symbols.lenses){const line=symbol.symbol.range.startLineNumber;if(line<1||line>maxLineNumber){continue}else if(lastGroup&&lastGroup[lastGroup.length-1].symbol.range.startLineNumber===line){lastGroup.push(symbol)}else{lastGroup=[symbol];groups.push(lastGroup)}}if(!groups.length&&!this._lenses.length){return}const scrollState=StableEditorScrollState.capture(this._editor);const layoutInfo=this._getLayoutInfo();this._editor.changeDecorations((decorationsAccessor=>{this._editor.changeViewZones((viewZoneAccessor=>{const helper=new CodeLensHelper;let codeLensIndex=0;let groupsIndex=0;while(groupsIndex<groups.length&&codeLensIndex<this._lenses.length){const symbolsLineNumber=groups[groupsIndex][0].symbol.range.startLineNumber;const codeLensLineNumber=this._lenses[codeLensIndex].getLineNumber();if(codeLensLineNumber<symbolsLineNumber){this._lenses[codeLensIndex].dispose(helper,viewZoneAccessor);this._lenses.splice(codeLensIndex,1)}else if(codeLensLineNumber===symbolsLineNumber){this._lenses[codeLensIndex].updateCodeLensSymbols(groups[groupsIndex],helper);groupsIndex++;codeLensIndex++}else{this._lenses.splice(codeLensIndex,0,new CodeLensWidget(groups[groupsIndex],this._editor,helper,viewZoneAccessor,layoutInfo.codeLensHeight,(()=>this._resolveCodeLensesInViewportSoon())));codeLensIndex++;groupsIndex++}}while(codeLensIndex<this._lenses.length){this._lenses[codeLensIndex].dispose(helper,viewZoneAccessor);this._lenses.splice(codeLensIndex,1)}while(groupsIndex<groups.length){this._lenses.push(new CodeLensWidget(groups[groupsIndex],this._editor,helper,viewZoneAccessor,layoutInfo.codeLensHeight,(()=>this._resolveCodeLensesInViewportSoon())));groupsIndex++}helper.commit(decorationsAccessor)}))}));scrollState.restore(this._editor)}_resolveCodeLensesInViewportSoon(){const model=this._editor.getModel();if(model){this._resolveCodeLensesScheduler.schedule()}}_resolveCodeLensesInViewport(){var _a6;(_a6=this._resolveCodeLensesPromise)===null||_a6===void 0?void 0:_a6.cancel();this._resolveCodeLensesPromise=void 0;const model=this._editor.getModel();if(!model){return}const toResolve=[];const lenses=[];this._lenses.forEach((lens=>{const request=lens.computeIfNecessary(model);if(request){toResolve.push(request);lenses.push(lens)}}));if(toResolve.length===0){return}const t1=Date.now();const resolvePromise=createCancelablePromise((token=>{const promises=toResolve.map(((request,i)=>{const resolvedSymbols=new Array(request.length);const promises2=request.map(((request2,i2)=>{if(!request2.symbol.command&&typeof request2.provider.resolveCodeLens==="function"){return Promise.resolve(request2.provider.resolveCodeLens(model,request2.symbol,token)).then((symbol=>{resolvedSymbols[i2]=symbol}),onUnexpectedExternalError)}else{resolvedSymbols[i2]=request2.symbol;return Promise.resolve(void 0)}}));return Promise.all(promises2).then((()=>{if(!token.isCancellationRequested&&!lenses[i].isDisposed()){lenses[i].updateCommands(resolvedSymbols)}}))}));return Promise.all(promises)}));this._resolveCodeLensesPromise=resolvePromise;this._resolveCodeLensesPromise.then((()=>{const newDelay=this._resolveCodeLensesDebounce.update(model,Date.now()-t1);this._resolveCodeLensesScheduler.delay=newDelay;if(this._currentCodeLensModel){this._codeLensCache.put(model,this._currentCodeLensModel)}this._oldCodeLensModels.clear();if(resolvePromise===this._resolveCodeLensesPromise){this._resolveCodeLensesPromise=void 0}}),(err=>{onUnexpectedError(err);if(resolvePromise===this._resolveCodeLensesPromise){this._resolveCodeLensesPromise=void 0}}))}getModel(){return this._currentCodeLensModel}};CodeLensContribution.ID="css.editor.codeLens";CodeLensContribution=__decorate61([__param54(1,ILanguageFeaturesService),__param54(2,ILanguageFeatureDebounceService),__param54(3,ICommandService),__param54(4,INotificationService),__param54(5,ICodeLensCache)],CodeLensContribution);registerEditorContribution(CodeLensContribution.ID,CodeLensContribution,1);registerEditorAction(class ShowLensesInCurrentLine extends EditorAction{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:EditorContextKeys.hasCodeLensProvider,label:localize("showLensOnLine","Show CodeLens Commands For Current Line"),alias:"Show CodeLens Commands For Current Line"})}run(accessor,editor2){return __awaiter42(this,void 0,void 0,(function*(){if(!editor2.hasModel()){return}const quickInputService=accessor.get(IQuickInputService);const commandService=accessor.get(ICommandService);const notificationService=accessor.get(INotificationService);const lineNumber=editor2.getSelection().positionLineNumber;const codelensController=editor2.getContribution(CodeLensContribution.ID);if(!codelensController){return}const model=codelensController.getModel();if(!model){return}const items=[];for(const lens of model.lenses){if(lens.symbol.command&&lens.symbol.range.startLineNumber===lineNumber){items.push({label:lens.symbol.command.title,command:lens.symbol.command})}}if(items.length===0){return}const item=yield quickInputService.pick(items,{canPickMany:false});if(!item){return}if(model.isDisposed){return yield commandService.executeCommand(this.id)}try{yield commandService.executeCommand(item.command.id,...item.command.arguments||[])}catch(err){notificationService.error(err)}}))}});init_lifecycle();init_editorExtensions();init_range();init_async();init_color();init_errors();init_event();init_lifecycle();init_stopwatch();init_strings();init_editorDom();init_editorExtensions();init_range();init_textModel();init_languageFeatureDebounce();init_languageFeatures();init_cancellation();init_errors();init_uri();init_range();init_model2();init_commands();init_languageFeatures();init_color();init_editorWorkerService();init_model2();init_languageConfigurationRegistry();init_lifecycle();init_languageFeatures();init_editorFeatures();var __decorate62=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param55=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter43=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var DefaultDocumentColorProvider=class{constructor(modelService,languageConfigurationService){this._editorWorkerClient=new EditorWorkerClient(modelService,false,"editorWorkerService",languageConfigurationService)}provideDocumentColors(model,_token){return __awaiter43(this,void 0,void 0,(function*(){return this._editorWorkerClient.computeDefaultDocumentColors(model.uri)}))}provideColorPresentations(_model,colorInfo,_token){const range2=colorInfo.range;const colorFromInfo=colorInfo.color;const alpha=colorFromInfo.alpha;const color=new Color(new RGBA(Math.round(255*colorFromInfo.red),Math.round(255*colorFromInfo.green),Math.round(255*colorFromInfo.blue),alpha));const rgb=alpha?Color.Format.CSS.formatRGB(color):Color.Format.CSS.formatRGBA(color);const hsl=alpha?Color.Format.CSS.formatHSL(color):Color.Format.CSS.formatHSLA(color);const hex=alpha?Color.Format.CSS.formatHex(color):Color.Format.CSS.formatHexA(color);const colorPresentations=[];colorPresentations.push({label:rgb,textEdit:{range:range2,text:rgb}});colorPresentations.push({label:hsl,textEdit:{range:range2,text:hsl}});colorPresentations.push({label:hex,textEdit:{range:range2,text:hex}});return colorPresentations}};var DefaultDocumentColorProviderFeature=class DefaultDocumentColorProviderFeature2 extends Disposable{constructor(_modelService,_languageConfigurationService,_languageFeaturesService){super();this._register(_languageFeaturesService.colorProvider.register("*",new DefaultDocumentColorProvider(_modelService,_languageConfigurationService)))}};DefaultDocumentColorProviderFeature=__decorate62([__param55(0,IModelService),__param55(1,ILanguageConfigurationService),__param55(2,ILanguageFeaturesService)],DefaultDocumentColorProviderFeature);registerEditorFeature(DefaultDocumentColorProviderFeature);init_configuration();var __awaiter44=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};function getColors(colorProviderRegistry,model,token,isDefaultColorDecoratorsEnabled=true){return __awaiter44(this,void 0,void 0,(function*(){return _findColorData(new ColorDataCollector,colorProviderRegistry,model,token,isDefaultColorDecoratorsEnabled)}))}function getColorPresentations(model,colorInfo,provider,token){return Promise.resolve(provider.provideColorPresentations(model,colorInfo,token))}var ColorDataCollector=class{constructor(){}compute(provider,model,token,colors){return __awaiter44(this,void 0,void 0,(function*(){const documentColors=yield provider.provideDocumentColors(model,token);if(Array.isArray(documentColors)){for(const colorInfo of documentColors){colors.push({colorInfo:colorInfo,provider:provider})}}return Array.isArray(documentColors)}))}};var ExtColorDataCollector=class{constructor(){}compute(provider,model,token,colors){return __awaiter44(this,void 0,void 0,(function*(){const documentColors=yield provider.provideDocumentColors(model,token);if(Array.isArray(documentColors)){for(const colorInfo of documentColors){colors.push({range:colorInfo.range,color:[colorInfo.color.red,colorInfo.color.green,colorInfo.color.blue,colorInfo.color.alpha]})}}return Array.isArray(documentColors)}))}};var ColorPresentationsCollector=class{constructor(colorInfo){this.colorInfo=colorInfo}compute(provider,model,_token,colors){return __awaiter44(this,void 0,void 0,(function*(){const documentColors=yield provider.provideColorPresentations(model,this.colorInfo,CancellationToken.None);if(Array.isArray(documentColors)){colors.push(...documentColors)}return Array.isArray(documentColors)}))}};function _findColorData(collector,colorProviderRegistry,model,token,isDefaultColorDecoratorsEnabled){return __awaiter44(this,void 0,void 0,(function*(){let validDocumentColorProviderFound=false;let defaultProvider;const colorData=[];const documentColorProviders=colorProviderRegistry.ordered(model);for(let i=documentColorProviders.length-1;i>=0;i--){const provider=documentColorProviders[i];if(provider instanceof DefaultDocumentColorProvider){defaultProvider=provider}else{try{if(yield collector.compute(provider,model,token,colorData)){validDocumentColorProviderFound=true}}catch(e){onUnexpectedExternalError(e)}}}if(validDocumentColorProviderFound){return colorData}if(defaultProvider&&isDefaultColorDecoratorsEnabled){yield collector.compute(defaultProvider,model,token,colorData);return colorData}return[]}))}function _setupColorCommand(accessor,resource){const{colorProvider:colorProviderRegistry}=accessor.get(ILanguageFeaturesService);const model=accessor.get(IModelService).getModel(resource);if(!model){throw illegalArgument()}const isDefaultColorDecoratorsEnabled=accessor.get(IConfigurationService).getValue("editor.defaultColorDecorators",{resource:resource});return{model:model,colorProviderRegistry:colorProviderRegistry,isDefaultColorDecoratorsEnabled:isDefaultColorDecoratorsEnabled}}CommandsRegistry.registerCommand("_executeDocumentColorProvider",(function(accessor,...args){const[resource]=args;if(!(resource instanceof URI)){throw illegalArgument()}const{model:model,colorProviderRegistry:colorProviderRegistry,isDefaultColorDecoratorsEnabled:isDefaultColorDecoratorsEnabled}=_setupColorCommand(accessor,resource);return _findColorData(new ExtColorDataCollector,colorProviderRegistry,model,CancellationToken.None,isDefaultColorDecoratorsEnabled)}));CommandsRegistry.registerCommand("_executeColorPresentationProvider",(function(accessor,...args){const[color,context]=args;const{uri:uri,range:range2}=context;if(!(uri instanceof URI)||!Array.isArray(color)||color.length!==4||!Range.isIRange(range2)){throw illegalArgument()}const{model:model,colorProviderRegistry:colorProviderRegistry,isDefaultColorDecoratorsEnabled:isDefaultColorDecoratorsEnabled}=_setupColorCommand(accessor,uri);const[red,green,blue,alpha]=color;return _findColorData(new ColorPresentationsCollector({range:range2,color:{red:red,green:green,blue:blue,alpha:alpha}}),colorProviderRegistry,model,CancellationToken.None,isDefaultColorDecoratorsEnabled)}));init_configuration();var __decorate63=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param56=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter45=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var ColorDetector_1;var ColorDecorationInjectedTextMarker=Object.create({});var ColorDetector=ColorDetector_1=class ColorDetector2 extends Disposable{constructor(_editor,_configurationService,_languageFeaturesService,languageFeatureDebounceService){super();this._editor=_editor;this._configurationService=_configurationService;this._languageFeaturesService=_languageFeaturesService;this._localToDispose=this._register(new DisposableStore);this._decorationsIds=[];this._colorDatas=new Map;this._colorDecoratorIds=this._editor.createDecorationsCollection();this._ruleFactory=new DynamicCssRules(this._editor);this._decoratorLimitReporter=new DecoratorLimitReporter;this._colorDecorationClassRefs=this._register(new DisposableStore);this._debounceInformation=languageFeatureDebounceService.for(_languageFeaturesService.colorProvider,"Document Colors",{min:ColorDetector_1.RECOMPUTE_TIME});this._register(_editor.onDidChangeModel((()=>{this._isColorDecoratorsEnabled=this.isEnabled();this.updateColors()})));this._register(_editor.onDidChangeModelLanguage((()=>this.updateColors())));this._register(_languageFeaturesService.colorProvider.onDidChange((()=>this.updateColors())));this._register(_editor.onDidChangeConfiguration((e=>{const prevIsEnabled=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled();this._isDefaultColorDecoratorsEnabled=this._editor.getOption(144);const updatedColorDecoratorsSetting=prevIsEnabled!==this._isColorDecoratorsEnabled||e.hasChanged(20);const updatedDefaultColorDecoratorsSetting=e.hasChanged(144);if(updatedColorDecoratorsSetting||updatedDefaultColorDecoratorsSetting){if(this._isColorDecoratorsEnabled){this.updateColors()}else{this.removeAllDecorations()}}})));this._timeoutTimer=null;this._computePromise=null;this._isColorDecoratorsEnabled=this.isEnabled();this._isDefaultColorDecoratorsEnabled=this._editor.getOption(144);this.updateColors()}isEnabled(){const model=this._editor.getModel();if(!model){return false}const languageId=model.getLanguageId();const deprecatedConfig=this._configurationService.getValue(languageId);if(deprecatedConfig&&typeof deprecatedConfig==="object"){const colorDecorators=deprecatedConfig["colorDecorators"];if(colorDecorators&&colorDecorators["enable"]!==void 0&&!colorDecorators["enable"]){return colorDecorators["enable"]}}return this._editor.getOption(19)}static get(editor2){return editor2.getContribution(this.ID)}dispose(){this.stop();this.removeAllDecorations();super.dispose()}updateColors(){this.stop();if(!this._isColorDecoratorsEnabled){return}const model=this._editor.getModel();if(!model||!this._languageFeaturesService.colorProvider.has(model)){return}this._localToDispose.add(this._editor.onDidChangeModelContent((()=>{if(!this._timeoutTimer){this._timeoutTimer=new TimeoutTimer;this._timeoutTimer.cancelAndSet((()=>{this._timeoutTimer=null;this.beginCompute()}),this._debounceInformation.get(model))}})));this.beginCompute()}beginCompute(){return __awaiter45(this,void 0,void 0,(function*(){this._computePromise=createCancelablePromise((token=>__awaiter45(this,void 0,void 0,(function*(){const model=this._editor.getModel();if(!model){return[]}const sw=new StopWatch(false);const colors=yield getColors(this._languageFeaturesService.colorProvider,model,token,this._isDefaultColorDecoratorsEnabled);this._debounceInformation.update(model,sw.elapsed());return colors}))));try{const colors=yield this._computePromise;this.updateDecorations(colors);this.updateColorDecorators(colors);this._computePromise=null}catch(e){onUnexpectedError(e)}}))}stop(){if(this._timeoutTimer){this._timeoutTimer.cancel();this._timeoutTimer=null}if(this._computePromise){this._computePromise.cancel();this._computePromise=null}this._localToDispose.clear()}updateDecorations(colorDatas){const decorations=colorDatas.map((c=>({range:{startLineNumber:c.colorInfo.range.startLineNumber,startColumn:c.colorInfo.range.startColumn,endLineNumber:c.colorInfo.range.endLineNumber,endColumn:c.colorInfo.range.endColumn},options:ModelDecorationOptions.EMPTY})));this._editor.changeDecorations((changeAccessor=>{this._decorationsIds=changeAccessor.deltaDecorations(this._decorationsIds,decorations);this._colorDatas=new Map;this._decorationsIds.forEach(((id,i)=>this._colorDatas.set(id,colorDatas[i])))}))}updateColorDecorators(colorData){this._colorDecorationClassRefs.clear();const decorations=[];const limit=this._editor.getOption(20);for(let i=0;i<colorData.length&&decorations.length<limit;i++){const{red:red,green:green,blue:blue,alpha:alpha}=colorData[i].colorInfo.color;const rgba=new RGBA(Math.round(red*255),Math.round(green*255),Math.round(blue*255),alpha);const color=`rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, ${rgba.a})`;const ref=this._colorDecorationClassRefs.add(this._ruleFactory.createClassNameRef({backgroundColor:color}));decorations.push({range:{startLineNumber:colorData[i].colorInfo.range.startLineNumber,startColumn:colorData[i].colorInfo.range.startColumn,endLineNumber:colorData[i].colorInfo.range.endLineNumber,endColumn:colorData[i].colorInfo.range.endColumn},options:{description:"colorDetector",before:{content:noBreakWhitespace,inlineClassName:`${ref.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:true,attachedData:ColorDecorationInjectedTextMarker}}})}const limited=limit<colorData.length?limit:false;this._decoratorLimitReporter.update(colorData.length,limited);this._colorDecoratorIds.set(decorations)}removeAllDecorations(){this._editor.removeDecorations(this._decorationsIds);this._decorationsIds=[];this._colorDecoratorIds.clear();this._colorDecorationClassRefs.clear()}getColorData(position){const model=this._editor.getModel();if(!model){return null}const decorations=model.getDecorationsInRange(Range.fromPositions(position,position)).filter((d=>this._colorDatas.has(d.id)));if(decorations.length===0){return null}return this._colorDatas.get(decorations[0].id)}isColorDecoration(decoration2){return this._colorDecoratorIds.has(decoration2)}};ColorDetector.ID="editor.contrib.colorDetector";ColorDetector.RECOMPUTE_TIME=1e3;ColorDetector=ColorDetector_1=__decorate63([__param56(1,IConfigurationService),__param56(2,ILanguageFeaturesService),__param56(3,ILanguageFeatureDebounceService)],ColorDetector);var DecoratorLimitReporter=class{constructor(){this._onDidChange=new Emitter;this._computed=0;this._limited=false}update(computed,limited){if(computed!==this._computed||limited!==this._limited){this._computed=computed;this._limited=limited;this._onDidChange.fire()}}};registerEditorContribution(ColorDetector.ID,ColorDetector,1);init_async();init_cancellation();init_color();init_lifecycle();init_range();init_event();var ColorPickerModel=class{get color(){return this._color}set color(color){if(this._color.equals(color)){return}this._color=color;this._onDidChangeColor.fire(color)}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(colorPresentations){this._colorPresentations=colorPresentations;if(this.presentationIndex>colorPresentations.length-1){this.presentationIndex=0}this._onDidChangePresentation.fire(this.presentation)}constructor(color,availableColorPresentations,presentationIndex){this.presentationIndex=presentationIndex;this._onColorFlushed=new Emitter;this.onColorFlushed=this._onColorFlushed.event;this._onDidChangeColor=new Emitter;this.onDidChangeColor=this._onDidChangeColor.event;this._onDidChangePresentation=new Emitter;this.onDidChangePresentation=this._onDidChangePresentation.event;this.originalColor=color;this._color=color;this._colorPresentations=availableColorPresentations}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length;this.flushColor();this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(color,originalText){let presentationIndex=-1;for(let i=0;i<this.colorPresentations.length;i++){if(originalText.toLowerCase()===this.colorPresentations[i].label){presentationIndex=i;break}}if(presentationIndex===-1){const originalTextPrefix=originalText.split("(")[0].toLowerCase();for(let i=0;i<this.colorPresentations.length;i++){if(this.colorPresentations[i].label.toLowerCase().startsWith(originalTextPrefix)){presentationIndex=i;break}}}if(presentationIndex!==-1&&presentationIndex!==this.presentationIndex){this.presentationIndex=presentationIndex;this._onDidChangePresentation.fire(this.presentation)}}flushColor(){this._onColorFlushed.fire(this._color)}};init_browser();init_dom();init_globalPointerMoveMonitor();init_widget();init_codicons();init_color();init_event();init_lifecycle();init_themables();init_nls();init_colorRegistry();init_iconRegistry();var $8=$;var ColorPickerHeader=class extends Disposable{constructor(container,model,themeService,showingStandaloneColorPicker=false){super();this.model=model;this.showingStandaloneColorPicker=showingStandaloneColorPicker;this._closeButton=null;this._domNode=$8(".colorpicker-header");append(container,this._domNode);this._pickedColorNode=append(this._domNode,$8(".picked-color"));append(this._pickedColorNode,$8("span.codicon.codicon-color-mode"));this._pickedColorPresentation=append(this._pickedColorNode,document.createElement("span"));this._pickedColorPresentation.classList.add("picked-color-presentation");const tooltip=localize("clickToToggleColorOptions","Click to toggle color options (rgb/hsl/hex)");this._pickedColorNode.setAttribute("title",tooltip);this._originalColorNode=append(this._domNode,$8(".original-color"));this._originalColorNode.style.backgroundColor=Color.Format.CSS.format(this.model.originalColor)||"";this.backgroundColor=themeService.getColorTheme().getColor(editorHoverBackground)||Color.white;this._register(themeService.onDidColorThemeChange((theme=>{this.backgroundColor=theme.getColor(editorHoverBackground)||Color.white})));this._register(addDisposableListener(this._pickedColorNode,EventType.CLICK,(()=>this.model.selectNextColorPresentation())));this._register(addDisposableListener(this._originalColorNode,EventType.CLICK,(()=>{this.model.color=this.model.originalColor;this.model.flushColor()})));this._register(model.onDidChangeColor(this.onDidChangeColor,this));this._register(model.onDidChangePresentation(this.onDidChangePresentation,this));this._pickedColorNode.style.backgroundColor=Color.Format.CSS.format(model.color)||"";this._pickedColorNode.classList.toggle("light",model.color.rgba.a<.5?this.backgroundColor.isLighter():model.color.isLighter());this.onDidChangeColor(this.model.color);if(this.showingStandaloneColorPicker){this._domNode.classList.add("standalone-colorpicker");this._closeButton=this._register(new CloseButton(this._domNode))}}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(color){this._pickedColorNode.style.backgroundColor=Color.Format.CSS.format(color)||"";this._pickedColorNode.classList.toggle("light",color.rgba.a<.5?this.backgroundColor.isLighter():color.isLighter());this.onDidChangePresentation()}onDidChangePresentation(){this._pickedColorPresentation.textContent=this.model.presentation?this.model.presentation.label:""}};var CloseButton=class extends Disposable{constructor(container){super();this._onClicked=this._register(new Emitter);this.onClicked=this._onClicked.event;this._button=document.createElement("div");this._button.classList.add("close-button");append(container,this._button);const innerDiv=document.createElement("div");innerDiv.classList.add("close-button-inner-div");append(this._button,innerDiv);const closeButton=append(innerDiv,$8(".button"+ThemeIcon.asCSSSelector(registerIcon("color-picker-close",Codicon.close,localize("closeIcon","Icon to close the color picker")))));closeButton.classList.add("close-icon");this._button.onclick=()=>{this._onClicked.fire()}}};var ColorPickerBody=class extends Disposable{constructor(container,model,pixelRatio,isStandaloneColorPicker=false){super();this.model=model;this.pixelRatio=pixelRatio;this._insertButton=null;this._domNode=$8(".colorpicker-body");append(container,this._domNode);this._saturationBox=new SaturationBox(this._domNode,this.model,this.pixelRatio);this._register(this._saturationBox);this._register(this._saturationBox.onDidChange(this.onDidSaturationValueChange,this));this._register(this._saturationBox.onColorFlushed(this.flushColor,this));this._opacityStrip=new OpacityStrip(this._domNode,this.model,isStandaloneColorPicker);this._register(this._opacityStrip);this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this));this._register(this._opacityStrip.onColorFlushed(this.flushColor,this));this._hueStrip=new HueStrip(this._domNode,this.model,isStandaloneColorPicker);this._register(this._hueStrip);this._register(this._hueStrip.onDidChange(this.onDidHueChange,this));this._register(this._hueStrip.onColorFlushed(this.flushColor,this));if(isStandaloneColorPicker){this._insertButton=this._register(new InsertButton(this._domNode));this._domNode.classList.add("standalone-colorpicker")}}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:s,v:v}){const hsva=this.model.color.hsva;this.model.color=new Color(new HSVA(hsva.h,s,v,hsva.a))}onDidOpacityChange(a){const hsva=this.model.color.hsva;this.model.color=new Color(new HSVA(hsva.h,hsva.s,hsva.v,a))}onDidHueChange(value){const hsva=this.model.color.hsva;const h2=(1-value)*360;this.model.color=new Color(new HSVA(h2===360?0:h2,hsva.s,hsva.v,hsva.a))}get domNode(){return this._domNode}get saturationBox(){return this._saturationBox}get enterButton(){return this._insertButton}layout(){this._saturationBox.layout();this._opacityStrip.layout();this._hueStrip.layout()}};var SaturationBox=class extends Disposable{constructor(container,model,pixelRatio){super();this.model=model;this.pixelRatio=pixelRatio;this._onDidChange=new Emitter;this.onDidChange=this._onDidChange.event;this._onColorFlushed=new Emitter;this.onColorFlushed=this._onColorFlushed.event;this._domNode=$8(".saturation-wrap");append(container,this._domNode);this._canvas=document.createElement("canvas");this._canvas.className="saturation-box";append(this._domNode,this._canvas);this.selection=$8(".saturation-selection");append(this._domNode,this.selection);this.layout();this._register(addDisposableListener(this._domNode,EventType.POINTER_DOWN,(e=>this.onPointerDown(e))));this._register(this.model.onDidChangeColor(this.onDidChangeColor,this));this.monitor=null}get domNode(){return this._domNode}onPointerDown(e){if(!e.target||!(e.target instanceof Element)){return}this.monitor=this._register(new GlobalPointerMoveMonitor);const origin=getDomNodePagePosition(this._domNode);if(e.target!==this.selection){this.onDidChangePosition(e.offsetX,e.offsetY)}this.monitor.startMonitoring(e.target,e.pointerId,e.buttons,(event=>this.onDidChangePosition(event.pageX-origin.left,event.pageY-origin.top)),(()=>null));const pointerUpListener=addDisposableListener(document,EventType.POINTER_UP,(()=>{this._onColorFlushed.fire();pointerUpListener.dispose();if(this.monitor){this.monitor.stopMonitoring(true);this.monitor=null}}),true)}onDidChangePosition(left,top){const s=Math.max(0,Math.min(1,left/this.width));const v=Math.max(0,Math.min(1,1-top/this.height));this.paintSelection(s,v);this._onDidChange.fire({s:s,v:v})}layout(){this.width=this._domNode.offsetWidth;this.height=this._domNode.offsetHeight;this._canvas.width=this.width*this.pixelRatio;this._canvas.height=this.height*this.pixelRatio;this.paint();const hsva=this.model.color.hsva;this.paintSelection(hsva.s,hsva.v)}paint(){const hsva=this.model.color.hsva;const saturatedColor=new Color(new HSVA(hsva.h,1,1,1));const ctx=this._canvas.getContext("2d");const whiteGradient=ctx.createLinearGradient(0,0,this._canvas.width,0);whiteGradient.addColorStop(0,"rgba(255, 255, 255, 1)");whiteGradient.addColorStop(.5,"rgba(255, 255, 255, 0.5)");whiteGradient.addColorStop(1,"rgba(255, 255, 255, 0)");const blackGradient=ctx.createLinearGradient(0,0,0,this._canvas.height);blackGradient.addColorStop(0,"rgba(0, 0, 0, 0)");blackGradient.addColorStop(1,"rgba(0, 0, 0, 1)");ctx.rect(0,0,this._canvas.width,this._canvas.height);ctx.fillStyle=Color.Format.CSS.format(saturatedColor);ctx.fill();ctx.fillStyle=whiteGradient;ctx.fill();ctx.fillStyle=blackGradient;ctx.fill()}paintSelection(s,v){this.selection.style.left=`${s*this.width}px`;this.selection.style.top=`${this.height-v*this.height}px`}onDidChangeColor(color){if(this.monitor&&this.monitor.isMonitoring()){return}this.paint();const hsva=color.hsva;this.paintSelection(hsva.s,hsva.v)}};var Strip=class extends Disposable{constructor(container,model,showingStandaloneColorPicker=false){super();this.model=model;this._onDidChange=new Emitter;this.onDidChange=this._onDidChange.event;this._onColorFlushed=new Emitter;this.onColorFlushed=this._onColorFlushed.event;if(showingStandaloneColorPicker){this.domNode=append(container,$8(".standalone-strip"));this.overlay=append(this.domNode,$8(".standalone-overlay"))}else{this.domNode=append(container,$8(".strip"));this.overlay=append(this.domNode,$8(".overlay"))}this.slider=append(this.domNode,$8(".slider"));this.slider.style.top=`0px`;this._register(addDisposableListener(this.domNode,EventType.POINTER_DOWN,(e=>this.onPointerDown(e))));this._register(model.onDidChangeColor(this.onDidChangeColor,this));this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;const value=this.getValue(this.model.color);this.updateSliderPosition(value)}onDidChangeColor(color){const value=this.getValue(color);this.updateSliderPosition(value)}onPointerDown(e){if(!e.target||!(e.target instanceof Element)){return}const monitor=this._register(new GlobalPointerMoveMonitor);const origin=getDomNodePagePosition(this.domNode);this.domNode.classList.add("grabbing");if(e.target!==this.slider){this.onDidChangeTop(e.offsetY)}monitor.startMonitoring(e.target,e.pointerId,e.buttons,(event=>this.onDidChangeTop(event.pageY-origin.top)),(()=>null));const pointerUpListener=addDisposableListener(document,EventType.POINTER_UP,(()=>{this._onColorFlushed.fire();pointerUpListener.dispose();monitor.stopMonitoring(true);this.domNode.classList.remove("grabbing")}),true)}onDidChangeTop(top){const value=Math.max(0,Math.min(1,1-top/this.height));this.updateSliderPosition(value);this._onDidChange.fire(value)}updateSliderPosition(value){this.slider.style.top=`${(1-value)*this.height}px`}};var OpacityStrip=class extends Strip{constructor(container,model,showingStandaloneColorPicker=false){super(container,model,showingStandaloneColorPicker);this.domNode.classList.add("opacity-strip");this.onDidChangeColor(this.model.color)}onDidChangeColor(color){super.onDidChangeColor(color);const{r:r,g:g,b:b}=color.rgba;const opaque=new Color(new RGBA(r,g,b,1));const transparent2=new Color(new RGBA(r,g,b,0));this.overlay.style.background=`linear-gradient(to bottom, ${opaque} 0%, ${transparent2} 100%)`}getValue(color){return color.hsva.a}};var HueStrip=class extends Strip{constructor(container,model,showingStandaloneColorPicker=false){super(container,model,showingStandaloneColorPicker);this.domNode.classList.add("hue-strip")}getValue(color){return 1-color.hsva.h/360}};var InsertButton=class extends Disposable{constructor(container){super();this._onClicked=this._register(new Emitter);this.onClicked=this._onClicked.event;this._button=append(container,document.createElement("button"));this._button.classList.add("insert-button");this._button.textContent="Insert";this._button.onclick=e=>{this._onClicked.fire()}}get button(){return this._button}};var ColorPickerWidget=class extends Widget{constructor(container,model,pixelRatio,themeService,standaloneColorPicker=false){super();this.model=model;this.pixelRatio=pixelRatio;this._register(PixelRatio.onDidChange((()=>this.layout())));const element=$8(".colorpicker-widget");container.appendChild(element);this.header=this._register(new ColorPickerHeader(element,this.model,themeService,standaloneColorPicker));this.body=this._register(new ColorPickerBody(element,this.model,this.pixelRatio,standaloneColorPicker))}layout(){this.body.layout()}};init_themeService();init_dom();var __decorate64=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param57=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter46=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var ColorHover=class{constructor(owner,range2,model,provider){this.owner=owner;this.range=range2;this.model=model;this.provider=provider;this.forceShowAtRange=true}isValidForHoverAnchor(anchor){return anchor.type===1&&this.range.startColumn<=anchor.range.startColumn&&this.range.endColumn>=anchor.range.endColumn}};var ColorHoverParticipant=class ColorHoverParticipant2{constructor(_editor,_themeService){this._editor=_editor;this._themeService=_themeService;this.hoverOrdinal=2}computeSync(_anchor,_lineDecorations){return[]}computeAsync(anchor,lineDecorations,token){return AsyncIterableObject.fromPromise(this._computeAsync(anchor,lineDecorations,token))}_computeAsync(_anchor,lineDecorations,_token){return __awaiter46(this,void 0,void 0,(function*(){if(!this._editor.hasModel()){return[]}const colorDetector=ColorDetector.get(this._editor);if(!colorDetector){return[]}for(const d of lineDecorations){if(!colorDetector.isColorDecoration(d)){continue}const colorData=colorDetector.getColorData(d.range.getStartPosition());if(colorData){const colorHover=yield _createColorHover(this,this._editor.getModel(),colorData.colorInfo,colorData.provider);return[colorHover]}}return[]}))}renderHoverParts(context,hoverParts){return renderHoverParts(this,this._editor,this._themeService,hoverParts,context)}};ColorHoverParticipant=__decorate64([__param57(1,IThemeService)],ColorHoverParticipant);var StandaloneColorPickerHover=class{constructor(owner,range2,model,provider){this.owner=owner;this.range=range2;this.model=model;this.provider=provider}};var StandaloneColorPickerParticipant=class StandaloneColorPickerParticipant2{constructor(_editor,_themeService){this._editor=_editor;this._themeService=_themeService;this._color=null}createColorHover(defaultColorInfo,defaultColorProvider,colorProviderRegistry){return __awaiter46(this,void 0,void 0,(function*(){if(!this._editor.hasModel()){return null}const colorDetector=ColorDetector.get(this._editor);if(!colorDetector){return null}const colors=yield getColors(colorProviderRegistry,this._editor.getModel(),CancellationToken.None);let foundColorInfo=null;let foundColorProvider=null;for(const colorData of colors){const colorInfo2=colorData.colorInfo;if(Range.containsRange(colorInfo2.range,defaultColorInfo.range)){foundColorInfo=colorInfo2;foundColorProvider=colorData.provider}}const colorInfo=foundColorInfo!==null&&foundColorInfo!==void 0?foundColorInfo:defaultColorInfo;const colorProvider=foundColorProvider!==null&&foundColorProvider!==void 0?foundColorProvider:defaultColorProvider;const foundInEditor=!!foundColorInfo;return{colorHover:yield _createColorHover(this,this._editor.getModel(),colorInfo,colorProvider),foundInEditor:foundInEditor}}))}updateEditorModel(colorHoverData){return __awaiter46(this,void 0,void 0,(function*(){if(!this._editor.hasModel()){return}const colorPickerModel=colorHoverData.model;let range2=new Range(colorHoverData.range.startLineNumber,colorHoverData.range.startColumn,colorHoverData.range.endLineNumber,colorHoverData.range.endColumn);if(this._color){yield _updateColorPresentations(this._editor.getModel(),colorPickerModel,this._color,range2,colorHoverData);range2=_updateEditorModel(this._editor,range2,colorPickerModel)}}))}renderHoverParts(context,hoverParts){return renderHoverParts(this,this._editor,this._themeService,hoverParts,context)}set color(color){this._color=color}get color(){return this._color}};StandaloneColorPickerParticipant=__decorate64([__param57(1,IThemeService)],StandaloneColorPickerParticipant);function _createColorHover(participant,editorModel,colorInfo,provider){return __awaiter46(this,void 0,void 0,(function*(){const originalText=editorModel.getValueInRange(colorInfo.range);const{red:red,green:green,blue:blue,alpha:alpha}=colorInfo.color;const rgba=new RGBA(Math.round(red*255),Math.round(green*255),Math.round(blue*255),alpha);const color=new Color(rgba);const colorPresentations=yield getColorPresentations(editorModel,colorInfo,provider,CancellationToken.None);const model=new ColorPickerModel(color,[],0);model.colorPresentations=colorPresentations||[];model.guessColorPresentation(color,originalText);if(participant instanceof ColorHoverParticipant){return new ColorHover(participant,Range.lift(colorInfo.range),model,provider)}else{return new StandaloneColorPickerHover(participant,Range.lift(colorInfo.range),model,provider)}}))}function renderHoverParts(participant,editor2,themeService,hoverParts,context){if(hoverParts.length===0||!editor2.hasModel()){return Disposable.None}if(context.setMinimumDimensions){const minimumHeight=editor2.getOption(65)+8;context.setMinimumDimensions(new Dimension(302,minimumHeight))}const disposables=new DisposableStore;const colorHover=hoverParts[0];const editorModel=editor2.getModel();const model=colorHover.model;const widget=disposables.add(new ColorPickerWidget(context.fragment,model,editor2.getOption(140),themeService,participant instanceof StandaloneColorPickerParticipant));context.setColorPicker(widget);let editorUpdatedByColorPicker=false;let range2=new Range(colorHover.range.startLineNumber,colorHover.range.startColumn,colorHover.range.endLineNumber,colorHover.range.endColumn);if(participant instanceof StandaloneColorPickerParticipant){const color=hoverParts[0].model.color;participant.color=color;_updateColorPresentations(editorModel,model,color,range2,colorHover);disposables.add(model.onColorFlushed((color2=>{participant.color=color2})))}else{disposables.add(model.onColorFlushed((color=>__awaiter46(this,void 0,void 0,(function*(){yield _updateColorPresentations(editorModel,model,color,range2,colorHover);editorUpdatedByColorPicker=true;range2=_updateEditorModel(editor2,range2,model,context)})))))}disposables.add(model.onDidChangeColor((color=>{_updateColorPresentations(editorModel,model,color,range2,colorHover)})));disposables.add(editor2.onDidChangeModelContent((e=>{if(editorUpdatedByColorPicker){editorUpdatedByColorPicker=false}else{context.hide();editor2.focus()}})));return disposables}function _updateEditorModel(editor2,range2,model,context){let textEdits;let newRange;if(model.presentation.textEdit){textEdits=[model.presentation.textEdit];newRange=new Range(model.presentation.textEdit.range.startLineNumber,model.presentation.textEdit.range.startColumn,model.presentation.textEdit.range.endLineNumber,model.presentation.textEdit.range.endColumn);const trackedRange=editor2.getModel()._setTrackedRange(null,newRange,3);editor2.pushUndoStop();editor2.executeEdits("colorpicker",textEdits);newRange=editor2.getModel()._getTrackedRange(trackedRange)||newRange}else{textEdits=[{range:range2,text:model.presentation.label,forceMoveMarkers:false}];newRange=range2.setEndPosition(range2.endLineNumber,range2.startColumn+model.presentation.label.length);editor2.pushUndoStop();editor2.executeEdits("colorpicker",textEdits)}if(model.presentation.additionalTextEdits){textEdits=[...model.presentation.additionalTextEdits];editor2.executeEdits("colorpicker",textEdits);if(context){context.hide()}}editor2.pushUndoStop();return newRange}function _updateColorPresentations(editorModel,colorPickerModel,color,range2,colorHover){return __awaiter46(this,void 0,void 0,(function*(){const colorPresentations=yield getColorPresentations(editorModel,{range:range2,color:{red:color.rgba.r/255,green:color.rgba.g/255,blue:color.rgba.b/255,alpha:color.rgba.a}},colorHover.provider,CancellationToken.None);colorPickerModel.colorPresentations=colorPresentations||[]}))}init_keyCodes();init_lifecycle();init_editorExtensions();init_range();init_editorContextKeys();init_language();init_async();init_errors();init_htmlContent();init_lifecycle();init_editorState();init_editorExtensions();init_range();init_language();init_resolverService();init_event();init_lifecycle();init_platform();function hasModifier(e,modifier){return!!e[modifier]}var ClickLinkMouseEvent=class{constructor(source,opts){this.target=source.target;this.isLeftClick=source.event.leftButton;this.isMiddleClick=source.event.middleButton;this.isRightClick=source.event.rightButton;this.hasTriggerModifier=hasModifier(source.event,opts.triggerModifier);this.hasSideBySideModifier=hasModifier(source.event,opts.triggerSideBySideModifier);this.isNoneOrSingleMouseDown=source.event.detail<=1}};var ClickLinkKeyboardEvent=class{constructor(source,opts){this.keyCodeIsTriggerKey=source.keyCode===opts.triggerKey;this.keyCodeIsSideBySideKey=source.keyCode===opts.triggerSideBySideKey;this.hasTriggerModifier=hasModifier(source,opts.triggerModifier)}};var ClickLinkOptions=class{constructor(triggerKey,triggerModifier,triggerSideBySideKey,triggerSideBySideModifier){this.triggerKey=triggerKey;this.triggerModifier=triggerModifier;this.triggerSideBySideKey=triggerSideBySideKey;this.triggerSideBySideModifier=triggerSideBySideModifier}equals(other){return this.triggerKey===other.triggerKey&&this.triggerModifier===other.triggerModifier&&this.triggerSideBySideKey===other.triggerSideBySideKey&&this.triggerSideBySideModifier===other.triggerSideBySideModifier}};function createOptions(multiCursorModifier){if(multiCursorModifier==="altKey"){if(isMacintosh){return new ClickLinkOptions(57,"metaKey",6,"altKey")}return new ClickLinkOptions(5,"ctrlKey",6,"altKey")}if(isMacintosh){return new ClickLinkOptions(6,"altKey",57,"metaKey")}return new ClickLinkOptions(6,"altKey",5,"ctrlKey")}var ClickLinkGesture=class extends Disposable{constructor(editor2,opts){var _a6;super();this._onMouseMoveOrRelevantKeyDown=this._register(new Emitter);this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event;this._onExecute=this._register(new Emitter);this.onExecute=this._onExecute.event;this._onCancel=this._register(new Emitter);this.onCancel=this._onCancel.event;this._editor=editor2;this._extractLineNumberFromMouseEvent=(_a6=opts===null||opts===void 0?void 0:opts.extractLineNumberFromMouseEvent)!==null&&_a6!==void 0?_a6:e=>e.target.position?e.target.position.lineNumber:0;this._opts=createOptions(this._editor.getOption(76));this._lastMouseMoveEvent=null;this._hasTriggerKeyOnMouseDown=false;this._lineNumberOnMouseDown=0;this._register(this._editor.onDidChangeConfiguration((e=>{if(e.hasChanged(76)){const newOpts=createOptions(this._editor.getOption(76));if(this._opts.equals(newOpts)){return}this._opts=newOpts;this._lastMouseMoveEvent=null;this._hasTriggerKeyOnMouseDown=false;this._lineNumberOnMouseDown=0;this._onCancel.fire()}})));this._register(this._editor.onMouseMove((e=>this._onEditorMouseMove(new ClickLinkMouseEvent(e,this._opts)))));this._register(this._editor.onMouseDown((e=>this._onEditorMouseDown(new ClickLinkMouseEvent(e,this._opts)))));this._register(this._editor.onMouseUp((e=>this._onEditorMouseUp(new ClickLinkMouseEvent(e,this._opts)))));this._register(this._editor.onKeyDown((e=>this._onEditorKeyDown(new ClickLinkKeyboardEvent(e,this._opts)))));this._register(this._editor.onKeyUp((e=>this._onEditorKeyUp(new ClickLinkKeyboardEvent(e,this._opts)))));this._register(this._editor.onMouseDrag((()=>this._resetHandler())));this._register(this._editor.onDidChangeCursorSelection((e=>this._onDidChangeCursorSelection(e))));this._register(this._editor.onDidChangeModel((e=>this._resetHandler())));this._register(this._editor.onDidChangeModelContent((()=>this._resetHandler())));this._register(this._editor.onDidScrollChange((e=>{if(e.scrollTopChanged||e.scrollLeftChanged){this._resetHandler()}})))}_onDidChangeCursorSelection(e){if(e.selection&&e.selection.startColumn!==e.selection.endColumn){this._resetHandler()}}_onEditorMouseMove(mouseEvent){this._lastMouseMoveEvent=mouseEvent;this._onMouseMoveOrRelevantKeyDown.fire([mouseEvent,null])}_onEditorMouseDown(mouseEvent){this._hasTriggerKeyOnMouseDown=mouseEvent.hasTriggerModifier;this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(mouseEvent)}_onEditorMouseUp(mouseEvent){const currentLineNumber=this._extractLineNumberFromMouseEvent(mouseEvent);if(this._hasTriggerKeyOnMouseDown&&this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===currentLineNumber){this._onExecute.fire(mouseEvent)}}_onEditorKeyDown(e){if(this._lastMouseMoveEvent&&(e.keyCodeIsTriggerKey||e.keyCodeIsSideBySideKey&&e.hasTriggerModifier)){this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,e])}else if(e.hasTriggerModifier){this._onCancel.fire()}}_onEditorKeyUp(e){if(e.keyCodeIsTriggerKey){this._onCancel.fire()}}_resetHandler(){this._lastMouseMoveEvent=null;this._hasTriggerKeyOnMouseDown=false;this._onCancel.fire()}};init_dom();init_actionbar();init_actions();init_codicons();init_themables();init_color();init_event();init_objects();init_editorExtensions();init_codeEditorService();init_objects();init_codeEditorService();init_codeEditorWidget();init_commands();init_contextkey();init_instantiation();init_notification();init_themeService();init_accessibility();init_languageConfigurationRegistry();init_languageFeatures();var __decorate65=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param58=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var EmbeddedCodeEditorWidget=class EmbeddedCodeEditorWidget2 extends CodeEditorWidget{constructor(domElement,options2,codeEditorWidgetOptions,parentEditor,instantiationService,codeEditorService,commandService,contextKeyService,themeService,notificationService,accessibilityService,languageConfigurationService,languageFeaturesService){super(domElement,Object.assign(Object.assign({},parentEditor.getRawOptions()),{overflowWidgetsDomNode:parentEditor.getOverflowWidgetsDomNode()}),codeEditorWidgetOptions,instantiationService,codeEditorService,commandService,contextKeyService,themeService,notificationService,accessibilityService,languageConfigurationService,languageFeaturesService);this._parentEditor=parentEditor;this._overwriteOptions=options2;super.updateOptions(this._overwriteOptions);this._register(parentEditor.onDidChangeConfiguration((e=>this._onParentConfigurationChanged(e))))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions());super.updateOptions(this._overwriteOptions)}updateOptions(newOptions){mixin(this._overwriteOptions,newOptions,true);super.updateOptions(this._overwriteOptions)}};EmbeddedCodeEditorWidget=__decorate65([__param58(4,IInstantiationService),__param58(5,ICodeEditorService),__param58(6,ICommandService),__param58(7,IContextKeyService),__param58(8,IThemeService),__param58(9,INotificationService),__param58(10,IAccessibilityService),__param58(11,ILanguageConfigurationService),__param58(12,ILanguageFeaturesService)],EmbeddedCodeEditorWidget);init_dom();init_sash();init_color();init_idGenerator();init_lifecycle();init_objects();init_range();init_textModel();var defaultColor=new Color(new RGBA(0,122,204));var defaultOptions2={showArrow:true,showFrame:true,className:"",frameColor:defaultColor,arrowColor:defaultColor,keepEditorSelection:false};var WIDGET_ID="vs.editor.contrib.zoneWidget";var ViewZoneDelegate=class{constructor(domNode,afterLineNumber,afterColumn,heightInLines,onDomNodeTop,onComputedHeight,showInHiddenAreas,ordinal){this.id="";this.domNode=domNode;this.afterLineNumber=afterLineNumber;this.afterColumn=afterColumn;this.heightInLines=heightInLines;this.showInHiddenAreas=showInHiddenAreas;this.ordinal=ordinal;this._onDomNodeTop=onDomNodeTop;this._onComputedHeight=onComputedHeight}onDomNodeTop(top){this._onDomNodeTop(top)}onComputedHeight(height){this._onComputedHeight(height)}};var OverlayWidgetDelegate=class{constructor(id,domNode){this._id=id;this._domNode=domNode}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}};var Arrow=class{constructor(_editor){this._editor=_editor;this._ruleName=Arrow._IdGenerator.nextId();this._decorations=this._editor.createDecorationsCollection();this._color=null;this._height=-1}dispose(){this.hide();removeCSSRulesContainingSelector(this._ruleName)}set color(value){if(this._color!==value){this._color=value;this._updateStyle()}}set height(value){if(this._height!==value){this._height=value;this._updateStyle()}}_updateStyle(){removeCSSRulesContainingSelector(this._ruleName);createCSSRule(`.monaco-editor ${this._ruleName}`,`border-style: solid; border-color: transparent; border-bottom-color: ${this._color}; border-width: ${this._height}px; bottom: -${this._height}px; margin-left: -${this._height}px; `)}show(where){if(where.column===1){where={lineNumber:where.lineNumber,column:2}}this._decorations.set([{range:Range.fromPositions(where),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}};Arrow._IdGenerator=new IdGenerator(".arrow-decoration-");var ZoneWidget=class{constructor(editor2,options2={}){this._arrow=null;this._overlayWidget=null;this._resizeSash=null;this._viewZone=null;this._disposables=new DisposableStore;this.container=null;this._isShowing=false;this.editor=editor2;this._positionMarkerId=this.editor.createDecorationsCollection();this.options=deepClone(options2);mixin(this.options,defaultOptions2,false);this.domNode=document.createElement("div");if(!this.options.isAccessible){this.domNode.setAttribute("aria-hidden","true");this.domNode.setAttribute("role","presentation")}this._disposables.add(this.editor.onDidLayoutChange((info=>{const width=this._getWidth(info);this.domNode.style.width=width+"px";this.domNode.style.left=this._getLeft(info)+"px";this._onWidth(width)})))}dispose(){if(this._overlayWidget){this.editor.removeOverlayWidget(this._overlayWidget);this._overlayWidget=null}if(this._viewZone){this.editor.changeViewZones((accessor=>{if(this._viewZone){accessor.removeZone(this._viewZone.id)}this._viewZone=null}))}this._positionMarkerId.clear();this._disposables.dispose()}create(){this.domNode.classList.add("zone-widget");if(this.options.className){this.domNode.classList.add(this.options.className)}this.container=document.createElement("div");this.container.classList.add("zone-widget-container");this.domNode.appendChild(this.container);if(this.options.showArrow){this._arrow=new Arrow(this.editor);this._disposables.add(this._arrow)}this._fillContainer(this.container);this._initSash();this._applyStyles()}style(styles){if(styles.frameColor){this.options.frameColor=styles.frameColor}if(styles.arrowColor){this.options.arrowColor=styles.arrowColor}this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){const frameColor=this.options.frameColor.toString();this.container.style.borderTopColor=frameColor;this.container.style.borderBottomColor=frameColor}if(this._arrow&&this.options.arrowColor){const arrowColor=this.options.arrowColor.toString();this._arrow.color=arrowColor}}_getWidth(info){return info.width-info.minimap.minimapWidth-info.verticalScrollbarWidth}_getLeft(info){if(info.minimap.minimapWidth>0&&info.minimap.minimapLeft===0){return info.minimap.minimapWidth}return 0}_onViewZoneTop(top){this.domNode.style.top=top+"px"}_onViewZoneHeight(height){var _a6;this.domNode.style.height=`${height}px`;if(this.container){const containerHeight=height-this._decoratingElementsHeight();this.container.style.height=`${containerHeight}px`;const layoutInfo=this.editor.getLayoutInfo();this._doLayout(containerHeight,this._getWidth(layoutInfo))}(_a6=this._resizeSash)===null||_a6===void 0?void 0:_a6.layout()}get position(){const range2=this._positionMarkerId.getRange(0);if(!range2){return void 0}return range2.getStartPosition()}show(rangeOrPos,heightInLines){const range2=Range.isIRange(rangeOrPos)?Range.lift(rangeOrPos):Range.fromPositions(rangeOrPos);this._isShowing=true;this._showImpl(range2,heightInLines);this._isShowing=false;this._positionMarkerId.set([{range:range2,options:ModelDecorationOptions.EMPTY}])}hide(){var _a6;if(this._viewZone){this.editor.changeViewZones((accessor=>{if(this._viewZone){accessor.removeZone(this._viewZone.id)}}));this._viewZone=null}if(this._overlayWidget){this.editor.removeOverlayWidget(this._overlayWidget);this._overlayWidget=null}(_a6=this._arrow)===null||_a6===void 0?void 0:_a6.hide();this._positionMarkerId.clear()}_decoratingElementsHeight(){const lineHeight=this.editor.getOption(65);let result=0;if(this.options.showArrow){const arrowHeight=Math.round(lineHeight/3);result+=2*arrowHeight}if(this.options.showFrame){const frameThickness=Math.round(lineHeight/9);result+=2*frameThickness}return result}_showImpl(where,heightInLines){const position=where.getStartPosition();const layoutInfo=this.editor.getLayoutInfo();const width=this._getWidth(layoutInfo);this.domNode.style.width=`${width}px`;this.domNode.style.left=this._getLeft(layoutInfo)+"px";const viewZoneDomNode=document.createElement("div");viewZoneDomNode.style.overflow="hidden";const lineHeight=this.editor.getOption(65);if(!this.options.allowUnlimitedHeight){const maxHeightInLines=Math.max(12,this.editor.getLayoutInfo().height/lineHeight*.8);heightInLines=Math.min(heightInLines,maxHeightInLines)}let arrowHeight=0;let frameThickness=0;if(this._arrow&&this.options.showArrow){arrowHeight=Math.round(lineHeight/3);this._arrow.height=arrowHeight;this._arrow.show(position)}if(this.options.showFrame){frameThickness=Math.round(lineHeight/9)}this.editor.changeViewZones((accessor=>{if(this._viewZone){accessor.removeZone(this._viewZone.id)}if(this._overlayWidget){this.editor.removeOverlayWidget(this._overlayWidget);this._overlayWidget=null}this.domNode.style.top="-1000px";this._viewZone=new ViewZoneDelegate(viewZoneDomNode,position.lineNumber,position.column,heightInLines,(top=>this._onViewZoneTop(top)),(height=>this._onViewZoneHeight(height)),this.options.showInHiddenAreas,this.options.ordinal);this._viewZone.id=accessor.addZone(this._viewZone);this._overlayWidget=new OverlayWidgetDelegate(WIDGET_ID+this._viewZone.id,this.domNode);this.editor.addOverlayWidget(this._overlayWidget)}));if(this.container&&this.options.showFrame){const width2=this.options.frameWidth?this.options.frameWidth:frameThickness;this.container.style.borderTopWidth=width2+"px";this.container.style.borderBottomWidth=width2+"px"}const containerHeight=heightInLines*lineHeight-this._decoratingElementsHeight();if(this.container){this.container.style.top=arrowHeight+"px";this.container.style.height=containerHeight+"px";this.container.style.overflow="hidden"}this._doLayout(containerHeight,width);if(!this.options.keepEditorSelection){this.editor.setSelection(where)}const model=this.editor.getModel();if(model){const range2=model.validateRange(new Range(where.startLineNumber,1,where.endLineNumber+1,1));this.revealRange(range2,range2.startLineNumber===model.getLineCount())}}revealRange(range2,isLastLine){if(isLastLine){this.editor.revealLineNearTop(range2.endLineNumber,0)}else{this.editor.revealRange(range2,0)}}setCssClass(className,classToReplace){if(!this.container){return}if(classToReplace){this.container.classList.remove(classToReplace)}this.container.classList.add(className)}_onWidth(widthInPixel){}_doLayout(heightInPixel,widthInPixel){}_relayout(newHeightInLines){if(this._viewZone&&this._viewZone.heightInLines!==newHeightInLines){this.editor.changeViewZones((accessor=>{if(this._viewZone){this._viewZone.heightInLines=newHeightInLines;accessor.layoutZone(this._viewZone.id)}}))}}_initSash(){if(this._resizeSash){return}this._resizeSash=this._disposables.add(new Sash(this.domNode,this,{orientation:1}));if(!this.options.isResizeable){this._resizeSash.state=0}let data;this._disposables.add(this._resizeSash.onDidStart((e=>{if(this._viewZone){data={startY:e.startY,heightInLines:this._viewZone.heightInLines}}})));this._disposables.add(this._resizeSash.onDidEnd((()=>{data=void 0})));this._disposables.add(this._resizeSash.onDidChange((evt=>{if(data){const lineDelta=(evt.currentY-data.startY)/this.editor.getOption(65);const roundedLineDelta=lineDelta<0?Math.ceil(lineDelta):Math.floor(lineDelta);const newHeightInLines=data.heightInLines+roundedLineDelta;if(newHeightInLines>5&&newHeightInLines<35){this._relayout(newHeightInLines)}}})))}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(this.domNode.style.height===null?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){const layoutInfo=this.editor.getLayoutInfo();return layoutInfo.width-layoutInfo.minimap.minimapWidth}};init_nls();init_menuEntryActionViewItem();init_contextkey();init_extensions();init_instantiation();init_colorRegistry();var __decorate66=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param59=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var IPeekViewService=createDecorator("IPeekViewService");registerSingleton(IPeekViewService,class{constructor(){this._widgets=new Map}addExclusiveWidget(editor2,widget){const existing=this._widgets.get(editor2);if(existing){existing.listener.dispose();existing.widget.dispose()}const remove=()=>{const data=this._widgets.get(editor2);if(data&&data.widget===widget){data.listener.dispose();this._widgets.delete(editor2)}};this._widgets.set(editor2,{widget:widget,listener:widget.onDidClose(remove)})}},1);var PeekContext;(function(PeekContext2){PeekContext2.inPeekEditor=new RawContextKey("inReferenceSearchEditor",true,localize("inReferenceSearchEditor","Whether the current code editor is embedded inside peek"));PeekContext2.notInPeekEditor=PeekContext2.inPeekEditor.toNegated()})(PeekContext||(PeekContext={}));var PeekContextController=class PeekContextController2{constructor(editor2,contextKeyService){if(editor2 instanceof EmbeddedCodeEditorWidget){PeekContext.inPeekEditor.bindTo(contextKeyService)}}dispose(){}};PeekContextController.ID="editor.contrib.referenceController";PeekContextController=__decorate66([__param59(1,IContextKeyService)],PeekContextController);registerEditorContribution(PeekContextController.ID,PeekContextController,0);function getOuterEditor(accessor){const editor2=accessor.get(ICodeEditorService).getFocusedCodeEditor();if(editor2 instanceof EmbeddedCodeEditorWidget){return editor2.getParentEditor()}return editor2}var defaultOptions3={headerBackgroundColor:Color.white,primaryHeadingColor:Color.fromHex("#333333"),secondaryHeadingColor:Color.fromHex("#6c6c6cb3")};var PeekViewWidget=class PeekViewWidget2 extends ZoneWidget{constructor(editor2,options2,instantiationService){super(editor2,options2);this.instantiationService=instantiationService;this._onDidClose=new Emitter;this.onDidClose=this._onDidClose.event;mixin(this.options,defaultOptions3,false)}dispose(){if(!this.disposed){this.disposed=true;super.dispose();this._onDidClose.fire(this)}}style(styles){const options2=this.options;if(styles.headerBackgroundColor){options2.headerBackgroundColor=styles.headerBackgroundColor}if(styles.primaryHeadingColor){options2.primaryHeadingColor=styles.primaryHeadingColor}if(styles.secondaryHeadingColor){options2.secondaryHeadingColor=styles.secondaryHeadingColor}super.style(styles)}_applyStyles(){super._applyStyles();const options2=this.options;if(this._headElement&&options2.headerBackgroundColor){this._headElement.style.backgroundColor=options2.headerBackgroundColor.toString()}if(this._primaryHeading&&options2.primaryHeadingColor){this._primaryHeading.style.color=options2.primaryHeadingColor.toString()}if(this._secondaryHeading&&options2.secondaryHeadingColor){this._secondaryHeading.style.color=options2.secondaryHeadingColor.toString()}if(this._bodyElement&&options2.frameColor){this._bodyElement.style.borderColor=options2.frameColor.toString()}}_fillContainer(container){this.setCssClass("peekview-widget");this._headElement=$(".head");this._bodyElement=$(".body");this._fillHead(this._headElement);this._fillBody(this._bodyElement);container.appendChild(this._headElement);container.appendChild(this._bodyElement)}_fillHead(container,noCloseAction){this._titleElement=$(".peekview-title");if(this.options.supportOnTitleClick){this._titleElement.classList.add("clickable");addStandardDisposableListener(this._titleElement,"click",(event=>this._onTitleClick(event)))}append(this._headElement,this._titleElement);this._fillTitleIcon(this._titleElement);this._primaryHeading=$("span.filename");this._secondaryHeading=$("span.dirname");this._metaHeading=$("span.meta");append(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const actionsContainer=$(".peekview-actions");append(this._headElement,actionsContainer);const actionBarOptions=this._getActionBarOptions();this._actionbarWidget=new ActionBar(actionsContainer,actionBarOptions);this._disposables.add(this._actionbarWidget);if(!noCloseAction){this._actionbarWidget.push(new Action("peekview.close",localize("label.close","Close"),ThemeIcon.asClassName(Codicon.close),true,(()=>{this.dispose();return Promise.resolve()})),{label:false,icon:true})}}_fillTitleIcon(container){}_getActionBarOptions(){return{actionViewItemProvider:createActionViewItem.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(event){}setTitle(primaryHeading,secondaryHeading){if(this._primaryHeading&&this._secondaryHeading){this._primaryHeading.innerText=primaryHeading;this._primaryHeading.setAttribute("title",primaryHeading);if(secondaryHeading){this._secondaryHeading.innerText=secondaryHeading}else{clearNode(this._secondaryHeading)}}}setMetaTitle(value){if(this._metaHeading){if(value){this._metaHeading.innerText=value;show(this._metaHeading)}else{hide(this._metaHeading)}}}_doLayout(heightInPixel,widthInPixel){if(!this._isShowing&&heightInPixel<0){this.dispose();return}const headHeight=Math.ceil(this.editor.getOption(65)*1.2);const bodyHeight=Math.round(heightInPixel-(headHeight+2));this._doLayoutHead(headHeight,widthInPixel);this._doLayoutBody(bodyHeight,widthInPixel)}_doLayoutHead(heightInPixel,widthInPixel){if(this._headElement){this._headElement.style.height=`${heightInPixel}px`;this._headElement.style.lineHeight=this._headElement.style.height}}_doLayoutBody(heightInPixel,widthInPixel){if(this._bodyElement){this._bodyElement.style.height=`${heightInPixel}px`}}};PeekViewWidget=__decorate66([__param59(2,IInstantiationService)],PeekViewWidget);var peekViewTitleBackground=registerColor("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:Color.black,hcLight:Color.white},localize("peekViewTitleBackground","Background color of the peek view title area."));var peekViewTitleForeground=registerColor("peekViewTitleLabel.foreground",{dark:Color.white,light:Color.black,hcDark:Color.white,hcLight:editorForeground},localize("peekViewTitleForeground","Color of the peek view title."));var peekViewTitleInfoForeground=registerColor("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},localize("peekViewTitleInfoForeground","Color of the peek view title info."));var peekViewBorder=registerColor("peekView.border",{dark:editorInfoForeground,light:editorInfoForeground,hcDark:contrastBorder,hcLight:contrastBorder},localize("peekViewBorder","Color of the peek view borders and arrow."));var peekViewResultsBackground=registerColor("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:Color.black,hcLight:Color.white},localize("peekViewResultsBackground","Background color of the peek view result list."));var peekViewResultsMatchForeground=registerColor("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:Color.white,hcLight:editorForeground},localize("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list."));var peekViewResultsFileForeground=registerColor("peekViewResult.fileForeground",{dark:Color.white,light:"#1E1E1E",hcDark:Color.white,hcLight:editorForeground},localize("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list."));var peekViewResultsSelectionBackground=registerColor("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},localize("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list."));var peekViewResultsSelectionForeground=registerColor("peekViewResult.selectionForeground",{dark:Color.white,light:"#6C6C6C",hcDark:Color.white,hcLight:editorForeground},localize("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));var peekViewEditorBackground=registerColor("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:Color.black,hcLight:Color.white},localize("peekViewEditorBackground","Background color of the peek view editor."));var peekViewEditorGutterBackground=registerColor("peekViewEditorGutter.background",{dark:peekViewEditorBackground,light:peekViewEditorBackground,hcDark:peekViewEditorBackground,hcLight:peekViewEditorBackground},localize("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor."));var peekViewEditorStickyScrollBackground=registerColor("peekViewEditorStickyScroll.background",{dark:peekViewEditorBackground,light:peekViewEditorBackground,hcDark:peekViewEditorBackground,hcLight:peekViewEditorBackground},localize("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor."));var peekViewResultsMatchHighlight=registerColor("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},localize("peekViewResultsMatchHighlight","Match highlight color in the peek view result list."));var peekViewEditorMatchHighlight=registerColor("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},localize("peekViewEditorMatchHighlight","Match highlight color in the peek view editor."));var peekViewEditorMatchHighlightBorder=registerColor("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));init_nls();init_contextkey();init_aria();init_async();init_keyCodes();init_types();init_uri();init_editorState();init_editorBrowser();init_editorExtensions();init_codeEditorService();init_position();init_range();init_editorContextKeys();init_languages();init_async();init_errors();init_keyCodes();init_lifecycle();init_codeEditorService();init_position();init_range();init_nls();init_commands();init_configuration();init_contextkey();init_instantiation();init_keybindingsRegistry();init_listService();init_notification();init_storage2();init_errors();init_event();init_idGenerator();init_lifecycle();init_map();init_resources();init_strings();init_range();init_nls();var __awaiter47=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var OneReference=class{constructor(isProviderFirst,parent,link,_rangeCallback){this.isProviderFirst=isProviderFirst;this.parent=parent;this.link=link;this._rangeCallback=_rangeCallback;this.id=defaultGenerator.nextId()}get uri(){return this.link.uri}get range(){var _a6,_b3;return(_b3=(_a6=this._range)!==null&&_a6!==void 0?_a6:this.link.targetSelectionRange)!==null&&_b3!==void 0?_b3:this.link.range}set range(value){this._range=value;this._rangeCallback(this)}get ariaMessage(){var _a6;const preview=(_a6=this.parent.getPreview(this))===null||_a6===void 0?void 0:_a6.preview(this.range);if(!preview){return localize("aria.oneReference","in {0} on line {1} at column {2}",basename2(this.uri),this.range.startLineNumber,this.range.startColumn)}else{return localize({key:"aria.oneReference.preview",comment:["Placeholders are: 0: filename, 1:line number, 2: column number, 3: preview snippet of source code"]},"{0} in {1} on line {2} at column {3}",preview.value,basename2(this.uri),this.range.startLineNumber,this.range.startColumn)}}};var FilePreview=class{constructor(_modelReference){this._modelReference=_modelReference}dispose(){this._modelReference.dispose()}preview(range2,n=8){const model=this._modelReference.object.textEditorModel;if(!model){return void 0}const{startLineNumber:startLineNumber,startColumn:startColumn,endLineNumber:endLineNumber,endColumn:endColumn}=range2;const word=model.getWordUntilPosition({lineNumber:startLineNumber,column:startColumn-n});const beforeRange=new Range(startLineNumber,word.startColumn,startLineNumber,startColumn);const afterRange=new Range(endLineNumber,endColumn,endLineNumber,1073741824);const before=model.getValueInRange(beforeRange).replace(/^\s+/,"");const inside=model.getValueInRange(range2);const after=model.getValueInRange(afterRange).replace(/\s+$/,"");return{value:before+inside+after,highlight:{start:before.length,end:before.length+inside.length}}}};var FileReferences=class{constructor(parent,uri){this.parent=parent;this.uri=uri;this.children=[];this._previews=new ResourceMap}dispose(){dispose(this._previews.values());this._previews.clear()}getPreview(child){return this._previews.get(child.uri)}get ariaMessage(){const len=this.children.length;if(len===1){return localize("aria.fileReferences.1","1 symbol in {0}, full path {1}",basename2(this.uri),this.uri.fsPath)}else{return localize("aria.fileReferences.N","{0} symbols in {1}, full path {2}",len,basename2(this.uri),this.uri.fsPath)}}resolve(textModelResolverService){return __awaiter47(this,void 0,void 0,(function*(){if(this._previews.size!==0){return this}for(const child of this.children){if(this._previews.has(child.uri)){continue}try{const ref=yield textModelResolverService.createModelReference(child.uri);this._previews.set(child.uri,new FilePreview(ref))}catch(err){onUnexpectedError(err)}}return this}))}};var ReferencesModel=class{constructor(links,title){this.groups=[];this.references=[];this._onDidChangeReferenceRange=new Emitter;this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event;this._links=links;this._title=title;const[providersFirst]=links;links.sort(ReferencesModel._compareReferences);let current;for(const link of links){if(!current||!extUri.isEqual(current.uri,link.uri,true)){current=new FileReferences(this,link.uri);this.groups.push(current)}if(current.children.length===0||ReferencesModel._compareReferences(link,current.children[current.children.length-1])!==0){const oneRef=new OneReference(providersFirst===link,current,link,(ref=>this._onDidChangeReferenceRange.fire(ref)));this.references.push(oneRef);current.children.push(oneRef)}}}dispose(){dispose(this.groups);this._onDidChangeReferenceRange.dispose();this.groups.length=0}clone(){return new ReferencesModel(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){if(this.isEmpty){return localize("aria.result.0","No results found")}else if(this.references.length===1){return localize("aria.result.1","Found 1 symbol in {0}",this.references[0].uri.fsPath)}else if(this.groups.length===1){return localize("aria.result.n1","Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath)}else{return localize("aria.result.nm","Found {0} symbols in {1} files",this.references.length,this.groups.length)}}nextOrPreviousReference(reference,next){const{parent:parent}=reference;let idx=parent.children.indexOf(reference);const childCount=parent.children.length;const groupCount=parent.parent.groups.length;if(groupCount===1||next&&idx+1<childCount||!next&&idx>0){if(next){idx=(idx+1)%childCount}else{idx=(idx+childCount-1)%childCount}return parent.children[idx]}idx=parent.parent.groups.indexOf(parent);if(next){idx=(idx+1)%groupCount;return parent.parent.groups[idx].children[0]}else{idx=(idx+groupCount-1)%groupCount;return parent.parent.groups[idx].children[parent.parent.groups[idx].children.length-1]}}nearestReference(resource,position){const nearest=this.references.map(((ref,idx)=>({idx:idx,prefixLen:commonPrefixLength(ref.uri.toString(),resource.toString()),offsetDist:Math.abs(ref.range.startLineNumber-position.lineNumber)*100+Math.abs(ref.range.startColumn-position.column)}))).sort(((a,b)=>{if(a.prefixLen>b.prefixLen){return-1}else if(a.prefixLen<b.prefixLen){return 1}else if(a.offsetDist<b.offsetDist){return-1}else if(a.offsetDist>b.offsetDist){return 1}else{return 0}}))[0];if(nearest){return this.references[nearest.idx]}return void 0}referenceAt(resource,position){for(const ref of this.references){if(ref.uri.toString()===resource.toString()){if(Range.containsPosition(ref.range,position)){return ref}}}return void 0}firstReference(){for(const ref of this.references){if(ref.isProviderFirst){return ref}}return this.references[0]}static _compareReferences(a,b){return extUri.compare(a.uri,b.uri)||Range.compareRangesUsingStarts(a.range,b.range)}};init_dom();init_splitview();init_color();init_event();init_lifecycle();init_network();init_resources();init_range();init_textModel();init_languageConfigurationRegistry();init_modesRegistry();init_language();init_resolverService();init_dom();init_countBadge();init_highlightedLabel();init_iconLabel();init_filters();init_lifecycle();init_resources();init_resolverService();init_nls();init_instantiation();init_keybinding();init_label();init_defaultStyles();var __decorate67=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param60=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var FileReferencesRenderer_1;var DataSource=class DataSource2{constructor(_resolverService){this._resolverService=_resolverService}hasChildren(element){if(element instanceof ReferencesModel){return true}if(element instanceof FileReferences){return true}return false}getChildren(element){if(element instanceof ReferencesModel){return element.groups}if(element instanceof FileReferences){return element.resolve(this._resolverService).then((val=>val.children))}throw new Error("bad tree")}};DataSource=__decorate67([__param60(0,ITextModelService)],DataSource);var Delegate=class{getHeight(){return 23}getTemplateId(element){if(element instanceof FileReferences){return FileReferencesRenderer.id}else{return OneReferenceRenderer.id}}};var StringRepresentationProvider=class StringRepresentationProvider2{constructor(_keybindingService){this._keybindingService=_keybindingService}getKeyboardNavigationLabel(element){var _a6;if(element instanceof OneReference){const parts=(_a6=element.parent.getPreview(element))===null||_a6===void 0?void 0:_a6.preview(element.range);if(parts){return parts.value}}return basename2(element.uri)}};StringRepresentationProvider=__decorate67([__param60(0,IKeybindingService)],StringRepresentationProvider);var IdentityProvider=class{getId(element){return element instanceof OneReference?element.id:element.uri}};var FileReferencesTemplate=class FileReferencesTemplate2 extends Disposable{constructor(container,_labelService){super();this._labelService=_labelService;const parent=document.createElement("div");parent.classList.add("reference-file");this.file=this._register(new IconLabel(parent,{supportHighlights:true}));this.badge=new CountBadge(append(parent,$(".count")),{},defaultCountBadgeStyles);container.appendChild(parent)}set(element,matches){const parent=dirname2(element.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(element.uri),this._labelService.getUriLabel(parent,{relative:true}),{title:this._labelService.getUriLabel(element.uri),matches:matches});const len=element.children.length;this.badge.setCount(len);if(len>1){this.badge.setTitleFormat(localize("referencesCount","{0} references",len))}else{this.badge.setTitleFormat(localize("referenceCount","{0} reference",len))}}};FileReferencesTemplate=__decorate67([__param60(1,ILabelService)],FileReferencesTemplate);var FileReferencesRenderer=FileReferencesRenderer_1=class FileReferencesRenderer2{constructor(_instantiationService){this._instantiationService=_instantiationService;this.templateId=FileReferencesRenderer_1.id}renderTemplate(container){return this._instantiationService.createInstance(FileReferencesTemplate,container)}renderElement(node,index,template){template.set(node.element,createMatches(node.filterData))}disposeTemplate(templateData){templateData.dispose()}};FileReferencesRenderer.id="FileReferencesRenderer";FileReferencesRenderer=FileReferencesRenderer_1=__decorate67([__param60(0,IInstantiationService)],FileReferencesRenderer);var OneReferenceTemplate=class{constructor(container){this.label=new HighlightedLabel(container)}set(element,score3){var _a6;const preview=(_a6=element.parent.getPreview(element))===null||_a6===void 0?void 0:_a6.preview(element.range);if(!preview||!preview.value){this.label.set(`${basename2(element.uri)}:${element.range.startLineNumber+1}:${element.range.startColumn+1}`)}else{const{value:value,highlight:highlight}=preview;if(score3&&!FuzzyScore.isDefault(score3)){this.label.element.classList.toggle("referenceMatch",false);this.label.set(value,createMatches(score3))}else{this.label.element.classList.toggle("referenceMatch",true);this.label.set(value,[highlight])}}}};var OneReferenceRenderer=class{constructor(){this.templateId=OneReferenceRenderer.id}renderTemplate(container){return new OneReferenceTemplate(container)}renderElement(node,index,templateData){templateData.set(node.element,node.filterData)}disposeTemplate(){}};OneReferenceRenderer.id="OneReferenceRenderer";var AccessibilityProvider=class{getWidgetAriaLabel(){return localize("treeAriaLabel","References")}getAriaLabel(element){return element.ariaMessage}};init_nls();init_instantiation();init_keybinding();init_label();init_listService();init_themeService();init_undoRedo();var __decorate68=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param61=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter48=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var DecorationsManager=class{constructor(_editor,_model){this._editor=_editor;this._model=_model;this._decorations=new Map;this._decorationIgnoreSet=new Set;this._callOnDispose=new DisposableStore;this._callOnModelChange=new DisposableStore;this._callOnDispose.add(this._editor.onDidChangeModel((()=>this._onModelChanged())));this._onModelChanged()}dispose(){this._callOnModelChange.dispose();this._callOnDispose.dispose();this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();const model=this._editor.getModel();if(!model){return}for(const ref of this._model.references){if(ref.uri.toString()===model.uri.toString()){this._addDecorations(ref.parent);return}}}_addDecorations(reference){if(!this._editor.hasModel()){return}this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations((()=>this._onDecorationChanged())));const newDecorations=[];const newDecorationsActualIndex=[];for(let i=0,len=reference.children.length;i<len;i++){const oneReference=reference.children[i];if(this._decorationIgnoreSet.has(oneReference.id)){continue}if(oneReference.uri.toString()!==this._editor.getModel().uri.toString()){continue}newDecorations.push({range:oneReference.range,options:DecorationsManager.DecorationOptions});newDecorationsActualIndex.push(i)}this._editor.changeDecorations((changeAccessor=>{const decorations=changeAccessor.deltaDecorations([],newDecorations);for(let i=0;i<decorations.length;i++){this._decorations.set(decorations[i],reference.children[newDecorationsActualIndex[i]])}}))}_onDecorationChanged(){const toRemove=[];const model=this._editor.getModel();if(!model){return}for(const[decorationId,reference]of this._decorations){const newRange=model.getDecorationRange(decorationId);if(!newRange){continue}let ignore=false;if(Range.equalsRange(newRange,reference.range)){continue}if(Range.spansMultipleLines(newRange)){ignore=true}else{const lineLength=reference.range.endColumn-reference.range.startColumn;const newLineLength=newRange.endColumn-newRange.startColumn;if(lineLength!==newLineLength){ignore=true}}if(ignore){this._decorationIgnoreSet.add(reference.id);toRemove.push(decorationId)}else{reference.range=newRange}}for(let i=0,len=toRemove.length;i<len;i++){this._decorations.delete(toRemove[i])}this._editor.removeDecorations(toRemove)}removeDecorations(){this._editor.removeDecorations([...this._decorations.keys()]);this._decorations.clear()}};DecorationsManager.DecorationOptions=ModelDecorationOptions.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"});var LayoutData=class{constructor(){this.ratio=.7;this.heightInLines=18}static fromJSON(raw){let ratio;let heightInLines;try{const data=JSON.parse(raw);ratio=data.ratio;heightInLines=data.heightInLines}catch(_a6){}return{ratio:ratio||.7,heightInLines:heightInLines||18}}};var ReferencesTree=class extends WorkbenchAsyncDataTree{};var ReferenceWidget=class ReferenceWidget2 extends PeekViewWidget{constructor(editor2,_defaultTreeKeyboardSupport,layoutData,themeService,_textModelResolverService,_instantiationService,_peekViewService,_uriLabel,_undoRedoService,_keybindingService,_languageService,_languageConfigurationService){super(editor2,{showFrame:false,showArrow:true,isResizeable:true,isAccessible:true,supportOnTitleClick:true},_instantiationService);this._defaultTreeKeyboardSupport=_defaultTreeKeyboardSupport;this.layoutData=layoutData;this._textModelResolverService=_textModelResolverService;this._instantiationService=_instantiationService;this._peekViewService=_peekViewService;this._uriLabel=_uriLabel;this._undoRedoService=_undoRedoService;this._keybindingService=_keybindingService;this._languageService=_languageService;this._languageConfigurationService=_languageConfigurationService;this._disposeOnNewModel=new DisposableStore;this._callOnDispose=new DisposableStore;this._onDidSelectReference=new Emitter;this.onDidSelectReference=this._onDidSelectReference.event;this._dim=new Dimension(0,0);this._applyTheme(themeService.getColorTheme());this._callOnDispose.add(themeService.onDidColorThemeChange(this._applyTheme.bind(this)));this._peekViewService.addExclusiveWidget(editor2,this);this.create()}dispose(){this.setModel(void 0);this._callOnDispose.dispose();this._disposeOnNewModel.dispose();dispose(this._preview);dispose(this._previewNotAvailableMessage);dispose(this._tree);dispose(this._previewModelReference);this._splitView.dispose();super.dispose()}_applyTheme(theme){const borderColor=theme.getColor(peekViewBorder)||Color.transparent;this.style({arrowColor:borderColor,frameColor:borderColor,headerBackgroundColor:theme.getColor(peekViewTitleBackground)||Color.transparent,primaryHeadingColor:theme.getColor(peekViewTitleForeground),secondaryHeadingColor:theme.getColor(peekViewTitleInfoForeground)})}show(where){super.show(where,this.layoutData.heightInLines||18)}focusOnReferenceTree(){this._tree.domFocus()}focusOnPreviewEditor(){this._preview.focus()}isPreviewEditorFocused(){return this._preview.hasTextFocus()}_onTitleClick(e){if(this._preview&&this._preview.getModel()){this._onDidSelectReference.fire({element:this._getFocusedReference(),kind:e.ctrlKey||e.metaKey||e.altKey?"side":"open",source:"title"})}}_fillBody(containerElement){this.setCssClass("reference-zone-widget");this._messageContainer=append(containerElement,$("div.messages"));hide(this._messageContainer);this._splitView=new SplitView(containerElement,{orientation:1});this._previewContainer=append(containerElement,$("div.preview.inline"));const options2={scrollBeyondLastLine:false,scrollbar:{verticalScrollbarSize:14,horizontal:"auto",useShadows:true,verticalHasArrows:false,horizontalHasArrows:false,alwaysConsumeMouseWheel:true},overviewRulerLanes:2,fixedOverflowWidgets:true,minimap:{enabled:false}};this._preview=this._instantiationService.createInstance(EmbeddedCodeEditorWidget,this._previewContainer,options2,{},this.editor);hide(this._previewContainer);this._previewNotAvailableMessage=new TextModel(localize("missingPreviewMessage","no preview available"),PLAINTEXT_LANGUAGE_ID,TextModel.DEFAULT_CREATION_OPTIONS,null,this._undoRedoService,this._languageService,this._languageConfigurationService);this._treeContainer=append(containerElement,$("div.ref-tree.inline"));const treeOptions={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new AccessibilityProvider,keyboardNavigationLabelProvider:this._instantiationService.createInstance(StringRepresentationProvider),identityProvider:new IdentityProvider,openOnSingleClick:true,selectionNavigation:true,overrideStyles:{listBackground:peekViewResultsBackground}};if(this._defaultTreeKeyboardSupport){this._callOnDispose.add(addStandardDisposableListener(this._treeContainer,"keydown",(e=>{if(e.equals(9)){this._keybindingService.dispatchEvent(e,e.target);e.stopPropagation()}}),true))}this._tree=this._instantiationService.createInstance(ReferencesTree,"ReferencesWidget",this._treeContainer,new Delegate,[this._instantiationService.createInstance(FileReferencesRenderer),this._instantiationService.createInstance(OneReferenceRenderer)],this._instantiationService.createInstance(DataSource),treeOptions);this._splitView.addView({onDidChange:Event.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:width=>{this._preview.layout({height:this._dim.height,width:width})}},Sizing.Distribute);this._splitView.addView({onDidChange:Event.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:width=>{this._treeContainer.style.height=`${this._dim.height}px`;this._treeContainer.style.width=`${width}px`;this._tree.layout(this._dim.height,width)}},Sizing.Distribute);this._disposables.add(this._splitView.onDidSashChange((()=>{if(this._dim.width){this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width}}),void 0));const onEvent=(element,kind)=>{if(element instanceof OneReference){if(kind==="show"){this._revealReference(element,false)}this._onDidSelectReference.fire({element:element,kind:kind,source:"tree"})}};this._tree.onDidOpen((e=>{if(e.sideBySide){onEvent(e.element,"side")}else if(e.editorOptions.pinned){onEvent(e.element,"goto")}else{onEvent(e.element,"show")}}));hide(this._treeContainer)}_onWidth(width){if(this._dim){this._doLayoutBody(this._dim.height,width)}}_doLayoutBody(heightInPixel,widthInPixel){super._doLayoutBody(heightInPixel,widthInPixel);this._dim=new Dimension(widthInPixel,heightInPixel);this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines;this._splitView.layout(widthInPixel);this._splitView.resizeView(0,widthInPixel*this.layoutData.ratio)}setSelection(selection){return this._revealReference(selection,true).then((()=>{if(!this._model){return}this._tree.setSelection([selection]);this._tree.setFocus([selection])}))}setModel(newModel){this._disposeOnNewModel.clear();this._model=newModel;if(this._model){return this._onNewModel()}return Promise.resolve()}_onNewModel(){if(!this._model){return Promise.resolve(void 0)}if(this._model.isEmpty){this.setTitle("");this._messageContainer.innerText=localize("noResults","No results");show(this._messageContainer);return Promise.resolve(void 0)}hide(this._messageContainer);this._decorationsManager=new DecorationsManager(this._preview,this._model);this._disposeOnNewModel.add(this._decorationsManager);this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange((reference=>this._tree.rerender(reference))));this._disposeOnNewModel.add(this._preview.onMouseDown((e=>{const{event:event,target:target}=e;if(event.detail!==2){return}const element=this._getFocusedReference();if(!element){return}this._onDidSelectReference.fire({element:{uri:element.uri,range:target.range},kind:event.ctrlKey||event.metaKey||event.altKey?"side":"open",source:"editor"})})));this.container.classList.add("results-loaded");show(this._treeContainer);show(this._previewContainer);this._splitView.layout(this._dim.width);this.focusOnReferenceTree();return this._tree.setInput(this._model.groups.length===1?this._model.groups[0]:this._model)}_getFocusedReference(){const[element]=this._tree.getFocus();if(element instanceof OneReference){return element}else if(element instanceof FileReferences){if(element.children.length>0){return element.children[0]}}return void 0}revealReference(reference){return __awaiter48(this,void 0,void 0,(function*(){yield this._revealReference(reference,false);this._onDidSelectReference.fire({element:reference,kind:"goto",source:"tree"})}))}_revealReference(reference,revealParent){return __awaiter48(this,void 0,void 0,(function*(){if(this._revealedReference===reference){return}this._revealedReference=reference;if(reference.uri.scheme!==Schemas.inMemory){this.setTitle(basenameOrAuthority(reference.uri),this._uriLabel.getUriLabel(dirname2(reference.uri)))}else{this.setTitle(localize("peekView.alternateTitle","References"))}const promise=this._textModelResolverService.createModelReference(reference.uri);if(this._tree.getInput()===reference.parent){this._tree.reveal(reference)}else{if(revealParent){this._tree.reveal(reference.parent)}yield this._tree.expand(reference.parent);this._tree.reveal(reference)}const ref=yield promise;if(!this._model){ref.dispose();return}dispose(this._previewModelReference);const model=ref.object;if(model){const scrollType=this._preview.getModel()===model.textEditorModel?0:1;const sel=Range.lift(reference.range).collapseToStart();this._previewModelReference=ref;this._preview.setModel(model.textEditorModel);this._preview.setSelection(sel);this._preview.revealRangeInCenter(sel,scrollType)}else{this._preview.setModel(this._previewNotAvailableMessage);ref.dispose()}}))}};ReferenceWidget=__decorate68([__param61(3,IThemeService),__param61(4,ITextModelService),__param61(5,IInstantiationService),__param61(6,IPeekViewService),__param61(7,ILabelService),__param61(8,IUndoRedoService),__param61(9,IKeybindingService),__param61(10,ILanguageService),__param61(11,ILanguageConfigurationService)],ReferenceWidget);var __decorate69=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param62=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter49=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var ReferencesController_1;var ctxReferenceSearchVisible=new RawContextKey("referenceSearchVisible",false,localize("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));var ReferencesController=ReferencesController_1=class ReferencesController2{static get(editor2){return editor2.getContribution(ReferencesController_1.ID)}constructor(_defaultTreeKeyboardSupport,_editor,contextKeyService,_editorService,_notificationService,_instantiationService,_storageService,_configurationService){this._defaultTreeKeyboardSupport=_defaultTreeKeyboardSupport;this._editor=_editor;this._editorService=_editorService;this._notificationService=_notificationService;this._instantiationService=_instantiationService;this._storageService=_storageService;this._configurationService=_configurationService;this._disposables=new DisposableStore;this._requestIdPool=0;this._ignoreModelChangeEvent=false;this._referenceSearchVisible=ctxReferenceSearchVisible.bindTo(contextKeyService)}dispose(){var _a6,_b3;this._referenceSearchVisible.reset();this._disposables.dispose();(_a6=this._widget)===null||_a6===void 0?void 0:_a6.dispose();(_b3=this._model)===null||_b3===void 0?void 0:_b3.dispose();this._widget=void 0;this._model=void 0}toggleWidget(range2,modelPromise,peekMode){let widgetPosition;if(this._widget){widgetPosition=this._widget.position}this.closeWidget();if(!!widgetPosition&&range2.containsPosition(widgetPosition)){return}this._peekMode=peekMode;this._referenceSearchVisible.set(true);this._disposables.add(this._editor.onDidChangeModelLanguage((()=>{this.closeWidget()})));this._disposables.add(this._editor.onDidChangeModel((()=>{if(!this._ignoreModelChangeEvent){this.closeWidget()}})));const storageKey="peekViewLayout";const data=LayoutData.fromJSON(this._storageService.get(storageKey,0,"{}"));this._widget=this._instantiationService.createInstance(ReferenceWidget,this._editor,this._defaultTreeKeyboardSupport,data);this._widget.setTitle(localize("labelLoading","Loading..."));this._widget.show(range2);this._disposables.add(this._widget.onDidClose((()=>{modelPromise.cancel();if(this._widget){this._storageService.store(storageKey,JSON.stringify(this._widget.layoutData),0,1);this._widget=void 0}this.closeWidget()})));this._disposables.add(this._widget.onDidSelectReference((event=>{const{element:element,kind:kind}=event;if(!element){return}switch(kind){case"open":if(event.source!=="editor"||!this._configurationService.getValue("editor.stablePeek")){this.openReference(element,false,false)}break;case"side":this.openReference(element,true,false);break;case"goto":if(peekMode){this._gotoReference(element,true)}else{this.openReference(element,false,true)}break}})));const requestId=++this._requestIdPool;modelPromise.then((model=>{var _a6;if(requestId!==this._requestIdPool||!this._widget){model.dispose();return void 0}(_a6=this._model)===null||_a6===void 0?void 0:_a6.dispose();this._model=model;return this._widget.setModel(this._model).then((()=>{if(this._widget&&this._model&&this._editor.hasModel()){if(!this._model.isEmpty){this._widget.setMetaTitle(localize("metaTitle.N","{0} ({1})",this._model.title,this._model.references.length))}else{this._widget.setMetaTitle("")}const uri=this._editor.getModel().uri;const pos=new Position(range2.startLineNumber,range2.startColumn);const selection=this._model.nearestReference(uri,pos);if(selection){return this._widget.setSelection(selection).then((()=>{if(this._widget&&this._editor.getOption(85)==="editor"){this._widget.focusOnPreviewEditor()}}))}}return void 0}))}),(error=>{this._notificationService.error(error)}))}changeFocusBetweenPreviewAndReferences(){if(!this._widget){return}if(this._widget.isPreviewEditorFocused()){this._widget.focusOnReferenceTree()}else{this._widget.focusOnPreviewEditor()}}goToNextOrPreviousReference(fwd){return __awaiter49(this,void 0,void 0,(function*(){if(!this._editor.hasModel()||!this._model||!this._widget){return}const currentPosition=this._widget.position;if(!currentPosition){return}const source=this._model.nearestReference(this._editor.getModel().uri,currentPosition);if(!source){return}const target=this._model.nextOrPreviousReference(source,fwd);const editorFocus=this._editor.hasTextFocus();const previewEditorFocus=this._widget.isPreviewEditorFocused();yield this._widget.setSelection(target);yield this._gotoReference(target,false);if(editorFocus){this._editor.focus()}else if(this._widget&&previewEditorFocus){this._widget.focusOnPreviewEditor()}}))}revealReference(reference){return __awaiter49(this,void 0,void 0,(function*(){if(!this._editor.hasModel()||!this._model||!this._widget){return}yield this._widget.revealReference(reference)}))}closeWidget(focusEditor=true){var _a6,_b3;(_a6=this._widget)===null||_a6===void 0?void 0:_a6.dispose();(_b3=this._model)===null||_b3===void 0?void 0:_b3.dispose();this._referenceSearchVisible.reset();this._disposables.clear();this._widget=void 0;this._model=void 0;if(focusEditor){this._editor.focus()}this._requestIdPool+=1}_gotoReference(ref,pinned){var _a6;(_a6=this._widget)===null||_a6===void 0?void 0:_a6.hide();this._ignoreModelChangeEvent=true;const range2=Range.lift(ref.range).collapseToStart();return this._editorService.openCodeEditor({resource:ref.uri,options:{selection:range2,selectionSource:"code.jump",pinned:pinned}},this._editor).then((openedEditor=>{var _a7;this._ignoreModelChangeEvent=false;if(!openedEditor||!this._widget){this.closeWidget();return}if(this._editor===openedEditor){this._widget.show(range2);this._widget.focusOnReferenceTree()}else{const other=ReferencesController_1.get(openedEditor);const model=this._model.clone();this.closeWidget();openedEditor.focus();other===null||other===void 0?void 0:other.toggleWidget(range2,createCancelablePromise((_=>Promise.resolve(model))),(_a7=this._peekMode)!==null&&_a7!==void 0?_a7:false)}}),(err=>{this._ignoreModelChangeEvent=false;onUnexpectedError(err)}))}openReference(ref,sideBySide,pinned){if(!sideBySide){this.closeWidget()}const{uri:uri,range:range2}=ref;this._editorService.openCodeEditor({resource:uri,options:{selection:range2,selectionSource:"code.jump",pinned:pinned}},this._editor,sideBySide)}};ReferencesController.ID="editor.contrib.referencesController";ReferencesController=ReferencesController_1=__decorate69([__param62(2,IContextKeyService),__param62(3,ICodeEditorService),__param62(4,INotificationService),__param62(5,IInstantiationService),__param62(6,IStorageService),__param62(7,IConfigurationService)],ReferencesController);function withController(accessor,fn){const outerEditor=getOuterEditor(accessor);if(!outerEditor){return}const controller=ReferencesController.get(outerEditor);if(controller){fn(controller)}}KeybindingsRegistry.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:KeyChord(2048|41,60),when:ContextKeyExpr.or(ctxReferenceSearchVisible,PeekContext.inPeekEditor),handler(accessor){withController(accessor,(controller=>{controller.changeFocusBetweenPreviewAndReferences()}))}});KeybindingsRegistry.registerCommandAndKeybindingRule({id:"goToNextReference",weight:100-10,primary:62,secondary:[70],when:ContextKeyExpr.or(ctxReferenceSearchVisible,PeekContext.inPeekEditor),handler(accessor){withController(accessor,(controller=>{controller.goToNextOrPreviousReference(true)}))}});KeybindingsRegistry.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:100-10,primary:1024|62,secondary:[1024|70],when:ContextKeyExpr.or(ctxReferenceSearchVisible,PeekContext.inPeekEditor),handler(accessor){withController(accessor,(controller=>{controller.goToNextOrPreviousReference(false)}))}});CommandsRegistry.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");CommandsRegistry.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");CommandsRegistry.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");CommandsRegistry.registerCommand("closeReferenceSearch",(accessor=>withController(accessor,(controller=>controller.closeWidget()))));KeybindingsRegistry.registerKeybindingRule({id:"closeReferenceSearch",weight:100-101,primary:9,secondary:[1024|9],when:ContextKeyExpr.and(PeekContext.inPeekEditor,ContextKeyExpr.not("config.editor.stablePeek"))});KeybindingsRegistry.registerKeybindingRule({id:"closeReferenceSearch",weight:200+50,primary:9,secondary:[1024|9],when:ContextKeyExpr.and(ctxReferenceSearchVisible,ContextKeyExpr.not("config.editor.stablePeek"))});KeybindingsRegistry.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2048|18]},when:ContextKeyExpr.and(ctxReferenceSearchVisible,WorkbenchListFocusContextKey,WorkbenchTreeElementCanCollapse.negate(),WorkbenchTreeElementCanExpand.negate()),handler(accessor){var _a6;const listService=accessor.get(IListService);const focus=(_a6=listService.lastFocusedList)===null||_a6===void 0?void 0:_a6.getFocus();if(Array.isArray(focus)&&focus[0]instanceof OneReference){withController(accessor,(controller=>controller.revealReference(focus[0])))}}});KeybindingsRegistry.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2048|3,mac:{primary:256|3},when:ContextKeyExpr.and(ctxReferenceSearchVisible,WorkbenchListFocusContextKey,WorkbenchTreeElementCanCollapse.negate(),WorkbenchTreeElementCanExpand.negate()),handler(accessor){var _a6;const listService=accessor.get(IListService);const focus=(_a6=listService.lastFocusedList)===null||_a6===void 0?void 0:_a6.getFocus();if(Array.isArray(focus)&&focus[0]instanceof OneReference){withController(accessor,(controller=>controller.openReference(focus[0],true,true)))}}});CommandsRegistry.registerCommand("openReference",(accessor=>{var _a6;const listService=accessor.get(IListService);const focus=(_a6=listService.lastFocusedList)===null||_a6===void 0?void 0:_a6.getFocus();if(Array.isArray(focus)&&focus[0]instanceof OneReference){withController(accessor,(controller=>controller.openReference(focus[0],false,true)))}}));init_event();init_lifecycle();init_resources();init_editorExtensions();init_codeEditorService();init_range();init_nls();init_contextkey();init_extensions();init_instantiation();init_keybinding();init_keybindingsRegistry();init_notification();var __decorate70=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param63=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var ctxHasSymbols=new RawContextKey("hasSymbols",false,localize("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only."));var ISymbolNavigationService=createDecorator("ISymbolNavigationService");var SymbolNavigationService=class SymbolNavigationService2{constructor(contextKeyService,_editorService,_notificationService,_keybindingService){this._editorService=_editorService;this._notificationService=_notificationService;this._keybindingService=_keybindingService;this._currentModel=void 0;this._currentIdx=-1;this._ignoreEditorChange=false;this._ctxHasSymbols=ctxHasSymbols.bindTo(contextKeyService)}reset(){var _a6,_b3;this._ctxHasSymbols.reset();(_a6=this._currentState)===null||_a6===void 0?void 0:_a6.dispose();(_b3=this._currentMessage)===null||_b3===void 0?void 0:_b3.dispose();this._currentModel=void 0;this._currentIdx=-1}put(anchor){const refModel=anchor.parent.parent;if(refModel.references.length<=1){this.reset();return}this._currentModel=refModel;this._currentIdx=refModel.references.indexOf(anchor);this._ctxHasSymbols.set(true);this._showMessage();const editorState=new EditorState2(this._editorService);const listener=editorState.onDidChange((_=>{if(this._ignoreEditorChange){return}const editor2=this._editorService.getActiveCodeEditor();if(!editor2){return}const model=editor2.getModel();const position=editor2.getPosition();if(!model||!position){return}let seenUri=false;let seenPosition=false;for(const reference of refModel.references){if(isEqual(reference.uri,model.uri)){seenUri=true;seenPosition=seenPosition||Range.containsPosition(reference.range,position)}else if(seenUri){break}}if(!seenUri||!seenPosition){this.reset()}}));this._currentState=combinedDisposable(editorState,listener)}revealNext(source){if(!this._currentModel){return Promise.resolve()}this._currentIdx+=1;this._currentIdx%=this._currentModel.references.length;const reference=this._currentModel.references[this._currentIdx];this._showMessage();this._ignoreEditorChange=true;return this._editorService.openCodeEditor({resource:reference.uri,options:{selection:Range.collapseToStart(reference.range),selectionRevealType:3}},source).finally((()=>{this._ignoreEditorChange=false}))}_showMessage(){var _a6;(_a6=this._currentMessage)===null||_a6===void 0?void 0:_a6.dispose();const kb=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult");const message=kb?localize("location.kb","Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,kb.getLabel()):localize("location","Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(message)}};SymbolNavigationService=__decorate70([__param63(0,IContextKeyService),__param63(1,ICodeEditorService),__param63(2,INotificationService),__param63(3,IKeybindingService)],SymbolNavigationService);registerSingleton(ISymbolNavigationService,SymbolNavigationService,1);registerEditorCommand(new class extends EditorCommand{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:ctxHasSymbols,kbOpts:{weight:100,primary:70}})}runEditorCommand(accessor,editor2){return accessor.get(ISymbolNavigationService).revealNext(editor2)}});KeybindingsRegistry.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:ctxHasSymbols,primary:9,handler(accessor){accessor.get(ISymbolNavigationService).reset()}});var EditorState2=class EditorState3{constructor(editorService){this._listener=new Map;this._disposables=new DisposableStore;this._onDidChange=new Emitter;this.onDidChange=this._onDidChange.event;this._disposables.add(editorService.onCodeEditorRemove(this._onDidRemoveEditor,this));this._disposables.add(editorService.onCodeEditorAdd(this._onDidAddEditor,this));editorService.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose();this._onDidChange.dispose();dispose(this._listener.values())}_onDidAddEditor(editor2){this._listener.set(editor2,combinedDisposable(editor2.onDidChangeCursorPosition((_=>this._onDidChange.fire({editor:editor2}))),editor2.onDidChangeModelContent((_=>this._onDidChange.fire({editor:editor2})))))}_onDidRemoveEditor(editor2){var _a6;(_a6=this._listener.get(editor2))===null||_a6===void 0?void 0:_a6.dispose();this._listener.delete(editor2)}};EditorState2=__decorate70([__param63(0,ICodeEditorService)],EditorState2);init_nls();init_actions2();init_commands();init_contextkey();init_instantiation();init_notification();init_progress();init_arrays();init_cancellation();init_errors();init_editorExtensions();init_languageFeatures();var __awaiter50=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};function getLocationLinks(model,position,registry,provide){return __awaiter50(this,void 0,void 0,(function*(){const provider=registry.ordered(model);const promises=provider.map((provider2=>Promise.resolve(provide(provider2,model,position)).then(void 0,(err=>{onUnexpectedExternalError(err);return void 0}))));const values=yield Promise.all(promises);return coalesce(values.flat())}))}function getDefinitionsAtPosition(registry,model,position,token){return getLocationLinks(model,position,registry,((provider,model2,position2)=>provider.provideDefinition(model2,position2,token)))}function getDeclarationsAtPosition(registry,model,position,token){return getLocationLinks(model,position,registry,((provider,model2,position2)=>provider.provideDeclaration(model2,position2,token)))}function getImplementationsAtPosition(registry,model,position,token){return getLocationLinks(model,position,registry,((provider,model2,position2)=>provider.provideImplementation(model2,position2,token)))}function getTypeDefinitionsAtPosition(registry,model,position,token){return getLocationLinks(model,position,registry,((provider,model2,position2)=>provider.provideTypeDefinition(model2,position2,token)))}function getReferencesAtPosition(registry,model,position,compact,token){return getLocationLinks(model,position,registry,((provider,model2,position2)=>__awaiter50(this,void 0,void 0,(function*(){const result=yield provider.provideReferences(model2,position2,{includeDeclaration:true},token);if(!compact||!result||result.length!==2){return result}const resultWithoutDeclaration=yield provider.provideReferences(model2,position2,{includeDeclaration:false},token);if(resultWithoutDeclaration&&resultWithoutDeclaration.length===1){return resultWithoutDeclaration}return result}))))}function _sortedAndDeduped(callback){return __awaiter50(this,void 0,void 0,(function*(){const rawLinks=yield callback();const model=new ReferencesModel(rawLinks,"");const modelLinks=model.references.map((ref=>ref.link));model.dispose();return modelLinks}))}registerModelAndPositionCommand("_executeDefinitionProvider",((accessor,model,position)=>{const languageFeaturesService=accessor.get(ILanguageFeaturesService);const promise=getDefinitionsAtPosition(languageFeaturesService.definitionProvider,model,position,CancellationToken.None);return _sortedAndDeduped((()=>promise))}));registerModelAndPositionCommand("_executeTypeDefinitionProvider",((accessor,model,position)=>{const languageFeaturesService=accessor.get(ILanguageFeaturesService);const promise=getTypeDefinitionsAtPosition(languageFeaturesService.typeDefinitionProvider,model,position,CancellationToken.None);return _sortedAndDeduped((()=>promise))}));registerModelAndPositionCommand("_executeDeclarationProvider",((accessor,model,position)=>{const languageFeaturesService=accessor.get(ILanguageFeaturesService);const promise=getDeclarationsAtPosition(languageFeaturesService.declarationProvider,model,position,CancellationToken.None);return _sortedAndDeduped((()=>promise))}));registerModelAndPositionCommand("_executeReferenceProvider",((accessor,model,position)=>{const languageFeaturesService=accessor.get(ILanguageFeaturesService);const promise=getReferencesAtPosition(languageFeaturesService.referenceProvider,model,position,false,CancellationToken.None);return _sortedAndDeduped((()=>promise))}));registerModelAndPositionCommand("_executeImplementationProvider",((accessor,model,position)=>{const languageFeaturesService=accessor.get(ILanguageFeaturesService);const promise=getImplementationsAtPosition(languageFeaturesService.implementationProvider,model,position,CancellationToken.None);return _sortedAndDeduped((()=>promise))}));init_languageFeatures();init_iterator();init_contextkeys();var __awaiter51=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var _a4;var _b2;var _c;var _d;var _e;var _f;var _g;var _h;MenuRegistry.appendMenuItem(MenuId.EditorContext,{submenu:MenuId.EditorContextPeek,title:localize("peek.submenu","Peek"),group:"navigation",order:100});var SymbolNavigationAnchor=class{static is(thing){if(!thing||typeof thing!=="object"){return false}if(thing instanceof SymbolNavigationAnchor){return true}if(Position.isIPosition(thing.position)&&thing.model){return true}return false}constructor(model,position){this.model=model;this.position=position}};var SymbolNavigationAction=class extends EditorAction2{static all(){return SymbolNavigationAction._allSymbolNavigationCommands.values()}static _patchConfig(opts){const result=Object.assign(Object.assign({},opts),{f1:true});if(result.menu){for(const item of Iterable.wrap(result.menu)){if(item.id===MenuId.EditorContext||item.id===MenuId.EditorContextPeek){item.when=ContextKeyExpr.and(opts.precondition,item.when)}}}return result}constructor(configuration,opts){super(SymbolNavigationAction._patchConfig(opts));this.configuration=configuration;SymbolNavigationAction._allSymbolNavigationCommands.set(opts.id,this)}runEditorCommand(accessor,editor2,arg,range2){if(!editor2.hasModel()){return Promise.resolve(void 0)}const notificationService=accessor.get(INotificationService);const editorService=accessor.get(ICodeEditorService);const progressService=accessor.get(IEditorProgressService);const symbolNavService=accessor.get(ISymbolNavigationService);const languageFeaturesService=accessor.get(ILanguageFeaturesService);const instaService=accessor.get(IInstantiationService);const model=editor2.getModel();const position=editor2.getPosition();const anchor=SymbolNavigationAnchor.is(arg)?arg:new SymbolNavigationAnchor(model,position);const cts=new EditorStateCancellationTokenSource(editor2,1|4);const promise=raceCancellation(this._getLocationModel(languageFeaturesService,anchor.model,anchor.position,cts.token),cts.token).then((references=>__awaiter51(this,void 0,void 0,(function*(){var _j;if(!references||cts.token.isCancellationRequested){return}alert(references.ariaMessage);let altAction;if(references.referenceAt(model.uri,position)){const altActionId=this._getAlternativeCommand(editor2);if(!SymbolNavigationAction._activeAlternativeCommands.has(altActionId)&&SymbolNavigationAction._allSymbolNavigationCommands.has(altActionId)){altAction=SymbolNavigationAction._allSymbolNavigationCommands.get(altActionId)}}const referenceCount=references.references.length;if(referenceCount===0){if(!this.configuration.muteMessage){const info=model.getWordAtPosition(position);(_j=MessageController.get(editor2))===null||_j===void 0?void 0:_j.showMessage(this._getNoResultFoundMessage(info),position)}}else if(referenceCount===1&&altAction){SymbolNavigationAction._activeAlternativeCommands.add(this.desc.id);instaService.invokeFunction((accessor2=>altAction.runEditorCommand(accessor2,editor2,arg,range2).finally((()=>{SymbolNavigationAction._activeAlternativeCommands.delete(this.desc.id)}))))}else{return this._onResult(editorService,symbolNavService,editor2,references,range2)}}))),(err=>{notificationService.error(err)})).finally((()=>{cts.dispose()}));progressService.showWhile(promise,250);return promise}_onResult(editorService,symbolNavService,editor2,model,range2){return __awaiter51(this,void 0,void 0,(function*(){const gotoLocation=this._getGoToPreference(editor2);if(!(editor2 instanceof EmbeddedCodeEditorWidget)&&(this.configuration.openInPeek||gotoLocation==="peek"&&model.references.length>1)){this._openInPeek(editor2,model,range2)}else{const next=model.firstReference();const peek=model.references.length>1&&gotoLocation==="gotoAndPeek";const targetEditor=yield this._openReference(editor2,editorService,next,this.configuration.openToSide,!peek);if(peek&&targetEditor){this._openInPeek(targetEditor,model,range2)}else{model.dispose()}if(gotoLocation==="goto"){symbolNavService.put(next)}}}))}_openReference(editor2,editorService,reference,sideBySide,highlight){return __awaiter51(this,void 0,void 0,(function*(){let range2=void 0;if(isLocationLink(reference)){range2=reference.targetSelectionRange}if(!range2){range2=reference.range}if(!range2){return void 0}const targetEditor=yield editorService.openCodeEditor({resource:reference.uri,options:{selection:Range.collapseToStart(range2),selectionRevealType:3,selectionSource:"code.jump"}},editor2,sideBySide);if(!targetEditor){return void 0}if(highlight){const modelNow=targetEditor.getModel();const decorations=targetEditor.createDecorationsCollection([{range:range2,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout((()=>{if(targetEditor.getModel()===modelNow){decorations.clear()}}),350)}return targetEditor}))}_openInPeek(target,model,range2){const controller=ReferencesController.get(target);if(controller&&target.hasModel()){controller.toggleWidget(range2!==null&&range2!==void 0?range2:target.getSelection(),createCancelablePromise((_=>Promise.resolve(model))),this.configuration.openInPeek)}else{model.dispose()}}};SymbolNavigationAction._allSymbolNavigationCommands=new Map;SymbolNavigationAction._activeAlternativeCommands=new Set;var DefinitionAction=class extends SymbolNavigationAction{_getLocationModel(languageFeaturesService,model,position,token){return __awaiter51(this,void 0,void 0,(function*(){return new ReferencesModel(yield getDefinitionsAtPosition(languageFeaturesService.definitionProvider,model,position,token),localize("def.title","Definitions"))}))}_getNoResultFoundMessage(info){return info&&info.word?localize("noResultWord","No definition found for '{0}'",info.word):localize("generic.noResults","No definition found")}_getAlternativeCommand(editor2){return editor2.getOption(57).alternativeDefinitionCommand}_getGoToPreference(editor2){return editor2.getOption(57).multipleDefinitions}};registerAction2((_a4=class GoToDefinitionAction extends DefinitionAction{constructor(){super({openToSide:false,openInPeek:false,muteMessage:false},{id:_a4.id,title:{value:localize("actions.goToDecl.label","Go to Definition"),original:"Go to Definition",mnemonicTitle:localize({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},precondition:ContextKeyExpr.and(EditorContextKeys.hasDefinitionProvider,EditorContextKeys.isInWalkThroughSnippet.toNegated()),keybinding:[{when:EditorContextKeys.editorTextFocus,primary:70,weight:100},{when:ContextKeyExpr.and(EditorContextKeys.editorTextFocus,IsWebContext),primary:2048|70,weight:100}],menu:[{id:MenuId.EditorContext,group:"navigation",order:1.1},{id:MenuId.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]});CommandsRegistry.registerCommandAlias("editor.action.goToDeclaration",_a4.id)}},_a4.id="editor.action.revealDefinition",_a4));registerAction2((_b2=class OpenDefinitionToSideAction extends DefinitionAction{constructor(){super({openToSide:true,openInPeek:false,muteMessage:false},{id:_b2.id,title:{value:localize("actions.goToDeclToSide.label","Open Definition to the Side"),original:"Open Definition to the Side"},precondition:ContextKeyExpr.and(EditorContextKeys.hasDefinitionProvider,EditorContextKeys.isInWalkThroughSnippet.toNegated()),keybinding:[{when:EditorContextKeys.editorTextFocus,primary:KeyChord(2048|41,70),weight:100},{when:ContextKeyExpr.and(EditorContextKeys.editorTextFocus,IsWebContext),primary:KeyChord(2048|41,2048|70),weight:100}]});CommandsRegistry.registerCommandAlias("editor.action.openDeclarationToTheSide",_b2.id)}},_b2.id="editor.action.revealDefinitionAside",_b2));registerAction2((_c=class PeekDefinitionAction extends DefinitionAction{constructor(){super({openToSide:false,openInPeek:true,muteMessage:false},{id:_c.id,title:{value:localize("actions.previewDecl.label","Peek Definition"),original:"Peek Definition"},precondition:ContextKeyExpr.and(EditorContextKeys.hasDefinitionProvider,PeekContext.notInPeekEditor,EditorContextKeys.isInWalkThroughSnippet.toNegated()),keybinding:{when:EditorContextKeys.editorTextFocus,primary:512|70,linux:{primary:2048|1024|68},weight:100},menu:{id:MenuId.EditorContextPeek,group:"peek",order:2}});CommandsRegistry.registerCommandAlias("editor.action.previewDeclaration",_c.id)}},_c.id="editor.action.peekDefinition",_c));var DeclarationAction=class extends SymbolNavigationAction{_getLocationModel(languageFeaturesService,model,position,token){return __awaiter51(this,void 0,void 0,(function*(){return new ReferencesModel(yield getDeclarationsAtPosition(languageFeaturesService.declarationProvider,model,position,token),localize("decl.title","Declarations"))}))}_getNoResultFoundMessage(info){return info&&info.word?localize("decl.noResultWord","No declaration found for '{0}'",info.word):localize("decl.generic.noResults","No declaration found")}_getAlternativeCommand(editor2){return editor2.getOption(57).alternativeDeclarationCommand}_getGoToPreference(editor2){return editor2.getOption(57).multipleDeclarations}};registerAction2((_d=class GoToDeclarationAction extends DeclarationAction{constructor(){super({openToSide:false,openInPeek:false,muteMessage:false},{id:_d.id,title:{value:localize("actions.goToDeclaration.label","Go to Declaration"),original:"Go to Declaration",mnemonicTitle:localize({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:ContextKeyExpr.and(EditorContextKeys.hasDeclarationProvider,EditorContextKeys.isInWalkThroughSnippet.toNegated()),menu:[{id:MenuId.EditorContext,group:"navigation",order:1.3},{id:MenuId.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(info){return info&&info.word?localize("decl.noResultWord","No declaration found for '{0}'",info.word):localize("decl.generic.noResults","No declaration found")}},_d.id="editor.action.revealDeclaration",_d));registerAction2(class PeekDeclarationAction extends DeclarationAction{constructor(){super({openToSide:false,openInPeek:true,muteMessage:false},{id:"editor.action.peekDeclaration",title:{value:localize("actions.peekDecl.label","Peek Declaration"),original:"Peek Declaration"},precondition:ContextKeyExpr.and(EditorContextKeys.hasDeclarationProvider,PeekContext.notInPeekEditor,EditorContextKeys.isInWalkThroughSnippet.toNegated()),menu:{id:MenuId.EditorContextPeek,group:"peek",order:3}})}});var TypeDefinitionAction=class extends SymbolNavigationAction{_getLocationModel(languageFeaturesService,model,position,token){return __awaiter51(this,void 0,void 0,(function*(){return new ReferencesModel(yield getTypeDefinitionsAtPosition(languageFeaturesService.typeDefinitionProvider,model,position,token),localize("typedef.title","Type Definitions"))}))}_getNoResultFoundMessage(info){return info&&info.word?localize("goToTypeDefinition.noResultWord","No type definition found for '{0}'",info.word):localize("goToTypeDefinition.generic.noResults","No type definition found")}_getAlternativeCommand(editor2){return editor2.getOption(57).alternativeTypeDefinitionCommand}_getGoToPreference(editor2){return editor2.getOption(57).multipleTypeDefinitions}};registerAction2((_e=class GoToTypeDefinitionAction extends TypeDefinitionAction{constructor(){super({openToSide:false,openInPeek:false,muteMessage:false},{id:_e.ID,title:{value:localize("actions.goToTypeDefinition.label","Go to Type Definition"),original:"Go to Type Definition",mnemonicTitle:localize({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},precondition:ContextKeyExpr.and(EditorContextKeys.hasTypeDefinitionProvider,EditorContextKeys.isInWalkThroughSnippet.toNegated()),keybinding:{when:EditorContextKeys.editorTextFocus,primary:0,weight:100},menu:[{id:MenuId.EditorContext,group:"navigation",order:1.4},{id:MenuId.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},_e.ID="editor.action.goToTypeDefinition",_e));registerAction2((_f=class PeekTypeDefinitionAction extends TypeDefinitionAction{constructor(){super({openToSide:false,openInPeek:true,muteMessage:false},{id:_f.ID,title:{value:localize("actions.peekTypeDefinition.label","Peek Type Definition"),original:"Peek Type Definition"},precondition:ContextKeyExpr.and(EditorContextKeys.hasTypeDefinitionProvider,PeekContext.notInPeekEditor,EditorContextKeys.isInWalkThroughSnippet.toNegated()),menu:{id:MenuId.EditorContextPeek,group:"peek",order:4}})}},_f.ID="editor.action.peekTypeDefinition",_f));var ImplementationAction=class extends SymbolNavigationAction{_getLocationModel(languageFeaturesService,model,position,token){return __awaiter51(this,void 0,void 0,(function*(){return new ReferencesModel(yield getImplementationsAtPosition(languageFeaturesService.implementationProvider,model,position,token),localize("impl.title","Implementations"))}))}_getNoResultFoundMessage(info){return info&&info.word?localize("goToImplementation.noResultWord","No implementation found for '{0}'",info.word):localize("goToImplementation.generic.noResults","No implementation found")}_getAlternativeCommand(editor2){return editor2.getOption(57).alternativeImplementationCommand}_getGoToPreference(editor2){return editor2.getOption(57).multipleImplementations}};registerAction2((_g=class GoToImplementationAction extends ImplementationAction{constructor(){super({openToSide:false,openInPeek:false,muteMessage:false},{id:_g.ID,title:{value:localize("actions.goToImplementation.label","Go to Implementations"),original:"Go to Implementations",mnemonicTitle:localize({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},precondition:ContextKeyExpr.and(EditorContextKeys.hasImplementationProvider,EditorContextKeys.isInWalkThroughSnippet.toNegated()),keybinding:{when:EditorContextKeys.editorTextFocus,primary:2048|70,weight:100},menu:[{id:MenuId.EditorContext,group:"navigation",order:1.45},{id:MenuId.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},_g.ID="editor.action.goToImplementation",_g));registerAction2((_h=class PeekImplementationAction extends ImplementationAction{constructor(){super({openToSide:false,openInPeek:true,muteMessage:false},{id:_h.ID,title:{value:localize("actions.peekImplementation.label","Peek Implementations"),original:"Peek Implementations"},precondition:ContextKeyExpr.and(EditorContextKeys.hasImplementationProvider,PeekContext.notInPeekEditor,EditorContextKeys.isInWalkThroughSnippet.toNegated()),keybinding:{when:EditorContextKeys.editorTextFocus,primary:2048|1024|70,weight:100},menu:{id:MenuId.EditorContextPeek,group:"peek",order:5}})}},_h.ID="editor.action.peekImplementation",_h));var ReferencesAction=class extends SymbolNavigationAction{_getNoResultFoundMessage(info){return info?localize("references.no","No references found for '{0}'",info.word):localize("references.noGeneric","No references found")}_getAlternativeCommand(editor2){return editor2.getOption(57).alternativeReferenceCommand}_getGoToPreference(editor2){return editor2.getOption(57).multipleReferences}};registerAction2(class GoToReferencesAction extends ReferencesAction{constructor(){super({openToSide:false,openInPeek:false,muteMessage:false},{id:"editor.action.goToReferences",title:{value:localize("goToReferences.label","Go to References"),original:"Go to References",mnemonicTitle:localize({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:ContextKeyExpr.and(EditorContextKeys.hasReferenceProvider,PeekContext.notInPeekEditor,EditorContextKeys.isInWalkThroughSnippet.toNegated()),keybinding:{when:EditorContextKeys.editorTextFocus,primary:1024|70,weight:100},menu:[{id:MenuId.EditorContext,group:"navigation",order:1.45},{id:MenuId.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}_getLocationModel(languageFeaturesService,model,position,token){return __awaiter51(this,void 0,void 0,(function*(){return new ReferencesModel(yield getReferencesAtPosition(languageFeaturesService.referenceProvider,model,position,true,token),localize("ref.title","References"))}))}});registerAction2(class PeekReferencesAction extends ReferencesAction{constructor(){super({openToSide:false,openInPeek:true,muteMessage:false},{id:"editor.action.referenceSearch.trigger",title:{value:localize("references.action.label","Peek References"),original:"Peek References"},precondition:ContextKeyExpr.and(EditorContextKeys.hasReferenceProvider,PeekContext.notInPeekEditor,EditorContextKeys.isInWalkThroughSnippet.toNegated()),menu:{id:MenuId.EditorContextPeek,group:"peek",order:6}})}_getLocationModel(languageFeaturesService,model,position,token){return __awaiter51(this,void 0,void 0,(function*(){return new ReferencesModel(yield getReferencesAtPosition(languageFeaturesService.referenceProvider,model,position,false,token),localize("ref.title","References"))}))}});var GenericGoToLocationAction=class extends SymbolNavigationAction{constructor(config,_references,_gotoMultipleBehaviour){super(config,{id:"editor.action.goToLocation",title:{value:localize("label.generic","Go to Any Symbol"),original:"Go to Any Symbol"},precondition:ContextKeyExpr.and(PeekContext.notInPeekEditor,EditorContextKeys.isInWalkThroughSnippet.toNegated())});this._references=_references;this._gotoMultipleBehaviour=_gotoMultipleBehaviour}_getLocationModel(languageFeaturesService,_model,_position,_token){return __awaiter51(this,void 0,void 0,(function*(){return new ReferencesModel(this._references,localize("generic.title","Locations"))}))}_getNoResultFoundMessage(info){return info&&localize("generic.noResult","No results for '{0}'",info.word)||""}_getGoToPreference(editor2){var _j;return(_j=this._gotoMultipleBehaviour)!==null&&_j!==void 0?_j:editor2.getOption(57).multipleReferences}_getAlternativeCommand(){return""}};CommandsRegistry.registerCommand({id:"editor.action.goToLocations",description:{description:"Go to locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:URI},{name:"position",description:"The position at which to start",constraint:Position.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto"},{name:"noResultsMessage",description:"Human readable message that shows when locations is empty."}]},handler:(accessor,resource,position,references,multiple,noResultsMessage,openInPeek)=>__awaiter51(void 0,void 0,void 0,(function*(){assertType(URI.isUri(resource));assertType(Position.isIPosition(position));assertType(Array.isArray(references));assertType(typeof multiple==="undefined"||typeof multiple==="string");assertType(typeof openInPeek==="undefined"||typeof openInPeek==="boolean");const editorService=accessor.get(ICodeEditorService);const editor2=yield editorService.openCodeEditor({resource:resource},editorService.getFocusedCodeEditor());if(isCodeEditor(editor2)){editor2.setPosition(position);editor2.revealPositionInCenterIfOutsideViewport(position,0);return editor2.invokeWithinContext((accessor2=>{const command=new class extends GenericGoToLocationAction{_getNoResultFoundMessage(info){return noResultsMessage||super._getNoResultFoundMessage(info)}}({muteMessage:!Boolean(noResultsMessage),openInPeek:Boolean(openInPeek),openToSide:false},references,multiple);accessor2.get(IInstantiationService).invokeFunction(command.run.bind(command),editor2)}))}}))});CommandsRegistry.registerCommand({id:"editor.action.peekLocations",description:{description:"Peek locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:URI},{name:"position",description:"The position at which to start",constraint:Position.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto"}]},handler:(accessor,resource,position,references,multiple)=>__awaiter51(void 0,void 0,void 0,(function*(){accessor.get(ICommandService).executeCommand("editor.action.goToLocations",resource,position,references,multiple,void 0,true)}))});CommandsRegistry.registerCommand({id:"editor.action.findReferences",handler:(accessor,resource,position)=>{assertType(URI.isUri(resource));assertType(Position.isIPosition(position));const languageFeaturesService=accessor.get(ILanguageFeaturesService);const codeEditorService=accessor.get(ICodeEditorService);return codeEditorService.openCodeEditor({resource:resource},codeEditorService.getFocusedCodeEditor()).then((control=>{if(!isCodeEditor(control)||!control.hasModel()){return void 0}const controller=ReferencesController.get(control);if(!controller){return void 0}const references=createCancelablePromise((token=>getReferencesAtPosition(languageFeaturesService.referenceProvider,control.getModel(),Position.lift(position),false,token).then((references2=>new ReferencesModel(references2,localize("ref.title","References"))))));const range2=new Range(position.lineNumber,position.column,position.lineNumber,position.column);return Promise.resolve(controller.toggleWidget(range2,references,false))}))}});CommandsRegistry.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");init_languageFeatures();init_textModel();var __decorate71=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param64=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter52=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var GotoDefinitionAtPositionEditorContribution_1;var GotoDefinitionAtPositionEditorContribution=GotoDefinitionAtPositionEditorContribution_1=class GotoDefinitionAtPositionEditorContribution2{constructor(editor2,textModelResolverService,languageService,languageFeaturesService){this.textModelResolverService=textModelResolverService;this.languageService=languageService;this.languageFeaturesService=languageFeaturesService;this.toUnhook=new DisposableStore;this.toUnhookForKeyboard=new DisposableStore;this.currentWordAtPosition=null;this.previousPromise=null;this.editor=editor2;this.linkDecorations=this.editor.createDecorationsCollection();const linkGesture=new ClickLinkGesture(editor2);this.toUnhook.add(linkGesture);this.toUnhook.add(linkGesture.onMouseMoveOrRelevantKeyDown((([mouseEvent,keyboardEvent])=>{this.startFindDefinitionFromMouse(mouseEvent,keyboardEvent!==null&&keyboardEvent!==void 0?keyboardEvent:void 0)})));this.toUnhook.add(linkGesture.onExecute((mouseEvent=>{if(this.isEnabled(mouseEvent)){this.gotoDefinition(mouseEvent.target.position,mouseEvent.hasSideBySideModifier).catch((error=>{onUnexpectedError(error)})).finally((()=>{this.removeLinkDecorations()}))}})));this.toUnhook.add(linkGesture.onCancel((()=>{this.removeLinkDecorations();this.currentWordAtPosition=null})))}static get(editor2){return editor2.getContribution(GotoDefinitionAtPositionEditorContribution_1.ID)}startFindDefinitionFromCursor(position){return __awaiter52(this,void 0,void 0,(function*(){yield this.startFindDefinition(position);this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition((()=>{this.currentWordAtPosition=null;this.removeLinkDecorations();this.toUnhookForKeyboard.clear()})));this.toUnhookForKeyboard.add(this.editor.onKeyDown((e=>{if(e){this.currentWordAtPosition=null;this.removeLinkDecorations();this.toUnhookForKeyboard.clear()}})))}))}startFindDefinitionFromMouse(mouseEvent,withKey){if(mouseEvent.target.type===9&&this.linkDecorations.length>0){return}if(!this.editor.hasModel()||!this.isEnabled(mouseEvent,withKey)){this.currentWordAtPosition=null;this.removeLinkDecorations();return}const position=mouseEvent.target.position;this.startFindDefinition(position)}startFindDefinition(position){var _a6;return __awaiter52(this,void 0,void 0,(function*(){this.toUnhookForKeyboard.clear();const word=position?(_a6=this.editor.getModel())===null||_a6===void 0?void 0:_a6.getWordAtPosition(position):null;if(!word){this.currentWordAtPosition=null;this.removeLinkDecorations();return}if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===word.startColumn&&this.currentWordAtPosition.endColumn===word.endColumn&&this.currentWordAtPosition.word===word.word){return}this.currentWordAtPosition=word;const state=new EditorState(this.editor,4|1|2|8);if(this.previousPromise){this.previousPromise.cancel();this.previousPromise=null}this.previousPromise=createCancelablePromise((token=>this.findDefinition(position,token)));let results;try{results=yield this.previousPromise}catch(error){onUnexpectedError(error);return}if(!results||!results.length||!state.validate(this.editor)){this.removeLinkDecorations();return}const linkRange=results[0].originSelectionRange?Range.lift(results[0].originSelectionRange):new Range(position.lineNumber,word.startColumn,position.lineNumber,word.endColumn);if(results.length>1){let combinedRange=linkRange;for(const{originSelectionRange:originSelectionRange}of results){if(originSelectionRange){combinedRange=Range.plusRange(combinedRange,originSelectionRange)}}this.addDecoration(combinedRange,(new MarkdownString).appendText(localize("multipleResults","Click to show {0} definitions.",results.length)))}else{const result=results[0];if(!result.uri){return}this.textModelResolverService.createModelReference(result.uri).then((ref=>{if(!ref.object||!ref.object.textEditorModel){ref.dispose();return}const{object:{textEditorModel:textEditorModel}}=ref;const{startLineNumber:startLineNumber}=result.range;if(startLineNumber<1||startLineNumber>textEditorModel.getLineCount()){ref.dispose();return}const previewValue=this.getPreviewValue(textEditorModel,startLineNumber,result);const languageId=this.languageService.guessLanguageIdByFilepathOrFirstLine(textEditorModel.uri);this.addDecoration(linkRange,previewValue?(new MarkdownString).appendCodeblock(languageId?languageId:"",previewValue):void 0);ref.dispose()}))}}))}getPreviewValue(textEditorModel,startLineNumber,result){let rangeToUse=result.range;const numberOfLinesInRange=rangeToUse.endLineNumber-rangeToUse.startLineNumber;if(numberOfLinesInRange>=GotoDefinitionAtPositionEditorContribution_1.MAX_SOURCE_PREVIEW_LINES){rangeToUse=this.getPreviewRangeBasedOnIndentation(textEditorModel,startLineNumber)}const previewValue=this.stripIndentationFromPreviewRange(textEditorModel,startLineNumber,rangeToUse);return previewValue}stripIndentationFromPreviewRange(textEditorModel,startLineNumber,previewRange){const startIndent=textEditorModel.getLineFirstNonWhitespaceColumn(startLineNumber);let minIndent=startIndent;for(let endLineNumber=startLineNumber+1;endLineNumber<previewRange.endLineNumber;endLineNumber++){const endIndent=textEditorModel.getLineFirstNonWhitespaceColumn(endLineNumber);minIndent=Math.min(minIndent,endIndent)}const previewValue=textEditorModel.getValueInRange(previewRange).replace(new RegExp(`^\\s{${minIndent-1}}`,"gm"),"").trim();return previewValue}getPreviewRangeBasedOnIndentation(textEditorModel,startLineNumber){const startIndent=textEditorModel.getLineFirstNonWhitespaceColumn(startLineNumber);const maxLineNumber=Math.min(textEditorModel.getLineCount(),startLineNumber+GotoDefinitionAtPositionEditorContribution_1.MAX_SOURCE_PREVIEW_LINES);let endLineNumber=startLineNumber+1;for(;endLineNumber<maxLineNumber;endLineNumber++){const endIndent=textEditorModel.getLineFirstNonWhitespaceColumn(endLineNumber);if(startIndent===endIndent){break}}return new Range(startLineNumber,1,endLineNumber+1,1)}addDecoration(range2,hoverMessage){const newDecorations={range:range2,options:{description:"goto-definition-link",inlineClassName:"goto-definition-link",hoverMessage:hoverMessage}};this.linkDecorations.set([newDecorations])}removeLinkDecorations(){this.linkDecorations.clear()}isEnabled(mouseEvent,withKey){var _a6;return this.editor.hasModel()&&mouseEvent.isLeftClick&&mouseEvent.isNoneOrSingleMouseDown&&mouseEvent.target.type===6&&!(((_a6=mouseEvent.target.detail.injectedText)===null||_a6===void 0?void 0:_a6.options)instanceof ModelDecorationInjectedTextOptions)&&(mouseEvent.hasTriggerModifier||(withKey?withKey.keyCodeIsTriggerKey:false))&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(position,token){const model=this.editor.getModel();if(!model){return Promise.resolve(null)}return getDefinitionsAtPosition(this.languageFeaturesService.definitionProvider,model,position,token)}gotoDefinition(position,openToSide){this.editor.setPosition(position);return this.editor.invokeWithinContext((accessor=>{const canPeek=!openToSide&&this.editor.getOption(86)&&!this.isInPeekEditor(accessor);const action=new DefinitionAction({openToSide:openToSide,openInPeek:canPeek,muteMessage:true},{title:{value:"",original:""},id:"",precondition:void 0});return action.run(accessor)}))}isInPeekEditor(accessor){const contextKeyService=accessor.get(IContextKeyService);return PeekContext.inPeekEditor.getValue(contextKeyService)}dispose(){this.toUnhook.dispose();this.toUnhookForKeyboard.dispose()}};GotoDefinitionAtPositionEditorContribution.ID="editor.contrib.gotodefinitionatposition";GotoDefinitionAtPositionEditorContribution.MAX_SOURCE_PREVIEW_LINES=8;GotoDefinitionAtPositionEditorContribution=GotoDefinitionAtPositionEditorContribution_1=__decorate71([__param64(1,ITextModelService),__param64(2,ILanguageService),__param64(3,ILanguageFeaturesService)],GotoDefinitionAtPositionEditorContribution);registerEditorContribution(GotoDefinitionAtPositionEditorContribution.ID,GotoDefinitionAtPositionEditorContribution,2);init_dom();init_dom();init_keyboardEvent();init_scrollableElement();init_lifecycle();init_nls();var $9=$;var HoverWidget=class extends Disposable{constructor(){super();this.containerDomNode=document.createElement("div");this.containerDomNode.className="monaco-hover";this.containerDomNode.tabIndex=0;this.containerDomNode.setAttribute("role","tooltip");this.contentsDomNode=document.createElement("div");this.contentsDomNode.className="monaco-hover-content";this.scrollbar=this._register(new DomScrollableElement(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:true}));this.containerDomNode.appendChild(this.scrollbar.getDomNode())}onContentsChanged(){this.scrollbar.scanDomNode()}};var HoverAction=class extends Disposable{static render(parent,actionOptions,keybindingLabel){return new HoverAction(parent,actionOptions,keybindingLabel)}constructor(parent,actionOptions,keybindingLabel){super();this.actionContainer=append(parent,$9("div.action-container"));this.actionContainer.setAttribute("tabindex","0");this.action=append(this.actionContainer,$9("a.action"));this.action.setAttribute("role","button");if(actionOptions.iconClass){append(this.action,$9(`span.icon.${actionOptions.iconClass}`))}const label=append(this.action,$9("span"));label.textContent=keybindingLabel?`${actionOptions.label} (${keybindingLabel})`:actionOptions.label;this._register(addDisposableListener(this.actionContainer,EventType.CLICK,(e=>{e.stopPropagation();e.preventDefault();actionOptions.run(this.actionContainer)})));this._register(addDisposableListener(this.actionContainer,EventType.KEY_DOWN,(e=>{const event=new StandardKeyboardEvent(e);if(event.equals(3)||event.equals(10)){e.stopPropagation();e.preventDefault();actionOptions.run(this.actionContainer)}})));this.setEnabled(true)}setEnabled(enabled){if(enabled){this.actionContainer.classList.remove("disabled");this.actionContainer.removeAttribute("aria-disabled")}else{this.actionContainer.classList.add("disabled");this.actionContainer.setAttribute("aria-disabled","true")}}};function getHoverAccessibleViewHint(shouldHaveHint,keybinding){return shouldHaveHint&&keybinding?localize("acessibleViewHint","Inspect this in the accessible view with {0}.",keybinding):shouldHaveHint?localize("acessibleViewHintNoKbOpen","Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding."):""}init_arrays();init_lifecycle();init_position();init_range();init_textModel();init_languages();init_async();init_errors();init_event();init_lifecycle();var __awaiter53=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var __asyncValues2=function(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var m=o[Symbol.asyncIterator],i;return m?m.call(o):(o=typeof __values==="function"?__values(o):o[Symbol.iterator](),i={},verb("next"),verb("throw"),verb("return"),i[Symbol.asyncIterator]=function(){return this},i);function verb(n){i[n]=o[n]&&function(v){return new Promise((function(resolve2,reject){v=o[n](v),settle(resolve2,reject,v.done,v.value)}))}}function settle(resolve2,reject,d,v){Promise.resolve(v).then((function(v2){resolve2({value:v2,done:d})}),reject)}};var HoverResult=class{constructor(value,isComplete,hasLoadingMessage){this.value=value;this.isComplete=isComplete;this.hasLoadingMessage=hasLoadingMessage}};var HoverOperation=class extends Disposable{constructor(_editor,_computer){super();this._editor=_editor;this._computer=_computer;this._onResult=this._register(new Emitter);this.onResult=this._onResult.event;this._firstWaitScheduler=this._register(new RunOnceScheduler((()=>this._triggerAsyncComputation()),0));this._secondWaitScheduler=this._register(new RunOnceScheduler((()=>this._triggerSyncComputation()),0));this._loadingMessageScheduler=this._register(new RunOnceScheduler((()=>this._triggerLoadingMessage()),0));this._state=0;this._asyncIterable=null;this._asyncIterableDone=false;this._result=[]}dispose(){if(this._asyncIterable){this._asyncIterable.cancel();this._asyncIterable=null}super.dispose()}get _hoverTime(){return this._editor.getOption(59).delay}get _firstWaitTime(){return this._hoverTime/2}get _secondWaitTime(){return this._hoverTime-this._firstWaitTime}get _loadingMessageTime(){return 3*this._hoverTime}_setState(state,fireResult=true){this._state=state;if(fireResult){this._fireResult()}}_triggerAsyncComputation(){this._setState(2);this._secondWaitScheduler.schedule(this._secondWaitTime);if(this._computer.computeAsync){this._asyncIterableDone=false;this._asyncIterable=createCancelableAsyncIterable((token=>this._computer.computeAsync(token)));(()=>__awaiter53(this,void 0,void 0,(function*(){var _a6,e_1,_b3,_c2;try{try{for(var _d2=true,_e2=__asyncValues2(this._asyncIterable),_f2;_f2=yield _e2.next(),_a6=_f2.done,!_a6;_d2=true){_c2=_f2.value;_d2=false;const item=_c2;if(item){this._result.push(item);this._fireResult()}}}catch(e_1_1){e_1={error:e_1_1}}finally{try{if(!_d2&&!_a6&&(_b3=_e2.return))yield _b3.call(_e2)}finally{if(e_1)throw e_1.error}}this._asyncIterableDone=true;if(this._state===3||this._state===4){this._setState(0)}}catch(e){onUnexpectedError(e)}})))()}else{this._asyncIterableDone=true}}_triggerSyncComputation(){if(this._computer.computeSync){this._result=this._result.concat(this._computer.computeSync())}this._setState(this._asyncIterableDone?0:3)}_triggerLoadingMessage(){if(this._state===3){this._setState(4)}}_fireResult(){if(this._state===1||this._state===2){return}const isComplete=this._state===0;const hasLoadingMessage=this._state===4;this._onResult.fire(new HoverResult(this._result.slice(0),isComplete,hasLoadingMessage))}start(mode){if(mode===0){if(this._state===0){this._setState(1);this._firstWaitScheduler.schedule(this._firstWaitTime);this._loadingMessageScheduler.schedule(this._loadingMessageTime)}}else{switch(this._state){case 0:this._triggerAsyncComputation();this._secondWaitScheduler.cancel();this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel();this._triggerSyncComputation();break}}}cancel(){this._firstWaitScheduler.cancel();this._secondWaitScheduler.cancel();this._loadingMessageScheduler.cancel();if(this._asyncIterable){this._asyncIterable.cancel();this._asyncIterable=null}this._result=[];this._setState(0,false)}};var HoverRangeAnchor=class{constructor(priority,range2,initialMousePosX,initialMousePosY){this.priority=priority;this.range=range2;this.initialMousePosX=initialMousePosX;this.initialMousePosY=initialMousePosY;this.type=1}equals(other){return other.type===1&&this.range.equalsRange(other.range)}canAdoptVisibleHover(lastAnchor,showAtPosition){return lastAnchor.type===1&&showAtPosition.lineNumber===this.range.startLineNumber}};var HoverForeignElementAnchor=class{constructor(priority,owner,range2,initialMousePosX,initialMousePosY,supportsMarkerHover){this.priority=priority;this.owner=owner;this.range=range2;this.initialMousePosX=initialMousePosX;this.initialMousePosY=initialMousePosY;this.supportsMarkerHover=supportsMarkerHover;this.type=2}equals(other){return other.type===2&&this.owner===other.owner}canAdoptVisibleHover(lastAnchor,showAtPosition){return lastAnchor.type===2&&this.owner===lastAnchor.owner}};var HoverParticipantRegistry=new class HoverParticipantRegistry2{constructor(){this._participants=[]}register(ctor){this._participants.push(ctor)}getAll(){return this._participants}};init_instantiation();init_keybinding();init_async();init_editorContextKeys();init_contextkey();init_dom();init_sash();init_event();init_lifecycle();var ResizableHTMLElement=class{constructor(){this._onDidWillResize=new Emitter;this.onDidWillResize=this._onDidWillResize.event;this._onDidResize=new Emitter;this.onDidResize=this._onDidResize.event;this._sashListener=new DisposableStore;this._size=new Dimension(0,0);this._minSize=new Dimension(0,0);this._maxSize=new Dimension(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER);this.domNode=document.createElement("div");this._eastSash=new Sash(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0});this._westSash=new Sash(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0});this._northSash=new Sash(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:OrthogonalEdge.North});this._southSash=new Sash(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:OrthogonalEdge.South});this._northSash.orthogonalStartSash=this._westSash;this._northSash.orthogonalEndSash=this._eastSash;this._southSash.orthogonalStartSash=this._westSash;this._southSash.orthogonalEndSash=this._eastSash;let currentSize;let deltaY=0;let deltaX=0;this._sashListener.add(Event.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)((()=>{if(currentSize===void 0){this._onDidWillResize.fire();currentSize=this._size;deltaY=0;deltaX=0}})));this._sashListener.add(Event.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)((()=>{if(currentSize!==void 0){currentSize=void 0;deltaY=0;deltaX=0;this._onDidResize.fire({dimension:this._size,done:true})}})));this._sashListener.add(this._eastSash.onDidChange((e=>{if(currentSize){deltaX=e.currentX-e.startX;this.layout(currentSize.height+deltaY,currentSize.width+deltaX);this._onDidResize.fire({dimension:this._size,done:false,east:true})}})));this._sashListener.add(this._westSash.onDidChange((e=>{if(currentSize){deltaX=-(e.currentX-e.startX);this.layout(currentSize.height+deltaY,currentSize.width+deltaX);this._onDidResize.fire({dimension:this._size,done:false,west:true})}})));this._sashListener.add(this._northSash.onDidChange((e=>{if(currentSize){deltaY=-(e.currentY-e.startY);this.layout(currentSize.height+deltaY,currentSize.width+deltaX);this._onDidResize.fire({dimension:this._size,done:false,north:true})}})));this._sashListener.add(this._southSash.onDidChange((e=>{if(currentSize){deltaY=e.currentY-e.startY;this.layout(currentSize.height+deltaY,currentSize.width+deltaX);this._onDidResize.fire({dimension:this._size,done:false,south:true})}})));this._sashListener.add(Event.any(this._eastSash.onDidReset,this._westSash.onDidReset)((e=>{if(this._preferredSize){this.layout(this._size.height,this._preferredSize.width);this._onDidResize.fire({dimension:this._size,done:true})}})));this._sashListener.add(Event.any(this._northSash.onDidReset,this._southSash.onDidReset)((e=>{if(this._preferredSize){this.layout(this._preferredSize.height,this._size.width);this._onDidResize.fire({dimension:this._size,done:true})}})))}dispose(){this._northSash.dispose();this._southSash.dispose();this._eastSash.dispose();this._westSash.dispose();this._sashListener.dispose();this._onDidResize.dispose();this._onDidWillResize.dispose();this.domNode.remove()}enableSashes(north,east,south,west){this._northSash.state=north?3:0;this._eastSash.state=east?3:0;this._southSash.state=south?3:0;this._westSash.state=west?3:0}layout(height=this.size.height,width=this.size.width){const{height:minHeight,width:minWidth}=this._minSize;const{height:maxHeight,width:maxWidth}=this._maxSize;height=Math.max(minHeight,Math.min(maxHeight,height));width=Math.max(minWidth,Math.min(maxWidth,width));const newSize=new Dimension(width,height);if(!Dimension.equals(newSize,this._size)){this.domNode.style.height=height+"px";this.domNode.style.width=width+"px";this._size=newSize;this._northSash.layout();this._eastSash.layout();this._southSash.layout();this._westSash.layout()}}clearSashHoverState(){this._eastSash.clearSashHoverState();this._westSash.clearSashHoverState();this._northSash.clearSashHoverState();this._southSash.clearSashHoverState()}get size(){return this._size}set maxSize(value){this._maxSize=value}get maxSize(){return this._maxSize}set minSize(value){this._minSize=value}get minSize(){return this._minSize}set preferredSize(value){this._preferredSize=value}get preferredSize(){return this._preferredSize}};init_lifecycle();init_position();init_dom();var TOP_HEIGHT=30;var BOTTOM_HEIGHT=24;var ResizableContentWidget=class extends Disposable{constructor(_editor,minimumSize=new Dimension(10,10)){super();this._editor=_editor;this.allowEditorOverflow=true;this.suppressMouseDown=false;this._resizableNode=this._register(new ResizableHTMLElement);this._contentPosition=null;this._isResizing=false;this._resizableNode.domNode.style.position="absolute";this._resizableNode.minSize=Dimension.lift(minimumSize);this._resizableNode.layout(minimumSize.height,minimumSize.width);this._resizableNode.enableSashes(true,true,true,true);this._register(this._resizableNode.onDidResize((e=>{this._resize(new Dimension(e.dimension.width,e.dimension.height));if(e.done){this._isResizing=false}})));this._register(this._resizableNode.onDidWillResize((()=>{this._isResizing=true})))}get isResizing(){return this._isResizing}getDomNode(){return this._resizableNode.domNode}getPosition(){return this._contentPosition}get position(){var _a6;return((_a6=this._contentPosition)===null||_a6===void 0?void 0:_a6.position)?Position.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(position){const editorDomNode=this._editor.getDomNode();const mouseBox=this._editor.getScrolledVisiblePosition(position);if(!editorDomNode||!mouseBox){return}const editorBox=getDomNodePagePosition(editorDomNode);return editorBox.top+mouseBox.top-TOP_HEIGHT}_availableVerticalSpaceBelow(position){const editorDomNode=this._editor.getDomNode();const mouseBox=this._editor.getScrolledVisiblePosition(position);if(!editorDomNode||!mouseBox){return}const editorBox=getDomNodePagePosition(editorDomNode);const bodyBox=getClientArea(document.body);const mouseBottom=editorBox.top+mouseBox.top+mouseBox.height;return bodyBox.height-mouseBottom-BOTTOM_HEIGHT}_findPositionPreference(widgetHeight,showAtPosition){var _a6,_b3;const maxHeightBelow=Math.min((_a6=this._availableVerticalSpaceBelow(showAtPosition))!==null&&_a6!==void 0?_a6:Infinity,widgetHeight);const maxHeightAbove=Math.min((_b3=this._availableVerticalSpaceAbove(showAtPosition))!==null&&_b3!==void 0?_b3:Infinity,widgetHeight);const maxHeight=Math.min(Math.max(maxHeightAbove,maxHeightBelow),widgetHeight);const height=Math.min(widgetHeight,maxHeight);let renderingAbove;if(this._editor.getOption(59).above){renderingAbove=height<=maxHeightAbove?1:2}else{renderingAbove=height<=maxHeightBelow?2:1}if(renderingAbove===1){this._resizableNode.enableSashes(true,true,false,false)}else{this._resizableNode.enableSashes(false,true,true,false)}return renderingAbove}_resize(dimension){this._resizableNode.layout(dimension.height,dimension.width)}};init_configuration();init_accessibility();var __decorate72=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param65=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var ContentHoverController_1;var ContentHoverWidget_1;var $10=$;var ContentHoverController=ContentHoverController_1=class ContentHoverController2 extends Disposable{constructor(_editor,_instantiationService,_keybindingService){super();this._editor=_editor;this._instantiationService=_instantiationService;this._keybindingService=_keybindingService;this._currentResult=null;this._widget=this._register(this._instantiationService.createInstance(ContentHoverWidget,this._editor));this._participants=[];for(const participant of HoverParticipantRegistry.getAll()){this._participants.push(this._instantiationService.createInstance(participant,this._editor))}this._participants.sort(((p1,p2)=>p1.hoverOrdinal-p2.hoverOrdinal));this._computer=new ContentHoverComputer(this._editor,this._participants);this._hoverOperation=this._register(new HoverOperation(this._editor,this._computer));this._register(this._hoverOperation.onResult((result=>{if(!this._computer.anchor){return}const messages=result.hasLoadingMessage?this._addLoadingMessage(result.value):result.value;this._withResult(new HoverResult2(this._computer.anchor,messages,result.isComplete))})));this._register(addStandardDisposableListener(this._widget.getDomNode(),"keydown",(e=>{if(e.equals(9)){this.hide()}})));this._register(TokenizationRegistry2.onDidChange((()=>{if(this._widget.position&&this._currentResult){this._setCurrentResult(this._currentResult)}})))}get widget(){return this._widget}maybeShowAt(mouseEvent){if(this._widget.isResizing){return true}const anchorCandidates=[];for(const participant of this._participants){if(participant.suggestHoverAnchor){const anchor=participant.suggestHoverAnchor(mouseEvent);if(anchor){anchorCandidates.push(anchor)}}}const target=mouseEvent.target;if(target.type===6){anchorCandidates.push(new HoverRangeAnchor(0,target.range,mouseEvent.event.posx,mouseEvent.event.posy))}if(target.type===7){const epsilon=this._editor.getOption(49).typicalHalfwidthCharacterWidth/2;if(!target.detail.isAfterLines&&typeof target.detail.horizontalDistanceToText==="number"&&target.detail.horizontalDistanceToText<epsilon){anchorCandidates.push(new HoverRangeAnchor(0,target.range,mouseEvent.event.posx,mouseEvent.event.posy))}}if(anchorCandidates.length===0){return this._startShowingOrUpdateHover(null,0,0,false,mouseEvent)}anchorCandidates.sort(((a,b)=>b.priority-a.priority));return this._startShowingOrUpdateHover(anchorCandidates[0],0,0,false,mouseEvent)}startShowingAtRange(range2,mode,source,focus){this._startShowingOrUpdateHover(new HoverRangeAnchor(0,range2,void 0,void 0),mode,source,focus,null)}_startShowingOrUpdateHover(anchor,mode,source,focus,mouseEvent){if(!this._widget.position||!this._currentResult){if(anchor){this._startHoverOperationIfNecessary(anchor,mode,source,focus,false);return true}return false}const hoverIsSticky=this._editor.getOption(59).sticky;const isGettingCloser=hoverIsSticky&&mouseEvent&&this._widget.isMouseGettingCloser(mouseEvent.event.posx,mouseEvent.event.posy);if(isGettingCloser){if(anchor){this._startHoverOperationIfNecessary(anchor,mode,source,focus,true)}return true}if(!anchor){this._setCurrentResult(null);return false}if(anchor&&this._currentResult.anchor.equals(anchor)){return true}if(!anchor.canAdoptVisibleHover(this._currentResult.anchor,this._widget.position)){this._setCurrentResult(null);this._startHoverOperationIfNecessary(anchor,mode,source,focus,false);return true}this._setCurrentResult(this._currentResult.filter(anchor));this._startHoverOperationIfNecessary(anchor,mode,source,focus,false);return true}_startHoverOperationIfNecessary(anchor,mode,source,focus,insistOnKeepingHoverVisible){if(this._computer.anchor&&this._computer.anchor.equals(anchor)){return}this._hoverOperation.cancel();this._computer.anchor=anchor;this._computer.shouldFocus=focus;this._computer.source=source;this._computer.insistOnKeepingHoverVisible=insistOnKeepingHoverVisible;this._hoverOperation.start(mode)}_setCurrentResult(hoverResult){if(this._currentResult===hoverResult){return}if(hoverResult&&hoverResult.messages.length===0){hoverResult=null}this._currentResult=hoverResult;if(this._currentResult){this._renderMessages(this._currentResult.anchor,this._currentResult.messages)}else{this._widget.hide()}}hide(){this._computer.anchor=null;this._hoverOperation.cancel();this._setCurrentResult(null)}get isColorPickerVisible(){return this._widget.isColorPickerVisible}get isVisibleFromKeyboard(){return this._widget.isVisibleFromKeyboard}get isVisible(){return this._widget.isVisible}get isFocused(){return this._widget.isFocused}get isResizing(){return this._widget.isResizing}containsNode(node){return node?this._widget.getDomNode().contains(node):false}_addLoadingMessage(result){if(this._computer.anchor){for(const participant of this._participants){if(participant.createLoadingMessage){const loadingMessage=participant.createLoadingMessage(this._computer.anchor);if(loadingMessage){return result.slice(0).concat([loadingMessage])}}}}return result}_withResult(hoverResult){if(this._widget.position&&this._currentResult&&this._currentResult.isComplete){if(!hoverResult.isComplete){return}if(this._computer.insistOnKeepingHoverVisible&&hoverResult.messages.length===0){return}}this._setCurrentResult(hoverResult)}_renderMessages(anchor,messages){const{showAtPosition:showAtPosition,showAtSecondaryPosition:showAtSecondaryPosition,highlightRange:highlightRange}=ContentHoverController_1.computeHoverRanges(this._editor,anchor.range,messages);const disposables=new DisposableStore;const statusBar=disposables.add(new EditorHoverStatusBar(this._keybindingService));const fragment=document.createDocumentFragment();let colorPicker=null;const context={fragment:fragment,statusBar:statusBar,setColorPicker:widget=>colorPicker=widget,onContentsChanged:()=>this._widget.onContentsChanged(),setMinimumDimensions:dimensions=>this._widget.setMinimumDimensions(dimensions),hide:()=>this.hide()};for(const participant of this._participants){const hoverParts=messages.filter((msg=>msg.owner===participant));if(hoverParts.length>0){disposables.add(participant.renderHoverParts(context,hoverParts))}}const isBeforeContent=messages.some((m=>m.isBeforeContent));if(statusBar.hasContent){fragment.appendChild(statusBar.hoverElement)}if(fragment.hasChildNodes()){if(highlightRange){const highlightDecoration=this._editor.createDecorationsCollection();highlightDecoration.set([{range:highlightRange,options:ContentHoverController_1._DECORATION_OPTIONS}]);disposables.add(toDisposable((()=>{highlightDecoration.clear()})))}this._widget.showAt(fragment,new ContentHoverVisibleData(colorPicker,showAtPosition,showAtSecondaryPosition,this._editor.getOption(59).above,this._computer.shouldFocus,this._computer.source,isBeforeContent,anchor.initialMousePosX,anchor.initialMousePosY,disposables))}else{disposables.dispose()}}static computeHoverRanges(editor2,anchorRange,messages){let startColumnBoundary=1;if(editor2.hasModel()){const viewModel=editor2._getViewModel();const coordinatesConverter=viewModel.coordinatesConverter;const anchorViewRange=coordinatesConverter.convertModelRangeToViewRange(anchorRange);const anchorViewRangeStart=new Position(anchorViewRange.startLineNumber,viewModel.getLineMinColumn(anchorViewRange.startLineNumber));startColumnBoundary=coordinatesConverter.convertViewPositionToModelPosition(anchorViewRangeStart).column}const anchorLineNumber=anchorRange.startLineNumber;let renderStartColumn=anchorRange.startColumn;let highlightRange=messages[0].range;let forceShowAtRange=null;for(const msg of messages){highlightRange=Range.plusRange(highlightRange,msg.range);if(msg.range.startLineNumber===anchorLineNumber&&msg.range.endLineNumber===anchorLineNumber){renderStartColumn=Math.max(Math.min(renderStartColumn,msg.range.startColumn),startColumnBoundary)}if(msg.forceShowAtRange){forceShowAtRange=msg.range}}return{showAtPosition:forceShowAtRange?forceShowAtRange.getStartPosition():new Position(anchorLineNumber,anchorRange.startColumn),showAtSecondaryPosition:forceShowAtRange?forceShowAtRange.getStartPosition():new Position(anchorLineNumber,renderStartColumn),highlightRange:highlightRange}}focus(){this._widget.focus()}scrollUp(){this._widget.scrollUp()}scrollDown(){this._widget.scrollDown()}scrollLeft(){this._widget.scrollLeft()}scrollRight(){this._widget.scrollRight()}pageUp(){this._widget.pageUp()}pageDown(){this._widget.pageDown()}goToTop(){this._widget.goToTop()}goToBottom(){this._widget.goToBottom()}};ContentHoverController._DECORATION_OPTIONS=ModelDecorationOptions.register({description:"content-hover-highlight",className:"hoverHighlight"});ContentHoverController=ContentHoverController_1=__decorate72([__param65(1,IInstantiationService),__param65(2,IKeybindingService)],ContentHoverController);var HoverResult2=class{constructor(anchor,messages,isComplete){this.anchor=anchor;this.messages=messages;this.isComplete=isComplete}filter(anchor){const filteredMessages=this.messages.filter((m=>m.isValidForHoverAnchor(anchor)));if(filteredMessages.length===this.messages.length){return this}return new FilteredHoverResult(this,this.anchor,filteredMessages,this.isComplete)}};var FilteredHoverResult=class extends HoverResult2{constructor(original,anchor,messages,isComplete){super(anchor,messages,isComplete);this.original=original}filter(anchor){return this.original.filter(anchor)}};var ContentHoverVisibleData=class{constructor(colorPicker,showAtPosition,showAtSecondaryPosition,preferAbove,stoleFocus,source,isBeforeContent,initialMousePosX,initialMousePosY,disposables){this.colorPicker=colorPicker;this.showAtPosition=showAtPosition;this.showAtSecondaryPosition=showAtSecondaryPosition;this.preferAbove=preferAbove;this.stoleFocus=stoleFocus;this.source=source;this.isBeforeContent=isBeforeContent;this.initialMousePosX=initialMousePosX;this.initialMousePosY=initialMousePosY;this.disposables=disposables;this.closestMouseDistance=void 0}};var HORIZONTAL_SCROLLING_BY=30;var SCROLLBAR_WIDTH=10;var CONTAINER_HEIGHT_PADDING=6;var ContentHoverWidget=ContentHoverWidget_1=class ContentHoverWidget2 extends ResizableContentWidget{get isColorPickerVisible(){var _a6;return Boolean((_a6=this._visibleData)===null||_a6===void 0?void 0:_a6.colorPicker)}get isVisibleFromKeyboard(){var _a6;return((_a6=this._visibleData)===null||_a6===void 0?void 0:_a6.source)===1}get isVisible(){var _a6;return(_a6=this._hoverVisibleKey.get())!==null&&_a6!==void 0?_a6:false}get isFocused(){var _a6;return(_a6=this._hoverFocusedKey.get())!==null&&_a6!==void 0?_a6:false}constructor(editor2,contextKeyService,_configurationService,_accessibilityService,_keybindingService){const minimumHeight=editor2.getOption(65)+8;const minimumWidth=150;const minimumSize=new Dimension(minimumWidth,minimumHeight);super(editor2,minimumSize);this._configurationService=_configurationService;this._accessibilityService=_accessibilityService;this._keybindingService=_keybindingService;this._hover=this._register(new HoverWidget);this._minimumSize=minimumSize;this._hoverVisibleKey=EditorContextKeys.hoverVisible.bindTo(contextKeyService);this._hoverFocusedKey=EditorContextKeys.hoverFocused.bindTo(contextKeyService);append(this._resizableNode.domNode,this._hover.containerDomNode);this._resizableNode.domNode.style.zIndex="50";this._register(this._editor.onDidLayoutChange((()=>this._layout())));this._register(this._editor.onDidChangeConfiguration((e=>{if(e.hasChanged(49)){this._updateFont()}})));const focusTracker=this._register(trackFocus(this._resizableNode.domNode));this._register(focusTracker.onDidFocus((()=>{this._hoverFocusedKey.set(true)})));this._register(focusTracker.onDidBlur((()=>{this._hoverFocusedKey.set(false)})));this._setHoverData(void 0);this._layout();this._editor.addContentWidget(this)}dispose(){var _a6;super.dispose();(_a6=this._visibleData)===null||_a6===void 0?void 0:_a6.disposables.dispose();this._editor.removeContentWidget(this)}getId(){return ContentHoverWidget_1.ID}static _applyDimensions(container,width,height){const transformedWidth=typeof width==="number"?`${width}px`:width;const transformedHeight=typeof height==="number"?`${height}px`:height;container.style.width=transformedWidth;container.style.height=transformedHeight}_setContentsDomNodeDimensions(width,height){const contentsDomNode=this._hover.contentsDomNode;return ContentHoverWidget_1._applyDimensions(contentsDomNode,width,height)}_setContainerDomNodeDimensions(width,height){const containerDomNode=this._hover.containerDomNode;return ContentHoverWidget_1._applyDimensions(containerDomNode,width,height)}_setHoverWidgetDimensions(width,height){this._setContentsDomNodeDimensions(width,height);this._setContainerDomNodeDimensions(width,height);this._layoutContentWidget()}static _applyMaxDimensions(container,width,height){const transformedWidth=typeof width==="number"?`${width}px`:width;const transformedHeight=typeof height==="number"?`${height}px`:height;container.style.maxWidth=transformedWidth;container.style.maxHeight=transformedHeight}_setHoverWidgetMaxDimensions(width,height){ContentHoverWidget_1._applyMaxDimensions(this._hover.contentsDomNode,width,height);ContentHoverWidget_1._applyMaxDimensions(this._hover.containerDomNode,width,height);this._hover.containerDomNode.style.setProperty("--vscode-hover-maxWidth",typeof width==="number"?`${width}px`:width);this._layoutContentWidget()}_hasHorizontalScrollbar(){const scrollDimensions=this._hover.scrollbar.getScrollDimensions();const hasHorizontalScrollbar=scrollDimensions.scrollWidth>scrollDimensions.width;return hasHorizontalScrollbar}_adjustContentsBottomPadding(){const contentsDomNode=this._hover.contentsDomNode;const extraBottomPadding=`${this._hover.scrollbar.options.horizontalScrollbarSize}px`;if(contentsDomNode.style.paddingBottom!==extraBottomPadding){contentsDomNode.style.paddingBottom=extraBottomPadding}}_setAdjustedHoverWidgetDimensions(size2){this._setHoverWidgetMaxDimensions("none","none");const width=size2.width;const height=size2.height;this._setHoverWidgetDimensions(width,height);if(this._hasHorizontalScrollbar()){this._adjustContentsBottomPadding();this._setContentsDomNodeDimensions(width,height-SCROLLBAR_WIDTH)}}_updateResizableNodeMaxDimensions(){var _a6,_b3;const maxRenderingWidth=(_a6=this._findMaximumRenderingWidth())!==null&&_a6!==void 0?_a6:Infinity;const maxRenderingHeight=(_b3=this._findMaximumRenderingHeight())!==null&&_b3!==void 0?_b3:Infinity;this._resizableNode.maxSize=new Dimension(maxRenderingWidth,maxRenderingHeight);this._setHoverWidgetMaxDimensions(maxRenderingWidth,maxRenderingHeight)}_resize(size2){var _a6,_b3;ContentHoverWidget_1._lastDimensions=new Dimension(size2.width,size2.height);this._setAdjustedHoverWidgetDimensions(size2);this._resizableNode.layout(size2.height,size2.width);this._updateResizableNodeMaxDimensions();this._hover.scrollbar.scanDomNode();this._editor.layoutContentWidget(this);(_b3=(_a6=this._visibleData)===null||_a6===void 0?void 0:_a6.colorPicker)===null||_b3===void 0?void 0:_b3.layout()}_findAvailableSpaceVertically(){var _a6;const position=(_a6=this._visibleData)===null||_a6===void 0?void 0:_a6.showAtPosition;if(!position){return}return this._positionPreference===1?this._availableVerticalSpaceAbove(position):this._availableVerticalSpaceBelow(position)}_findMaximumRenderingHeight(){const availableSpace=this._findAvailableSpaceVertically();if(!availableSpace){return}let maximumHeight=CONTAINER_HEIGHT_PADDING;Array.from(this._hover.contentsDomNode.children).forEach((hoverPart=>{maximumHeight+=hoverPart.clientHeight}));if(this._hasHorizontalScrollbar()){maximumHeight+=SCROLLBAR_WIDTH}return Math.min(availableSpace,maximumHeight)}_isHoverTextOverflowing(){this._hover.containerDomNode.style.setProperty("--vscode-hover-whiteSpace","nowrap");this._hover.containerDomNode.style.setProperty("--vscode-hover-sourceWhiteSpace","nowrap");const overflowing=Array.from(this._hover.contentsDomNode.children).some((hoverElement=>hoverElement.scrollWidth>hoverElement.clientWidth));this._hover.containerDomNode.style.removeProperty("--vscode-hover-whiteSpace");this._hover.containerDomNode.style.removeProperty("--vscode-hover-sourceWhiteSpace");return overflowing}_findMaximumRenderingWidth(){if(!this._editor||!this._editor.hasModel()){return}const overflowing=this._isHoverTextOverflowing();const initialWidth=typeof this._contentWidth==="undefined"?0:this._contentWidth-2;if(overflowing||this._hover.containerDomNode.clientWidth<initialWidth){const bodyBoxWidth=getClientArea(document.body).width;const horizontalPadding=14;return bodyBoxWidth-horizontalPadding}else{return this._hover.containerDomNode.clientWidth+2}}isMouseGettingCloser(posx,posy){if(!this._visibleData){return false}if(typeof this._visibleData.initialMousePosX==="undefined"||typeof this._visibleData.initialMousePosY==="undefined"){this._visibleData.initialMousePosX=posx;this._visibleData.initialMousePosY=posy;return false}const widgetRect=getDomNodePagePosition(this.getDomNode());if(typeof this._visibleData.closestMouseDistance==="undefined"){this._visibleData.closestMouseDistance=computeDistanceFromPointToRectangle(this._visibleData.initialMousePosX,this._visibleData.initialMousePosY,widgetRect.left,widgetRect.top,widgetRect.width,widgetRect.height)}const distance=computeDistanceFromPointToRectangle(posx,posy,widgetRect.left,widgetRect.top,widgetRect.width,widgetRect.height);if(distance>this._visibleData.closestMouseDistance+4){return false}this._visibleData.closestMouseDistance=Math.min(this._visibleData.closestMouseDistance,distance);return true}_setHoverData(hoverData){var _a6;(_a6=this._visibleData)===null||_a6===void 0?void 0:_a6.disposables.dispose();this._visibleData=hoverData;this._hoverVisibleKey.set(!!hoverData);this._hover.containerDomNode.classList.toggle("hidden",!hoverData)}_layout(){const{fontSize:fontSize,lineHeight:lineHeight}=this._editor.getOption(49);const contentsDomNode=this._hover.contentsDomNode;contentsDomNode.style.fontSize=`${fontSize}px`;contentsDomNode.style.lineHeight=`${lineHeight/fontSize}`;this._updateMaxDimensions()}_updateFont(){const codeClasses=Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code"));codeClasses.forEach((node=>this._editor.applyFontInfo(node)))}_updateContent(node){const contentsDomNode=this._hover.contentsDomNode;contentsDomNode.style.paddingBottom="";contentsDomNode.textContent="";contentsDomNode.appendChild(node)}_layoutContentWidget(){this._editor.layoutContentWidget(this);this._hover.onContentsChanged()}_updateMaxDimensions(){const height=Math.max(this._editor.getLayoutInfo().height/4,250,ContentHoverWidget_1._lastDimensions.height);const width=Math.max(this._editor.getLayoutInfo().width*.66,500,ContentHoverWidget_1._lastDimensions.width);this._setHoverWidgetMaxDimensions(width,height)}_render(node,hoverData){this._setHoverData(hoverData);this._updateFont();this._updateContent(node);this._updateMaxDimensions();this.onContentsChanged();this._editor.render()}getPosition(){var _a6;if(!this._visibleData){return null}return{position:this._visibleData.showAtPosition,secondaryPosition:this._visibleData.showAtSecondaryPosition,positionAffinity:this._visibleData.isBeforeContent?3:void 0,preference:[(_a6=this._positionPreference)!==null&&_a6!==void 0?_a6:1]}}showAt(node,hoverData){var _a6,_b3,_c2,_d2;if(!this._editor||!this._editor.hasModel()){return}this._render(node,hoverData);const widgetHeight=getTotalHeight(this._hover.containerDomNode);const widgetPosition=hoverData.showAtPosition;this._positionPreference=(_a6=this._findPositionPreference(widgetHeight,widgetPosition))!==null&&_a6!==void 0?_a6:1;this.onContentsChanged();if(hoverData.stoleFocus){this._hover.containerDomNode.focus()}(_b3=hoverData.colorPicker)===null||_b3===void 0?void 0:_b3.layout();const accessibleViewHint=getHoverAccessibleViewHint(this._configurationService.getValue("accessibility.verbosity.hover")===true&&this._accessibilityService.isScreenReaderOptimized(),(_d2=(_c2=this._keybindingService.lookupKeybinding("editor.action.accessibleView"))===null||_c2===void 0?void 0:_c2.getAriaLabel())!==null&&_d2!==void 0?_d2:"");if(accessibleViewHint){this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+", "+accessibleViewHint}}hide(){if(!this._visibleData){return}const stoleFocus=this._visibleData.stoleFocus||this._hoverFocusedKey.get();this._setHoverData(void 0);this._resizableNode.maxSize=new Dimension(Infinity,Infinity);this._resizableNode.clearSashHoverState();this._hoverFocusedKey.set(false);this._editor.layoutContentWidget(this);if(stoleFocus){this._editor.focus()}}_removeConstraintsRenderNormally(){const layoutInfo=this._editor.getLayoutInfo();this._resizableNode.layout(layoutInfo.height,layoutInfo.width);this._setHoverWidgetDimensions("auto","auto")}_adjustHoverHeightForScrollbar(height){var _a6;const containerDomNode=this._hover.containerDomNode;const contentsDomNode=this._hover.contentsDomNode;const maxRenderingHeight=(_a6=this._findMaximumRenderingHeight())!==null&&_a6!==void 0?_a6:Infinity;this._setContainerDomNodeDimensions(getTotalWidth(containerDomNode),Math.min(maxRenderingHeight,height));this._setContentsDomNodeDimensions(getTotalWidth(contentsDomNode),Math.min(maxRenderingHeight,height-SCROLLBAR_WIDTH))}setMinimumDimensions(dimensions){this._minimumSize=new Dimension(Math.max(this._minimumSize.width,dimensions.width),Math.max(this._minimumSize.height,dimensions.height));this._updateMinimumWidth()}_updateMinimumWidth(){const width=typeof this._contentWidth==="undefined"?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new Dimension(width,this._minimumSize.height)}onContentsChanged(){var _a6;this._removeConstraintsRenderNormally();const containerDomNode=this._hover.containerDomNode;let height=getTotalHeight(containerDomNode);let width=getTotalWidth(containerDomNode);this._resizableNode.layout(height,width);this._setHoverWidgetDimensions(width,height);height=getTotalHeight(containerDomNode);width=getTotalWidth(containerDomNode);this._contentWidth=width;this._updateMinimumWidth();this._resizableNode.layout(height,width);if(this._hasHorizontalScrollbar()){this._adjustContentsBottomPadding();this._adjustHoverHeightForScrollbar(height)}if((_a6=this._visibleData)===null||_a6===void 0?void 0:_a6.showAtPosition){const widgetHeight=getTotalHeight(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(widgetHeight,this._visibleData.showAtPosition)}this._layoutContentWidget()}focus(){this._hover.containerDomNode.focus()}scrollUp(){const scrollTop=this._hover.scrollbar.getScrollPosition().scrollTop;const fontInfo=this._editor.getOption(49);this._hover.scrollbar.setScrollPosition({scrollTop:scrollTop-fontInfo.lineHeight})}scrollDown(){const scrollTop=this._hover.scrollbar.getScrollPosition().scrollTop;const fontInfo=this._editor.getOption(49);this._hover.scrollbar.setScrollPosition({scrollTop:scrollTop+fontInfo.lineHeight})}scrollLeft(){const scrollLeft=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:scrollLeft-HORIZONTAL_SCROLLING_BY})}scrollRight(){const scrollLeft=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:scrollLeft+HORIZONTAL_SCROLLING_BY})}pageUp(){const scrollTop=this._hover.scrollbar.getScrollPosition().scrollTop;const scrollHeight=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:scrollTop-scrollHeight})}pageDown(){const scrollTop=this._hover.scrollbar.getScrollPosition().scrollTop;const scrollHeight=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:scrollTop+scrollHeight})}goToTop(){this._hover.scrollbar.setScrollPosition({scrollTop:0})}goToBottom(){this._hover.scrollbar.setScrollPosition({scrollTop:this._hover.scrollbar.getScrollDimensions().scrollHeight})}};ContentHoverWidget.ID="editor.contrib.resizableContentHoverWidget";ContentHoverWidget._lastDimensions=new Dimension(0,0);ContentHoverWidget=ContentHoverWidget_1=__decorate72([__param65(1,IContextKeyService),__param65(2,IConfigurationService),__param65(3,IAccessibilityService),__param65(4,IKeybindingService)],ContentHoverWidget);var EditorHoverStatusBar=class EditorHoverStatusBar2 extends Disposable{get hasContent(){return this._hasContent}constructor(_keybindingService){super();this._keybindingService=_keybindingService;this._hasContent=false;this.hoverElement=$10("div.hover-row.status-bar");this.actionsElement=append(this.hoverElement,$10("div.actions"))}addAction(actionOptions){const keybinding=this._keybindingService.lookupKeybinding(actionOptions.commandId);const keybindingLabel=keybinding?keybinding.getLabel():null;this._hasContent=true;return this._register(HoverAction.render(this.actionsElement,actionOptions,keybindingLabel))}append(element){const result=append(this.actionsElement,element);this._hasContent=true;return result}};EditorHoverStatusBar=__decorate72([__param65(0,IKeybindingService)],EditorHoverStatusBar);var ContentHoverComputer=class{get anchor(){return this._anchor}set anchor(value){this._anchor=value}get shouldFocus(){return this._shouldFocus}set shouldFocus(value){this._shouldFocus=value}get source(){return this._source}set source(value){this._source=value}get insistOnKeepingHoverVisible(){return this._insistOnKeepingHoverVisible}set insistOnKeepingHoverVisible(value){this._insistOnKeepingHoverVisible=value}constructor(_editor,_participants){this._editor=_editor;this._participants=_participants;this._anchor=null;this._shouldFocus=false;this._source=0;this._insistOnKeepingHoverVisible=false}static _getLineDecorations(editor2,anchor){if(anchor.type!==1&&!anchor.supportsMarkerHover){return[]}const model=editor2.getModel();const lineNumber=anchor.range.startLineNumber;if(lineNumber>model.getLineCount()){return[]}const maxColumn=model.getLineMaxColumn(lineNumber);return editor2.getLineDecorations(lineNumber).filter((d=>{if(d.options.isWholeLine){return true}const startColumn=d.range.startLineNumber===lineNumber?d.range.startColumn:1;const endColumn=d.range.endLineNumber===lineNumber?d.range.endColumn:maxColumn;if(d.options.showIfCollapsed){if(startColumn>anchor.range.startColumn+1||anchor.range.endColumn-1>endColumn){return false}}else{if(startColumn>anchor.range.startColumn||anchor.range.endColumn>endColumn){return false}}return true}))}computeAsync(token){const anchor=this._anchor;if(!this._editor.hasModel()||!anchor){return AsyncIterableObject.EMPTY}const lineDecorations=ContentHoverComputer._getLineDecorations(this._editor,anchor);return AsyncIterableObject.merge(this._participants.map((participant=>{if(!participant.computeAsync){return AsyncIterableObject.EMPTY}return participant.computeAsync(anchor,lineDecorations,token)})))}computeSync(){if(!this._editor.hasModel()||!this._anchor){return[]}const lineDecorations=ContentHoverComputer._getLineDecorations(this._editor,this._anchor);let result=[];for(const participant of this._participants){result=result.concat(participant.computeSync(this._anchor,lineDecorations))}return coalesce(result)}};function computeDistanceFromPointToRectangle(pointX,pointY,left,top,width,height){const x=left+width/2;const y=top+height/2;const dx=Math.max(Math.abs(pointX-x)-width/2,0);const dy=Math.max(Math.abs(pointY-y)-height/2,0);return Math.sqrt(dx*dx+dy*dy)}init_dom();init_arrays();init_htmlContent();init_lifecycle();var $11=$;var MarginHoverWidget=class extends Disposable{constructor(editor2,languageService,openerService){super();this._renderDisposeables=this._register(new DisposableStore);this._editor=editor2;this._isVisible=false;this._messages=[];this._hover=this._register(new HoverWidget);this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible);this._markdownRenderer=this._register(new MarkdownRenderer({editor:this._editor},languageService,openerService));this._computer=new MarginHoverComputer(this._editor);this._hoverOperation=this._register(new HoverOperation(this._editor,this._computer));this._register(this._hoverOperation.onResult((result=>{this._withResult(result.value)})));this._register(this._editor.onDidChangeModelDecorations((()=>this._onModelDecorationsChanged())));this._register(this._editor.onDidChangeConfiguration((e=>{if(e.hasChanged(49)){this._updateFont()}})));this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this);super.dispose()}getId(){return MarginHoverWidget.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){const codeClasses=Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code"));codeClasses.forEach((node=>this._editor.applyFontInfo(node)))}_onModelDecorationsChanged(){if(this._isVisible){this._hoverOperation.cancel();this._hoverOperation.start(0)}}startShowingAt(lineNumber){if(this._computer.lineNumber===lineNumber){return}this._hoverOperation.cancel();this.hide();this._computer.lineNumber=lineNumber;this._hoverOperation.start(0)}hide(){this._computer.lineNumber=-1;this._hoverOperation.cancel();if(!this._isVisible){return}this._isVisible=false;this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible)}_withResult(result){this._messages=result;if(this._messages.length>0){this._renderMessages(this._computer.lineNumber,this._messages)}else{this.hide()}}_renderMessages(lineNumber,messages){this._renderDisposeables.clear();const fragment=document.createDocumentFragment();for(const msg of messages){const markdownHoverElement=$11("div.hover-row.markdown-hover");const hoverContentsElement=append(markdownHoverElement,$11("div.hover-contents"));const renderedContents=this._renderDisposeables.add(this._markdownRenderer.render(msg.value));hoverContentsElement.appendChild(renderedContents.element);fragment.appendChild(markdownHoverElement)}this._updateContents(fragment);this._showAt(lineNumber)}_updateContents(node){this._hover.contentsDomNode.textContent="";this._hover.contentsDomNode.appendChild(node);this._updateFont()}_showAt(lineNumber){if(!this._isVisible){this._isVisible=true;this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible)}const editorLayout=this._editor.getLayoutInfo();const topForLineNumber=this._editor.getTopForLineNumber(lineNumber);const editorScrollTop=this._editor.getScrollTop();const lineHeight=this._editor.getOption(65);const nodeHeight=this._hover.containerDomNode.clientHeight;const top=topForLineNumber-editorScrollTop-(nodeHeight-lineHeight)/2;this._hover.containerDomNode.style.left=`${editorLayout.glyphMarginLeft+editorLayout.glyphMarginWidth}px`;this._hover.containerDomNode.style.top=`${Math.max(Math.round(top),0)}px`}};MarginHoverWidget.ID="editor.contrib.modesGlyphHoverWidget";var MarginHoverComputer=class{get lineNumber(){return this._lineNumber}set lineNumber(value){this._lineNumber=value}constructor(_editor){this._editor=_editor;this._lineNumber=-1}computeSync(){const toHoverMessage=contents=>({value:contents});const lineDecorations=this._editor.getLineDecorations(this._lineNumber);const result=[];if(!lineDecorations){return result}for(const d of lineDecorations){if(!d.options.glyphMarginClassName){continue}const hoverMessage=d.options.glyphMarginHoverMessage;if(!hoverMessage||isEmptyMarkdownString(hoverMessage)){continue}result.push(...asArray(hoverMessage).map(toHoverMessage))}return result}};init_instantiation();init_opener();init_colorRegistry();init_themeService();init_dom();init_arrays();init_async();init_htmlContent();init_lifecycle();init_position();init_range();init_language();init_async();init_cancellation();init_errors();init_editorExtensions();init_languageFeatures();var __awaiter54=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var HoverProviderResult=class{constructor(provider,hover,ordinal){this.provider=provider;this.hover=hover;this.ordinal=ordinal}};function executeProvider(provider,ordinal,model,position,token){return __awaiter54(this,void 0,void 0,(function*(){try{const result=yield Promise.resolve(provider.provideHover(model,position,token));if(result&&isValid(result)){return new HoverProviderResult(provider,result,ordinal)}}catch(err){onUnexpectedExternalError(err)}return void 0}))}function getHover(registry,model,position,token){const providers=registry.ordered(model);const promises=providers.map(((provider,index)=>executeProvider(provider,index,model,position,token)));return AsyncIterableObject.fromPromises(promises).coalesce()}function getHoverPromise(registry,model,position,token){return getHover(registry,model,position,token).map((item=>item.hover)).toPromise()}registerModelAndPositionCommand("_executeHoverProvider",((accessor,model,position)=>{const languageFeaturesService=accessor.get(ILanguageFeaturesService);return getHoverPromise(languageFeaturesService.hoverProvider,model,position,CancellationToken.None)}));function isValid(result){const hasRange=typeof result.range!=="undefined";const hasHtmlContent=typeof result.contents!=="undefined"&&result.contents&&result.contents.length>0;return hasRange&&hasHtmlContent}init_nls();init_configuration();init_opener();init_languageFeatures();var __decorate73=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param66=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var $12=$;var MarkdownHover=class{constructor(owner,range2,contents,isBeforeContent,ordinal){this.owner=owner;this.range=range2;this.contents=contents;this.isBeforeContent=isBeforeContent;this.ordinal=ordinal}isValidForHoverAnchor(anchor){return anchor.type===1&&this.range.startColumn<=anchor.range.startColumn&&this.range.endColumn>=anchor.range.endColumn}};var MarkdownHoverParticipant=class MarkdownHoverParticipant2{constructor(_editor,_languageService,_openerService,_configurationService,_languageFeaturesService){this._editor=_editor;this._languageService=_languageService;this._openerService=_openerService;this._configurationService=_configurationService;this._languageFeaturesService=_languageFeaturesService;this.hoverOrdinal=3}createLoadingMessage(anchor){return new MarkdownHover(this,anchor.range,[(new MarkdownString).appendText(localize("modesContentHover.loading","Loading..."))],false,2e3)}computeSync(anchor,lineDecorations){if(!this._editor.hasModel()||anchor.type!==1){return[]}const model=this._editor.getModel();const lineNumber=anchor.range.startLineNumber;const maxColumn=model.getLineMaxColumn(lineNumber);const result=[];let index=1e3;const lineLength=model.getLineLength(lineNumber);const languageId=model.getLanguageIdAtPosition(anchor.range.startLineNumber,anchor.range.startColumn);const stopRenderingLineAfter=this._editor.getOption(115);const maxTokenizationLineLength=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:languageId});let stopRenderingMessage=false;if(stopRenderingLineAfter>=0&&lineLength>stopRenderingLineAfter&&anchor.range.startColumn>=stopRenderingLineAfter){stopRenderingMessage=true;result.push(new MarkdownHover(this,anchor.range,[{value:localize("stopped rendering","Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],false,index++))}if(!stopRenderingMessage&&typeof maxTokenizationLineLength==="number"&&lineLength>=maxTokenizationLineLength){result.push(new MarkdownHover(this,anchor.range,[{value:localize("too many characters","Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],false,index++))}let isBeforeContent=false;for(const d of lineDecorations){const startColumn=d.range.startLineNumber===lineNumber?d.range.startColumn:1;const endColumn=d.range.endLineNumber===lineNumber?d.range.endColumn:maxColumn;const hoverMessage=d.options.hoverMessage;if(!hoverMessage||isEmptyMarkdownString(hoverMessage)){continue}if(d.options.beforeContentClassName){isBeforeContent=true}const range2=new Range(anchor.range.startLineNumber,startColumn,anchor.range.startLineNumber,endColumn);result.push(new MarkdownHover(this,range2,asArray(hoverMessage),isBeforeContent,index++))}return result}computeAsync(anchor,lineDecorations,token){if(!this._editor.hasModel()||anchor.type!==1){return AsyncIterableObject.EMPTY}const model=this._editor.getModel();if(!this._languageFeaturesService.hoverProvider.has(model)){return AsyncIterableObject.EMPTY}const position=new Position(anchor.range.startLineNumber,anchor.range.startColumn);return getHover(this._languageFeaturesService.hoverProvider,model,position,token).filter((item=>!isEmptyMarkdownString(item.hover.contents))).map((item=>{const rng=item.hover.range?Range.lift(item.hover.range):anchor.range;return new MarkdownHover(this,rng,item.hover.contents,false,item.ordinal)}))}renderHoverParts(context,hoverParts){return renderMarkdownHovers(context,hoverParts,this._editor,this._languageService,this._openerService)}};MarkdownHoverParticipant=__decorate73([__param66(1,ILanguageService),__param66(2,IOpenerService),__param66(3,IConfigurationService),__param66(4,ILanguageFeaturesService)],MarkdownHoverParticipant);function renderMarkdownHovers(context,hoverParts,editor2,languageService,openerService){hoverParts.sort(((a,b)=>a.ordinal-b.ordinal));const disposables=new DisposableStore;for(const hoverPart of hoverParts){for(const contents of hoverPart.contents){if(isEmptyMarkdownString(contents)){continue}const markdownHoverElement=$12("div.hover-row.markdown-hover");const hoverContentsElement=append(markdownHoverElement,$12("div.hover-contents"));const renderer=disposables.add(new MarkdownRenderer({editor:editor2},languageService,openerService));disposables.add(renderer.onDidRenderAsync((()=>{hoverContentsElement.className="hover-contents code-hover-contents";context.onContentsChanged()})));const renderedContents=disposables.add(renderer.render(contents));hoverContentsElement.appendChild(renderedContents.element);context.fragment.appendChild(markdownHoverElement)}}return disposables}init_dom();init_arrays();init_async();init_errors();init_lifecycle();init_resources();init_range();init_languageFeatures();init_markerDecorations();init_codicons();init_lifecycle();init_editorExtensions();init_codeEditorService();init_position();init_range();init_editorContextKeys();init_arrays();init_event();init_lifecycle();init_linkedList();init_strings();init_uri();init_range();init_extensions();init_instantiation();init_markers();init_configuration();var __decorate74=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param67=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var MarkerCoordinate=class{constructor(marker,index,total){this.marker=marker;this.index=index;this.total=total}};var MarkerList=class MarkerList2{constructor(resourceFilter,_markerService,_configService){this._markerService=_markerService;this._configService=_configService;this._onDidChange=new Emitter;this.onDidChange=this._onDidChange.event;this._dispoables=new DisposableStore;this._markers=[];this._nextIdx=-1;if(URI.isUri(resourceFilter)){this._resourceFilter=uri=>uri.toString()===resourceFilter.toString()}else if(resourceFilter){this._resourceFilter=resourceFilter}const compareOrder=this._configService.getValue("problems.sortOrder");const compareMarker=(a,b)=>{let res=compare(a.resource.toString(),b.resource.toString());if(res===0){if(compareOrder==="position"){res=Range.compareRangesUsingStarts(a,b)||MarkerSeverity2.compare(a.severity,b.severity)}else{res=MarkerSeverity2.compare(a.severity,b.severity)||Range.compareRangesUsingStarts(a,b)}}return res};const updateMarker=()=>{this._markers=this._markerService.read({resource:URI.isUri(resourceFilter)?resourceFilter:void 0,severities:MarkerSeverity2.Error|MarkerSeverity2.Warning|MarkerSeverity2.Info});if(typeof resourceFilter==="function"){this._markers=this._markers.filter((m=>this._resourceFilter(m.resource)))}this._markers.sort(compareMarker)};updateMarker();this._dispoables.add(_markerService.onMarkerChanged((uris=>{if(!this._resourceFilter||uris.some((uri=>this._resourceFilter(uri)))){updateMarker();this._nextIdx=-1;this._onDidChange.fire()}})))}dispose(){this._dispoables.dispose();this._onDidChange.dispose()}matches(uri){if(!this._resourceFilter&&!uri){return true}if(!this._resourceFilter||!uri){return false}return this._resourceFilter(uri)}get selected(){const marker=this._markers[this._nextIdx];return marker&&new MarkerCoordinate(marker,this._nextIdx+1,this._markers.length)}_initIdx(model,position,fwd){let found=false;let idx=this._markers.findIndex((marker=>marker.resource.toString()===model.uri.toString()));if(idx<0){idx=binarySearch(this._markers,{resource:model.uri},((a,b)=>compare(a.resource.toString(),b.resource.toString())));if(idx<0){idx=~idx}}for(let i=idx;i<this._markers.length;i++){let range2=Range.lift(this._markers[i]);if(range2.isEmpty()){const word=model.getWordAtPosition(range2.getStartPosition());if(word){range2=new Range(range2.startLineNumber,word.startColumn,range2.startLineNumber,word.endColumn)}}if(position&&(range2.containsPosition(position)||position.isBeforeOrEqual(range2.getStartPosition()))){this._nextIdx=i;found=true;break}if(this._markers[i].resource.toString()!==model.uri.toString()){break}}if(!found){this._nextIdx=fwd?0:this._markers.length-1}if(this._nextIdx<0){this._nextIdx=this._markers.length-1}}resetIndex(){this._nextIdx=-1}move(fwd,model,position){if(this._markers.length===0){return false}const oldIdx=this._nextIdx;if(this._nextIdx===-1){this._initIdx(model,position,fwd)}else if(fwd){this._nextIdx=(this._nextIdx+1)%this._markers.length}else if(!fwd){this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length}if(oldIdx!==this._nextIdx){return true}return false}find(uri,position){let idx=this._markers.findIndex((marker=>marker.resource.toString()===uri.toString()));if(idx<0){return void 0}for(;idx<this._markers.length;idx++){if(Range.containsPosition(this._markers[idx],position)){return new MarkerCoordinate(this._markers[idx],idx+1,this._markers.length)}}return void 0}};MarkerList=__decorate74([__param67(1,IMarkerService),__param67(2,IConfigurationService)],MarkerList);var IMarkerNavigationService=createDecorator("IMarkerNavigationService");var MarkerNavigationService=class MarkerNavigationService2{constructor(_markerService,_configService){this._markerService=_markerService;this._configService=_configService;this._provider=new LinkedList}getMarkerList(resource){for(const provider of this._provider){const result=provider.getMarkerList(resource);if(result){return result}}return new MarkerList(resource,this._markerService,this._configService)}};MarkerNavigationService=__decorate74([__param67(0,IMarkerService),__param67(1,IConfigurationService)],MarkerNavigationService);registerSingleton(IMarkerNavigationService,MarkerNavigationService,1);init_nls();init_actions2();init_contextkey();init_instantiation();init_iconRegistry();init_dom();init_scrollableElement();init_arrays();init_color();init_event();init_lifecycle();init_resources();init_strings();init_range();init_nls();init_menuEntryActionViewItem();init_actions2();init_contextkey();init_instantiation();init_label();init_markers();init_opener();init_codicons();init_themables();init_severity();var SeverityIcon;(function(SeverityIcon2){function className(severity){switch(severity){case severity_default.Ignore:return"severity-ignore "+ThemeIcon.asClassName(Codicon.info);case severity_default.Info:return ThemeIcon.asClassName(Codicon.info);case severity_default.Warning:return ThemeIcon.asClassName(Codicon.warning);case severity_default.Error:return ThemeIcon.asClassName(Codicon.error);default:return""}}SeverityIcon2.className=className})(SeverityIcon||(SeverityIcon={}));init_colorRegistry();init_themeService();var __decorate75=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param68=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var MarkerNavigationWidget_1;var MessageWidget2=class{constructor(parent,editor2,onRelatedInformation,_openerService,_labelService){this._openerService=_openerService;this._labelService=_labelService;this._lines=0;this._longestLineLength=0;this._relatedDiagnostics=new WeakMap;this._disposables=new DisposableStore;this._editor=editor2;const domNode=document.createElement("div");domNode.className="descriptioncontainer";this._messageBlock=document.createElement("div");this._messageBlock.classList.add("message");this._messageBlock.setAttribute("aria-live","assertive");this._messageBlock.setAttribute("role","alert");domNode.appendChild(this._messageBlock);this._relatedBlock=document.createElement("div");domNode.appendChild(this._relatedBlock);this._disposables.add(addStandardDisposableListener(this._relatedBlock,"click",(event=>{event.preventDefault();const related=this._relatedDiagnostics.get(event.target);if(related){onRelatedInformation(related)}})));this._scrollable=new ScrollableElement(domNode,{horizontal:1,vertical:1,useShadows:false,horizontalScrollbarSize:6,verticalScrollbarSize:6});parent.appendChild(this._scrollable.getDomNode());this._disposables.add(this._scrollable.onScroll((e=>{domNode.style.left=`-${e.scrollLeft}px`;domNode.style.top=`-${e.scrollTop}px`})));this._disposables.add(this._scrollable)}dispose(){dispose(this._disposables)}update(marker){const{source:source,message:message,relatedInformation:relatedInformation,code:code}=marker;let sourceAndCodeLength=((source===null||source===void 0?void 0:source.length)||0)+"()".length;if(code){if(typeof code==="string"){sourceAndCodeLength+=code.length}else{sourceAndCodeLength+=code.value.length}}const lines=splitLines(message);this._lines=lines.length;this._longestLineLength=0;for(const line of lines){this._longestLineLength=Math.max(line.length+sourceAndCodeLength,this._longestLineLength)}clearNode(this._messageBlock);this._messageBlock.setAttribute("aria-label",this.getAriaLabel(marker));this._editor.applyFontInfo(this._messageBlock);let lastLineElement=this._messageBlock;for(const line of lines){lastLineElement=document.createElement("div");lastLineElement.innerText=line;if(line===""){lastLineElement.style.height=this._messageBlock.style.lineHeight}this._messageBlock.appendChild(lastLineElement)}if(source||code){const detailsElement=document.createElement("span");detailsElement.classList.add("details");lastLineElement.appendChild(detailsElement);if(source){const sourceElement=document.createElement("span");sourceElement.innerText=source;sourceElement.classList.add("source");detailsElement.appendChild(sourceElement)}if(code){if(typeof code==="string"){const codeElement=document.createElement("span");codeElement.innerText=`(${code})`;codeElement.classList.add("code");detailsElement.appendChild(codeElement)}else{this._codeLink=$("a.code-link");this._codeLink.setAttribute("href",`${code.target.toString()}`);this._codeLink.onclick=e=>{this._openerService.open(code.target,{allowCommands:true});e.preventDefault();e.stopPropagation()};const codeElement=append(this._codeLink,$("span"));codeElement.innerText=code.value;detailsElement.appendChild(this._codeLink)}}}clearNode(this._relatedBlock);this._editor.applyFontInfo(this._relatedBlock);if(isNonEmptyArray(relatedInformation)){const relatedInformationNode=this._relatedBlock.appendChild(document.createElement("div"));relatedInformationNode.style.paddingTop=`${Math.floor(this._editor.getOption(65)*.66)}px`;this._lines+=1;for(const related of relatedInformation){const container=document.createElement("div");const relatedResource=document.createElement("a");relatedResource.classList.add("filename");relatedResource.innerText=`${this._labelService.getUriBasenameLabel(related.resource)}(${related.startLineNumber}, ${related.startColumn}): `;relatedResource.title=this._labelService.getUriLabel(related.resource);this._relatedDiagnostics.set(relatedResource,related);const relatedMessage=document.createElement("span");relatedMessage.innerText=related.message;container.appendChild(relatedResource);container.appendChild(relatedMessage);this._lines+=1;relatedInformationNode.appendChild(container)}}const fontInfo=this._editor.getOption(49);const scrollWidth=Math.ceil(fontInfo.typicalFullwidthCharacterWidth*this._longestLineLength*.75);const scrollHeight=fontInfo.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:scrollWidth,scrollHeight:scrollHeight})}layout(height,width){this._scrollable.getDomNode().style.height=`${height}px`;this._scrollable.getDomNode().style.width=`${width}px`;this._scrollable.setScrollDimensions({width:width,height:height})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(marker){let severityLabel="";switch(marker.severity){case MarkerSeverity2.Error:severityLabel=localize("Error","Error");break;case MarkerSeverity2.Warning:severityLabel=localize("Warning","Warning");break;case MarkerSeverity2.Info:severityLabel=localize("Info","Info");break;case MarkerSeverity2.Hint:severityLabel=localize("Hint","Hint");break}let ariaLabel=localize("marker aria","{0} at {1}. ",severityLabel,marker.startLineNumber+":"+marker.startColumn);const model=this._editor.getModel();if(model&&marker.startLineNumber<=model.getLineCount()&&marker.startLineNumber>=1){const lineContent=model.getLineContent(marker.startLineNumber);ariaLabel=`${lineContent}, ${ariaLabel}`}return ariaLabel}};var MarkerNavigationWidget=MarkerNavigationWidget_1=class MarkerNavigationWidget2 extends PeekViewWidget{constructor(editor2,_themeService,_openerService,_menuService,instantiationService,_contextKeyService,_labelService){super(editor2,{showArrow:true,showFrame:true,isAccessible:true,frameWidth:1},instantiationService);this._themeService=_themeService;this._openerService=_openerService;this._menuService=_menuService;this._contextKeyService=_contextKeyService;this._labelService=_labelService;this._callOnDispose=new DisposableStore;this._onDidSelectRelatedInformation=new Emitter;this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event;this._severity=MarkerSeverity2.Warning;this._backgroundColor=Color.white;this._applyTheme(_themeService.getColorTheme());this._callOnDispose.add(_themeService.onDidColorThemeChange(this._applyTheme.bind(this)));this.create()}_applyTheme(theme){this._backgroundColor=theme.getColor(editorMarkerNavigationBackground);let colorId=editorMarkerNavigationError;let headerBackground=editorMarkerNavigationErrorHeader;if(this._severity===MarkerSeverity2.Warning){colorId=editorMarkerNavigationWarning;headerBackground=editorMarkerNavigationWarningHeader}else if(this._severity===MarkerSeverity2.Info){colorId=editorMarkerNavigationInfo;headerBackground=editorMarkerNavigationInfoHeader}const frameColor=theme.getColor(colorId);const headerBg=theme.getColor(headerBackground);this.style({arrowColor:frameColor,frameColor:frameColor,headerBackgroundColor:headerBg,primaryHeadingColor:theme.getColor(peekViewTitleForeground),secondaryHeadingColor:theme.getColor(peekViewTitleInfoForeground)})}_applyStyles(){if(this._parentContainer){this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():""}super._applyStyles()}dispose(){this._callOnDispose.dispose();super.dispose()}_fillHead(container){super._fillHead(container);this._disposables.add(this._actionbarWidget.actionRunner.onWillRun((e=>this.editor.focus())));const actions=[];const menu=this._menuService.createMenu(MarkerNavigationWidget_1.TitleMenu,this._contextKeyService);createAndFillInActionBarActions(menu,void 0,actions);this._actionbarWidget.push(actions,{label:false,icon:true,index:0});menu.dispose()}_fillTitleIcon(container){this._icon=append(container,$(""))}_fillBody(container){this._parentContainer=container;container.classList.add("marker-widget");this._parentContainer.tabIndex=0;this._parentContainer.setAttribute("role","tooltip");this._container=document.createElement("div");container.appendChild(this._container);this._message=new MessageWidget2(this._container,this.editor,(related=>this._onDidSelectRelatedInformation.fire(related)),this._openerService,this._labelService);this._disposables.add(this._message)}show(){throw new Error("call showAtMarker")}showAtMarker(marker,markerIdx,markerCount){this._container.classList.remove("stale");this._message.update(marker);this._severity=marker.severity;this._applyTheme(this._themeService.getColorTheme());const range2=Range.lift(marker);const editorPosition=this.editor.getPosition();const position=editorPosition&&range2.containsPosition(editorPosition)?editorPosition:range2.getStartPosition();super.show(position,this.computeRequiredHeight());const model=this.editor.getModel();if(model){const detail=markerCount>1?localize("problems","{0} of {1} problems",markerIdx,markerCount):localize("change","{0} of {1} problem",markerIdx,markerCount);this.setTitle(basename2(model.uri),detail)}this._icon.className=`codicon ${SeverityIcon.className(MarkerSeverity2.toSeverity(this._severity))}`;this.editor.revealPositionNearTop(position,0);this.editor.focus()}updateMarker(marker){this._container.classList.remove("stale");this._message.update(marker)}showStale(){this._container.classList.add("stale");this._relayout()}_doLayoutBody(heightInPixel,widthInPixel){super._doLayoutBody(heightInPixel,widthInPixel);this._heightInPixel=heightInPixel;this._message.layout(heightInPixel,widthInPixel);this._container.style.height=`${heightInPixel}px`}_onWidth(widthInPixel){this._message.layout(this._heightInPixel,widthInPixel)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}};MarkerNavigationWidget.TitleMenu=new MenuId("gotoErrorTitleMenu");MarkerNavigationWidget=MarkerNavigationWidget_1=__decorate75([__param68(1,IThemeService),__param68(2,IOpenerService),__param68(3,IMenuService),__param68(4,IInstantiationService),__param68(5,IContextKeyService),__param68(6,ILabelService)],MarkerNavigationWidget);var errorDefault=oneOf(editorErrorForeground,editorErrorBorder);var warningDefault=oneOf(editorWarningForeground,editorWarningBorder);var infoDefault=oneOf(editorInfoForeground,editorInfoBorder);var editorMarkerNavigationError=registerColor("editorMarkerNavigationError.background",{dark:errorDefault,light:errorDefault,hcDark:contrastBorder,hcLight:contrastBorder},localize("editorMarkerNavigationError","Editor marker navigation widget error color."));var editorMarkerNavigationErrorHeader=registerColor("editorMarkerNavigationError.headerBackground",{dark:transparent(editorMarkerNavigationError,.1),light:transparent(editorMarkerNavigationError,.1),hcDark:null,hcLight:null},localize("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background."));var editorMarkerNavigationWarning=registerColor("editorMarkerNavigationWarning.background",{dark:warningDefault,light:warningDefault,hcDark:contrastBorder,hcLight:contrastBorder},localize("editorMarkerNavigationWarning","Editor marker navigation widget warning color."));var editorMarkerNavigationWarningHeader=registerColor("editorMarkerNavigationWarning.headerBackground",{dark:transparent(editorMarkerNavigationWarning,.1),light:transparent(editorMarkerNavigationWarning,.1),hcDark:"#0C141F",hcLight:transparent(editorMarkerNavigationWarning,.2)},localize("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background."));var editorMarkerNavigationInfo=registerColor("editorMarkerNavigationInfo.background",{dark:infoDefault,light:infoDefault,hcDark:contrastBorder,hcLight:contrastBorder},localize("editorMarkerNavigationInfo","Editor marker navigation widget info color."));var editorMarkerNavigationInfoHeader=registerColor("editorMarkerNavigationInfo.headerBackground",{dark:transparent(editorMarkerNavigationInfo,.1),light:transparent(editorMarkerNavigationInfo,.1),hcDark:null,hcLight:null},localize("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background."));var editorMarkerNavigationBackground=registerColor("editorMarkerNavigation.background",{dark:editorBackground,light:editorBackground,hcDark:editorBackground,hcLight:editorBackground},localize("editorMarkerNavigationBackground","Editor marker navigation widget background."));var __decorate76=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param69=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter55=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var MarkerController_1;var MarkerController=MarkerController_1=class MarkerController2{static get(editor2){return editor2.getContribution(MarkerController_1.ID)}constructor(editor2,_markerNavigationService,_contextKeyService,_editorService,_instantiationService){this._markerNavigationService=_markerNavigationService;this._contextKeyService=_contextKeyService;this._editorService=_editorService;this._instantiationService=_instantiationService;this._sessionDispoables=new DisposableStore;this._editor=editor2;this._widgetVisible=CONTEXT_MARKERS_NAVIGATION_VISIBLE.bindTo(this._contextKeyService)}dispose(){this._cleanUp();this._sessionDispoables.dispose()}_cleanUp(){this._widgetVisible.reset();this._sessionDispoables.clear();this._widget=void 0;this._model=void 0}_getOrCreateModel(uri){if(this._model&&this._model.matches(uri)){return this._model}let reusePosition=false;if(this._model){reusePosition=true;this._cleanUp()}this._model=this._markerNavigationService.getMarkerList(uri);if(reusePosition){this._model.move(true,this._editor.getModel(),this._editor.getPosition())}this._widget=this._instantiationService.createInstance(MarkerNavigationWidget,this._editor);this._widget.onDidClose((()=>this.close()),this,this._sessionDispoables);this._widgetVisible.set(true);this._sessionDispoables.add(this._model);this._sessionDispoables.add(this._widget);this._sessionDispoables.add(this._editor.onDidChangeCursorPosition((e=>{var _a6,_b3,_c2;if(!((_a6=this._model)===null||_a6===void 0?void 0:_a6.selected)||!Range.containsPosition((_b3=this._model)===null||_b3===void 0?void 0:_b3.selected.marker,e.position)){(_c2=this._model)===null||_c2===void 0?void 0:_c2.resetIndex()}})));this._sessionDispoables.add(this._model.onDidChange((()=>{if(!this._widget||!this._widget.position||!this._model){return}const info=this._model.find(this._editor.getModel().uri,this._widget.position);if(info){this._widget.updateMarker(info.marker)}else{this._widget.showStale()}})));this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation((related=>{this._editorService.openCodeEditor({resource:related.resource,options:{pinned:true,revealIfOpened:true,selection:Range.lift(related).collapseToStart()}},this._editor);this.close(false)})));this._sessionDispoables.add(this._editor.onDidChangeModel((()=>this._cleanUp())));return this._model}close(focusEditor=true){this._cleanUp();if(focusEditor){this._editor.focus()}}showAtMarker(marker){if(this._editor.hasModel()){const model=this._getOrCreateModel(this._editor.getModel().uri);model.resetIndex();model.move(true,this._editor.getModel(),new Position(marker.startLineNumber,marker.startColumn));if(model.selected){this._widget.showAtMarker(model.selected.marker,model.selected.index,model.selected.total)}}}nagivate(next,multiFile){var _a6,_b3;return __awaiter55(this,void 0,void 0,(function*(){if(this._editor.hasModel()){const model=this._getOrCreateModel(multiFile?void 0:this._editor.getModel().uri);model.move(next,this._editor.getModel(),this._editor.getPosition());if(!model.selected){return}if(model.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const otherEditor=yield this._editorService.openCodeEditor({resource:model.selected.marker.resource,options:{pinned:false,revealIfOpened:true,selectionRevealType:2,selection:model.selected.marker}},this._editor);if(otherEditor){(_a6=MarkerController_1.get(otherEditor))===null||_a6===void 0?void 0:_a6.close();(_b3=MarkerController_1.get(otherEditor))===null||_b3===void 0?void 0:_b3.nagivate(next,multiFile)}}else{this._widget.showAtMarker(model.selected.marker,model.selected.index,model.selected.total)}}}))}};MarkerController.ID="editor.contrib.markerController";MarkerController=MarkerController_1=__decorate76([__param69(1,IMarkerNavigationService),__param69(2,IContextKeyService),__param69(3,ICodeEditorService),__param69(4,IInstantiationService)],MarkerController);var MarkerNavigationAction=class extends EditorAction{constructor(_next,_multiFile,opts){super(opts);this._next=_next;this._multiFile=_multiFile}run(_accessor,editor2){var _a6;return __awaiter55(this,void 0,void 0,(function*(){if(editor2.hasModel()){(_a6=MarkerController.get(editor2))===null||_a6===void 0?void 0:_a6.nagivate(this._next,this._multiFile)}}))}};var NextMarkerAction=class extends MarkerNavigationAction{constructor(){super(true,false,{id:NextMarkerAction.ID,label:NextMarkerAction.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:512|66,weight:100},menuOpts:{menuId:MarkerNavigationWidget.TitleMenu,title:NextMarkerAction.LABEL,icon:registerIcon("marker-navigation-next",Codicon.arrowDown,localize("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}};NextMarkerAction.ID="editor.action.marker.next";NextMarkerAction.LABEL=localize("markerAction.next.label","Go to Next Problem (Error, Warning, Info)");var PrevMarkerAction=class extends MarkerNavigationAction{constructor(){super(false,false,{id:PrevMarkerAction.ID,label:PrevMarkerAction.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:1024|512|66,weight:100},menuOpts:{menuId:MarkerNavigationWidget.TitleMenu,title:PrevMarkerAction.LABEL,icon:registerIcon("marker-navigation-previous",Codicon.arrowUp,localize("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}};PrevMarkerAction.ID="editor.action.marker.prev";PrevMarkerAction.LABEL=localize("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)");var NextMarkerInFilesAction=class extends MarkerNavigationAction{constructor(){super(true,true,{id:"editor.action.marker.nextInFiles",label:localize("markerAction.nextInFiles.label","Go to Next Problem in Files (Error, Warning, Info)"),alias:"Go to Next Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:66,weight:100},menuOpts:{menuId:MenuId.MenubarGoMenu,title:localize({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}};var PrevMarkerInFilesAction=class extends MarkerNavigationAction{constructor(){super(false,true,{id:"editor.action.marker.prevInFiles",label:localize("markerAction.previousInFiles.label","Go to Previous Problem in Files (Error, Warning, Info)"),alias:"Go to Previous Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:1024|66,weight:100},menuOpts:{menuId:MenuId.MenubarGoMenu,title:localize({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}};registerEditorContribution(MarkerController.ID,MarkerController,4);registerEditorAction(NextMarkerAction);registerEditorAction(PrevMarkerAction);registerEditorAction(NextMarkerInFilesAction);registerEditorAction(PrevMarkerInFilesAction);var CONTEXT_MARKERS_NAVIGATION_VISIBLE=new RawContextKey("markersNavigationVisible",false);var MarkerCommand=EditorCommand.bindToContribution(MarkerController.get);registerEditorCommand(new MarkerCommand({id:"closeMarkersNavigation",precondition:CONTEXT_MARKERS_NAVIGATION_VISIBLE,handler:x=>x.close(),kbOpts:{weight:100+50,kbExpr:EditorContextKeys.focus,primary:9,secondary:[1024|9]}}));init_nls();init_markers();init_opener();init_progress();var __decorate77=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param70=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var $13=$;var MarkerHover=class{constructor(owner,range2,marker){this.owner=owner;this.range=range2;this.marker=marker}isValidForHoverAnchor(anchor){return anchor.type===1&&this.range.startColumn<=anchor.range.startColumn&&this.range.endColumn>=anchor.range.endColumn}};var markerCodeActionTrigger={type:1,filter:{include:CodeActionKind4.QuickFix},triggerAction:CodeActionTriggerSource.QuickFixHover};var MarkerHoverParticipant=class MarkerHoverParticipant2{constructor(_editor,_markerDecorationsService,_openerService,_languageFeaturesService){this._editor=_editor;this._markerDecorationsService=_markerDecorationsService;this._openerService=_openerService;this._languageFeaturesService=_languageFeaturesService;this.hoverOrdinal=1;this.recentMarkerCodeActionsInfo=void 0}computeSync(anchor,lineDecorations){if(!this._editor.hasModel()||anchor.type!==1&&!anchor.supportsMarkerHover){return[]}const model=this._editor.getModel();const lineNumber=anchor.range.startLineNumber;const maxColumn=model.getLineMaxColumn(lineNumber);const result=[];for(const d of lineDecorations){const startColumn=d.range.startLineNumber===lineNumber?d.range.startColumn:1;const endColumn=d.range.endLineNumber===lineNumber?d.range.endColumn:maxColumn;const marker=this._markerDecorationsService.getMarker(model.uri,d);if(!marker){continue}const range2=new Range(anchor.range.startLineNumber,startColumn,anchor.range.startLineNumber,endColumn);result.push(new MarkerHover(this,range2,marker))}return result}renderHoverParts(context,hoverParts){if(!hoverParts.length){return Disposable.None}const disposables=new DisposableStore;hoverParts.forEach((msg=>context.fragment.appendChild(this.renderMarkerHover(msg,disposables))));const markerHoverForStatusbar=hoverParts.length===1?hoverParts[0]:hoverParts.sort(((a,b)=>MarkerSeverity2.compare(a.marker.severity,b.marker.severity)))[0];this.renderMarkerStatusbar(context,markerHoverForStatusbar,disposables);return disposables}renderMarkerHover(markerHover,disposables){const hoverElement=$13("div.hover-row");const markerElement=append(hoverElement,$13("div.marker.hover-contents"));const{source:source,message:message,code:code,relatedInformation:relatedInformation}=markerHover.marker;this._editor.applyFontInfo(markerElement);const messageElement=append(markerElement,$13("span"));messageElement.style.whiteSpace="pre-wrap";messageElement.innerText=message;if(source||code){if(code&&typeof code!=="string"){const sourceAndCodeElement=$13("span");if(source){const sourceElement=append(sourceAndCodeElement,$13("span"));sourceElement.innerText=source}const codeLink=append(sourceAndCodeElement,$13("a.code-link"));codeLink.setAttribute("href",code.target.toString());disposables.add(addDisposableListener(codeLink,"click",(e=>{this._openerService.open(code.target,{allowCommands:true});e.preventDefault();e.stopPropagation()})));const codeElement=append(codeLink,$13("span"));codeElement.innerText=code.value;const detailsElement=append(markerElement,sourceAndCodeElement);detailsElement.style.opacity="0.6";detailsElement.style.paddingLeft="6px"}else{const detailsElement=append(markerElement,$13("span"));detailsElement.style.opacity="0.6";detailsElement.style.paddingLeft="6px";detailsElement.innerText=source&&code?`${source}(${code})`:source?source:`(${code})`}}if(isNonEmptyArray(relatedInformation)){for(const{message:message2,resource:resource,startLineNumber:startLineNumber,startColumn:startColumn}of relatedInformation){const relatedInfoContainer=append(markerElement,$13("div"));relatedInfoContainer.style.marginTop="8px";const a=append(relatedInfoContainer,$13("a"));a.innerText=`${basename2(resource)}(${startLineNumber}, ${startColumn}): `;a.style.cursor="pointer";disposables.add(addDisposableListener(a,"click",(e=>{e.stopPropagation();e.preventDefault();if(this._openerService){this._openerService.open(resource,{fromUserGesture:true,editorOptions:{selection:{startLineNumber:startLineNumber,startColumn:startColumn}}}).catch(onUnexpectedError)}})));const messageElement2=append(relatedInfoContainer,$13("span"));messageElement2.innerText=message2;this._editor.applyFontInfo(messageElement2)}}return hoverElement}renderMarkerStatusbar(context,markerHover,disposables){if(markerHover.marker.severity===MarkerSeverity2.Error||markerHover.marker.severity===MarkerSeverity2.Warning||markerHover.marker.severity===MarkerSeverity2.Info){context.statusBar.addAction({label:localize("view problem","View Problem"),commandId:NextMarkerAction.ID,run:()=>{var _a6;context.hide();(_a6=MarkerController.get(this._editor))===null||_a6===void 0?void 0:_a6.showAtMarker(markerHover.marker);this._editor.focus()}})}if(!this._editor.getOption(89)){const quickfixPlaceholderElement=context.statusBar.append($13("div"));if(this.recentMarkerCodeActionsInfo){if(IMarkerData.makeKey(this.recentMarkerCodeActionsInfo.marker)===IMarkerData.makeKey(markerHover.marker)){if(!this.recentMarkerCodeActionsInfo.hasCodeActions){quickfixPlaceholderElement.textContent=localize("noQuickFixes","No quick fixes available")}}else{this.recentMarkerCodeActionsInfo=void 0}}const updatePlaceholderDisposable=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?Disposable.None:disposables.add(disposableTimeout((()=>quickfixPlaceholderElement.textContent=localize("checkingForQuickFixes","Checking for quick fixes...")),200));if(!quickfixPlaceholderElement.textContent){quickfixPlaceholderElement.textContent=String.fromCharCode(160)}const codeActionsPromise=this.getCodeActions(markerHover.marker);disposables.add(toDisposable((()=>codeActionsPromise.cancel())));codeActionsPromise.then((actions=>{updatePlaceholderDisposable.dispose();this.recentMarkerCodeActionsInfo={marker:markerHover.marker,hasCodeActions:actions.validActions.length>0};if(!this.recentMarkerCodeActionsInfo.hasCodeActions){actions.dispose();quickfixPlaceholderElement.textContent=localize("noQuickFixes","No quick fixes available");return}quickfixPlaceholderElement.style.display="none";let showing=false;disposables.add(toDisposable((()=>{if(!showing){actions.dispose()}})));context.statusBar.addAction({label:localize("quick fixes","Quick Fix..."),commandId:quickFixCommandId,run:target=>{showing=true;const controller=CodeActionController.get(this._editor);const elementPosition=getDomNodePagePosition(target);context.hide();controller===null||controller===void 0?void 0:controller.showCodeActions(markerCodeActionTrigger,actions,{x:elementPosition.left,y:elementPosition.top,width:elementPosition.width,height:elementPosition.height})}})}),onUnexpectedError)}}getCodeActions(marker){return createCancelablePromise((cancellationToken=>getCodeActions(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new Range(marker.startLineNumber,marker.startColumn,marker.endLineNumber,marker.endColumn),markerCodeActionTrigger,Progress.None,cancellationToken)))}};MarkerHoverParticipant=__decorate77([__param70(1,IMarkerDecorationsService),__param70(2,IOpenerService),__param70(3,ILanguageFeaturesService)],MarkerHoverParticipant);init_dom();init_actionViewItems();init_keybindingLabel();init_actions();init_arrays();init_async();init_codicons();init_lifecycle();init_observable();init_platform();init_themables();init_position();init_languages();var inlineSuggestCommitId="editor.action.inlineSuggest.commit";var showPreviousInlineSuggestionActionId="editor.action.inlineSuggest.showPrevious";var showNextInlineSuggestionActionId="editor.action.inlineSuggest.showNext";init_nls();init_menuEntryActionViewItem();init_dom();init_mouseEvent();init_actionbar();init_dropdownActionViewItem();init_actions();init_codicons();init_themables();init_event();init_lifecycle();init_nls();var __awaiter56=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var ToolBar=class extends Disposable{constructor(container,contextMenuProvider,options2={orientation:0}){super();this.submenuActionViewItems=[];this.hasSecondaryActions=false;this._onDidChangeDropdownVisibility=this._register(new EventMultiplexer);this.onDidChangeDropdownVisibility=this._onDidChangeDropdownVisibility.event;this.disposables=this._register(new DisposableStore);this.options=options2;this.lookupKeybindings=typeof this.options.getKeyBinding==="function";this.toggleMenuAction=this._register(new ToggleMenuAction((()=>{var _a6;return(_a6=this.toggleMenuActionViewItem)===null||_a6===void 0?void 0:_a6.show()}),options2.toggleMenuTitle));this.element=document.createElement("div");this.element.className="monaco-toolbar";container.appendChild(this.element);this.actionBar=this._register(new ActionBar(this.element,{orientation:options2.orientation,ariaLabel:options2.ariaLabel,actionRunner:options2.actionRunner,allowContextMenu:options2.allowContextMenu,highlightToggledItems:options2.highlightToggledItems,actionViewItemProvider:(action,viewItemOptions)=>{var _a6;if(action.id===ToggleMenuAction.ID){this.toggleMenuActionViewItem=new DropdownMenuActionViewItem(action,action.menuActions,contextMenuProvider,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:ThemeIcon.asClassNameArray((_a6=options2.moreIcon)!==null&&_a6!==void 0?_a6:Codicon.toolBarMore),anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry});this.toggleMenuActionViewItem.setActionContext(this.actionBar.context);this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility));return this.toggleMenuActionViewItem}if(options2.actionViewItemProvider){const result=options2.actionViewItemProvider(action,viewItemOptions);if(result){return result}}if(action instanceof SubmenuAction){const result=new DropdownMenuActionViewItem(action,action.actions,contextMenuProvider,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:action.class,anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry});result.setActionContext(this.actionBar.context);this.submenuActionViewItems.push(result);this.disposables.add(this._onDidChangeDropdownVisibility.add(result.onDidChangeVisibility));return result}return void 0}}))}set actionRunner(actionRunner){this.actionBar.actionRunner=actionRunner}get actionRunner(){return this.actionBar.actionRunner}getElement(){return this.element}getItemAction(indexOrElement){return this.actionBar.getAction(indexOrElement)}setActions(primaryActions,secondaryActions){this.clear();const primaryActionsToSet=primaryActions?primaryActions.slice(0):[];this.hasSecondaryActions=!!(secondaryActions&&secondaryActions.length>0);if(this.hasSecondaryActions&&secondaryActions){this.toggleMenuAction.menuActions=secondaryActions.slice(0);primaryActionsToSet.push(this.toggleMenuAction)}primaryActionsToSet.forEach((action=>{this.actionBar.push(action,{icon:true,label:false,keybinding:this.getKeybindingLabel(action)})}))}getKeybindingLabel(action){var _a6,_b3,_c2;const key=this.lookupKeybindings?(_b3=(_a6=this.options).getKeyBinding)===null||_b3===void 0?void 0:_b3.call(_a6,action):void 0;return(_c2=key===null||key===void 0?void 0:key.getLabel())!==null&&_c2!==void 0?_c2:void 0}clear(){this.submenuActionViewItems=[];this.disposables.clear();this.actionBar.clear()}dispose(){this.clear();super.dispose()}};var ToggleMenuAction=class extends Action{constructor(toggleDropdownMenu,title){title=title||localize("moreActions","More Actions...");super(ToggleMenuAction.ID,title,void 0,true);this._menuActions=[];this.toggleDropdownMenu=toggleDropdownMenu}run(){return __awaiter56(this,void 0,void 0,(function*(){this.toggleDropdownMenu()}))}get menuActions(){return this._menuActions}set menuActions(actions){this._menuActions=actions}};ToggleMenuAction.ID="toolbar.toggle.more";init_actions();init_arrays();init_lifecycle();init_nls();init_actions2();init_contextkey();init_contextView();init_keybinding();init_telemetry();var __decorate78=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param71=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var WorkbenchToolBar=class WorkbenchToolBar2 extends ToolBar{constructor(container,_options,_menuService,_contextKeyService,_contextMenuService,keybindingService,telemetryService){super(container,_contextMenuService,Object.assign(Object.assign({getKeyBinding:action=>{var _a6;return(_a6=keybindingService.lookupKeybinding(action.id))!==null&&_a6!==void 0?_a6:void 0}},_options),{allowContextMenu:true,skipTelemetry:typeof(_options===null||_options===void 0?void 0:_options.telemetrySource)==="string"}));this._options=_options;this._menuService=_menuService;this._contextKeyService=_contextKeyService;this._contextMenuService=_contextMenuService;this._sessionDisposables=this._store.add(new DisposableStore);const telemetrySource=_options===null||_options===void 0?void 0:_options.telemetrySource;if(telemetrySource){this._store.add(this.actionBar.onDidRun((e=>telemetryService.publicLog2("workbenchActionExecuted",{id:e.action.id,from:telemetrySource}))))}}setActions(_primary,_secondary=[],menuIds){var _a6,_b3,_c2;this._sessionDisposables.clear();const primary=_primary.slice();const secondary=_secondary.slice();const toggleActions=[];let toggleActionsCheckedCount=0;const extraSecondary=[];let someAreHidden=false;if(((_a6=this._options)===null||_a6===void 0?void 0:_a6.hiddenItemStrategy)!==-1){for(let i=0;i<primary.length;i++){const action=primary[i];if(!(action instanceof MenuItemAction)&&!(action instanceof SubmenuItemAction)){continue}if(!action.hideActions){continue}toggleActions.push(action.hideActions.toggle);if(action.hideActions.toggle.checked){toggleActionsCheckedCount++}if(action.hideActions.isHidden){someAreHidden=true;primary[i]=void 0;if(((_b3=this._options)===null||_b3===void 0?void 0:_b3.hiddenItemStrategy)!==0){extraSecondary[i]=action}}}}if(((_c2=this._options)===null||_c2===void 0?void 0:_c2.maxNumberOfItems)!==void 0){let count=0;for(let i=0;i<primary.length;i++){const action=primary[i];if(!action){continue}if(++count>=this._options.maxNumberOfItems){primary[i]=void 0;extraSecondary[i]=action}}}coalesceInPlace(primary);coalesceInPlace(extraSecondary);super.setActions(primary,Separator.join(extraSecondary,secondary));if(toggleActions.length>0){this._sessionDisposables.add(addDisposableListener(this.getElement(),"contextmenu",(e=>{var _a7,_b4,_c3,_d2,_e2;const event=new StandardMouseEvent(e);const action=this.getItemAction(event.target);if(!action){return}event.preventDefault();event.stopPropagation();let noHide=false;if(toggleActionsCheckedCount===1&&((_a7=this._options)===null||_a7===void 0?void 0:_a7.hiddenItemStrategy)===0){noHide=true;for(let i=0;i<toggleActions.length;i++){if(toggleActions[i].checked){toggleActions[i]=toAction({id:action.id,label:action.label,checked:true,enabled:false,run(){}});break}}}let hideAction;if(!noHide&&(action instanceof MenuItemAction||action instanceof SubmenuItemAction)){if(!action.hideActions){return}hideAction=action.hideActions.hide}else{hideAction=toAction({id:"label",label:localize("hide","Hide"),enabled:false,run(){}})}const actions=Separator.join([hideAction],toggleActions);if(((_b4=this._options)===null||_b4===void 0?void 0:_b4.resetMenu)&&!menuIds){menuIds=[this._options.resetMenu]}if(someAreHidden&&menuIds){actions.push(new Separator);actions.push(toAction({id:"resetThisMenu",label:localize("resetThisMenu","Reset Menu"),run:()=>this._menuService.resetHiddenStates(menuIds)}))}this._contextMenuService.showContextMenu({getAnchor:()=>event,getActions:()=>actions,menuId:(_c3=this._options)===null||_c3===void 0?void 0:_c3.contextMenu,menuActionOptions:Object.assign({renderShortTitle:true},(_d2=this._options)===null||_d2===void 0?void 0:_d2.menuOptions),skipTelemetry:typeof((_e2=this._options)===null||_e2===void 0?void 0:_e2.telemetrySource)==="string",contextKeyService:this._contextKeyService})})))}}};WorkbenchToolBar=__decorate78([__param71(2,IMenuService),__param71(3,IContextKeyService),__param71(4,IContextMenuService),__param71(5,IKeybindingService),__param71(6,ITelemetryService)],WorkbenchToolBar);init_actions2();init_commands();init_contextkey();init_contextView();init_instantiation();init_keybinding();init_telemetry();init_iconRegistry();var __decorate79=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param72=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var InlineSuggestionHintsContentWidget_1;var InlineCompletionsHintsWidget=class InlineCompletionsHintsWidget2 extends Disposable{constructor(editor2,model,instantiationService){super();this.editor=editor2;this.model=model;this.instantiationService=instantiationService;this.alwaysShowToolbar=observableFromEvent(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(61).showToolbar==="always"));this.sessionPosition=void 0;this.position=derived((reader=>{var _a6,_b3,_c2;const ghostText=(_a6=this.model.read(reader))===null||_a6===void 0?void 0:_a6.ghostText.read(reader);if(!this.alwaysShowToolbar.read(reader)||!ghostText||ghostText.parts.length===0){this.sessionPosition=void 0;return null}const firstColumn=ghostText.parts[0].column;if(this.sessionPosition&&this.sessionPosition.lineNumber!==ghostText.lineNumber){this.sessionPosition=void 0}const position=new Position(ghostText.lineNumber,Math.min(firstColumn,(_c2=(_b3=this.sessionPosition)===null||_b3===void 0?void 0:_b3.column)!==null&&_c2!==void 0?_c2:Number.MAX_SAFE_INTEGER));this.sessionPosition=position;return position}));this._register(autorunWithStore(((reader,store)=>{const model2=this.model.read(reader);if(!model2||!this.alwaysShowToolbar.read(reader)){return}const contentWidget=store.add(this.instantiationService.createInstance(InlineSuggestionHintsContentWidget,this.editor,true,this.position,model2.selectedInlineCompletionIndex,model2.inlineCompletionsCount,model2.selectedInlineCompletion.map((v=>{var _a6;return(_a6=v===null||v===void 0?void 0:v.inlineCompletion.source.inlineCompletions.commands)!==null&&_a6!==void 0?_a6:[]}))));editor2.addContentWidget(contentWidget);store.add(toDisposable((()=>editor2.removeContentWidget(contentWidget))));store.add(autorun((reader2=>{const position=this.position.read(reader2);if(!position){return}if(model2.lastTriggerKind.read(reader2)!==InlineCompletionTriggerKind.Explicit){model2.triggerExplicitly()}})))})))}};InlineCompletionsHintsWidget=__decorate79([__param72(2,IInstantiationService)],InlineCompletionsHintsWidget);var inlineSuggestionHintsNextIcon=registerIcon("inline-suggestion-hints-next",Codicon.chevronRight,localize("parameterHintsNextIcon","Icon for show next parameter hint."));var inlineSuggestionHintsPreviousIcon=registerIcon("inline-suggestion-hints-previous",Codicon.chevronLeft,localize("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var InlineSuggestionHintsContentWidget=InlineSuggestionHintsContentWidget_1=class InlineSuggestionHintsContentWidget2 extends Disposable{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(commandId,label,iconClassName){const action=new Action(commandId,label,iconClassName,true,(()=>this._commandService.executeCommand(commandId)));const kb=this.keybindingService.lookupKeybinding(commandId,this._contextKeyService);let tooltip=label;if(kb){tooltip=localize({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",label,kb.getLabel())}action.tooltip=tooltip;return action}constructor(editor2,withBorder,_position,_currentSuggestionIdx,_suggestionCount,_extraCommands,_commandService,instantiationService,keybindingService,_contextKeyService,_menuService){super();this.editor=editor2;this.withBorder=withBorder;this._position=_position;this._currentSuggestionIdx=_currentSuggestionIdx;this._suggestionCount=_suggestionCount;this._extraCommands=_extraCommands;this._commandService=_commandService;this.keybindingService=keybindingService;this._contextKeyService=_contextKeyService;this._menuService=_menuService;this.id=`InlineSuggestionHintsContentWidget${InlineSuggestionHintsContentWidget_1.id++}`;this.allowEditorOverflow=true;this.suppressMouseDown=false;this.nodes=h("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[h("div@toolBar")]);this.previousAction=this.createCommandAction(showPreviousInlineSuggestionActionId,localize("previous","Previous"),ThemeIcon.asClassName(inlineSuggestionHintsPreviousIcon));this.availableSuggestionCountAction=new Action("inlineSuggestionHints.availableSuggestionCount","",void 0,false);this.nextAction=this.createCommandAction(showNextInlineSuggestionActionId,localize("next","Next"),ThemeIcon.asClassName(inlineSuggestionHintsNextIcon));this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(MenuId.InlineCompletionsActions,this._contextKeyService));this.clearAvailableSuggestionCountLabelDebounced=this._register(new RunOnceScheduler((()=>{this.availableSuggestionCountAction.label=""}),100));this.disableButtonsDebounced=this._register(new RunOnceScheduler((()=>{this.previousAction.enabled=this.nextAction.enabled=false}),100));this.lastCommands=[];this.toolBar=this._register(instantiationService.createInstance(CustomizedMenuWorkbenchToolBar,this.nodes.toolBar,MenuId.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:true},toolbarOptions:{primaryGroup:g=>g.startsWith("primary")},actionViewItemProvider:(action,options2)=>{if(action instanceof MenuItemAction){return instantiationService.createInstance(StatusBarViewItem,action,void 0)}if(action===this.availableSuggestionCountAction){const a=new ActionViewItemWithClassName(void 0,action,{label:true,icon:false});a.setClass("availableSuggestionCount");return a}return void 0},telemetrySource:"InlineSuggestionToolbar"}));this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]);this._register(this.toolBar.onDidChangeDropdownVisibility((e=>{InlineSuggestionHintsContentWidget_1._dropDownVisible=e})));this._register(autorun((reader=>{this._position.read(reader);this.editor.layoutContentWidget(this)})));this._register(autorun((reader=>{const suggestionCount=this._suggestionCount.read(reader);const currentSuggestionIdx=this._currentSuggestionIdx.read(reader);if(suggestionCount!==void 0){this.clearAvailableSuggestionCountLabelDebounced.cancel();this.availableSuggestionCountAction.label=`${currentSuggestionIdx+1}/${suggestionCount}`}else{this.clearAvailableSuggestionCountLabelDebounced.schedule()}if(suggestionCount!==void 0&&suggestionCount>1){this.disableButtonsDebounced.cancel();this.previousAction.enabled=this.nextAction.enabled=true}else{this.disableButtonsDebounced.schedule()}})));this._register(autorun((reader=>{const extraCommands=this._extraCommands.read(reader);if(equals(this.lastCommands,extraCommands)){return}this.lastCommands=extraCommands;const extraActions=extraCommands.map((c=>({class:void 0,id:c.id,enabled:true,tooltip:c.tooltip||"",label:c.title,run:event=>this._commandService.executeCommand(c.id)})));for(const[_,group3]of this.inlineCompletionsActionsMenus.getActions()){for(const action of group3){if(action instanceof MenuItemAction){extraActions.push(action)}}}if(extraActions.length>0){extraActions.unshift(new Separator)}this.toolBar.setAdditionalSecondaryActions(extraActions)})))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};InlineSuggestionHintsContentWidget._dropDownVisible=false;InlineSuggestionHintsContentWidget.id=0;InlineSuggestionHintsContentWidget=InlineSuggestionHintsContentWidget_1=__decorate79([__param72(6,ICommandService),__param72(7,IInstantiationService),__param72(8,IKeybindingService),__param72(9,IContextKeyService),__param72(10,IMenuService)],InlineSuggestionHintsContentWidget);var ActionViewItemWithClassName=class extends ActionViewItem{constructor(){super(...arguments);this._className=void 0}setClass(className){this._className=className}render(container){super.render(container);if(this._className){container.classList.add(this._className)}}};var StatusBarViewItem=class extends MenuEntryActionViewItem{updateLabel(){const kb=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!kb){return super.updateLabel()}if(this.label){const div=h("div.keybinding").root;const k=new KeybindingLabel(div,OS,Object.assign({disableTitle:true},unthemedKeybindingLabelOptions));k.set(kb);this.label.textContent=this._action.label;this.label.appendChild(div);this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}};var CustomizedMenuWorkbenchToolBar=class CustomizedMenuWorkbenchToolBar2 extends WorkbenchToolBar{constructor(container,menuId,options2,menuService,contextKeyService,contextMenuService,keybindingService,telemetryService){super(container,Object.assign({resetMenu:menuId},options2),menuService,contextKeyService,contextMenuService,keybindingService,telemetryService);this.menuId=menuId;this.options2=options2;this.menuService=menuService;this.contextKeyService=contextKeyService;this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:true}));this.additionalActions=[];this.prependedPrimaryActions=[];this._store.add(this.menu.onDidChange((()=>this.updateToolbar())));this.updateToolbar()}updateToolbar(){var _a6,_b3,_c2,_d2,_e2,_f2,_g2;const primary=[];const secondary=[];createAndFillInActionBarActions(this.menu,(_a6=this.options2)===null||_a6===void 0?void 0:_a6.menuOptions,{primary:primary,secondary:secondary},(_c2=(_b3=this.options2)===null||_b3===void 0?void 0:_b3.toolbarOptions)===null||_c2===void 0?void 0:_c2.primaryGroup,(_e2=(_d2=this.options2)===null||_d2===void 0?void 0:_d2.toolbarOptions)===null||_e2===void 0?void 0:_e2.shouldInlineSubmenu,(_g2=(_f2=this.options2)===null||_f2===void 0?void 0:_f2.toolbarOptions)===null||_g2===void 0?void 0:_g2.useSeparatorsInPrimaryActions);secondary.push(...this.additionalActions);primary.unshift(...this.prependedPrimaryActions);this.setActions(primary,secondary)}setPrependedPrimaryActions(actions){if(equals(this.prependedPrimaryActions,actions,((a,b)=>a===b))){return}this.prependedPrimaryActions=actions;this.updateToolbar()}setAdditionalSecondaryActions(actions){if(equals(this.additionalActions,actions,((a,b)=>a===b))){return}this.additionalActions=actions;this.updateToolbar()}};CustomizedMenuWorkbenchToolBar=__decorate79([__param72(3,IMenuService),__param72(4,IContextKeyService),__param72(5,IContextMenuService),__param72(6,IKeybindingService),__param72(7,ITelemetryService)],CustomizedMenuWorkbenchToolBar);init_keybinding();init_nls();var __decorate80=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param73=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var ModesHoverController_1;var _sticky=false;var ModesHoverController=ModesHoverController_1=class ModesHoverController2{static get(editor2){return editor2.getContribution(ModesHoverController_1.ID)}constructor(_editor,_instantiationService,_openerService,_languageService,_keybindingService){this._editor=_editor;this._instantiationService=_instantiationService;this._openerService=_openerService;this._languageService=_languageService;this._keybindingService=_keybindingService;this._toUnhook=new DisposableStore;this._hoverActivatedByColorDecoratorClick=false;this._isMouseDown=false;this._hoverClicked=false;this._contentWidget=null;this._glyphWidget=null;this._hookEvents();this._didChangeConfigurationHandler=this._editor.onDidChangeConfiguration((e=>{if(e.hasChanged(59)){this._unhookEvents();this._hookEvents()}}))}_hookEvents(){const hideWidgetsEventHandler=()=>this._hideWidgets();const hoverOpts=this._editor.getOption(59);this._isHoverEnabled=hoverOpts.enabled;this._isHoverSticky=hoverOpts.sticky;if(this._isHoverEnabled){this._toUnhook.add(this._editor.onMouseDown((e=>this._onEditorMouseDown(e))));this._toUnhook.add(this._editor.onMouseUp((e=>this._onEditorMouseUp(e))));this._toUnhook.add(this._editor.onMouseMove((e=>this._onEditorMouseMove(e))));this._toUnhook.add(this._editor.onKeyDown((e=>this._onKeyDown(e))))}else{this._toUnhook.add(this._editor.onMouseMove((e=>this._onEditorMouseMove(e))));this._toUnhook.add(this._editor.onKeyDown((e=>this._onKeyDown(e))))}this._toUnhook.add(this._editor.onMouseLeave((e=>this._onEditorMouseLeave(e))));this._toUnhook.add(this._editor.onDidChangeModel(hideWidgetsEventHandler));this._toUnhook.add(this._editor.onDidScrollChange((e=>this._onEditorScrollChanged(e))))}_unhookEvents(){this._toUnhook.clear()}_onEditorScrollChanged(e){if(e.scrollTopChanged||e.scrollLeftChanged){this._hideWidgets()}}_onEditorMouseDown(mouseEvent){var _a6;this._isMouseDown=true;const target=mouseEvent.target;if(target.type===9&&target.detail===ContentHoverWidget.ID){this._hoverClicked=true;return}if(target.type===12&&target.detail===MarginHoverWidget.ID){return}if(target.type!==12){this._hoverClicked=false}if(!((_a6=this._contentWidget)===null||_a6===void 0?void 0:_a6.widget.isResizing)){this._hideWidgets()}}_onEditorMouseUp(mouseEvent){this._isMouseDown=false}_onEditorMouseLeave(mouseEvent){var _a6,_b3;const targetEm=mouseEvent.event.browserEvent.relatedTarget;if(((_a6=this._contentWidget)===null||_a6===void 0?void 0:_a6.widget.isResizing)||((_b3=this._contentWidget)===null||_b3===void 0?void 0:_b3.containsNode(targetEm))){return}if(!_sticky){this._hideWidgets()}}_onEditorMouseMove(mouseEvent){var _a6,_b3,_c2,_d2,_e2,_f2,_g2,_h2,_j,_k,_l;const target=mouseEvent.target;if(((_a6=this._contentWidget)===null||_a6===void 0?void 0:_a6.isFocused)||((_b3=this._contentWidget)===null||_b3===void 0?void 0:_b3.isResizing)){return}if(this._isMouseDown&&this._hoverClicked){return}if(this._isHoverSticky&&target.type===9&&target.detail===ContentHoverWidget.ID){return}if(this._isHoverSticky&&((_c2=this._contentWidget)===null||_c2===void 0?void 0:_c2.containsNode((_d2=mouseEvent.event.browserEvent.view)===null||_d2===void 0?void 0:_d2.document.activeElement))&&!((_f2=(_e2=mouseEvent.event.browserEvent.view)===null||_e2===void 0?void 0:_e2.getSelection())===null||_f2===void 0?void 0:_f2.isCollapsed)){return}if(!this._isHoverSticky&&target.type===9&&target.detail===ContentHoverWidget.ID&&((_g2=this._contentWidget)===null||_g2===void 0?void 0:_g2.isColorPickerVisible)){return}if(this._isHoverSticky&&target.type===12&&target.detail===MarginHoverWidget.ID){return}if(this._isHoverSticky&&((_h2=this._contentWidget)===null||_h2===void 0?void 0:_h2.isVisibleFromKeyboard)){return}const mouseOnDecorator=(_j=target.element)===null||_j===void 0?void 0:_j.classList.contains("colorpicker-color-decoration");const decoratorActivatedOn=this._editor.getOption(145);if(mouseOnDecorator&&(decoratorActivatedOn==="click"&&!this._hoverActivatedByColorDecoratorClick||decoratorActivatedOn==="hover"&&!this._isHoverEnabled&&!_sticky||decoratorActivatedOn==="clickAndHover"&&!this._isHoverEnabled&&!this._hoverActivatedByColorDecoratorClick)||!mouseOnDecorator&&!this._isHoverEnabled&&!this._hoverActivatedByColorDecoratorClick){this._hideWidgets();return}const contentWidget=this._getOrCreateContentWidget();if(contentWidget.maybeShowAt(mouseEvent)){(_k=this._glyphWidget)===null||_k===void 0?void 0:_k.hide();return}if(target.type===2&&target.position){(_l=this._contentWidget)===null||_l===void 0?void 0:_l.hide();if(!this._glyphWidget){this._glyphWidget=new MarginHoverWidget(this._editor,this._languageService,this._openerService)}this._glyphWidget.startShowingAt(target.position.lineNumber);return}if(_sticky){return}this._hideWidgets()}_onKeyDown(e){var _a6;if(!this._editor.hasModel()){return}const resolvedKeyboardEvent=this._keybindingService.softDispatch(e,this._editor.getDomNode());const mightTriggerFocus=resolvedKeyboardEvent.kind===1||resolvedKeyboardEvent.kind===2&&resolvedKeyboardEvent.commandId==="editor.action.showHover"&&((_a6=this._contentWidget)===null||_a6===void 0?void 0:_a6.isVisible);if(e.keyCode!==5&&e.keyCode!==6&&e.keyCode!==57&&e.keyCode!==4&&!mightTriggerFocus){this._hideWidgets()}}_hideWidgets(){var _a6,_b3,_c2;if(_sticky){return}if(this._isMouseDown&&this._hoverClicked&&((_a6=this._contentWidget)===null||_a6===void 0?void 0:_a6.isColorPickerVisible)||InlineSuggestionHintsContentWidget.dropDownVisible){return}this._hoverActivatedByColorDecoratorClick=false;this._hoverClicked=false;(_b3=this._glyphWidget)===null||_b3===void 0?void 0:_b3.hide();(_c2=this._contentWidget)===null||_c2===void 0?void 0:_c2.hide()}_getOrCreateContentWidget(){if(!this._contentWidget){this._contentWidget=this._instantiationService.createInstance(ContentHoverController,this._editor)}return this._contentWidget}showContentHover(range2,mode,source,focus,activatedByColorDecoratorClick=false){this._hoverActivatedByColorDecoratorClick=activatedByColorDecoratorClick;this._getOrCreateContentWidget().startShowingAtRange(range2,mode,source,focus)}focus(){var _a6;(_a6=this._contentWidget)===null||_a6===void 0?void 0:_a6.focus()}scrollUp(){var _a6;(_a6=this._contentWidget)===null||_a6===void 0?void 0:_a6.scrollUp()}scrollDown(){var _a6;(_a6=this._contentWidget)===null||_a6===void 0?void 0:_a6.scrollDown()}scrollLeft(){var _a6;(_a6=this._contentWidget)===null||_a6===void 0?void 0:_a6.scrollLeft()}scrollRight(){var _a6;(_a6=this._contentWidget)===null||_a6===void 0?void 0:_a6.scrollRight()}pageUp(){var _a6;(_a6=this._contentWidget)===null||_a6===void 0?void 0:_a6.pageUp()}pageDown(){var _a6;(_a6=this._contentWidget)===null||_a6===void 0?void 0:_a6.pageDown()}goToTop(){var _a6;(_a6=this._contentWidget)===null||_a6===void 0?void 0:_a6.goToTop()}goToBottom(){var _a6;(_a6=this._contentWidget)===null||_a6===void 0?void 0:_a6.goToBottom()}get isColorPickerVisible(){var _a6;return(_a6=this._contentWidget)===null||_a6===void 0?void 0:_a6.isColorPickerVisible}get isHoverVisible(){var _a6;return(_a6=this._contentWidget)===null||_a6===void 0?void 0:_a6.isVisible}dispose(){var _a6,_b3;this._unhookEvents();this._toUnhook.dispose();this._didChangeConfigurationHandler.dispose();(_a6=this._glyphWidget)===null||_a6===void 0?void 0:_a6.dispose();(_b3=this._contentWidget)===null||_b3===void 0?void 0:_b3.dispose()}};ModesHoverController.ID="editor.contrib.hover";ModesHoverController=ModesHoverController_1=__decorate80([__param73(1,IInstantiationService),__param73(2,IOpenerService),__param73(3,ILanguageService),__param73(4,IKeybindingService)],ModesHoverController);var ShowOrFocusHoverAction=class extends EditorAction{constructor(){super({id:"editor.action.showHover",label:localize({key:"showOrFocusHover",comment:["Label for action that will trigger the showing/focusing of a hover in the editor.","If the hover is not visible, it will show the hover.","This allows for users to show the hover without using the mouse.","If the hover is already visible, it will take focus."]},"Show or Focus Hover"),description:{description:`Show or Focus Hover`,args:[{name:"args",schema:{type:"object",properties:{focus:{description:"Controls if when triggered with the keyboard, the hover should take focus immediately.",type:"boolean",default:false}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2048|41,2048|39),weight:100}})}run(accessor,editor2,args){if(!editor2.hasModel()){return}const controller=ModesHoverController.get(editor2);if(!controller){return}const position=editor2.getPosition();const range2=new Range(position.lineNumber,position.column,position.lineNumber,position.column);const focus=editor2.getOption(2)===2||!!(args===null||args===void 0?void 0:args.focus);if(controller.isHoverVisible){controller.focus()}else{controller.showContentHover(range2,1,1,focus)}}};var ShowDefinitionPreviewHoverAction=class extends EditorAction{constructor(){super({id:"editor.action.showDefinitionPreviewHover",label:localize({key:"showDefinitionPreviewHover",comment:["Label for action that will trigger the showing of definition preview hover in the editor.","This allows for users to show the definition preview hover without using the mouse."]},"Show Definition Preview Hover"),alias:"Show Definition Preview Hover",precondition:void 0})}run(accessor,editor2){const controller=ModesHoverController.get(editor2);if(!controller){return}const position=editor2.getPosition();if(!position){return}const range2=new Range(position.lineNumber,position.column,position.lineNumber,position.column);const goto=GotoDefinitionAtPositionEditorContribution.get(editor2);if(!goto){return}const promise=goto.startFindDefinitionFromCursor(position);promise.then((()=>{controller.showContentHover(range2,1,1,true)}))}};var ScrollUpHoverAction=class extends EditorAction{constructor(){super({id:"editor.action.scrollUpHover",label:localize({key:"scrollUpHover",comment:["Action that allows to scroll up in the hover widget with the up arrow when the hover widget is focused."]},"Scroll Up Hover"),alias:"Scroll Up Hover",precondition:EditorContextKeys.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:16,weight:100}})}run(accessor,editor2){const controller=ModesHoverController.get(editor2);if(!controller){return}controller.scrollUp()}};var ScrollDownHoverAction=class extends EditorAction{constructor(){super({id:"editor.action.scrollDownHover",label:localize({key:"scrollDownHover",comment:["Action that allows to scroll down in the hover widget with the up arrow when the hover widget is focused."]},"Scroll Down Hover"),alias:"Scroll Down Hover",precondition:EditorContextKeys.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:18,weight:100}})}run(accessor,editor2){const controller=ModesHoverController.get(editor2);if(!controller){return}controller.scrollDown()}};var ScrollLeftHoverAction=class extends EditorAction{constructor(){super({id:"editor.action.scrollLeftHover",label:localize({key:"scrollLeftHover",comment:["Action that allows to scroll left in the hover widget with the left arrow when the hover widget is focused."]},"Scroll Left Hover"),alias:"Scroll Left Hover",precondition:EditorContextKeys.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:15,weight:100}})}run(accessor,editor2){const controller=ModesHoverController.get(editor2);if(!controller){return}controller.scrollLeft()}};var ScrollRightHoverAction=class extends EditorAction{constructor(){super({id:"editor.action.scrollRightHover",label:localize({key:"scrollRightHover",comment:["Action that allows to scroll right in the hover widget with the right arrow when the hover widget is focused."]},"Scroll Right Hover"),alias:"Scroll Right Hover",precondition:EditorContextKeys.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:17,weight:100}})}run(accessor,editor2){const controller=ModesHoverController.get(editor2);if(!controller){return}controller.scrollRight()}};var PageUpHoverAction=class extends EditorAction{constructor(){super({id:"editor.action.pageUpHover",label:localize({key:"pageUpHover",comment:["Action that allows to page up in the hover widget with the page up command when the hover widget is focused."]},"Page Up Hover"),alias:"Page Up Hover",precondition:EditorContextKeys.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:11,secondary:[512|16],weight:100}})}run(accessor,editor2){const controller=ModesHoverController.get(editor2);if(!controller){return}controller.pageUp()}};var PageDownHoverAction=class extends EditorAction{constructor(){super({id:"editor.action.pageDownHover",label:localize({key:"pageDownHover",comment:["Action that allows to page down in the hover widget with the page down command when the hover widget is focused."]},"Page Down Hover"),alias:"Page Down Hover",precondition:EditorContextKeys.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:12,secondary:[512|18],weight:100}})}run(accessor,editor2){const controller=ModesHoverController.get(editor2);if(!controller){return}controller.pageDown()}};var GoToTopHoverAction=class extends EditorAction{constructor(){super({id:"editor.action.goToTopHover",label:localize({key:"goToTopHover",comment:["Action that allows to go to the top of the hover widget with the home command when the hover widget is focused."]},"Go To Top Hover"),alias:"Go To Bottom Hover",precondition:EditorContextKeys.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:14,secondary:[2048|16],weight:100}})}run(accessor,editor2){const controller=ModesHoverController.get(editor2);if(!controller){return}controller.goToTop()}};var GoToBottomHoverAction=class extends EditorAction{constructor(){super({id:"editor.action.goToBottomHover",label:localize({key:"goToBottomHover",comment:["Action that allows to go to the bottom in the hover widget with the end command when the hover widget is focused."]},"Go To Bottom Hover"),alias:"Go To Bottom Hover",precondition:EditorContextKeys.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:13,secondary:[2048|18],weight:100}})}run(accessor,editor2){const controller=ModesHoverController.get(editor2);if(!controller){return}controller.goToBottom()}};registerEditorContribution(ModesHoverController.ID,ModesHoverController,2);registerEditorAction(ShowOrFocusHoverAction);registerEditorAction(ShowDefinitionPreviewHoverAction);registerEditorAction(ScrollUpHoverAction);registerEditorAction(ScrollDownHoverAction);registerEditorAction(ScrollLeftHoverAction);registerEditorAction(ScrollRightHoverAction);registerEditorAction(PageUpHoverAction);registerEditorAction(PageDownHoverAction);registerEditorAction(GoToTopHoverAction);registerEditorAction(GoToBottomHoverAction);HoverParticipantRegistry.register(MarkdownHoverParticipant);HoverParticipantRegistry.register(MarkerHoverParticipant);registerThemingParticipant(((theme,collector)=>{const hoverBorder=theme.getColor(editorHoverBorder);if(hoverBorder){collector.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${hoverBorder.transparent(.5)}; }`);collector.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${hoverBorder.transparent(.5)}; }`);collector.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${hoverBorder.transparent(.5)}; }`)}}));var ColorContribution=class extends Disposable{constructor(_editor){super();this._editor=_editor;this._register(_editor.onMouseDown((e=>this.onMouseDown(e))))}dispose(){super.dispose()}onMouseDown(mouseEvent){const colorDecoratorsActivatedOn=this._editor.getOption(145);if(colorDecoratorsActivatedOn!=="click"&&colorDecoratorsActivatedOn!=="clickAndHover"){return}const target=mouseEvent.target;if(target.type!==6){return}if(!target.detail.injectedText){return}if(target.detail.injectedText.options.attachedData!==ColorDecorationInjectedTextMarker){return}if(!target.range){return}const hoverController=this._editor.getContribution(ModesHoverController.ID);if(!hoverController){return}if(!hoverController.isColorPickerVisible){const range2=new Range(target.range.startLineNumber,target.range.startColumn+1,target.range.endLineNumber,target.range.endColumn+1);hoverController.showContentHover(range2,1,0,false,true)}}};ColorContribution.ID="editor.contrib.colorContribution";registerEditorContribution(ColorContribution.ID,ColorContribution,2);HoverParticipantRegistry.register(ColorHoverParticipant);init_editorExtensions();init_nls();init_lifecycle();init_instantiation();init_keybinding();init_event();init_languageFeatures();init_editorExtensions();init_editorContextKeys();init_contextkey();init_model2();init_languageConfigurationRegistry();init_dom();var __decorate81=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param74=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter57=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var StandaloneColorPickerController_1;var StandaloneColorPickerWidget_1;var StandaloneColorPickerController=StandaloneColorPickerController_1=class StandaloneColorPickerController2 extends Disposable{constructor(_editor,_contextKeyService,_modelService,_keybindingService,_instantiationService,_languageFeatureService,_languageConfigurationService){super();this._editor=_editor;this._modelService=_modelService;this._keybindingService=_keybindingService;this._instantiationService=_instantiationService;this._languageFeatureService=_languageFeatureService;this._languageConfigurationService=_languageConfigurationService;this._standaloneColorPickerWidget=null;this._standaloneColorPickerVisible=EditorContextKeys.standaloneColorPickerVisible.bindTo(_contextKeyService);this._standaloneColorPickerFocused=EditorContextKeys.standaloneColorPickerFocused.bindTo(_contextKeyService)}showOrFocus(){var _a6;if(!this._editor.hasModel()){return}if(!this._standaloneColorPickerVisible.get()){this._standaloneColorPickerWidget=new StandaloneColorPickerWidget(this._editor,this._standaloneColorPickerVisible,this._standaloneColorPickerFocused,this._instantiationService,this._modelService,this._keybindingService,this._languageFeatureService,this._languageConfigurationService)}else if(!this._standaloneColorPickerFocused.get()){(_a6=this._standaloneColorPickerWidget)===null||_a6===void 0?void 0:_a6.focus()}}hide(){var _a6;this._standaloneColorPickerFocused.set(false);this._standaloneColorPickerVisible.set(false);(_a6=this._standaloneColorPickerWidget)===null||_a6===void 0?void 0:_a6.hide();this._editor.focus()}insertColor(){var _a6;(_a6=this._standaloneColorPickerWidget)===null||_a6===void 0?void 0:_a6.updateEditor();this.hide()}static get(editor2){return editor2.getContribution(StandaloneColorPickerController_1.ID)}};StandaloneColorPickerController.ID="editor.contrib.standaloneColorPickerController";StandaloneColorPickerController=StandaloneColorPickerController_1=__decorate81([__param74(1,IContextKeyService),__param74(2,IModelService),__param74(3,IKeybindingService),__param74(4,IInstantiationService),__param74(5,ILanguageFeaturesService),__param74(6,ILanguageConfigurationService)],StandaloneColorPickerController);registerEditorContribution(StandaloneColorPickerController.ID,StandaloneColorPickerController,1);var PADDING=8;var CLOSE_BUTTON_WIDTH=22;var StandaloneColorPickerWidget=StandaloneColorPickerWidget_1=class StandaloneColorPickerWidget2 extends Disposable{constructor(_editor,_standaloneColorPickerVisible,_standaloneColorPickerFocused,_instantiationService,_modelService,_keybindingService,_languageFeaturesService,_languageConfigurationService){var _a6;super();this._editor=_editor;this._standaloneColorPickerVisible=_standaloneColorPickerVisible;this._standaloneColorPickerFocused=_standaloneColorPickerFocused;this._modelService=_modelService;this._keybindingService=_keybindingService;this._languageFeaturesService=_languageFeaturesService;this._languageConfigurationService=_languageConfigurationService;this.allowEditorOverflow=true;this._position=void 0;this._body=document.createElement("div");this._colorHover=null;this._selectionSetInEditor=false;this._onResult=this._register(new Emitter);this.onResult=this._onResult.event;this._standaloneColorPickerVisible.set(true);this._standaloneColorPickerParticipant=_instantiationService.createInstance(StandaloneColorPickerParticipant,this._editor);this._position=(_a6=this._editor._getViewModel())===null||_a6===void 0?void 0:_a6.getPrimaryCursorState().modelState.position;const editorSelection=this._editor.getSelection();const selection=editorSelection?{startLineNumber:editorSelection.startLineNumber,startColumn:editorSelection.startColumn,endLineNumber:editorSelection.endLineNumber,endColumn:editorSelection.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0};const focusTracker=this._register(trackFocus(this._body));this._register(focusTracker.onDidBlur((_=>{this.hide()})));this._register(focusTracker.onDidFocus((_=>{this.focus()})));this._register(this._editor.onDidChangeCursorPosition((()=>{if(!this._selectionSetInEditor){this.hide()}else{this._selectionSetInEditor=false}})));this._register(this._editor.onMouseMove((e=>{var _a7;const classList=(_a7=e.target.element)===null||_a7===void 0?void 0:_a7.classList;if(classList&&classList.contains("colorpicker-color-decoration")){this.hide()}})));this._register(this.onResult((result=>{this._render(result.value,result.foundInEditor)})));this._start(selection);this._body.style.zIndex="50";this._editor.addContentWidget(this)}updateEditor(){if(this._colorHover){this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}}getId(){return StandaloneColorPickerWidget_1.ID}getDomNode(){return this._body}getPosition(){if(!this._position){return null}const positionPreference=this._editor.getOption(59).above;return{position:this._position,secondaryPosition:this._position,preference:positionPreference?[1,2]:[2,1],positionAffinity:2}}hide(){this.dispose();this._standaloneColorPickerVisible.set(false);this._standaloneColorPickerFocused.set(false);this._editor.removeContentWidget(this);this._editor.focus()}focus(){this._standaloneColorPickerFocused.set(true);this._body.focus()}_start(selection){return __awaiter57(this,void 0,void 0,(function*(){const computeAsyncResult=yield this._computeAsync(selection);if(!computeAsyncResult){return}this._onResult.fire(new StandaloneColorPickerResult(computeAsyncResult.result,computeAsyncResult.foundInEditor))}))}_computeAsync(range2){return __awaiter57(this,void 0,void 0,(function*(){if(!this._editor.hasModel()){return null}const colorInfo={range:range2,color:{red:0,green:0,blue:0,alpha:1}};const colorHoverResult=yield this._standaloneColorPickerParticipant.createColorHover(colorInfo,new DefaultDocumentColorProvider(this._modelService,this._languageConfigurationService),this._languageFeaturesService.colorProvider);if(!colorHoverResult){return null}return{result:colorHoverResult.colorHover,foundInEditor:colorHoverResult.foundInEditor}}))}_render(colorHover,foundInEditor){const fragment=document.createDocumentFragment();const statusBar=this._register(new EditorHoverStatusBar(this._keybindingService));let colorPickerWidget;const context={fragment:fragment,statusBar:statusBar,setColorPicker:widget=>colorPickerWidget=widget,onContentsChanged:()=>{},hide:()=>this.hide()};this._colorHover=colorHover;this._register(this._standaloneColorPickerParticipant.renderHoverParts(context,[colorHover]));if(colorPickerWidget===void 0){return}this._body.classList.add("standalone-colorpicker-body");this._body.style.maxHeight=Math.max(this._editor.getLayoutInfo().height/4,250)+"px";this._body.style.maxWidth=Math.max(this._editor.getLayoutInfo().width*.66,500)+"px";this._body.tabIndex=0;this._body.appendChild(fragment);colorPickerWidget.layout();const colorPickerBody=colorPickerWidget.body;const saturationBoxWidth=colorPickerBody.saturationBox.domNode.clientWidth;const widthOfOriginalColorBox=colorPickerBody.domNode.clientWidth-saturationBoxWidth-CLOSE_BUTTON_WIDTH-PADDING;const enterButton=colorPickerWidget.body.enterButton;enterButton===null||enterButton===void 0?void 0:enterButton.onClicked((()=>{this.updateEditor();this.hide()}));const colorPickerHeader=colorPickerWidget.header;const pickedColorNode=colorPickerHeader.pickedColorNode;pickedColorNode.style.width=saturationBoxWidth+PADDING+"px";const originalColorNode=colorPickerHeader.originalColorNode;originalColorNode.style.width=widthOfOriginalColorBox+"px";const closeButton=colorPickerWidget.header.closeButton;closeButton===null||closeButton===void 0?void 0:closeButton.onClicked((()=>{this.hide()}));if(foundInEditor){if(enterButton){enterButton.button.textContent="Replace"}this._selectionSetInEditor=true;this._editor.setSelection(colorHover.range)}this._editor.layoutContentWidget(this)}};StandaloneColorPickerWidget.ID="editor.contrib.standaloneColorPickerWidget";StandaloneColorPickerWidget=StandaloneColorPickerWidget_1=__decorate81([__param74(3,IInstantiationService),__param74(4,IModelService),__param74(5,IKeybindingService),__param74(6,ILanguageFeaturesService),__param74(7,ILanguageConfigurationService)],StandaloneColorPickerWidget);var StandaloneColorPickerResult=class{constructor(value,foundInEditor){this.value=value;this.foundInEditor=foundInEditor}};init_editorContextKeys();init_actions2();var ShowOrFocusStandaloneColorPicker=class extends EditorAction2{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{value:localize("showOrFocusStandaloneColorPicker","Show or Focus Standalone Color Picker"),mnemonicTitle:localize({key:"mishowOrFocusStandaloneColorPicker",comment:["&& denotes a mnemonic"]},"&&Show or Focus Standalone Color Picker"),original:"Show or Focus Standalone Color Picker"},precondition:void 0,menu:[{id:MenuId.CommandPalette}]})}runEditorCommand(_accessor,editor2){var _a6;(_a6=StandaloneColorPickerController.get(editor2))===null||_a6===void 0?void 0:_a6.showOrFocus()}};var HideStandaloneColorPicker=class extends EditorAction{constructor(){super({id:"editor.action.hideColorPicker",label:localize({key:"hideColorPicker",comment:["Action that hides the color picker"]},"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:EditorContextKeys.standaloneColorPickerVisible.isEqualTo(true),kbOpts:{primary:9,weight:100}})}run(_accessor,editor2){var _a6;(_a6=StandaloneColorPickerController.get(editor2))===null||_a6===void 0?void 0:_a6.hide()}};var InsertColorWithStandaloneColorPicker=class extends EditorAction{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:localize({key:"insertColorWithStandaloneColorPicker",comment:["Action that inserts color with standalone color picker"]},"Insert Color with Standalone Color Picker"),alias:"Insert Color with Standalone Color Picker",precondition:EditorContextKeys.standaloneColorPickerFocused.isEqualTo(true),kbOpts:{primary:3,weight:100}})}run(_accessor,editor2){var _a6;(_a6=StandaloneColorPickerController.get(editor2))===null||_a6===void 0?void 0:_a6.insertColor()}};registerEditorAction(HideStandaloneColorPicker);registerEditorAction(InsertColorWithStandaloneColorPicker);registerAction2(ShowOrFocusStandaloneColorPicker);init_keyCodes();init_editorExtensions();init_range();init_editorContextKeys();init_languageConfigurationRegistry();init_editOperation();init_position();init_range();init_selection();var BlockCommentCommand=class{constructor(selection,insertSpace,languageConfigurationService){this.languageConfigurationService=languageConfigurationService;this._selection=selection;this._insertSpace=insertSpace;this._usedEndToken=null}static _haystackHasNeedleAtOffset(haystack,needle,offset){if(offset<0){return false}const needleLength=needle.length;const haystackLength=haystack.length;if(offset+needleLength>haystackLength){return false}for(let i=0;i<needleLength;i++){const codeA=haystack.charCodeAt(offset+i);const codeB=needle.charCodeAt(i);if(codeA===codeB){continue}if(codeA>=65&&codeA<=90&&codeA+32===codeB){continue}if(codeB>=65&&codeB<=90&&codeB+32===codeA){continue}return false}return true}_createOperationsForBlockComment(selection,startToken,endToken,insertSpace,model,builder){const startLineNumber=selection.startLineNumber;const startColumn=selection.startColumn;const endLineNumber=selection.endLineNumber;const endColumn=selection.endColumn;const startLineText=model.getLineContent(startLineNumber);const endLineText=model.getLineContent(endLineNumber);let startTokenIndex=startLineText.lastIndexOf(startToken,startColumn-1+startToken.length);let endTokenIndex=endLineText.indexOf(endToken,endColumn-1-endToken.length);if(startTokenIndex!==-1&&endTokenIndex!==-1){if(startLineNumber===endLineNumber){const lineBetweenTokens=startLineText.substring(startTokenIndex+startToken.length,endTokenIndex);if(lineBetweenTokens.indexOf(endToken)>=0){startTokenIndex=-1;endTokenIndex=-1}}else{const startLineAfterStartToken=startLineText.substring(startTokenIndex+startToken.length);const endLineBeforeEndToken=endLineText.substring(0,endTokenIndex);if(startLineAfterStartToken.indexOf(endToken)>=0||endLineBeforeEndToken.indexOf(endToken)>=0){startTokenIndex=-1;endTokenIndex=-1}}}let ops;if(startTokenIndex!==-1&&endTokenIndex!==-1){if(insertSpace&&startTokenIndex+startToken.length<startLineText.length&&startLineText.charCodeAt(startTokenIndex+startToken.length)===32){startToken=startToken+" "}if(insertSpace&&endTokenIndex>0&&endLineText.charCodeAt(endTokenIndex-1)===32){endToken=" "+endToken;endTokenIndex-=1}ops=BlockCommentCommand._createRemoveBlockCommentOperations(new Range(startLineNumber,startTokenIndex+startToken.length+1,endLineNumber,endTokenIndex+1),startToken,endToken)}else{ops=BlockCommentCommand._createAddBlockCommentOperations(selection,startToken,endToken,this._insertSpace);this._usedEndToken=ops.length===1?endToken:null}for(const op of ops){builder.addTrackedEditOperation(op.range,op.text)}}static _createRemoveBlockCommentOperations(r,startToken,endToken){const res=[];if(!Range.isEmpty(r)){res.push(EditOperation.delete(new Range(r.startLineNumber,r.startColumn-startToken.length,r.startLineNumber,r.startColumn)));res.push(EditOperation.delete(new Range(r.endLineNumber,r.endColumn,r.endLineNumber,r.endColumn+endToken.length)))}else{res.push(EditOperation.delete(new Range(r.startLineNumber,r.startColumn-startToken.length,r.endLineNumber,r.endColumn+endToken.length)))}return res}static _createAddBlockCommentOperations(r,startToken,endToken,insertSpace){const res=[];if(!Range.isEmpty(r)){res.push(EditOperation.insert(new Position(r.startLineNumber,r.startColumn),startToken+(insertSpace?" ":"")));res.push(EditOperation.insert(new Position(r.endLineNumber,r.endColumn),(insertSpace?" ":"")+endToken))}else{res.push(EditOperation.replace(new Range(r.startLineNumber,r.startColumn,r.endLineNumber,r.endColumn),startToken+" "+endToken))}return res}getEditOperations(model,builder){const startLineNumber=this._selection.startLineNumber;const startColumn=this._selection.startColumn;model.tokenization.tokenizeIfCheap(startLineNumber);const languageId=model.getLanguageIdAtPosition(startLineNumber,startColumn);const config=this.languageConfigurationService.getLanguageConfiguration(languageId).comments;if(!config||!config.blockCommentStartToken||!config.blockCommentEndToken){return}this._createOperationsForBlockComment(this._selection,config.blockCommentStartToken,config.blockCommentEndToken,this._insertSpace,model,builder)}computeCursorState(model,helper){const inverseEditOperations=helper.getInverseEditOperations();if(inverseEditOperations.length===2){const startTokenEditOperation=inverseEditOperations[0];const endTokenEditOperation=inverseEditOperations[1];return new Selection(startTokenEditOperation.range.endLineNumber,startTokenEditOperation.range.endColumn,endTokenEditOperation.range.startLineNumber,endTokenEditOperation.range.startColumn)}else{const srcRange=inverseEditOperations[0].range;const deltaColumn=this._usedEndToken?-this._usedEndToken.length-1:0;return new Selection(srcRange.endLineNumber,srcRange.endColumn+deltaColumn,srcRange.endLineNumber,srcRange.endColumn+deltaColumn)}}};init_strings();init_editOperation();init_position();init_range();init_selection();var LineCommentCommand=class{constructor(languageConfigurationService,selection,tabSize,type,insertSpace,ignoreEmptyLines,ignoreFirstLine){this.languageConfigurationService=languageConfigurationService;this._selection=selection;this._tabSize=tabSize;this._type=type;this._insertSpace=insertSpace;this._selectionId=null;this._deltaColumn=0;this._moveEndPositionDown=false;this._ignoreEmptyLines=ignoreEmptyLines;this._ignoreFirstLine=ignoreFirstLine||false}static _gatherPreflightCommentStrings(model,startLineNumber,endLineNumber,languageConfigurationService){model.tokenization.tokenizeIfCheap(startLineNumber);const languageId=model.getLanguageIdAtPosition(startLineNumber,1);const config=languageConfigurationService.getLanguageConfiguration(languageId).comments;const commentStr=config?config.lineCommentToken:null;if(!commentStr){return null}const lines=[];for(let i=0,lineCount=endLineNumber-startLineNumber+1;i<lineCount;i++){lines[i]={ignore:false,commentStr:commentStr,commentStrOffset:0,commentStrLength:commentStr.length}}return lines}static _analyzeLines(type,insertSpace,model,lines,startLineNumber,ignoreEmptyLines,ignoreFirstLine,languageConfigurationService){let onlyWhitespaceLines=true;let shouldRemoveComments;if(type===0){shouldRemoveComments=true}else if(type===1){shouldRemoveComments=false}else{shouldRemoveComments=true}for(let i=0,lineCount=lines.length;i<lineCount;i++){const lineData=lines[i];const lineNumber=startLineNumber+i;if(lineNumber===startLineNumber&&ignoreFirstLine){lineData.ignore=true;continue}const lineContent=model.getLineContent(lineNumber);const lineContentStartOffset=firstNonWhitespaceIndex(lineContent);if(lineContentStartOffset===-1){lineData.ignore=ignoreEmptyLines;lineData.commentStrOffset=lineContent.length;continue}onlyWhitespaceLines=false;lineData.ignore=false;lineData.commentStrOffset=lineContentStartOffset;if(shouldRemoveComments&&!BlockCommentCommand._haystackHasNeedleAtOffset(lineContent,lineData.commentStr,lineContentStartOffset)){if(type===0){shouldRemoveComments=false}else if(type===1){}else{lineData.ignore=true}}if(shouldRemoveComments&&insertSpace){const commentStrEndOffset=lineContentStartOffset+lineData.commentStrLength;if(commentStrEndOffset<lineContent.length&&lineContent.charCodeAt(commentStrEndOffset)===32){lineData.commentStrLength+=1}}}if(type===0&&onlyWhitespaceLines){shouldRemoveComments=false;for(let i=0,lineCount=lines.length;i<lineCount;i++){lines[i].ignore=false}}return{supported:true,shouldRemoveComments:shouldRemoveComments,lines:lines}}static _gatherPreflightData(type,insertSpace,model,startLineNumber,endLineNumber,ignoreEmptyLines,ignoreFirstLine,languageConfigurationService){const lines=LineCommentCommand._gatherPreflightCommentStrings(model,startLineNumber,endLineNumber,languageConfigurationService);if(lines===null){return{supported:false}}return LineCommentCommand._analyzeLines(type,insertSpace,model,lines,startLineNumber,ignoreEmptyLines,ignoreFirstLine,languageConfigurationService)}_executeLineComments(model,builder,data,s){let ops;if(data.shouldRemoveComments){ops=LineCommentCommand._createRemoveLineCommentsOperations(data.lines,s.startLineNumber)}else{LineCommentCommand._normalizeInsertionPoint(model,data.lines,s.startLineNumber,this._tabSize);ops=this._createAddLineCommentsOperations(data.lines,s.startLineNumber)}const cursorPosition=new Position(s.positionLineNumber,s.positionColumn);for(let i=0,len=ops.length;i<len;i++){builder.addEditOperation(ops[i].range,ops[i].text);if(Range.isEmpty(ops[i].range)&&Range.getStartPosition(ops[i].range).equals(cursorPosition)){const lineContent=model.getLineContent(cursorPosition.lineNumber);if(lineContent.length+1===cursorPosition.column){this._deltaColumn=(ops[i].text||"").length}}}this._selectionId=builder.trackSelection(s)}_attemptRemoveBlockComment(model,s,startToken,endToken){let startLineNumber=s.startLineNumber;let endLineNumber=s.endLineNumber;const startTokenAllowedBeforeColumn=endToken.length+Math.max(model.getLineFirstNonWhitespaceColumn(s.startLineNumber),s.startColumn);let startTokenIndex=model.getLineContent(startLineNumber).lastIndexOf(startToken,startTokenAllowedBeforeColumn-1);let endTokenIndex=model.getLineContent(endLineNumber).indexOf(endToken,s.endColumn-1-startToken.length);if(startTokenIndex!==-1&&endTokenIndex===-1){endTokenIndex=model.getLineContent(startLineNumber).indexOf(endToken,startTokenIndex+startToken.length);endLineNumber=startLineNumber}if(startTokenIndex===-1&&endTokenIndex!==-1){startTokenIndex=model.getLineContent(endLineNumber).lastIndexOf(startToken,endTokenIndex);startLineNumber=endLineNumber}if(s.isEmpty()&&(startTokenIndex===-1||endTokenIndex===-1)){startTokenIndex=model.getLineContent(startLineNumber).indexOf(startToken);if(startTokenIndex!==-1){endTokenIndex=model.getLineContent(startLineNumber).indexOf(endToken,startTokenIndex+startToken.length)}}if(startTokenIndex!==-1&&model.getLineContent(startLineNumber).charCodeAt(startTokenIndex+startToken.length)===32){startToken+=" "}if(endTokenIndex!==-1&&model.getLineContent(endLineNumber).charCodeAt(endTokenIndex-1)===32){endToken=" "+endToken;endTokenIndex-=1}if(startTokenIndex!==-1&&endTokenIndex!==-1){return BlockCommentCommand._createRemoveBlockCommentOperations(new Range(startLineNumber,startTokenIndex+startToken.length+1,endLineNumber,endTokenIndex+1),startToken,endToken)}return null}_executeBlockComment(model,builder,s){model.tokenization.tokenizeIfCheap(s.startLineNumber);const languageId=model.getLanguageIdAtPosition(s.startLineNumber,1);const config=this.languageConfigurationService.getLanguageConfiguration(languageId).comments;if(!config||!config.blockCommentStartToken||!config.blockCommentEndToken){return}const startToken=config.blockCommentStartToken;const endToken=config.blockCommentEndToken;let ops=this._attemptRemoveBlockComment(model,s,startToken,endToken);if(!ops){if(s.isEmpty()){const lineContent=model.getLineContent(s.startLineNumber);let firstNonWhitespaceIndex2=firstNonWhitespaceIndex(lineContent);if(firstNonWhitespaceIndex2===-1){firstNonWhitespaceIndex2=lineContent.length}ops=BlockCommentCommand._createAddBlockCommentOperations(new Range(s.startLineNumber,firstNonWhitespaceIndex2+1,s.startLineNumber,lineContent.length+1),startToken,endToken,this._insertSpace)}else{ops=BlockCommentCommand._createAddBlockCommentOperations(new Range(s.startLineNumber,model.getLineFirstNonWhitespaceColumn(s.startLineNumber),s.endLineNumber,model.getLineMaxColumn(s.endLineNumber)),startToken,endToken,this._insertSpace)}if(ops.length===1){this._deltaColumn=startToken.length+1}}this._selectionId=builder.trackSelection(s);for(const op of ops){builder.addEditOperation(op.range,op.text)}}getEditOperations(model,builder){let s=this._selection;this._moveEndPositionDown=false;if(s.startLineNumber===s.endLineNumber&&this._ignoreFirstLine){builder.addEditOperation(new Range(s.startLineNumber,model.getLineMaxColumn(s.startLineNumber),s.startLineNumber+1,1),s.startLineNumber===model.getLineCount()?"":"\n");this._selectionId=builder.trackSelection(s);return}if(s.startLineNumber<s.endLineNumber&&s.endColumn===1){this._moveEndPositionDown=true;s=s.setEndPosition(s.endLineNumber-1,model.getLineMaxColumn(s.endLineNumber-1))}const data=LineCommentCommand._gatherPreflightData(this._type,this._insertSpace,model,s.startLineNumber,s.endLineNumber,this._ignoreEmptyLines,this._ignoreFirstLine,this.languageConfigurationService);if(data.supported){return this._executeLineComments(model,builder,data,s)}return this._executeBlockComment(model,builder,s)}computeCursorState(model,helper){let result=helper.getTrackedSelection(this._selectionId);if(this._moveEndPositionDown){result=result.setEndPosition(result.endLineNumber+1,1)}return new Selection(result.selectionStartLineNumber,result.selectionStartColumn+this._deltaColumn,result.positionLineNumber,result.positionColumn+this._deltaColumn)}static _createRemoveLineCommentsOperations(lines,startLineNumber){const res=[];for(let i=0,len=lines.length;i<len;i++){const lineData=lines[i];if(lineData.ignore){continue}res.push(EditOperation.delete(new Range(startLineNumber+i,lineData.commentStrOffset+1,startLineNumber+i,lineData.commentStrOffset+lineData.commentStrLength+1)))}return res}_createAddLineCommentsOperations(lines,startLineNumber){const res=[];const afterCommentStr=this._insertSpace?" ":"";for(let i=0,len=lines.length;i<len;i++){const lineData=lines[i];if(lineData.ignore){continue}res.push(EditOperation.insert(new Position(startLineNumber+i,lineData.commentStrOffset+1),lineData.commentStr+afterCommentStr))}return res}static nextVisibleColumn(currentVisibleColumn,tabSize,isTab,columnSize){if(isTab){return currentVisibleColumn+(tabSize-currentVisibleColumn%tabSize)}return currentVisibleColumn+columnSize}static _normalizeInsertionPoint(model,lines,startLineNumber,tabSize){let minVisibleColumn=1073741824;let j;let lenJ;for(let i=0,len=lines.length;i<len;i++){if(lines[i].ignore){continue}const lineContent=model.getLineContent(startLineNumber+i);let currentVisibleColumn=0;for(let j2=0,lenJ2=lines[i].commentStrOffset;currentVisibleColumn<minVisibleColumn&&j2<lenJ2;j2++){currentVisibleColumn=LineCommentCommand.nextVisibleColumn(currentVisibleColumn,tabSize,lineContent.charCodeAt(j2)===9,1)}if(currentVisibleColumn<minVisibleColumn){minVisibleColumn=currentVisibleColumn}}minVisibleColumn=Math.floor(minVisibleColumn/tabSize)*tabSize;for(let i=0,len=lines.length;i<len;i++){if(lines[i].ignore){continue}const lineContent=model.getLineContent(startLineNumber+i);let currentVisibleColumn=0;for(j=0,lenJ=lines[i].commentStrOffset;currentVisibleColumn<minVisibleColumn&&j<lenJ;j++){currentVisibleColumn=LineCommentCommand.nextVisibleColumn(currentVisibleColumn,tabSize,lineContent.charCodeAt(j)===9,1)}if(currentVisibleColumn>minVisibleColumn){lines[i].commentStrOffset=j-1}else{lines[i].commentStrOffset=j}}}};init_nls();init_actions2();var CommentLineAction=class extends EditorAction{constructor(type,opts){super(opts);this._type=type}run(accessor,editor2){const languageConfigurationService=accessor.get(ILanguageConfigurationService);if(!editor2.hasModel()){return}const model=editor2.getModel();const commands=[];const modelOptions=model.getOptions();const commentsOptions=editor2.getOption(22);const selections=editor2.getSelections().map(((selection,index)=>({selection:selection,index:index,ignoreFirstLine:false})));selections.sort(((a,b)=>Range.compareRangesUsingStarts(a.selection,b.selection)));let prev=selections[0];for(let i=1;i<selections.length;i++){const curr=selections[i];if(prev.selection.endLineNumber===curr.selection.startLineNumber){if(prev.index<curr.index){curr.ignoreFirstLine=true}else{prev.ignoreFirstLine=true;prev=curr}}}for(const selection of selections){commands.push(new LineCommentCommand(languageConfigurationService,selection.selection,modelOptions.tabSize,this._type,commentsOptions.insertSpace,commentsOptions.ignoreEmptyLines,selection.ignoreFirstLine))}editor2.pushUndoStop();editor2.executeCommands(this.id,commands);editor2.pushUndoStop()}};var ToggleCommentLineAction=class extends CommentLineAction{constructor(){super(0,{id:"editor.action.commentLine",label:localize("comment.line","Toggle Line Comment"),alias:"Toggle Line Comment",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2048|90,weight:100},menuOpts:{menuId:MenuId.MenubarEditMenu,group:"5_insert",title:localize({key:"miToggleLineComment",comment:["&& denotes a mnemonic"]},"&&Toggle Line Comment"),order:1}})}};var AddLineCommentAction=class extends CommentLineAction{constructor(){super(1,{id:"editor.action.addCommentLine",label:localize("comment.line.add","Add Line Comment"),alias:"Add Line Comment",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2048|41,2048|33),weight:100}})}};var RemoveLineCommentAction=class extends CommentLineAction{constructor(){super(2,{id:"editor.action.removeCommentLine",label:localize("comment.line.remove","Remove Line Comment"),alias:"Remove Line Comment",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2048|41,2048|51),weight:100}})}};var BlockCommentAction=class extends EditorAction{constructor(){super({id:"editor.action.blockComment",label:localize("comment.block","Toggle Block Comment"),alias:"Toggle Block Comment",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:1024|512|31,linux:{primary:2048|1024|31},weight:100},menuOpts:{menuId:MenuId.MenubarEditMenu,group:"5_insert",title:localize({key:"miToggleBlockComment",comment:["&& denotes a mnemonic"]},"Toggle &&Block Comment"),order:2}})}run(accessor,editor2){const languageConfigurationService=accessor.get(ILanguageConfigurationService);if(!editor2.hasModel()){return}const commentsOptions=editor2.getOption(22);const commands=[];const selections=editor2.getSelections();for(const selection of selections){commands.push(new BlockCommentCommand(selection,commentsOptions.insertSpace,languageConfigurationService))}editor2.pushUndoStop();editor2.executeCommands(this.id,commands);editor2.pushUndoStop()}};registerEditorAction(ToggleCommentLineAction);registerEditorAction(AddLineCommentAction);registerEditorAction(RemoveLineCommentAction);registerEditorAction(BlockCommentAction);init_dom();init_actionViewItems();init_actions();init_lifecycle();init_platform();init_editorExtensions();init_editorContextKeys();init_nls();init_actions2();init_contextkey();init_contextView();init_keybinding();init_configuration();init_workspace();var __decorate82=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param75=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var ContextMenuController_1;var ContextMenuController=ContextMenuController_1=class ContextMenuController2{static get(editor2){return editor2.getContribution(ContextMenuController_1.ID)}constructor(editor2,_contextMenuService,_contextViewService,_contextKeyService,_keybindingService,_menuService,_configurationService,_workspaceContextService){this._contextMenuService=_contextMenuService;this._contextViewService=_contextViewService;this._contextKeyService=_contextKeyService;this._keybindingService=_keybindingService;this._menuService=_menuService;this._configurationService=_configurationService;this._workspaceContextService=_workspaceContextService;this._toDispose=new DisposableStore;this._contextMenuIsBeingShownCount=0;this._editor=editor2;this._toDispose.add(this._editor.onContextMenu((e=>this._onContextMenu(e))));this._toDispose.add(this._editor.onMouseWheel((e=>{if(this._contextMenuIsBeingShownCount>0){const view=this._contextViewService.getContextViewElement();const target=e.srcElement;if(!(target.shadowRoot&&getShadowRoot(view)===target.shadowRoot)){this._contextViewService.hideContextView()}}})));this._toDispose.add(this._editor.onKeyDown((e=>{if(!this._editor.getOption(23)){return}if(e.keyCode===58){e.preventDefault();e.stopPropagation();this.showContextMenu()}})))}_onContextMenu(e){if(!this._editor.hasModel()){return}if(!this._editor.getOption(23)){this._editor.focus();if(e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)){this._editor.setPosition(e.target.position)}return}if(e.target.type===12){return}if(e.target.type===6&&e.target.detail.injectedText){return}e.event.preventDefault();e.event.stopPropagation();if(e.target.type===11){return this._showScrollbarContextMenu(e.event)}if(e.target.type!==6&&e.target.type!==7&&e.target.type!==1){return}this._editor.focus();if(e.target.position){let hasSelectionAtPosition=false;for(const selection of this._editor.getSelections()){if(selection.containsPosition(e.target.position)){hasSelectionAtPosition=true;break}}if(!hasSelectionAtPosition){this._editor.setPosition(e.target.position)}}let anchor=null;if(e.target.type!==1){anchor=e.event}this.showContextMenu(anchor)}showContextMenu(anchor){if(!this._editor.getOption(23)){return}if(!this._editor.hasModel()){return}const menuActions=this._getMenuActions(this._editor.getModel(),this._editor.isSimpleWidget?MenuId.SimpleEditorContext:MenuId.EditorContext);if(menuActions.length>0){this._doShowContextMenu(menuActions,anchor)}}_getMenuActions(model,menuId){const result=[];const menu=this._menuService.createMenu(menuId,this._contextKeyService);const groups=menu.getActions({arg:model.uri});menu.dispose();for(const group3 of groups){const[,actions]=group3;let addedItems=0;for(const action of actions){if(action instanceof SubmenuItemAction){const subActions=this._getMenuActions(model,action.item.submenu);if(subActions.length>0){result.push(new SubmenuAction(action.id,action.label,subActions));addedItems++}}else{result.push(action);addedItems++}}if(addedItems){result.push(new Separator)}}if(result.length){result.pop()}return result}_doShowContextMenu(actions,event=null){if(!this._editor.hasModel()){return}const oldHoverSetting=this._editor.getOption(59);this._editor.updateOptions({hover:{enabled:false}});let anchor=event;if(!anchor){this._editor.revealPosition(this._editor.getPosition(),1);this._editor.render();const cursorCoords=this._editor.getScrolledVisiblePosition(this._editor.getPosition());const editorCoords=getDomNodePagePosition(this._editor.getDomNode());const posx=editorCoords.left+cursorCoords.left;const posy=editorCoords.top+cursorCoords.top+cursorCoords.height;anchor={x:posx,y:posy}}const useShadowDOM=this._editor.getOption(125)&&!isIOS;this._contextMenuIsBeingShownCount++;this._contextMenuService.showContextMenu({domForShadowRoot:useShadowDOM?this._editor.getDomNode():void 0,getAnchor:()=>anchor,getActions:()=>actions,getActionViewItem:action=>{const keybinding=this._keybindingFor(action);if(keybinding){return new ActionViewItem(action,action,{label:true,keybinding:keybinding.getLabel(),isMenu:true})}const customActionViewItem=action;if(typeof customActionViewItem.getActionViewItem==="function"){return customActionViewItem.getActionViewItem()}return new ActionViewItem(action,action,{icon:true,label:true,isMenu:true})},getKeyBinding:action=>this._keybindingFor(action),onHide:wasCancelled=>{this._contextMenuIsBeingShownCount--;this._editor.updateOptions({hover:oldHoverSetting})}})}_showScrollbarContextMenu(anchor){if(!this._editor.hasModel()){return}if(isStandaloneEditorWorkspace(this._workspaceContextService.getWorkspace())){return}const minimapOptions=this._editor.getOption(71);let lastId=0;const createAction=opts=>({id:`menu-action-${++lastId}`,label:opts.label,tooltip:"",class:void 0,enabled:typeof opts.enabled==="undefined"?true:opts.enabled,checked:opts.checked,run:opts.run});const createSubmenuAction=(label,actions2)=>new SubmenuAction(`menu-action-${++lastId}`,label,actions2,void 0);const createEnumAction=(label,enabled,configName,configuredValue,options2)=>{if(!enabled){return createAction({label:label,enabled:enabled,run:()=>{}})}const createRunner=value=>()=>{this._configurationService.updateValue(configName,value)};const actions2=[];for(const option of options2){actions2.push(createAction({label:option.label,checked:configuredValue===option.value,run:createRunner(option.value)}))}return createSubmenuAction(label,actions2)};const actions=[];actions.push(createAction({label:localize("context.minimap.minimap","Minimap"),checked:minimapOptions.enabled,run:()=>{this._configurationService.updateValue(`editor.minimap.enabled`,!minimapOptions.enabled)}}));actions.push(new Separator);actions.push(createAction({label:localize("context.minimap.renderCharacters","Render Characters"),enabled:minimapOptions.enabled,checked:minimapOptions.renderCharacters,run:()=>{this._configurationService.updateValue(`editor.minimap.renderCharacters`,!minimapOptions.renderCharacters)}}));actions.push(createEnumAction(localize("context.minimap.size","Vertical size"),minimapOptions.enabled,"editor.minimap.size",minimapOptions.size,[{label:localize("context.minimap.size.proportional","Proportional"),value:"proportional"},{label:localize("context.minimap.size.fill","Fill"),value:"fill"},{label:localize("context.minimap.size.fit","Fit"),value:"fit"}]));actions.push(createEnumAction(localize("context.minimap.slider","Slider"),minimapOptions.enabled,"editor.minimap.showSlider",minimapOptions.showSlider,[{label:localize("context.minimap.slider.mouseover","Mouse Over"),value:"mouseover"},{label:localize("context.minimap.slider.always","Always"),value:"always"}]));const useShadowDOM=this._editor.getOption(125)&&!isIOS;this._contextMenuIsBeingShownCount++;this._contextMenuService.showContextMenu({domForShadowRoot:useShadowDOM?this._editor.getDomNode():void 0,getAnchor:()=>anchor,getActions:()=>actions,onHide:wasCancelled=>{this._contextMenuIsBeingShownCount--;this._editor.focus()}})}_keybindingFor(action){return this._keybindingService.lookupKeybinding(action.id)}dispose(){if(this._contextMenuIsBeingShownCount>0){this._contextViewService.hideContextView()}this._toDispose.dispose()}};ContextMenuController.ID="editor.contrib.contextmenu";ContextMenuController=ContextMenuController_1=__decorate82([__param75(1,IContextMenuService),__param75(2,IContextViewService),__param75(3,IContextKeyService),__param75(4,IKeybindingService),__param75(5,IMenuService),__param75(6,IConfigurationService),__param75(7,IWorkspaceContextService)],ContextMenuController);var ShowContextMenu=class extends EditorAction{constructor(){super({id:"editor.action.showContextMenu",label:localize("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:1024|68,weight:100}})}run(accessor,editor2){var _a6;(_a6=ContextMenuController.get(editor2))===null||_a6===void 0?void 0:_a6.showContextMenu()}};registerEditorContribution(ContextMenuController.ID,ContextMenuController,2);registerEditorAction(ShowContextMenu);init_lifecycle();init_editorExtensions();init_editorContextKeys();init_nls();var CursorState2=class{constructor(selections){this.selections=selections}equals(other){const thisLen=this.selections.length;const otherLen=other.selections.length;if(thisLen!==otherLen){return false}for(let i=0;i<thisLen;i++){if(!this.selections[i].equalsSelection(other.selections[i])){return false}}return true}};var StackElement=class{constructor(cursorState,scrollTop,scrollLeft){this.cursorState=cursorState;this.scrollTop=scrollTop;this.scrollLeft=scrollLeft}};var CursorUndoRedoController=class extends Disposable{static get(editor2){return editor2.getContribution(CursorUndoRedoController.ID)}constructor(editor2){super();this._editor=editor2;this._isCursorUndoRedo=false;this._undoStack=[];this._redoStack=[];this._register(editor2.onDidChangeModel((e=>{this._undoStack=[];this._redoStack=[]})));this._register(editor2.onDidChangeModelContent((e=>{this._undoStack=[];this._redoStack=[]})));this._register(editor2.onDidChangeCursorSelection((e=>{if(this._isCursorUndoRedo){return}if(!e.oldSelections){return}if(e.oldModelVersionId!==e.modelVersionId){return}const prevState=new CursorState2(e.oldSelections);const isEqualToLastUndoStack=this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(prevState);if(!isEqualToLastUndoStack){this._undoStack.push(new StackElement(prevState,editor2.getScrollTop(),editor2.getScrollLeft()));this._redoStack=[];if(this._undoStack.length>50){this._undoStack.shift()}}})))}cursorUndo(){if(!this._editor.hasModel()||this._undoStack.length===0){return}this._redoStack.push(new StackElement(new CursorState2(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft()));this._applyState(this._undoStack.pop())}cursorRedo(){if(!this._editor.hasModel()||this._redoStack.length===0){return}this._undoStack.push(new StackElement(new CursorState2(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft()));this._applyState(this._redoStack.pop())}_applyState(stackElement){this._isCursorUndoRedo=true;this._editor.setSelections(stackElement.cursorState.selections);this._editor.setScrollPosition({scrollTop:stackElement.scrollTop,scrollLeft:stackElement.scrollLeft});this._isCursorUndoRedo=false}};CursorUndoRedoController.ID="editor.contrib.cursorUndoRedoController";var CursorUndo=class extends EditorAction{constructor(){super({id:"cursorUndo",label:localize("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:2048|51,weight:100}})}run(accessor,editor2,args){var _a6;(_a6=CursorUndoRedoController.get(editor2))===null||_a6===void 0?void 0:_a6.cursorUndo()}};var CursorRedo=class extends EditorAction{constructor(){super({id:"cursorRedo",label:localize("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(accessor,editor2,args){var _a6;(_a6=CursorUndoRedoController.get(editor2))===null||_a6===void 0?void 0:_a6.cursorRedo()}};registerEditorContribution(CursorUndoRedoController.ID,CursorUndoRedoController,0);registerEditorAction(CursorUndo);registerEditorAction(CursorRedo);init_lifecycle();init_platform();init_editorExtensions();init_position();init_range();init_selection();init_textModel();init_range();init_selection();var DragAndDropCommand=class{constructor(selection,targetPosition,copy){this.selection=selection;this.targetPosition=targetPosition;this.copy=copy;this.targetSelection=null}getEditOperations(model,builder){const text2=model.getValueInRange(this.selection);if(!this.copy){builder.addEditOperation(this.selection,null)}builder.addEditOperation(new Range(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),text2);if(this.selection.containsPosition(this.targetPosition)&&!(this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition)))){this.targetSelection=this.selection;return}if(this.copy){this.targetSelection=new Selection(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber>this.selection.endLineNumber){this.targetSelection=new Selection(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber<this.selection.endLineNumber){this.targetSelection=new Selection(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber+this.selection.endLineNumber-this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.selection.endColumn<=this.targetPosition.column){this.targetSelection=new Selection(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column-this.selection.endColumn+this.selection.startColumn:this.targetPosition.column-this.selection.endColumn+this.selection.startColumn,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column:this.selection.endColumn)}else{this.targetSelection=new Selection(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column+this.selection.endColumn-this.selection.startColumn)}}computeCursorState(model,helper){return this.targetSelection}};function hasTriggerModifier(e){if(isMacintosh){return e.altKey}else{return e.ctrlKey}}var DragAndDropController=class extends Disposable{constructor(editor2){super();this._editor=editor2;this._dndDecorationIds=this._editor.createDecorationsCollection();this._register(this._editor.onMouseDown((e=>this._onEditorMouseDown(e))));this._register(this._editor.onMouseUp((e=>this._onEditorMouseUp(e))));this._register(this._editor.onMouseDrag((e=>this._onEditorMouseDrag(e))));this._register(this._editor.onMouseDrop((e=>this._onEditorMouseDrop(e))));this._register(this._editor.onMouseDropCanceled((()=>this._onEditorMouseDropCanceled())));this._register(this._editor.onKeyDown((e=>this.onEditorKeyDown(e))));this._register(this._editor.onKeyUp((e=>this.onEditorKeyUp(e))));this._register(this._editor.onDidBlurEditorWidget((()=>this.onEditorBlur())));this._register(this._editor.onDidBlurEditorText((()=>this.onEditorBlur())));this._mouseDown=false;this._modifierPressed=false;this._dragSelection=null}onEditorBlur(){this._removeDecoration();this._dragSelection=null;this._mouseDown=false;this._modifierPressed=false}onEditorKeyDown(e){if(!this._editor.getOption(34)||this._editor.getOption(21)){return}if(hasTriggerModifier(e)){this._modifierPressed=true}if(this._mouseDown&&hasTriggerModifier(e)){this._editor.updateOptions({mouseStyle:"copy"})}}onEditorKeyUp(e){if(!this._editor.getOption(34)||this._editor.getOption(21)){return}if(hasTriggerModifier(e)){this._modifierPressed=false}if(this._mouseDown&&e.keyCode===DragAndDropController.TRIGGER_KEY_VALUE){this._editor.updateOptions({mouseStyle:"default"})}}_onEditorMouseDown(mouseEvent){this._mouseDown=true}_onEditorMouseUp(mouseEvent){this._mouseDown=false;this._editor.updateOptions({mouseStyle:"text"})}_onEditorMouseDrag(mouseEvent){const target=mouseEvent.target;if(this._dragSelection===null){const selections=this._editor.getSelections()||[];const possibleSelections=selections.filter((selection=>target.position&&selection.containsPosition(target.position)));if(possibleSelections.length===1){this._dragSelection=possibleSelections[0]}else{return}}if(hasTriggerModifier(mouseEvent.event)){this._editor.updateOptions({mouseStyle:"copy"})}else{this._editor.updateOptions({mouseStyle:"default"})}if(target.position){if(this._dragSelection.containsPosition(target.position)){this._removeDecoration()}else{this.showAt(target.position)}}}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"});this._removeDecoration();this._dragSelection=null;this._mouseDown=false}_onEditorMouseDrop(mouseEvent){if(mouseEvent.target&&(this._hitContent(mouseEvent.target)||this._hitMargin(mouseEvent.target))&&mouseEvent.target.position){const newCursorPosition=new Position(mouseEvent.target.position.lineNumber,mouseEvent.target.position.column);if(this._dragSelection===null){let newSelections=null;if(mouseEvent.event.shiftKey){const primarySelection=this._editor.getSelection();if(primarySelection){const{selectionStartLineNumber:selectionStartLineNumber,selectionStartColumn:selectionStartColumn}=primarySelection;newSelections=[new Selection(selectionStartLineNumber,selectionStartColumn,newCursorPosition.lineNumber,newCursorPosition.column)]}}else{newSelections=(this._editor.getSelections()||[]).map((selection=>{if(selection.containsPosition(newCursorPosition)){return new Selection(newCursorPosition.lineNumber,newCursorPosition.column,newCursorPosition.lineNumber,newCursorPosition.column)}else{return selection}}))}this._editor.setSelections(newSelections||[],"mouse",3)}else if(!this._dragSelection.containsPosition(newCursorPosition)||(hasTriggerModifier(mouseEvent.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(newCursorPosition)||this._dragSelection.getStartPosition().equals(newCursorPosition))){this._editor.pushUndoStop();this._editor.executeCommand(DragAndDropController.ID,new DragAndDropCommand(this._dragSelection,newCursorPosition,hasTriggerModifier(mouseEvent.event)||this._modifierPressed));this._editor.pushUndoStop()}}this._editor.updateOptions({mouseStyle:"text"});this._removeDecoration();this._dragSelection=null;this._mouseDown=false}showAt(position){this._dndDecorationIds.set([{range:new Range(position.lineNumber,position.column,position.lineNumber,position.column),options:DragAndDropController._DECORATION_OPTIONS}]);this._editor.revealPosition(position,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(target){return target.type===6||target.type===7}_hitMargin(target){return target.type===2||target.type===3||target.type===4}dispose(){this._removeDecoration();this._dragSelection=null;this._mouseDown=false;this._modifierPressed=false;super.dispose()}};DragAndDropController.ID="editor.contrib.dragAndDrop";DragAndDropController.TRIGGER_KEY_VALUE=isMacintosh?6:5;DragAndDropController._DECORATION_OPTIONS=ModelDecorationOptions.register({description:"dnd-target",className:"dnd-target"});registerEditorContribution(DragAndDropController.ID,DragAndDropController,2);init_editorExtensions();init_editorFeatures();init_dom();init_arrays();init_async();init_arrays();init_iterator();var generateUuid=function(){if(typeof crypto==="object"&&typeof crypto.randomUUID==="function"){return crypto.randomUUID.bind(crypto)}let getRandomValues;if(typeof crypto==="object"&&typeof crypto.getRandomValues==="function"){getRandomValues=crypto.getRandomValues.bind(crypto)}else{getRandomValues=function(bucket){for(let i=0;i<bucket.length;i++){bucket[i]=Math.floor(Math.random()*256)}return bucket}}const _data=new Uint8Array(16);const _hex=[];for(let i=0;i<256;i++){_hex.push(i.toString(16).padStart(2,"0"))}return function generateUuid2(){getRandomValues(_data);_data[6]=_data[6]&15|64;_data[8]=_data[8]&63|128;let i=0;let result="";result+=_hex[_data[i++]];result+=_hex[_data[i++]];result+=_hex[_data[i++]];result+=_hex[_data[i++]];result+="-";result+=_hex[_data[i++]];result+=_hex[_data[i++]];result+="-";result+=_hex[_data[i++]];result+=_hex[_data[i++]];result+="-";result+=_hex[_data[i++]];result+=_hex[_data[i++]];result+="-";result+=_hex[_data[i++]];result+=_hex[_data[i++]];result+=_hex[_data[i++]];result+=_hex[_data[i++]];result+=_hex[_data[i++]];result+=_hex[_data[i++]];return result}}();var __awaiter58=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};function createStringDataTransferItem(stringOrPromise){return{asString:()=>__awaiter58(this,void 0,void 0,(function*(){return stringOrPromise})),asFile:()=>void 0,value:typeof stringOrPromise==="string"?stringOrPromise:void 0}}function createFileDataTransferItem(fileName,uri,data){const file={id:generateUuid(),name:fileName,uri:uri,data:data};return{asString:()=>__awaiter58(this,void 0,void 0,(function*(){return""})),asFile:()=>file,value:void 0}}var VSDataTransfer=class{constructor(){this._entries=new Map}get size(){let size2=0;for(const _ of this._entries){size2++}return size2}has(mimeType){return this._entries.has(this.toKey(mimeType))}matches(pattern){const mimes=[...this._entries.keys()];if(Iterable.some(this,(([_,item])=>item.asFile()))){mimes.push("files")}return matchesMimeType_normalized(normalizeMimeType(pattern),mimes)}get(mimeType){var _a6;return(_a6=this._entries.get(this.toKey(mimeType)))===null||_a6===void 0?void 0:_a6[0]}append(mimeType,value){const existing=this._entries.get(mimeType);if(existing){existing.push(value)}else{this._entries.set(this.toKey(mimeType),[value])}}replace(mimeType,value){this._entries.set(this.toKey(mimeType),[value])}delete(mimeType){this._entries.delete(this.toKey(mimeType))}*[Symbol.iterator](){for(const[mine,items]of this._entries){for(const item of items){yield[mine,item]}}}toKey(mimeType){return normalizeMimeType(mimeType)}};function normalizeMimeType(mimeType){return mimeType.toLowerCase()}function matchesMimeType(pattern,mimeTypes){return matchesMimeType_normalized(normalizeMimeType(pattern),mimeTypes.map(normalizeMimeType))}function matchesMimeType_normalized(normalizedPattern,normalizedMimeTypes){if(normalizedPattern==="*/*"){return normalizedMimeTypes.length>0}if(normalizedMimeTypes.includes(normalizedPattern)){return true}const wildcard=normalizedPattern.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!wildcard){return false}const[_,type,subtype]=wildcard;if(subtype==="*"){return normalizedMimeTypes.some((mime=>mime.startsWith(type+"/")))}return false}var UriList=Object.freeze({create:entries2=>distinct(entries2.map((x=>x.toString()))).join("\r\n"),split:str=>str.split("\r\n"),parse:str=>UriList.split(str).filter((value=>!value.startsWith("#")))});init_lifecycle();init_mime();init_platform();init_textAreaInput();init_dnd();init_mime();init_uri();init_platform2();var CodeDataTransfers={EDITORS:"CodeEditors",FILES:"CodeFiles"};var DragAndDropContributionRegistry=class{};var Extensions10={DragAndDropContribution:"workbench.contributions.dragAndDrop"};Registry.add(Extensions10.DragAndDropContribution,new DragAndDropContributionRegistry);var LocalSelectionTransfer=class{constructor(){}static getInstance(){return LocalSelectionTransfer.INSTANCE}hasData(proto){return proto&&proto===this.proto}getData(proto){if(this.hasData(proto)){return this.data}return void 0}};LocalSelectionTransfer.INSTANCE=new LocalSelectionTransfer;var __awaiter59=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};function toVSDataTransfer(dataTransfer){const vsDataTransfer=new VSDataTransfer;for(const item of dataTransfer.items){const type=item.type;if(item.kind==="string"){const asStringValue=new Promise((resolve2=>item.getAsString(resolve2)));vsDataTransfer.append(type,createStringDataTransferItem(asStringValue))}else if(item.kind==="file"){const file=item.getAsFile();if(file){vsDataTransfer.append(type,createFileDataTransferItemFromFile(file))}}}return vsDataTransfer}function createFileDataTransferItemFromFile(file){const uri=file.path?URI.parse(file.path):void 0;return createFileDataTransferItem(file.name,uri,(()=>__awaiter59(this,void 0,void 0,(function*(){return new Uint8Array(yield file.arrayBuffer())}))))}var INTERNAL_DND_MIME_TYPES=Object.freeze([CodeDataTransfers.EDITORS,CodeDataTransfers.FILES,DataTransfers.RESOURCES,DataTransfers.INTERNAL_URI_LIST]);function toExternalVSDataTransfer(sourceDataTransfer,overwriteUriList=false){const vsDataTransfer=toVSDataTransfer(sourceDataTransfer);const uriList=vsDataTransfer.get(DataTransfers.INTERNAL_URI_LIST);if(uriList){vsDataTransfer.replace(Mimes.uriList,uriList)}else{if(overwriteUriList||!vsDataTransfer.has(Mimes.uriList)){const editorData=[];for(const item of sourceDataTransfer.items){const file=item.getAsFile();if(file){const path=file.path;try{if(path){editorData.push(URI.file(path).toString())}else{editorData.push(URI.parse(file.name,true).toString())}}catch(_a6){}}}if(editorData.length){vsDataTransfer.replace(Mimes.uriList,createStringDataTransferItem(UriList.create(editorData)))}}}for(const internal of INTERNAL_DND_MIME_TYPES){vsDataTransfer.delete(internal)}return vsDataTransfer}init_bulkEditService();init_range();init_languageFeatures();init_bulkEditService();function createCombinedWorkspaceEdit(uri,ranges,edit){var _a6,_b3;return{edits:[...ranges.map((range2=>new ResourceTextEdit(uri,typeof edit.insertText==="string"?{range:range2,text:edit.insertText,insertAsSnippet:false}:{range:range2,text:edit.insertText.snippet,insertAsSnippet:true}))),...(_b3=(_a6=edit.additionalEdit)===null||_a6===void 0?void 0:_a6.edits)!==null&&_b3!==void 0?_b3:[]]}}function sortEditsByYieldTo(edits){var _a6;function yieldsTo(yTo,other){return"providerId"in yTo&&yTo.providerId===other.providerId||"mimeType"in yTo&&yTo.mimeType===other.handledMimeType}const yieldsToMap=new Map;for(const edit of edits){for(const yTo of(_a6=edit.yieldTo)!==null&&_a6!==void 0?_a6:[]){for(const other of edits){if(other===edit){continue}if(yieldsTo(yTo,other)){let arr=yieldsToMap.get(edit);if(!arr){arr=[];yieldsToMap.set(edit,arr)}arr.push(other)}}}}if(!yieldsToMap.size){return Array.from(edits)}const visited=new Set;const tempStack=[];function visit(nodes){if(!nodes.length){return[]}const node=nodes[0];if(tempStack.includes(node)){console.warn(`Yield to cycle detected for ${node.providerId}`);return nodes}if(visited.has(node)){return visit(nodes.slice(1))}let pre=[];const yTo=yieldsToMap.get(node);if(yTo){tempStack.push(node);pre=visit(yTo);tempStack.pop()}visited.add(node);return[...pre,node,...visit(nodes.slice(1))]}return visit(Array.from(edits))}init_editorState();init_dom();init_async();init_codicons();init_lifecycle();init_strings();init_themables();init_range();init_textModel();init_instantiation();var __decorate83=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param76=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter60=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var inlineProgressDecoration=ModelDecorationOptions.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:true,after:{content:noBreakWhitespace,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:true}});var InlineProgressWidget=class extends Disposable{constructor(typeId,editor2,range2,title,delegate){super();this.typeId=typeId;this.editor=editor2;this.range=range2;this.delegate=delegate;this.allowEditorOverflow=false;this.suppressMouseDown=true;this.create(title);this.editor.addContentWidget(this);this.editor.layoutContentWidget(this)}create(title){this.domNode=$(".inline-progress-widget");this.domNode.role="button";this.domNode.title=title;const iconElement=$("span.icon");this.domNode.append(iconElement);iconElement.classList.add(...ThemeIcon.asClassNameArray(Codicon.loading),"codicon-modifier-spin");const updateSize=()=>{const lineHeight=this.editor.getOption(65);this.domNode.style.height=`${lineHeight}px`;this.domNode.style.width=`${Math.ceil(.8*lineHeight)}px`};updateSize();this._register(this.editor.onDidChangeConfiguration((c=>{if(c.hasChanged(51)||c.hasChanged(65)){updateSize()}})));this._register(addDisposableListener(this.domNode,EventType.CLICK,(e=>{this.delegate.cancel()})))}getId(){return InlineProgressWidget.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:{lineNumber:this.range.startLineNumber,column:this.range.startColumn},preference:[0]}}dispose(){super.dispose();this.editor.removeContentWidget(this)}};InlineProgressWidget.baseId="editor.widget.inlineProgressWidget";var InlineProgressManager=class InlineProgressManager2 extends Disposable{constructor(id,_editor,_instantiationService){super();this.id=id;this._editor=_editor;this._instantiationService=_instantiationService;this._showDelay=500;this._showPromise=this._register(new MutableDisposable);this._currentWidget=new MutableDisposable;this._operationIdPool=0;this._currentDecorations=_editor.createDecorationsCollection()}showWhile(position,title,promise){return __awaiter60(this,void 0,void 0,(function*(){const operationId=this._operationIdPool++;this._currentOperation=operationId;this.clear();this._showPromise.value=disposableTimeout((()=>{const range2=Range.fromPositions(position);const decorationIds=this._currentDecorations.set([{range:range2,options:inlineProgressDecoration}]);if(decorationIds.length>0){this._currentWidget.value=this._instantiationService.createInstance(InlineProgressWidget,this.id,this._editor,range2,title,promise)}}),this._showDelay);try{return yield promise}finally{if(this._currentOperation===operationId){this.clear();this._currentOperation=void 0}}}))}clear(){this._showPromise.clear();this._currentDecorations.clear();this._currentWidget.clear()}};InlineProgressManager=__decorate83([__param76(2,IInstantiationService)],InlineProgressManager);init_nls();init_clipboardService();init_contextkey();init_instantiation();init_progress();init_quickInput();init_dom();init_button();init_actions();init_event();init_lifecycle();init_bulkEditService();init_contextkey();init_contextView();init_instantiation();init_keybinding();var __decorate84=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param77=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter61=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var PostEditWidget_1;var PostEditWidget=PostEditWidget_1=class PostEditWidget2 extends Disposable{constructor(typeId,editor2,visibleContext,showCommand,range2,edits,onSelectNewEdit,_contextMenuService,contextKeyService,_keybindingService){super();this.typeId=typeId;this.editor=editor2;this.showCommand=showCommand;this.range=range2;this.edits=edits;this.onSelectNewEdit=onSelectNewEdit;this._contextMenuService=_contextMenuService;this._keybindingService=_keybindingService;this.allowEditorOverflow=true;this.suppressMouseDown=true;this.create();this.visibleContext=visibleContext.bindTo(contextKeyService);this.visibleContext.set(true);this._register(toDisposable((()=>this.visibleContext.reset())));this.editor.addContentWidget(this);this.editor.layoutContentWidget(this);this._register(toDisposable((()=>this.editor.removeContentWidget(this))));this._register(this.editor.onDidChangeCursorPosition((e=>{if(!range2.containsPosition(e.position)){this.dispose()}})));this._register(Event.runAndSubscribe(_keybindingService.onDidUpdateKeybindings,(()=>{this._updateButtonTitle()})))}_updateButtonTitle(){var _a6;const binding=(_a6=this._keybindingService.lookupKeybinding(this.showCommand.id))===null||_a6===void 0?void 0:_a6.getLabel();this.button.element.title=this.showCommand.label+(binding?` (${binding})`:"")}create(){this.domNode=$(".post-edit-widget");this.button=this._register(new Button(this.domNode,{supportIcons:true}));this.button.label="$(insert)";this._register(addDisposableListener(this.domNode,EventType.CLICK,(()=>this.showSelector())))}getId(){return PostEditWidget_1.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const pos=getDomNodePagePosition(this.button.element);return{x:pos.left+pos.width,y:pos.top+pos.height}},getActions:()=>this.edits.allEdits.map(((edit,i)=>toAction({id:"",label:edit.label,checked:i===this.edits.activeEditIndex,run:()=>{if(i!==this.edits.activeEditIndex){return this.onSelectNewEdit(i)}}})))})}};PostEditWidget.baseId="editor.widget.postEditWidget";PostEditWidget=PostEditWidget_1=__decorate84([__param77(7,IContextMenuService),__param77(8,IContextKeyService),__param77(9,IKeybindingService)],PostEditWidget);var PostEditWidgetManager=class PostEditWidgetManager2 extends Disposable{constructor(_id,_editor,_visibleContext,_showCommand,_instantiationService,_bulkEditService){super();this._id=_id;this._editor=_editor;this._visibleContext=_visibleContext;this._showCommand=_showCommand;this._instantiationService=_instantiationService;this._bulkEditService=_bulkEditService;this._currentWidget=this._register(new MutableDisposable);this._register(Event.any(_editor.onDidChangeModel,_editor.onDidChangeModelContent)((()=>this.clear())))}applyEditAndShowIfNeeded(ranges,edits,canShowWidget,token){var _a6,_b3;return __awaiter61(this,void 0,void 0,(function*(){const model=this._editor.getModel();if(!model||!ranges.length){return}const edit=edits.allEdits[edits.activeEditIndex];if(!edit){return}let insertTextEdit=[];if(typeof edit.insertText==="string"?edit.insertText==="":edit.insertText.snippet===""){insertTextEdit=[]}else{insertTextEdit=ranges.map((range2=>new ResourceTextEdit(model.uri,typeof edit.insertText==="string"?{range:range2,text:edit.insertText,insertAsSnippet:false}:{range:range2,text:edit.insertText.snippet,insertAsSnippet:true})))}const allEdits=[...insertTextEdit,...(_b3=(_a6=edit.additionalEdit)===null||_a6===void 0?void 0:_a6.edits)!==null&&_b3!==void 0?_b3:[]];const combinedWorkspaceEdit={edits:allEdits};const primaryRange=ranges[0];const editTrackingDecoration=model.deltaDecorations([],[{range:primaryRange,options:{description:"paste-line-suffix",stickiness:0}}]);let editResult;let editRange;try{editResult=yield this._bulkEditService.apply(combinedWorkspaceEdit,{editor:this._editor,token:token});editRange=model.getDecorationRange(editTrackingDecoration[0])}finally{model.deltaDecorations(editTrackingDecoration,[])}if(canShowWidget&&editResult.isApplied&&edits.allEdits.length>1){this.show(editRange!==null&&editRange!==void 0?editRange:primaryRange,edits,(newEditIndex=>__awaiter61(this,void 0,void 0,(function*(){const model2=this._editor.getModel();if(!model2){return}yield model2.undo();this.applyEditAndShowIfNeeded(ranges,{activeEditIndex:newEditIndex,allEdits:edits.allEdits},canShowWidget,token)}))))}}))}show(range2,edits,onDidSelectEdit){this.clear();if(this._editor.hasModel()){this._currentWidget.value=this._instantiationService.createInstance(PostEditWidget,this._id,this._editor,this._visibleContext,this._showCommand,range2,edits,onDidSelectEdit)}}clear(){this._currentWidget.clear()}tryShowSelector(){var _a6;(_a6=this._currentWidget.value)===null||_a6===void 0?void 0:_a6.showSelector()}};PostEditWidgetManager=__decorate84([__param77(4,IInstantiationService),__param77(5,IBulkEditService)],PostEditWidgetManager);var __decorate85=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param78=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter62=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var CopyPasteController_1;var changePasteTypeCommandId="editor.changePasteType";var pasteWidgetVisibleCtx=new RawContextKey("pasteWidgetVisible",false,localize("pasteWidgetVisible","Whether the paste widget is showing"));var vscodeClipboardMime="application/vnd.code.copyMetadata";var CopyPasteController=CopyPasteController_1=class CopyPasteController2 extends Disposable{static get(editor2){return editor2.getContribution(CopyPasteController_1.ID)}constructor(editor2,instantiationService,_bulkEditService,_clipboardService,_languageFeaturesService,_quickInputService,_progressService){super();this._bulkEditService=_bulkEditService;this._clipboardService=_clipboardService;this._languageFeaturesService=_languageFeaturesService;this._quickInputService=_quickInputService;this._progressService=_progressService;this._editor=editor2;const container=editor2.getContainerDomNode();this._register(addDisposableListener(container,"copy",(e=>this.handleCopy(e))));this._register(addDisposableListener(container,"cut",(e=>this.handleCopy(e))));this._register(addDisposableListener(container,"paste",(e=>this.handlePaste(e)),true));this._pasteProgressManager=this._register(new InlineProgressManager("pasteIntoEditor",editor2,instantiationService));this._postPasteWidgetManager=this._register(instantiationService.createInstance(PostEditWidgetManager,"pasteIntoEditor",editor2,pasteWidgetVisibleCtx,{id:changePasteTypeCommandId,label:localize("postPasteWidgetTitle","Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(preferredId){this._editor.focus();try{this._pasteAsActionContext={preferredId:preferredId};document.execCommand("paste")}finally{this._pasteAsActionContext=void 0}}isPasteAsEnabled(){return this._editor.getOption(83).enabled&&!this._editor.getOption(89)}handleCopy(e){var _a6,_b3;if(!this._editor.hasTextFocus()){return}if(isWeb){this._clipboardService.writeResources([])}if(!e.clipboardData||!this.isPasteAsEnabled()){return}const model=this._editor.getModel();const selections=this._editor.getSelections();if(!model||!(selections===null||selections===void 0?void 0:selections.length)){return}const enableEmptySelectionClipboard=this._editor.getOption(36);let ranges=selections;const wasFromEmptySelection=selections.length===1&&selections[0].isEmpty();if(wasFromEmptySelection){if(!enableEmptySelectionClipboard){return}ranges=[new Range(ranges[0].startLineNumber,1,ranges[0].startLineNumber,1+model.getLineLength(ranges[0].startLineNumber))]}const toCopy=(_a6=this._editor._getViewModel())===null||_a6===void 0?void 0:_a6.getPlainTextToCopy(selections,enableEmptySelectionClipboard,isWindows);const multicursorText=Array.isArray(toCopy)?toCopy:null;const defaultPastePayload={multicursorText:multicursorText,pasteOnNewLine:wasFromEmptySelection,mode:null};const providers=this._languageFeaturesService.documentPasteEditProvider.ordered(model).filter((x=>!!x.prepareDocumentPaste));if(!providers.length){this.setCopyMetadata(e.clipboardData,{defaultPastePayload:defaultPastePayload});return}const dataTransfer=toVSDataTransfer(e.clipboardData);const providerCopyMimeTypes=providers.flatMap((x=>{var _a7;return(_a7=x.copyMimeTypes)!==null&&_a7!==void 0?_a7:[]}));const handle=generateUuid();this.setCopyMetadata(e.clipboardData,{id:handle,providerCopyMimeTypes:providerCopyMimeTypes,defaultPastePayload:defaultPastePayload});const promise=createCancelablePromise((token=>__awaiter62(this,void 0,void 0,(function*(){const results=coalesce(yield Promise.all(providers.map((provider=>__awaiter62(this,void 0,void 0,(function*(){try{return yield provider.prepareDocumentPaste(model,ranges,dataTransfer,token)}catch(err){console.error(err);return void 0}}))))));results.reverse();for(const result of results){for(const[mime,value]of result){dataTransfer.replace(mime,value)}}return dataTransfer}))));(_b3=this._currentCopyOperation)===null||_b3===void 0?void 0:_b3.dataTransferPromise.cancel();this._currentCopyOperation={handle:handle,dataTransferPromise:promise}}handlePaste(e){var _a6,_b3;return __awaiter62(this,void 0,void 0,(function*(){if(!e.clipboardData||!this._editor.hasTextFocus()){return}(_a6=this._currentPasteOperation)===null||_a6===void 0?void 0:_a6.cancel();this._currentPasteOperation=void 0;const model=this._editor.getModel();const selections=this._editor.getSelections();if(!(selections===null||selections===void 0?void 0:selections.length)||!model){return}if(!this.isPasteAsEnabled()){return}const metadata=this.fetchCopyMetadata(e);const dataTransfer=toExternalVSDataTransfer(e.clipboardData);dataTransfer.delete(vscodeClipboardMime);const allPotentialMimeTypes=[...e.clipboardData.types,...(_b3=metadata===null||metadata===void 0?void 0:metadata.providerCopyMimeTypes)!==null&&_b3!==void 0?_b3:[],Mimes.uriList];const allProviders=this._languageFeaturesService.documentPasteEditProvider.ordered(model).filter((provider=>{var _a7;return(_a7=provider.pasteMimeTypes)===null||_a7===void 0?void 0:_a7.some((type=>matchesMimeType(type,allPotentialMimeTypes)))}));if(!allProviders.length){return}e.preventDefault();e.stopImmediatePropagation();if(this._pasteAsActionContext){this.showPasteAsPick(this._pasteAsActionContext.preferredId,allProviders,selections,dataTransfer,metadata)}else{this.doPasteInline(allProviders,selections,dataTransfer,metadata)}}))}doPasteInline(allProviders,selections,dataTransfer,metadata){const p=createCancelablePromise((token=>__awaiter62(this,void 0,void 0,(function*(){const editor2=this._editor;if(!editor2.hasModel()){return}const model=editor2.getModel();const tokenSource=new EditorStateCancellationTokenSource(editor2,1|2,void 0,token);try{yield this.mergeInDataFromCopy(dataTransfer,metadata,tokenSource.token);if(tokenSource.token.isCancellationRequested){return}const supportedProviders=allProviders.filter((provider=>isSupportedPasteProvider(provider,dataTransfer)));if(!supportedProviders.length||supportedProviders.length===1&&supportedProviders[0].id==="text"){yield this.applyDefaultPasteHandler(dataTransfer,metadata,tokenSource.token);return}const providerEdits=yield this.getPasteEdits(supportedProviders,dataTransfer,model,selections,tokenSource.token);if(tokenSource.token.isCancellationRequested){return}if(providerEdits.length===1&&providerEdits[0].providerId==="text"){yield this.applyDefaultPasteHandler(dataTransfer,metadata,tokenSource.token);return}if(providerEdits.length){const canShowWidget=editor2.getOption(83).showPasteSelector==="afterPaste";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(selections,{activeEditIndex:0,allEdits:providerEdits},canShowWidget,tokenSource.token)}yield this.applyDefaultPasteHandler(dataTransfer,metadata,tokenSource.token)}finally{tokenSource.dispose();if(this._currentPasteOperation===p){this._currentPasteOperation=void 0}}}))));this._pasteProgressManager.showWhile(selections[0].getEndPosition(),localize("pasteIntoEditorProgress","Running paste handlers. Click to cancel"),p);this._currentPasteOperation=p}showPasteAsPick(preferredId,allProviders,selections,dataTransfer,metadata){const p=createCancelablePromise((token=>__awaiter62(this,void 0,void 0,(function*(){const editor2=this._editor;if(!editor2.hasModel()){return}const model=editor2.getModel();const tokenSource=new EditorStateCancellationTokenSource(editor2,1|2,void 0,token);try{yield this.mergeInDataFromCopy(dataTransfer,metadata,tokenSource.token);if(tokenSource.token.isCancellationRequested){return}let supportedProviders=allProviders.filter((provider=>isSupportedPasteProvider(provider,dataTransfer)));if(preferredId){supportedProviders=supportedProviders.filter((edit=>edit.id===preferredId))}const providerEdits=yield this.getPasteEdits(supportedProviders,dataTransfer,model,selections,tokenSource.token);if(tokenSource.token.isCancellationRequested){return}if(!providerEdits.length){return}let pickedEdit;if(preferredId){pickedEdit=providerEdits.at(0)}else{const selected=yield this._quickInputService.pick(providerEdits.map((edit=>({label:edit.label,description:edit.providerId,detail:edit.detail,edit:edit}))),{placeHolder:localize("pasteAsPickerPlaceholder","Select Paste Action")});pickedEdit=selected===null||selected===void 0?void 0:selected.edit}if(!pickedEdit){return}const combinedWorkspaceEdit=createCombinedWorkspaceEdit(model.uri,selections,pickedEdit);yield this._bulkEditService.apply(combinedWorkspaceEdit,{editor:this._editor})}finally{tokenSource.dispose();if(this._currentPasteOperation===p){this._currentPasteOperation=void 0}}}))));this._progressService.withProgress({location:10,title:localize("pasteAsProgress","Running paste handlers")},(()=>p))}setCopyMetadata(dataTransfer,metadata){dataTransfer.setData(vscodeClipboardMime,JSON.stringify(metadata))}fetchCopyMetadata(e){var _a6;if(!e.clipboardData){return}const rawMetadata=e.clipboardData.getData(vscodeClipboardMime);if(rawMetadata){try{return JSON.parse(rawMetadata)}catch(_b3){return void 0}}const[_,metadata]=ClipboardEventUtils.getTextData(e.clipboardData);if(metadata){return{defaultPastePayload:{mode:metadata.mode,multicursorText:(_a6=metadata.multicursorText)!==null&&_a6!==void 0?_a6:null,pasteOnNewLine:!!metadata.isFromEmptySelection}}}return void 0}mergeInDataFromCopy(dataTransfer,metadata,token){var _a6;return __awaiter62(this,void 0,void 0,(function*(){if((metadata===null||metadata===void 0?void 0:metadata.id)&&((_a6=this._currentCopyOperation)===null||_a6===void 0?void 0:_a6.handle)===metadata.id){const toMergeDataTransfer=yield this._currentCopyOperation.dataTransferPromise;if(token.isCancellationRequested){return}for(const[key,value]of toMergeDataTransfer){dataTransfer.replace(key,value)}}if(!dataTransfer.has(Mimes.uriList)){const resources=yield this._clipboardService.readResources();if(token.isCancellationRequested){return}if(resources.length){dataTransfer.append(Mimes.uriList,createStringDataTransferItem(UriList.create(resources)))}}}))}getPasteEdits(providers,dataTransfer,model,selections,token){return __awaiter62(this,void 0,void 0,(function*(){const results=yield raceCancellation(Promise.all(providers.map((provider=>__awaiter62(this,void 0,void 0,(function*(){var _a6;try{const edit=yield(_a6=provider.provideDocumentPasteEdits)===null||_a6===void 0?void 0:_a6.call(provider,model,selections,dataTransfer,token);if(edit){return Object.assign(Object.assign({},edit),{providerId:provider.id})}}catch(err){console.error(err)}return void 0}))))),token);const edits=coalesce(results!==null&&results!==void 0?results:[]);sortEditsByYieldTo(edits);return edits}))}applyDefaultPasteHandler(dataTransfer,metadata,token){var _a6,_b3,_c2;return __awaiter62(this,void 0,void 0,(function*(){const textDataTransfer=(_a6=dataTransfer.get(Mimes.text))!==null&&_a6!==void 0?_a6:dataTransfer.get("text");if(!textDataTransfer){return}const text2=yield textDataTransfer.asString();if(token.isCancellationRequested){return}const payload={text:text2,pasteOnNewLine:(_b3=metadata===null||metadata===void 0?void 0:metadata.defaultPastePayload.pasteOnNewLine)!==null&&_b3!==void 0?_b3:false,multicursorText:(_c2=metadata===null||metadata===void 0?void 0:metadata.defaultPastePayload.multicursorText)!==null&&_c2!==void 0?_c2:null,mode:null};this._editor.trigger("keyboard","paste",payload)}))}};CopyPasteController.ID="editor.contrib.copyPasteActionController";CopyPasteController=CopyPasteController_1=__decorate85([__param78(1,IInstantiationService),__param78(2,IBulkEditService),__param78(3,IClipboardService),__param78(4,ILanguageFeaturesService),__param78(5,IQuickInputService),__param78(6,IProgressService)],CopyPasteController);function isSupportedPasteProvider(provider,dataTransfer){var _a6;return Boolean((_a6=provider.pasteMimeTypes)===null||_a6===void 0?void 0:_a6.some((type=>dataTransfer.matches(type))))}init_arrays();init_lifecycle();init_mime();init_network();init_resources();init_uri();init_languageFeatures();init_nls();init_workspace();var __decorate86=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param79=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter63=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var builtInLabel=localize("builtIn","Built-in");var SimplePasteAndDropProvider=class{provideDocumentPasteEdits(_model,_ranges,dataTransfer,token){return __awaiter63(this,void 0,void 0,(function*(){const edit=yield this.getEdit(dataTransfer,token);return edit?{insertText:edit.insertText,label:edit.label,detail:edit.detail,handledMimeType:edit.handledMimeType,yieldTo:edit.yieldTo}:void 0}))}provideDocumentOnDropEdits(_model,_position,dataTransfer,token){return __awaiter63(this,void 0,void 0,(function*(){const edit=yield this.getEdit(dataTransfer,token);return edit?{insertText:edit.insertText,label:edit.label,handledMimeType:edit.handledMimeType,yieldTo:edit.yieldTo}:void 0}))}};var DefaultTextProvider=class extends SimplePasteAndDropProvider{constructor(){super(...arguments);this.id="text";this.dropMimeTypes=[Mimes.text];this.pasteMimeTypes=[Mimes.text]}getEdit(dataTransfer,_token){return __awaiter63(this,void 0,void 0,(function*(){const textEntry=dataTransfer.get(Mimes.text);if(!textEntry){return}if(dataTransfer.has(Mimes.uriList)){return}const insertText=yield textEntry.asString();return{handledMimeType:Mimes.text,label:localize("text.label","Insert Plain Text"),detail:builtInLabel,insertText:insertText}}))}};var PathProvider=class extends SimplePasteAndDropProvider{constructor(){super(...arguments);this.id="uri";this.dropMimeTypes=[Mimes.uriList];this.pasteMimeTypes=[Mimes.uriList]}getEdit(dataTransfer,token){return __awaiter63(this,void 0,void 0,(function*(){const entries2=yield extractUriList(dataTransfer);if(!entries2.length||token.isCancellationRequested){return}let uriCount=0;const insertText=entries2.map((({uri:uri,originalText:originalText})=>{if(uri.scheme===Schemas.file){return uri.fsPath}else{uriCount++;return originalText}})).join(" ");let label;if(uriCount>0){label=entries2.length>1?localize("defaultDropProvider.uriList.uris","Insert Uris"):localize("defaultDropProvider.uriList.uri","Insert Uri")}else{label=entries2.length>1?localize("defaultDropProvider.uriList.paths","Insert Paths"):localize("defaultDropProvider.uriList.path","Insert Path")}return{handledMimeType:Mimes.uriList,insertText:insertText,label:label,detail:builtInLabel}}))}};var RelativePathProvider=class RelativePathProvider2 extends SimplePasteAndDropProvider{constructor(_workspaceContextService){super();this._workspaceContextService=_workspaceContextService;this.id="relativePath";this.dropMimeTypes=[Mimes.uriList];this.pasteMimeTypes=[Mimes.uriList]}getEdit(dataTransfer,token){return __awaiter63(this,void 0,void 0,(function*(){const entries2=yield extractUriList(dataTransfer);if(!entries2.length||token.isCancellationRequested){return}const relativeUris=coalesce(entries2.map((({uri:uri})=>{const root=this._workspaceContextService.getWorkspaceFolder(uri);return root?relativePath(root.uri,uri):void 0})));if(!relativeUris.length){return}return{handledMimeType:Mimes.uriList,insertText:relativeUris.join(" "),label:entries2.length>1?localize("defaultDropProvider.uriList.relativePaths","Insert Relative Paths"):localize("defaultDropProvider.uriList.relativePath","Insert Relative Path"),detail:builtInLabel}}))}};RelativePathProvider=__decorate86([__param79(0,IWorkspaceContextService)],RelativePathProvider);function extractUriList(dataTransfer){return __awaiter63(this,void 0,void 0,(function*(){const urlListEntry=dataTransfer.get(Mimes.uriList);if(!urlListEntry){return[]}const strUriList=yield urlListEntry.asString();const entries2=[];for(const entry of UriList.parse(strUriList)){try{entries2.push({uri:URI.parse(entry),originalText:entry})}catch(_a6){}}return entries2}))}var DefaultDropProvidersFeature=class DefaultDropProvidersFeature2 extends Disposable{constructor(languageFeaturesService,workspaceContextService){super();this._register(languageFeaturesService.documentOnDropEditProvider.register("*",new DefaultTextProvider));this._register(languageFeaturesService.documentOnDropEditProvider.register("*",new PathProvider));this._register(languageFeaturesService.documentOnDropEditProvider.register("*",new RelativePathProvider(workspaceContextService)))}};DefaultDropProvidersFeature=__decorate86([__param79(0,ILanguageFeaturesService),__param79(1,IWorkspaceContextService)],DefaultDropProvidersFeature);var DefaultPasteProvidersFeature=class DefaultPasteProvidersFeature2 extends Disposable{constructor(languageFeaturesService,workspaceContextService){super();this._register(languageFeaturesService.documentPasteEditProvider.register("*",new DefaultTextProvider));this._register(languageFeaturesService.documentPasteEditProvider.register("*",new PathProvider));this._register(languageFeaturesService.documentPasteEditProvider.register("*",new RelativePathProvider(workspaceContextService)))}};DefaultPasteProvidersFeature=__decorate86([__param79(0,ILanguageFeaturesService),__param79(1,IWorkspaceContextService)],DefaultPasteProvidersFeature);init_nls();registerEditorContribution(CopyPasteController.ID,CopyPasteController,0);registerEditorFeature(DefaultPasteProvidersFeature);registerEditorCommand(new class extends EditorCommand{constructor(){super({id:changePasteTypeCommandId,precondition:pasteWidgetVisibleCtx,kbOpts:{weight:100,primary:2048|89}})}runEditorCommand(_accessor,editor2,_args){var _a6;return(_a6=CopyPasteController.get(editor2))===null||_a6===void 0?void 0:_a6.changePasteType()}});registerEditorAction(class extends EditorAction{constructor(){super({id:"editor.action.pasteAs",label:localize("pasteAs","Paste As..."),alias:"Paste As...",precondition:void 0,description:{description:"Paste as",args:[{name:"args",schema:{type:"object",properties:{id:{type:"string",description:localize("pasteAs.id","The id of the paste edit to try applying. If not provided, the editor will show a picker.")}}}}]}})}run(_accessor,editor2,args){var _a6;const id=typeof(args===null||args===void 0?void 0:args.id)==="string"?args.id:void 0;return(_a6=CopyPasteController.get(editor2))===null||_a6===void 0?void 0:_a6.pasteAs(id)}});init_editorExtensions();init_editorConfigurationSchema();init_editorFeatures();init_nls();init_configurationRegistry();init_platform2();init_arrays();init_async();init_lifecycle();init_range();init_languageFeatures();var TreeViewsDnDService=class{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(uuid){if(uuid&&this._dragOperations.has(uuid)){const operation=this._dragOperations.get(uuid);this._dragOperations.delete(uuid);return operation}return void 0}};var DraggedTreeItemsIdentifier=class{constructor(identifier2){this.identifier=identifier2}};init_extensions();init_instantiation();var ITreeViewsDnDService=createDecorator("treeViewsDndService");registerSingleton(ITreeViewsDnDService,TreeViewsDnDService,1);init_editorState();init_nls();init_configuration();init_contextkey();init_instantiation();var __decorate87=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param80=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter64=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var DropIntoEditorController_1;var defaultProviderConfig="editor.experimental.dropIntoEditor.defaultProvider";var changeDropTypeCommandId="editor.changeDropType";var dropWidgetVisibleCtx=new RawContextKey("dropWidgetVisible",false,localize("dropWidgetVisible","Whether the drop widget is showing"));var DropIntoEditorController=DropIntoEditorController_1=class DropIntoEditorController2 extends Disposable{static get(editor2){return editor2.getContribution(DropIntoEditorController_1.ID)}constructor(editor2,instantiationService,_configService,_languageFeaturesService,_treeViewsDragAndDropService){super();this._configService=_configService;this._languageFeaturesService=_languageFeaturesService;this._treeViewsDragAndDropService=_treeViewsDragAndDropService;this.treeItemsTransfer=LocalSelectionTransfer.getInstance();this._dropProgressManager=this._register(instantiationService.createInstance(InlineProgressManager,"dropIntoEditor",editor2));this._postDropWidgetManager=this._register(instantiationService.createInstance(PostEditWidgetManager,"dropIntoEditor",editor2,dropWidgetVisibleCtx,{id:changeDropTypeCommandId,label:localize("postDropWidgetTitle","Show drop options...")}));this._register(editor2.onDropIntoEditor((e=>this.onDropIntoEditor(editor2,e.position,e.event))))}changeDropType(){this._postDropWidgetManager.tryShowSelector()}onDropIntoEditor(editor2,position,dragEvent){var _a6;return __awaiter64(this,void 0,void 0,(function*(){if(!dragEvent.dataTransfer||!editor2.hasModel()){return}(_a6=this._currentOperation)===null||_a6===void 0?void 0:_a6.cancel();editor2.focus();editor2.setPosition(position);const p=createCancelablePromise((token=>__awaiter64(this,void 0,void 0,(function*(){const tokenSource=new EditorStateCancellationTokenSource(editor2,1,void 0,token);try{const ourDataTransfer=yield this.extractDataTransferData(dragEvent);if(ourDataTransfer.size===0||tokenSource.token.isCancellationRequested){return}const model=editor2.getModel();if(!model){return}const providers=this._languageFeaturesService.documentOnDropEditProvider.ordered(model).filter((provider=>{if(!provider.dropMimeTypes){return true}return provider.dropMimeTypes.some((mime=>ourDataTransfer.matches(mime)))}));const edits=yield this.getDropEdits(providers,model,position,ourDataTransfer,tokenSource);if(tokenSource.token.isCancellationRequested){return}if(edits.length){const activeEditIndex=this.getInitialActiveEditIndex(model,edits);const canShowWidget=editor2.getOption(35).showDropSelector==="afterDrop";yield this._postDropWidgetManager.applyEditAndShowIfNeeded([Range.fromPositions(position)],{activeEditIndex:activeEditIndex,allEdits:edits},canShowWidget,token)}}finally{tokenSource.dispose();if(this._currentOperation===p){this._currentOperation=void 0}}}))));this._dropProgressManager.showWhile(position,localize("dropIntoEditorProgress","Running drop handlers. Click to cancel"),p);this._currentOperation=p}))}getDropEdits(providers,model,position,dataTransfer,tokenSource){return __awaiter64(this,void 0,void 0,(function*(){const results=yield raceCancellation(Promise.all(providers.map((provider=>__awaiter64(this,void 0,void 0,(function*(){try{const edit=yield provider.provideDocumentOnDropEdits(model,position,dataTransfer,tokenSource.token);if(edit){return Object.assign(Object.assign({},edit),{providerId:provider.id})}}catch(err){console.error(err)}return void 0}))))),tokenSource.token);const edits=coalesce(results!==null&&results!==void 0?results:[]);return sortEditsByYieldTo(edits)}))}getInitialActiveEditIndex(model,edits){const preferredProviders=this._configService.getValue(defaultProviderConfig,{resource:model.uri});for(const[configMime,desiredId]of Object.entries(preferredProviders)){const editIndex=edits.findIndex((edit=>desiredId===edit.providerId&&edit.handledMimeType&&matchesMimeType(configMime,[edit.handledMimeType])));if(editIndex>=0){return editIndex}}return 0}extractDataTransferData(dragEvent){return __awaiter64(this,void 0,void 0,(function*(){if(!dragEvent.dataTransfer){return new VSDataTransfer}const dataTransfer=toExternalVSDataTransfer(dragEvent.dataTransfer);if(this.treeItemsTransfer.hasData(DraggedTreeItemsIdentifier.prototype)){const data=this.treeItemsTransfer.getData(DraggedTreeItemsIdentifier.prototype);if(Array.isArray(data)){for(const id of data){const treeDataTransfer=yield this._treeViewsDragAndDropService.removeDragOperationTransfer(id.identifier);if(treeDataTransfer){for(const[type,value]of treeDataTransfer){dataTransfer.replace(type,value)}}}}}return dataTransfer}))}};DropIntoEditorController.ID="editor.contrib.dropIntoEditorController";DropIntoEditorController=DropIntoEditorController_1=__decorate87([__param80(1,IInstantiationService),__param80(2,IConfigurationService),__param80(3,ILanguageFeaturesService),__param80(4,ITreeViewsDnDService)],DropIntoEditorController);registerEditorContribution(DropIntoEditorController.ID,DropIntoEditorController,2);registerEditorCommand(new class extends EditorCommand{constructor(){super({id:changeDropTypeCommandId,precondition:dropWidgetVisibleCtx,kbOpts:{weight:100,primary:2048|89}})}runEditorCommand(_accessor,editor2,_args){var _a6;(_a6=DropIntoEditorController.get(editor2))===null||_a6===void 0?void 0:_a6.changeDropType()}});registerEditorFeature(DefaultDropProvidersFeature);Registry.as(Extensions2.Configuration).registerConfiguration(Object.assign(Object.assign({},editorConfigurationBaseNode),{properties:{[defaultProviderConfig]:{type:"object",scope:5,description:localize("defaultProviderDescription","Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}}));init_async();init_lifecycle();init_strings();init_editorExtensions();init_editorColorRegistry();init_editorContextKeys();init_model();init_arrays();init_async();init_lifecycle();init_replaceCommand();init_position();init_range();init_selection();init_textModelSearch();init_range();init_model();init_textModel();init_colorRegistry();init_themeService();var FindDecorations=class{constructor(editor2){this._editor=editor2;this._decorations=[];this._overviewRulerApproximateDecorations=[];this._findScopeDecorationIds=[];this._rangeHighlightDecorationId=null;this._highlightedDecorationId=null;this._startPosition=this._editor.getPosition()}dispose(){this._editor.removeDecorations(this._allDecorations());this._decorations=[];this._overviewRulerApproximateDecorations=[];this._findScopeDecorationIds=[];this._rangeHighlightDecorationId=null;this._highlightedDecorationId=null}reset(){this._decorations=[];this._overviewRulerApproximateDecorations=[];this._findScopeDecorationIds=[];this._rangeHighlightDecorationId=null;this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){if(this._findScopeDecorationIds[0]){return this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0])}return null}getFindScopes(){if(this._findScopeDecorationIds.length){const scopes=this._findScopeDecorationIds.map((findScopeDecorationId=>this._editor.getModel().getDecorationRange(findScopeDecorationId))).filter((element=>!!element));if(scopes.length){return scopes}}return null}getStartPosition(){return this._startPosition}setStartPosition(newStartPosition){this._startPosition=newStartPosition;this.setCurrentFindMatch(null)}_getDecorationIndex(decorationId){const index=this._decorations.indexOf(decorationId);if(index>=0){return index+1}return 1}getDecorationRangeAt(index){const decorationId=index<this._decorations.length?this._decorations[index]:null;if(decorationId){return this._editor.getModel().getDecorationRange(decorationId)}return null}getCurrentMatchesPosition(desiredRange){const candidates=this._editor.getModel().getDecorationsInRange(desiredRange);for(const candidate of candidates){const candidateOpts=candidate.options;if(candidateOpts===FindDecorations._FIND_MATCH_DECORATION||candidateOpts===FindDecorations._CURRENT_FIND_MATCH_DECORATION){return this._getDecorationIndex(candidate.id)}}return 0}setCurrentFindMatch(nextMatch){let newCurrentDecorationId=null;let matchPosition=0;if(nextMatch){for(let i=0,len=this._decorations.length;i<len;i++){const range2=this._editor.getModel().getDecorationRange(this._decorations[i]);if(nextMatch.equalsRange(range2)){newCurrentDecorationId=this._decorations[i];matchPosition=i+1;break}}}if(this._highlightedDecorationId!==null||newCurrentDecorationId!==null){this._editor.changeDecorations((changeAccessor=>{if(this._highlightedDecorationId!==null){changeAccessor.changeDecorationOptions(this._highlightedDecorationId,FindDecorations._FIND_MATCH_DECORATION);this._highlightedDecorationId=null}if(newCurrentDecorationId!==null){this._highlightedDecorationId=newCurrentDecorationId;changeAccessor.changeDecorationOptions(this._highlightedDecorationId,FindDecorations._CURRENT_FIND_MATCH_DECORATION)}if(this._rangeHighlightDecorationId!==null){changeAccessor.removeDecoration(this._rangeHighlightDecorationId);this._rangeHighlightDecorationId=null}if(newCurrentDecorationId!==null){let rng=this._editor.getModel().getDecorationRange(newCurrentDecorationId);if(rng.startLineNumber!==rng.endLineNumber&&rng.endColumn===1){const lineBeforeEnd=rng.endLineNumber-1;const lineBeforeEndMaxColumn=this._editor.getModel().getLineMaxColumn(lineBeforeEnd);rng=new Range(rng.startLineNumber,rng.startColumn,lineBeforeEnd,lineBeforeEndMaxColumn)}this._rangeHighlightDecorationId=changeAccessor.addDecoration(rng,FindDecorations._RANGE_HIGHLIGHT_DECORATION)}}))}return matchPosition}set(findMatches,findScopes){this._editor.changeDecorations((accessor=>{let findMatchesOptions=FindDecorations._FIND_MATCH_DECORATION;const newOverviewRulerApproximateDecorations=[];if(findMatches.length>1e3){findMatchesOptions=FindDecorations._FIND_MATCH_NO_OVERVIEW_DECORATION;const lineCount=this._editor.getModel().getLineCount();const height=this._editor.getLayoutInfo().height;const approxPixelsPerLine=height/lineCount;const mergeLinesDelta=Math.max(2,Math.ceil(3/approxPixelsPerLine));let prevStartLineNumber=findMatches[0].range.startLineNumber;let prevEndLineNumber=findMatches[0].range.endLineNumber;for(let i=1,len=findMatches.length;i<len;i++){const range2=findMatches[i].range;if(prevEndLineNumber+mergeLinesDelta>=range2.startLineNumber){if(range2.endLineNumber>prevEndLineNumber){prevEndLineNumber=range2.endLineNumber}}else{newOverviewRulerApproximateDecorations.push({range:new Range(prevStartLineNumber,1,prevEndLineNumber,1),options:FindDecorations._FIND_MATCH_ONLY_OVERVIEW_DECORATION});prevStartLineNumber=range2.startLineNumber;prevEndLineNumber=range2.endLineNumber}}newOverviewRulerApproximateDecorations.push({range:new Range(prevStartLineNumber,1,prevEndLineNumber,1),options:FindDecorations._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const newFindMatchesDecorations=new Array(findMatches.length);for(let i=0,len=findMatches.length;i<len;i++){newFindMatchesDecorations[i]={range:findMatches[i].range,options:findMatchesOptions}}this._decorations=accessor.deltaDecorations(this._decorations,newFindMatchesDecorations);this._overviewRulerApproximateDecorations=accessor.deltaDecorations(this._overviewRulerApproximateDecorations,newOverviewRulerApproximateDecorations);if(this._rangeHighlightDecorationId){accessor.removeDecoration(this._rangeHighlightDecorationId);this._rangeHighlightDecorationId=null}if(this._findScopeDecorationIds.length){this._findScopeDecorationIds.forEach((findScopeDecorationId=>accessor.removeDecoration(findScopeDecorationId)));this._findScopeDecorationIds=[]}if(findScopes===null||findScopes===void 0?void 0:findScopes.length){this._findScopeDecorationIds=findScopes.map((findScope=>accessor.addDecoration(findScope,FindDecorations._FIND_SCOPE_DECORATION)))}}))}matchBeforePosition(position){if(this._decorations.length===0){return null}for(let i=this._decorations.length-1;i>=0;i--){const decorationId=this._decorations[i];const r=this._editor.getModel().getDecorationRange(decorationId);if(!r||r.endLineNumber>position.lineNumber){continue}if(r.endLineNumber<position.lineNumber){return r}if(r.endColumn>position.column){continue}return r}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(position){if(this._decorations.length===0){return null}for(let i=0,len=this._decorations.length;i<len;i++){const decorationId=this._decorations[i];const r=this._editor.getModel().getDecorationRange(decorationId);if(!r||r.startLineNumber<position.lineNumber){continue}if(r.startLineNumber>position.lineNumber){return r}if(r.startColumn<position.column){continue}return r}return this._editor.getModel().getDecorationRange(this._decorations[0])}_allDecorations(){let result=[];result=result.concat(this._decorations);result=result.concat(this._overviewRulerApproximateDecorations);if(this._findScopeDecorationIds.length){result.push(...this._findScopeDecorationIds)}if(this._rangeHighlightDecorationId){result.push(this._rangeHighlightDecorationId)}return result}};FindDecorations._CURRENT_FIND_MATCH_DECORATION=ModelDecorationOptions.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",showIfCollapsed:true,overviewRuler:{color:themeColorFromId(overviewRulerFindMatchForeground),position:OverviewRulerLane2.Center},minimap:{color:themeColorFromId(minimapFindMatch),position:MinimapPosition2.Inline}});FindDecorations._FIND_MATCH_DECORATION=ModelDecorationOptions.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",showIfCollapsed:true,overviewRuler:{color:themeColorFromId(overviewRulerFindMatchForeground),position:OverviewRulerLane2.Center},minimap:{color:themeColorFromId(minimapFindMatch),position:MinimapPosition2.Inline}});FindDecorations._FIND_MATCH_NO_OVERVIEW_DECORATION=ModelDecorationOptions.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:true});FindDecorations._FIND_MATCH_ONLY_OVERVIEW_DECORATION=ModelDecorationOptions.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:themeColorFromId(overviewRulerFindMatchForeground),position:OverviewRulerLane2.Center}});FindDecorations._RANGE_HIGHLIGHT_DECORATION=ModelDecorationOptions.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:true});FindDecorations._FIND_SCOPE_DECORATION=ModelDecorationOptions.register({description:"find-scope",className:"findScope",isWholeLine:true});init_range();var ReplaceAllCommand=class{constructor(editorSelection,ranges,replaceStrings){this._editorSelection=editorSelection;this._ranges=ranges;this._replaceStrings=replaceStrings;this._trackedEditorSelectionId=null}getEditOperations(model,builder){if(this._ranges.length>0){const ops=[];for(let i=0;i<this._ranges.length;i++){ops.push({range:this._ranges[i],text:this._replaceStrings[i]})}ops.sort(((o1,o2)=>Range.compareRangesUsingStarts(o1.range,o2.range)));const resultOps=[];let previousOp=ops[0];for(let i=1;i<ops.length;i++){if(previousOp.range.endLineNumber===ops[i].range.startLineNumber&&previousOp.range.endColumn===ops[i].range.startColumn){previousOp.range=previousOp.range.plusRange(ops[i].range);previousOp.text=previousOp.text+ops[i].text}else{resultOps.push(previousOp);previousOp=ops[i]}}resultOps.push(previousOp);for(const op of resultOps){builder.addEditOperation(op.range,op.text)}}this._trackedEditorSelectionId=builder.trackSelection(this._editorSelection)}computeCursorState(model,helper){return helper.getTrackedSelection(this._trackedEditorSelectionId)}};init_strings();function buildReplaceStringWithCasePreserved(matches,pattern){if(matches&&matches[0]!==""){const containsHyphens=validateSpecificSpecialCharacter(matches,pattern,"-");const containsUnderscores=validateSpecificSpecialCharacter(matches,pattern,"_");if(containsHyphens&&!containsUnderscores){return buildReplaceStringForSpecificSpecialCharacter(matches,pattern,"-")}else if(!containsHyphens&&containsUnderscores){return buildReplaceStringForSpecificSpecialCharacter(matches,pattern,"_")}if(matches[0].toUpperCase()===matches[0]){return pattern.toUpperCase()}else if(matches[0].toLowerCase()===matches[0]){return pattern.toLowerCase()}else if(containsUppercaseCharacter(matches[0][0])&&pattern.length>0){return pattern[0].toUpperCase()+pattern.substr(1)}else if(matches[0][0].toUpperCase()!==matches[0][0]&&pattern.length>0){return pattern[0].toLowerCase()+pattern.substr(1)}else{return pattern}}else{return pattern}}function validateSpecificSpecialCharacter(matches,pattern,specialCharacter){const doesContainSpecialCharacter=matches[0].indexOf(specialCharacter)!==-1&&pattern.indexOf(specialCharacter)!==-1;return doesContainSpecialCharacter&&matches[0].split(specialCharacter).length===pattern.split(specialCharacter).length}function buildReplaceStringForSpecificSpecialCharacter(matches,pattern,specialCharacter){const splitPatternAtSpecialCharacter=pattern.split(specialCharacter);const splitMatchAtSpecialCharacter=matches[0].split(specialCharacter);let replaceString="";splitPatternAtSpecialCharacter.forEach(((splitValue,index)=>{replaceString+=buildReplaceStringWithCasePreserved([splitMatchAtSpecialCharacter[index]],splitValue)+specialCharacter}));return replaceString.slice(0,-1)}var StaticValueReplacePattern=class{constructor(staticValue){this.staticValue=staticValue;this.kind=0}};var DynamicPiecesReplacePattern=class{constructor(pieces){this.pieces=pieces;this.kind=1}};var ReplacePattern=class{static fromStaticValue(value){return new ReplacePattern([ReplacePiece.staticValue(value)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(pieces){if(!pieces||pieces.length===0){this._state=new StaticValueReplacePattern("")}else if(pieces.length===1&&pieces[0].staticValue!==null){this._state=new StaticValueReplacePattern(pieces[0].staticValue)}else{this._state=new DynamicPiecesReplacePattern(pieces)}}buildReplaceString(matches,preserveCase){if(this._state.kind===0){if(preserveCase){return buildReplaceStringWithCasePreserved(matches,this._state.staticValue)}else{return this._state.staticValue}}let result="";for(let i=0,len=this._state.pieces.length;i<len;i++){const piece=this._state.pieces[i];if(piece.staticValue!==null){result+=piece.staticValue;continue}let match2=ReplacePattern._substitute(piece.matchIndex,matches);if(piece.caseOps!==null&&piece.caseOps.length>0){const repl=[];const lenOps=piece.caseOps.length;let opIdx=0;for(let idx=0,len2=match2.length;idx<len2;idx++){if(opIdx>=lenOps){repl.push(match2.slice(idx));break}switch(piece.caseOps[opIdx]){case"U":repl.push(match2[idx].toUpperCase());break;case"u":repl.push(match2[idx].toUpperCase());opIdx++;break;case"L":repl.push(match2[idx].toLowerCase());break;case"l":repl.push(match2[idx].toLowerCase());opIdx++;break;default:repl.push(match2[idx])}}match2=repl.join("")}result+=match2}return result}static _substitute(matchIndex,matches){if(matches===null){return""}if(matchIndex===0){return matches[0]}let remainder="";while(matchIndex>0){if(matchIndex<matches.length){const match2=matches[matchIndex]||"";return match2+remainder}remainder=String(matchIndex%10)+remainder;matchIndex=Math.floor(matchIndex/10)}return"$"+remainder}};var ReplacePiece=class{static staticValue(value){return new ReplacePiece(value,-1,null)}static caseOps(index,caseOps){return new ReplacePiece(null,index,caseOps)}constructor(staticValue,matchIndex,caseOps){this.staticValue=staticValue;this.matchIndex=matchIndex;if(!caseOps||caseOps.length===0){this.caseOps=null}else{this.caseOps=caseOps.slice(0)}}};var ReplacePieceBuilder=class{constructor(source){this._source=source;this._lastCharIndex=0;this._result=[];this._resultLen=0;this._currentStaticPiece=""}emitUnchanged(toCharIndex){this._emitStatic(this._source.substring(this._lastCharIndex,toCharIndex));this._lastCharIndex=toCharIndex}emitStatic(value,toCharIndex){this._emitStatic(value);this._lastCharIndex=toCharIndex}_emitStatic(value){if(value.length===0){return}this._currentStaticPiece+=value}emitMatchIndex(index,toCharIndex,caseOps){if(this._currentStaticPiece.length!==0){this._result[this._resultLen++]=ReplacePiece.staticValue(this._currentStaticPiece);this._currentStaticPiece=""}this._result[this._resultLen++]=ReplacePiece.caseOps(index,caseOps);this._lastCharIndex=toCharIndex}finalize(){this.emitUnchanged(this._source.length);if(this._currentStaticPiece.length!==0){this._result[this._resultLen++]=ReplacePiece.staticValue(this._currentStaticPiece);this._currentStaticPiece=""}return new ReplacePattern(this._result)}};function parseReplaceString(replaceString){if(!replaceString||replaceString.length===0){return new ReplacePattern(null)}const caseOps=[];const result=new ReplacePieceBuilder(replaceString);for(let i=0,len=replaceString.length;i<len;i++){const chCode=replaceString.charCodeAt(i);if(chCode===92){i++;if(i>=len){break}const nextChCode=replaceString.charCodeAt(i);switch(nextChCode){case 92:result.emitUnchanged(i-1);result.emitStatic("\\",i+1);break;case 110:result.emitUnchanged(i-1);result.emitStatic("\n",i+1);break;case 116:result.emitUnchanged(i-1);result.emitStatic("\t",i+1);break;case 117:case 85:case 108:case 76:result.emitUnchanged(i-1);result.emitStatic("",i+1);caseOps.push(String.fromCharCode(nextChCode));break}continue}if(chCode===36){i++;if(i>=len){break}const nextChCode=replaceString.charCodeAt(i);if(nextChCode===36){result.emitUnchanged(i-1);result.emitStatic("$",i+1);continue}if(nextChCode===48||nextChCode===38){result.emitUnchanged(i-1);result.emitMatchIndex(0,i+1,caseOps);caseOps.length=0;continue}if(49<=nextChCode&&nextChCode<=57){let matchIndex=nextChCode-48;if(i+1<len){const nextNextChCode=replaceString.charCodeAt(i+1);if(48<=nextNextChCode&&nextNextChCode<=57){i++;matchIndex=matchIndex*10+(nextNextChCode-48);result.emitUnchanged(i-2);result.emitMatchIndex(matchIndex,i+1,caseOps);caseOps.length=0;continue}}result.emitUnchanged(i-1);result.emitMatchIndex(matchIndex,i+1,caseOps);caseOps.length=0;continue}}}return result.finalize()}init_contextkey();var CONTEXT_FIND_WIDGET_VISIBLE=new RawContextKey("findWidgetVisible",false);var CONTEXT_FIND_WIDGET_NOT_VISIBLE=CONTEXT_FIND_WIDGET_VISIBLE.toNegated();var CONTEXT_FIND_INPUT_FOCUSED=new RawContextKey("findInputFocussed",false);var CONTEXT_REPLACE_INPUT_FOCUSED=new RawContextKey("replaceInputFocussed",false);var ToggleCaseSensitiveKeybinding={primary:512|33,mac:{primary:2048|512|33}};var ToggleWholeWordKeybinding={primary:512|53,mac:{primary:2048|512|53}};var ToggleRegexKeybinding={primary:512|48,mac:{primary:2048|512|48}};var ToggleSearchScopeKeybinding={primary:512|42,mac:{primary:2048|512|42}};var TogglePreserveCaseKeybinding={primary:512|46,mac:{primary:2048|512|46}};var FIND_IDS={StartFindAction:"actions.find",StartFindWithSelection:"actions.findWithSelection",StartFindWithArgs:"editor.actions.findWithArgs",NextMatchFindAction:"editor.action.nextMatchFindAction",PreviousMatchFindAction:"editor.action.previousMatchFindAction",GoToMatchFindAction:"editor.action.goToMatchFindAction",NextSelectionMatchFindAction:"editor.action.nextSelectionMatchFindAction",PreviousSelectionMatchFindAction:"editor.action.previousSelectionMatchFindAction",StartFindReplaceAction:"editor.action.startFindReplaceAction",CloseFindWidgetCommand:"closeFindWidget",ToggleCaseSensitiveCommand:"toggleFindCaseSensitive",ToggleWholeWordCommand:"toggleFindWholeWord",ToggleRegexCommand:"toggleFindRegex",ToggleSearchScopeCommand:"toggleFindInSelection",TogglePreserveCaseCommand:"togglePreserveCase",ReplaceOneAction:"editor.action.replaceOne",ReplaceAllAction:"editor.action.replaceAll",SelectAllMatchesAction:"editor.action.selectAllMatches"};var MATCHES_LIMIT=19999;var RESEARCH_DELAY=240;var FindModelBoundToEditorModel=class{constructor(editor2,state){this._toDispose=new DisposableStore;this._editor=editor2;this._state=state;this._isDisposed=false;this._startSearchingTimer=new TimeoutTimer;this._decorations=new FindDecorations(editor2);this._toDispose.add(this._decorations);this._updateDecorationsScheduler=new RunOnceScheduler((()=>this.research(false)),100);this._toDispose.add(this._updateDecorationsScheduler);this._toDispose.add(this._editor.onDidChangeCursorPosition((e=>{if(e.reason===3||e.reason===5||e.reason===6){this._decorations.setStartPosition(this._editor.getPosition())}})));this._ignoreModelContentChanged=false;this._toDispose.add(this._editor.onDidChangeModelContent((e=>{if(this._ignoreModelContentChanged){return}if(e.isFlush){this._decorations.reset()}this._decorations.setStartPosition(this._editor.getPosition());this._updateDecorationsScheduler.schedule()})));this._toDispose.add(this._state.onFindReplaceStateChange((e=>this._onStateChanged(e))));this.research(false,this._state.searchScope)}dispose(){this._isDisposed=true;dispose(this._startSearchingTimer);this._toDispose.dispose()}_onStateChanged(e){if(this._isDisposed){return}if(!this._editor.hasModel()){return}if(e.searchString||e.isReplaceRevealed||e.isRegex||e.wholeWord||e.matchCase||e.searchScope){const model=this._editor.getModel();if(model.isTooLargeForSyncing()){this._startSearchingTimer.cancel();this._startSearchingTimer.setIfNotSet((()=>{if(e.searchScope){this.research(e.moveCursor,this._state.searchScope)}else{this.research(e.moveCursor)}}),RESEARCH_DELAY)}else{if(e.searchScope){this.research(e.moveCursor,this._state.searchScope)}else{this.research(e.moveCursor)}}}}static _getSearchRange(model,findScope){if(findScope){return findScope}return model.getFullModelRange()}research(moveCursor,newFindScope){let findScopes=null;if(typeof newFindScope!=="undefined"){if(newFindScope!==null){if(!Array.isArray(newFindScope)){findScopes=[newFindScope]}else{findScopes=newFindScope}}}else{findScopes=this._decorations.getFindScopes()}if(findScopes!==null){findScopes=findScopes.map((findScope=>{if(findScope.startLineNumber!==findScope.endLineNumber){let endLineNumber=findScope.endLineNumber;if(findScope.endColumn===1){endLineNumber=endLineNumber-1}return new Range(findScope.startLineNumber,1,endLineNumber,this._editor.getModel().getLineMaxColumn(endLineNumber))}return findScope}))}const findMatches=this._findMatches(findScopes,false,MATCHES_LIMIT);this._decorations.set(findMatches,findScopes);const editorSelection=this._editor.getSelection();let currentMatchesPosition=this._decorations.getCurrentMatchesPosition(editorSelection);if(currentMatchesPosition===0&&findMatches.length>0){const matchAfterSelection=findFirstInSorted(findMatches.map((match2=>match2.range)),(range2=>Range.compareRangesUsingStarts(range2,editorSelection)>=0));currentMatchesPosition=matchAfterSelection>0?matchAfterSelection-1+1:currentMatchesPosition}this._state.changeMatchInfo(currentMatchesPosition,this._decorations.getCount(),void 0);if(moveCursor&&this._editor.getOption(40).cursorMoveOnType){this._moveToNextMatch(this._decorations.getStartPosition())}}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){const findScope=this._decorations.getFindScope();if(findScope){this._editor.revealRangeInCenterIfOutsideViewport(findScope,0)}return true}return false}_setCurrentFindMatch(match2){const matchesPosition=this._decorations.setCurrentFindMatch(match2);this._state.changeMatchInfo(matchesPosition,this._decorations.getCount(),match2);this._editor.setSelection(match2);this._editor.revealRangeInCenterIfOutsideViewport(match2,0)}_prevSearchPosition(before){const isUsingLineStops=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:lineNumber,column:column}=before;const model=this._editor.getModel();if(isUsingLineStops||column===1){if(lineNumber===1){lineNumber=model.getLineCount()}else{lineNumber--}column=model.getLineMaxColumn(lineNumber)}else{column--}return new Position(lineNumber,column)}_moveToPrevMatch(before,isRecursed=false){if(!this._state.canNavigateBack()){const nextMatchRange=this._decorations.matchAfterPosition(before);if(nextMatchRange){this._setCurrentFindMatch(nextMatchRange)}return}if(this._decorations.getCount()<MATCHES_LIMIT){let prevMatchRange=this._decorations.matchBeforePosition(before);if(prevMatchRange&&prevMatchRange.isEmpty()&&prevMatchRange.getStartPosition().equals(before)){before=this._prevSearchPosition(before);prevMatchRange=this._decorations.matchBeforePosition(before)}if(prevMatchRange){this._setCurrentFindMatch(prevMatchRange)}return}if(this._cannotFind()){return}const findScope=this._decorations.getFindScope();const searchRange=FindModelBoundToEditorModel._getSearchRange(this._editor.getModel(),findScope);if(searchRange.getEndPosition().isBefore(before)){before=searchRange.getEndPosition()}if(before.isBefore(searchRange.getStartPosition())){before=searchRange.getEndPosition()}const{lineNumber:lineNumber,column:column}=before;const model=this._editor.getModel();let position=new Position(lineNumber,column);let prevMatch=model.findPreviousMatch(this._state.searchString,position,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(128):null,false);if(prevMatch&&prevMatch.range.isEmpty()&&prevMatch.range.getStartPosition().equals(position)){position=this._prevSearchPosition(position);prevMatch=model.findPreviousMatch(this._state.searchString,position,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(128):null,false)}if(!prevMatch){return}if(!isRecursed&&!searchRange.containsRange(prevMatch.range)){return this._moveToPrevMatch(prevMatch.range.getStartPosition(),true)}this._setCurrentFindMatch(prevMatch.range)}moveToPrevMatch(){this._moveToPrevMatch(this._editor.getSelection().getStartPosition())}_nextSearchPosition(after){const isUsingLineStops=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:lineNumber,column:column}=after;const model=this._editor.getModel();if(isUsingLineStops||column===model.getLineMaxColumn(lineNumber)){if(lineNumber===model.getLineCount()){lineNumber=1}else{lineNumber++}column=1}else{column++}return new Position(lineNumber,column)}_moveToNextMatch(after){if(!this._state.canNavigateForward()){const prevMatchRange=this._decorations.matchBeforePosition(after);if(prevMatchRange){this._setCurrentFindMatch(prevMatchRange)}return}if(this._decorations.getCount()<MATCHES_LIMIT){let nextMatchRange=this._decorations.matchAfterPosition(after);if(nextMatchRange&&nextMatchRange.isEmpty()&&nextMatchRange.getStartPosition().equals(after)){after=this._nextSearchPosition(after);nextMatchRange=this._decorations.matchAfterPosition(after)}if(nextMatchRange){this._setCurrentFindMatch(nextMatchRange)}return}const nextMatch=this._getNextMatch(after,false,true);if(nextMatch){this._setCurrentFindMatch(nextMatch.range)}}_getNextMatch(after,captureMatches,forceMove,isRecursed=false){if(this._cannotFind()){return null}const findScope=this._decorations.getFindScope();const searchRange=FindModelBoundToEditorModel._getSearchRange(this._editor.getModel(),findScope);if(searchRange.getEndPosition().isBefore(after)){after=searchRange.getStartPosition()}if(after.isBefore(searchRange.getStartPosition())){after=searchRange.getStartPosition()}const{lineNumber:lineNumber,column:column}=after;const model=this._editor.getModel();let position=new Position(lineNumber,column);let nextMatch=model.findNextMatch(this._state.searchString,position,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(128):null,captureMatches);if(forceMove&&nextMatch&&nextMatch.range.isEmpty()&&nextMatch.range.getStartPosition().equals(position)){position=this._nextSearchPosition(position);nextMatch=model.findNextMatch(this._state.searchString,position,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(128):null,captureMatches)}if(!nextMatch){return null}if(!isRecursed&&!searchRange.containsRange(nextMatch.range)){return this._getNextMatch(nextMatch.range.getEndPosition(),captureMatches,forceMove,true)}return nextMatch}moveToNextMatch(){this._moveToNextMatch(this._editor.getSelection().getEndPosition())}_moveToMatch(index){const decorationRange=this._decorations.getDecorationRangeAt(index);if(decorationRange){this._setCurrentFindMatch(decorationRange)}}moveToMatch(index){this._moveToMatch(index)}_getReplacePattern(){if(this._state.isRegex){return parseReplaceString(this._state.replaceString)}return ReplacePattern.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches()){return}const replacePattern=this._getReplacePattern();const selection=this._editor.getSelection();const nextMatch=this._getNextMatch(selection.getStartPosition(),true,false);if(nextMatch){if(selection.equalsRange(nextMatch.range)){const replaceString=replacePattern.buildReplaceString(nextMatch.matches,this._state.preserveCase);const command=new ReplaceCommand(selection,replaceString);this._executeEditorCommand("replace",command);this._decorations.setStartPosition(new Position(selection.startLineNumber,selection.startColumn+replaceString.length));this.research(true)}else{this._decorations.setStartPosition(this._editor.getPosition());this._setCurrentFindMatch(nextMatch.range)}}}_findMatches(findScopes,captureMatches,limitResultCount){const searchRanges=(findScopes||[null]).map((scope=>FindModelBoundToEditorModel._getSearchRange(this._editor.getModel(),scope)));return this._editor.getModel().findMatches(this._state.searchString,searchRanges,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(128):null,captureMatches,limitResultCount)}replaceAll(){if(!this._hasMatches()){return}const findScopes=this._decorations.getFindScopes();if(findScopes===null&&this._state.matchesCount>=MATCHES_LIMIT){this._largeReplaceAll()}else{this._regularReplaceAll(findScopes)}this.research(false)}_largeReplaceAll(){const searchParams=new SearchParams(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(128):null);const searchData=searchParams.parseSearchRequest();if(!searchData){return}let searchRegex=searchData.regex;if(!searchRegex.multiline){let mod="mu";if(searchRegex.ignoreCase){mod+="i"}if(searchRegex.global){mod+="g"}searchRegex=new RegExp(searchRegex.source,mod)}const model=this._editor.getModel();const modelText=model.getValue(1);const fullModelRange=model.getFullModelRange();const replacePattern=this._getReplacePattern();let resultText;const preserveCase=this._state.preserveCase;if(replacePattern.hasReplacementPatterns||preserveCase){resultText=modelText.replace(searchRegex,(function(){return replacePattern.buildReplaceString(arguments,preserveCase)}))}else{resultText=modelText.replace(searchRegex,replacePattern.buildReplaceString(null,preserveCase))}const command=new ReplaceCommandThatPreservesSelection(fullModelRange,resultText,this._editor.getSelection());this._executeEditorCommand("replaceAll",command)}_regularReplaceAll(findScopes){const replacePattern=this._getReplacePattern();const matches=this._findMatches(findScopes,replacePattern.hasReplacementPatterns||this._state.preserveCase,1073741824);const replaceStrings=[];for(let i=0,len=matches.length;i<len;i++){replaceStrings[i]=replacePattern.buildReplaceString(matches[i].matches,this._state.preserveCase)}const command=new ReplaceAllCommand(this._editor.getSelection(),matches.map((m=>m.range)),replaceStrings);this._executeEditorCommand("replaceAll",command)}selectAllMatches(){if(!this._hasMatches()){return}const findScopes=this._decorations.getFindScopes();const matches=this._findMatches(findScopes,false,1073741824);let selections=matches.map((m=>new Selection(m.range.startLineNumber,m.range.startColumn,m.range.endLineNumber,m.range.endColumn)));const editorSelection=this._editor.getSelection();for(let i=0,len=selections.length;i<len;i++){const sel=selections[i];if(sel.equalsRange(editorSelection)){selections=[editorSelection].concat(selections.slice(0,i)).concat(selections.slice(i+1));break}}this._editor.setSelections(selections)}_executeEditorCommand(source,command){try{this._ignoreModelContentChanged=true;this._editor.pushUndoStop();this._editor.executeCommand(source,command);this._editor.pushUndoStop()}finally{this._ignoreModelContentChanged=false}}};init_dom();init_findInputToggles();init_widget();init_async();init_colorRegistry();var FindOptionsWidget=class extends Widget{constructor(editor2,state,keybindingService){super();this._hideSoon=this._register(new RunOnceScheduler((()=>this._hide()),2e3));this._isVisible=false;this._editor=editor2;this._state=state;this._keybindingService=keybindingService;this._domNode=document.createElement("div");this._domNode.className="findOptionsWidget";this._domNode.style.display="none";this._domNode.style.top="10px";this._domNode.style.zIndex="12";this._domNode.setAttribute("role","presentation");this._domNode.setAttribute("aria-hidden","true");const toggleStyles={inputActiveOptionBorder:asCssVariable(inputActiveOptionBorder),inputActiveOptionForeground:asCssVariable(inputActiveOptionForeground),inputActiveOptionBackground:asCssVariable(inputActiveOptionBackground)};this.caseSensitive=this._register(new CaseSensitiveToggle(Object.assign({appendTitle:this._keybindingLabelFor(FIND_IDS.ToggleCaseSensitiveCommand),isChecked:this._state.matchCase},toggleStyles)));this._domNode.appendChild(this.caseSensitive.domNode);this._register(this.caseSensitive.onChange((()=>{this._state.change({matchCase:this.caseSensitive.checked},false)})));this.wholeWords=this._register(new WholeWordsToggle(Object.assign({appendTitle:this._keybindingLabelFor(FIND_IDS.ToggleWholeWordCommand),isChecked:this._state.wholeWord},toggleStyles)));this._domNode.appendChild(this.wholeWords.domNode);this._register(this.wholeWords.onChange((()=>{this._state.change({wholeWord:this.wholeWords.checked},false)})));this.regex=this._register(new RegexToggle(Object.assign({appendTitle:this._keybindingLabelFor(FIND_IDS.ToggleRegexCommand),isChecked:this._state.isRegex},toggleStyles)));this._domNode.appendChild(this.regex.domNode);this._register(this.regex.onChange((()=>{this._state.change({isRegex:this.regex.checked},false)})));this._editor.addOverlayWidget(this);this._register(this._state.onFindReplaceStateChange((e=>{let somethingChanged=false;if(e.isRegex){this.regex.checked=this._state.isRegex;somethingChanged=true}if(e.wholeWord){this.wholeWords.checked=this._state.wholeWord;somethingChanged=true}if(e.matchCase){this.caseSensitive.checked=this._state.matchCase;somethingChanged=true}if(!this._state.isRevealed&&somethingChanged){this._revealTemporarily()}})));this._register(addDisposableListener(this._domNode,EventType.MOUSE_LEAVE,(e=>this._onMouseLeave())));this._register(addDisposableListener(this._domNode,"mouseover",(e=>this._onMouseOver())))}_keybindingLabelFor(actionId){const kb=this._keybindingService.lookupKeybinding(actionId);if(!kb){return""}return` (${kb.getLabel()})`}dispose(){this._editor.removeOverlayWidget(this);super.dispose()}getId(){return FindOptionsWidget.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show();this._hideSoon.schedule()}_onMouseLeave(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){if(this._isVisible){return}this._isVisible=true;this._domNode.style.display="block"}_hide(){if(!this._isVisible){return}this._isVisible=false;this._domNode.style.display="none"}};FindOptionsWidget.ID="editor.contrib.findOptionsWidget";init_event();init_lifecycle();init_range();function effectiveOptionValue(override,value){if(override===1){return true}if(override===2){return false}return value}var FindReplaceState=class extends Disposable{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return effectiveOptionValue(this._isRegexOverride,this._isRegex)}get wholeWord(){return effectiveOptionValue(this._wholeWordOverride,this._wholeWord)}get matchCase(){return effectiveOptionValue(this._matchCaseOverride,this._matchCase)}get preserveCase(){return effectiveOptionValue(this._preserveCaseOverride,this._preserveCase)}get actualIsRegex(){return this._isRegex}get actualWholeWord(){return this._wholeWord}get actualMatchCase(){return this._matchCase}get actualPreserveCase(){return this._preserveCase}get searchScope(){return this._searchScope}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get currentMatch(){return this._currentMatch}constructor(){super();this._onFindReplaceStateChange=this._register(new Emitter);this.onFindReplaceStateChange=this._onFindReplaceStateChange.event;this._searchString="";this._replaceString="";this._isRevealed=false;this._isReplaceRevealed=false;this._isRegex=false;this._isRegexOverride=0;this._wholeWord=false;this._wholeWordOverride=0;this._matchCase=false;this._matchCaseOverride=0;this._preserveCase=false;this._preserveCaseOverride=0;this._searchScope=null;this._matchesPosition=0;this._matchesCount=0;this._currentMatch=null;this._loop=true;this._isSearching=false;this._filters=null}changeMatchInfo(matchesPosition,matchesCount,currentMatch){const changeEvent={moveCursor:false,updateHistory:false,searchString:false,replaceString:false,isRevealed:false,isReplaceRevealed:false,isRegex:false,wholeWord:false,matchCase:false,preserveCase:false,searchScope:false,matchesPosition:false,matchesCount:false,currentMatch:false,loop:false,isSearching:false,filters:false};let somethingChanged=false;if(matchesCount===0){matchesPosition=0}if(matchesPosition>matchesCount){matchesPosition=matchesCount}if(this._matchesPosition!==matchesPosition){this._matchesPosition=matchesPosition;changeEvent.matchesPosition=true;somethingChanged=true}if(this._matchesCount!==matchesCount){this._matchesCount=matchesCount;changeEvent.matchesCount=true;somethingChanged=true}if(typeof currentMatch!=="undefined"){if(!Range.equalsRange(this._currentMatch,currentMatch)){this._currentMatch=currentMatch;changeEvent.currentMatch=true;somethingChanged=true}}if(somethingChanged){this._onFindReplaceStateChange.fire(changeEvent)}}change(newState,moveCursor,updateHistory=true){var _a6;const changeEvent={moveCursor:moveCursor,updateHistory:updateHistory,searchString:false,replaceString:false,isRevealed:false,isReplaceRevealed:false,isRegex:false,wholeWord:false,matchCase:false,preserveCase:false,searchScope:false,matchesPosition:false,matchesCount:false,currentMatch:false,loop:false,isSearching:false,filters:false};let somethingChanged=false;const oldEffectiveIsRegex=this.isRegex;const oldEffectiveWholeWords=this.wholeWord;const oldEffectiveMatchCase=this.matchCase;const oldEffectivePreserveCase=this.preserveCase;if(typeof newState.searchString!=="undefined"){if(this._searchString!==newState.searchString){this._searchString=newState.searchString;changeEvent.searchString=true;somethingChanged=true}}if(typeof newState.replaceString!=="undefined"){if(this._replaceString!==newState.replaceString){this._replaceString=newState.replaceString;changeEvent.replaceString=true;somethingChanged=true}}if(typeof newState.isRevealed!=="undefined"){if(this._isRevealed!==newState.isRevealed){this._isRevealed=newState.isRevealed;changeEvent.isRevealed=true;somethingChanged=true}}if(typeof newState.isReplaceRevealed!=="undefined"){if(this._isReplaceRevealed!==newState.isReplaceRevealed){this._isReplaceRevealed=newState.isReplaceRevealed;changeEvent.isReplaceRevealed=true;somethingChanged=true}}if(typeof newState.isRegex!=="undefined"){this._isRegex=newState.isRegex}if(typeof newState.wholeWord!=="undefined"){this._wholeWord=newState.wholeWord}if(typeof newState.matchCase!=="undefined"){this._matchCase=newState.matchCase}if(typeof newState.preserveCase!=="undefined"){this._preserveCase=newState.preserveCase}if(typeof newState.searchScope!=="undefined"){if(!((_a6=newState.searchScope)===null||_a6===void 0?void 0:_a6.every((newSearchScope=>{var _a7;return(_a7=this._searchScope)===null||_a7===void 0?void 0:_a7.some((existingSearchScope=>!Range.equalsRange(existingSearchScope,newSearchScope)))})))){this._searchScope=newState.searchScope;changeEvent.searchScope=true;somethingChanged=true}}if(typeof newState.loop!=="undefined"){if(this._loop!==newState.loop){this._loop=newState.loop;changeEvent.loop=true;somethingChanged=true}}if(typeof newState.isSearching!=="undefined"){if(this._isSearching!==newState.isSearching){this._isSearching=newState.isSearching;changeEvent.isSearching=true;somethingChanged=true}}if(typeof newState.filters!=="undefined"){if(this._filters){this._filters.update(newState.filters)}else{this._filters=newState.filters}changeEvent.filters=true;somethingChanged=true}this._isRegexOverride=typeof newState.isRegexOverride!=="undefined"?newState.isRegexOverride:0;this._wholeWordOverride=typeof newState.wholeWordOverride!=="undefined"?newState.wholeWordOverride:0;this._matchCaseOverride=typeof newState.matchCaseOverride!=="undefined"?newState.matchCaseOverride:0;this._preserveCaseOverride=typeof newState.preserveCaseOverride!=="undefined"?newState.preserveCaseOverride:0;if(oldEffectiveIsRegex!==this.isRegex){somethingChanged=true;changeEvent.isRegex=true}if(oldEffectiveWholeWords!==this.wholeWord){somethingChanged=true;changeEvent.wholeWord=true}if(oldEffectiveMatchCase!==this.matchCase){somethingChanged=true;changeEvent.matchCase=true}if(oldEffectivePreserveCase!==this.preserveCase){somethingChanged=true;changeEvent.preserveCase=true}if(somethingChanged){this._onFindReplaceStateChange.fire(changeEvent)}}canNavigateBack(){return this.canNavigateInLoop()||this.matchesPosition!==1}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition<this.matchesCount}canNavigateInLoop(){return this._loop||this.matchesCount>=MATCHES_LIMIT}};init_dom();init_aria();init_toggle();init_sash();init_widget();init_async();init_codicons();init_errors();init_lifecycle();init_platform();init_strings();init_range();init_nls();init_findInput();init_dom();init_toggle();init_inputBox();init_widget();init_codicons();init_event();init_39();init_nls();var NLS_DEFAULT_LABEL2=localize("defaultLabel","input");var NLS_PRESERVE_CASE_LABEL=localize("label.preserveCaseToggle","Preserve Case");var PreserveCaseToggle=class extends Toggle{constructor(opts){super({icon:Codicon.preserveCase,title:NLS_PRESERVE_CASE_LABEL+opts.appendTitle,isChecked:opts.isChecked,inputActiveOptionBorder:opts.inputActiveOptionBorder,inputActiveOptionForeground:opts.inputActiveOptionForeground,inputActiveOptionBackground:opts.inputActiveOptionBackground})}};var ReplaceInput=class extends Widget{constructor(parent,contextViewProvider,_showOptionButtons,options2){super();this._showOptionButtons=_showOptionButtons;this.fixFocusOnOptionClickEnabled=true;this.cachedOptionsWidth=0;this._onDidOptionChange=this._register(new Emitter);this.onDidOptionChange=this._onDidOptionChange.event;this._onKeyDown=this._register(new Emitter);this.onKeyDown=this._onKeyDown.event;this._onMouseDown=this._register(new Emitter);this._onInput=this._register(new Emitter);this._onKeyUp=this._register(new Emitter);this._onPreserveCaseKeyDown=this._register(new Emitter);this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event;this.contextViewProvider=contextViewProvider;this.placeholder=options2.placeholder||"";this.validation=options2.validation;this.label=options2.label||NLS_DEFAULT_LABEL2;const appendPreserveCaseLabel=options2.appendPreserveCaseLabel||"";const history=options2.history||[];const flexibleHeight=!!options2.flexibleHeight;const flexibleWidth=!!options2.flexibleWidth;const flexibleMaxHeight=options2.flexibleMaxHeight;this.domNode=document.createElement("div");this.domNode.classList.add("monaco-findInput");this.inputBox=this._register(new HistoryInputBox(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:history,showHistoryHint:options2.showHistoryHint,flexibleHeight:flexibleHeight,flexibleWidth:flexibleWidth,flexibleMaxHeight:flexibleMaxHeight,inputBoxStyles:options2.inputBoxStyles}));this.preserveCase=this._register(new PreserveCaseToggle(Object.assign({appendTitle:appendPreserveCaseLabel,isChecked:false},options2.toggleStyles)));this._register(this.preserveCase.onChange((viaKeyboard=>{this._onDidOptionChange.fire(viaKeyboard);if(!viaKeyboard&&this.fixFocusOnOptionClickEnabled){this.inputBox.focus()}this.validate()})));this._register(this.preserveCase.onKeyDown((e=>{this._onPreserveCaseKeyDown.fire(e)})));if(this._showOptionButtons){this.cachedOptionsWidth=this.preserveCase.width()}else{this.cachedOptionsWidth=0}const indexes=[this.preserveCase.domNode];this.onkeydown(this.domNode,(event=>{if(event.equals(15)||event.equals(17)||event.equals(9)){const index=indexes.indexOf(document.activeElement);if(index>=0){let newIndex=-1;if(event.equals(17)){newIndex=(index+1)%indexes.length}else if(event.equals(15)){if(index===0){newIndex=indexes.length-1}else{newIndex=index-1}}if(event.equals(9)){indexes[index].blur();this.inputBox.focus()}else if(newIndex>=0){indexes[newIndex].focus()}EventHelper.stop(event,true)}}}));const controls=document.createElement("div");controls.className="controls";controls.style.display=this._showOptionButtons?"block":"none";controls.appendChild(this.preserveCase.domNode);this.domNode.appendChild(controls);parent===null||parent===void 0?void 0:parent.appendChild(this.domNode);this.onkeydown(this.inputBox.inputElement,(e=>this._onKeyDown.fire(e)));this.onkeyup(this.inputBox.inputElement,(e=>this._onKeyUp.fire(e)));this.oninput(this.inputBox.inputElement,(e=>this._onInput.fire()));this.onmousedown(this.inputBox.inputElement,(e=>this._onMouseDown.fire(e)))}enable(){this.domNode.classList.remove("disabled");this.inputBox.enable();this.preserveCase.enable()}disable(){this.domNode.classList.add("disabled");this.inputBox.disable();this.preserveCase.disable()}setEnabled(enabled){if(enabled){this.enable()}else{this.disable()}}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(value){this.preserveCase.checked=value}focusOnPreserve(){this.preserveCase.focus()}validate(){var _a6;(_a6=this.inputBox)===null||_a6===void 0?void 0:_a6.validate()}set width(newWidth){this.inputBox.paddingRight=this.cachedOptionsWidth;this.domNode.style.width=newWidth+"px"}dispose(){super.dispose()}};init_contextkey();init_keybindingsRegistry();init_nls();init_lifecycle();var __decorate88=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param81=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var historyNavigationVisible=new RawContextKey("suggestWidgetVisible",false,localize("suggestWidgetVisible","Whether suggestion are visible"));var HistoryNavigationWidgetFocusContext="historyNavigationWidgetFocus";var HistoryNavigationForwardsEnablementContext="historyNavigationForwardsEnabled";var HistoryNavigationBackwardsEnablementContext="historyNavigationBackwardsEnabled";var lastFocusedWidget=void 0;var widgets=[];function registerAndCreateHistoryNavigationContext(scopedContextKeyService,widget){if(widgets.includes(widget)){throw new Error("Cannot register the same widget multiple times")}widgets.push(widget);const disposableStore=new DisposableStore;const historyNavigationWidgetFocus=new RawContextKey(HistoryNavigationWidgetFocusContext,false).bindTo(scopedContextKeyService);const historyNavigationForwardsEnablement=new RawContextKey(HistoryNavigationForwardsEnablementContext,true).bindTo(scopedContextKeyService);const historyNavigationBackwardsEnablement=new RawContextKey(HistoryNavigationBackwardsEnablementContext,true).bindTo(scopedContextKeyService);const onDidFocus=()=>{historyNavigationWidgetFocus.set(true);lastFocusedWidget=widget};const onDidBlur=()=>{historyNavigationWidgetFocus.set(false);if(lastFocusedWidget===widget){lastFocusedWidget=void 0}};if(widget.element===document.activeElement){onDidFocus()}disposableStore.add(widget.onDidFocus((()=>onDidFocus())));disposableStore.add(widget.onDidBlur((()=>onDidBlur())));disposableStore.add(toDisposable((()=>{widgets.splice(widgets.indexOf(widget),1);onDidBlur()})));return{historyNavigationForwardsEnablement:historyNavigationForwardsEnablement,historyNavigationBackwardsEnablement:historyNavigationBackwardsEnablement,dispose(){disposableStore.dispose()}}}var ContextScopedFindInput=class ContextScopedFindInput2 extends FindInput{constructor(container,contextViewProvider,options2,contextKeyService){super(container,contextViewProvider,options2);const scopedContextKeyService=this._register(contextKeyService.createScoped(this.inputBox.element));this._register(registerAndCreateHistoryNavigationContext(scopedContextKeyService,this.inputBox))}};ContextScopedFindInput=__decorate88([__param81(3,IContextKeyService)],ContextScopedFindInput);var ContextScopedReplaceInput=class ContextScopedReplaceInput2 extends ReplaceInput{constructor(container,contextViewProvider,options2,contextKeyService,showReplaceOptions=false){super(container,contextViewProvider,showReplaceOptions,options2);const scopedContextKeyService=this._register(contextKeyService.createScoped(this.inputBox.element));this._register(registerAndCreateHistoryNavigationContext(scopedContextKeyService,this.inputBox))}};ContextScopedReplaceInput=__decorate88([__param81(3,IContextKeyService)],ContextScopedReplaceInput);KeybindingsRegistry.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:ContextKeyExpr.and(ContextKeyExpr.has(HistoryNavigationWidgetFocusContext),ContextKeyExpr.equals(HistoryNavigationBackwardsEnablementContext,true),ContextKeyExpr.not("isComposing"),historyNavigationVisible.isEqualTo(false)),primary:16,secondary:[512|16],handler:accessor=>{lastFocusedWidget===null||lastFocusedWidget===void 0?void 0:lastFocusedWidget.showPreviousValue()}});KeybindingsRegistry.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:ContextKeyExpr.and(ContextKeyExpr.has(HistoryNavigationWidgetFocusContext),ContextKeyExpr.equals(HistoryNavigationForwardsEnablementContext,true),ContextKeyExpr.not("isComposing"),historyNavigationVisible.isEqualTo(false)),primary:18,secondary:[512|18],handler:accessor=>{lastFocusedWidget===null||lastFocusedWidget===void 0?void 0:lastFocusedWidget.showNextValue()}});function showHistoryKeybindingHint(keybindingService){var _a6,_b3;return((_a6=keybindingService.lookupKeybinding("history.showPrevious"))===null||_a6===void 0?void 0:_a6.getElectronAccelerator())==="Up"&&((_b3=keybindingService.lookupKeybinding("history.showNext"))===null||_b3===void 0?void 0:_b3.getElectronAccelerator())==="Down"}init_colorRegistry();init_iconRegistry();init_themeService();init_themables();init_theme();init_types();init_defaultStyles();var __awaiter65=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var findSelectionIcon=registerIcon("find-selection",Codicon.selection,localize("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget."));var findCollapsedIcon=registerIcon("find-collapsed",Codicon.chevronRight,localize("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed."));var findExpandedIcon=registerIcon("find-expanded",Codicon.chevronDown,localize("findExpandedIcon","Icon to indicate that the editor find widget is expanded."));var findReplaceIcon=registerIcon("find-replace",Codicon.replace,localize("findReplaceIcon","Icon for 'Replace' in the editor find widget."));var findReplaceAllIcon=registerIcon("find-replace-all",Codicon.replaceAll,localize("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget."));var findPreviousMatchIcon=registerIcon("find-previous-match",Codicon.arrowUp,localize("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget."));var findNextMatchIcon=registerIcon("find-next-match",Codicon.arrowDown,localize("findNextMatchIcon","Icon for 'Find Next' in the editor find widget."));var NLS_FIND_DIALOG_LABEL=localize("label.findDialog","Find / Replace");var NLS_FIND_INPUT_LABEL=localize("label.find","Find");var NLS_FIND_INPUT_PLACEHOLDER=localize("placeholder.find","Find");var NLS_PREVIOUS_MATCH_BTN_LABEL=localize("label.previousMatchButton","Previous Match");var NLS_NEXT_MATCH_BTN_LABEL=localize("label.nextMatchButton","Next Match");var NLS_TOGGLE_SELECTION_FIND_TITLE=localize("label.toggleSelectionFind","Find in Selection");var NLS_CLOSE_BTN_LABEL=localize("label.closeButton","Close");var NLS_REPLACE_INPUT_LABEL=localize("label.replace","Replace");var NLS_REPLACE_INPUT_PLACEHOLDER=localize("placeholder.replace","Replace");var NLS_REPLACE_BTN_LABEL=localize("label.replaceButton","Replace");var NLS_REPLACE_ALL_BTN_LABEL=localize("label.replaceAllButton","Replace All");var NLS_TOGGLE_REPLACE_MODE_BTN_LABEL=localize("label.toggleReplaceButton","Toggle Replace");var NLS_MATCHES_COUNT_LIMIT_TITLE=localize("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",MATCHES_LIMIT);var NLS_MATCHES_LOCATION=localize("label.matchesLocation","{0} of {1}");var NLS_NO_RESULTS=localize("label.noResults","No results");var FIND_WIDGET_INITIAL_WIDTH=419;var PART_WIDTH=275;var FIND_INPUT_AREA_WIDTH=PART_WIDTH-54;var MAX_MATCHES_COUNT_WIDTH=69;var FIND_INPUT_AREA_HEIGHT=33;var ctrlEnterReplaceAllWarningPromptedKey="ctrlEnterReplaceAll.windows.donotask";var ctrlKeyMod2=isMacintosh?256:2048;var FindWidgetViewZone=class{constructor(afterLineNumber){this.afterLineNumber=afterLineNumber;this.heightInPx=FIND_INPUT_AREA_HEIGHT;this.suppressMouseDown=false;this.domNode=document.createElement("div");this.domNode.className="dock-find-viewzone"}};function stopPropagationForMultiLineUpwards(event,value,textarea){const isMultiline=!!value.match(/\n/);if(textarea&&isMultiline&&textarea.selectionStart>0){event.stopPropagation();return}}function stopPropagationForMultiLineDownwards(event,value,textarea){const isMultiline=!!value.match(/\n/);if(textarea&&isMultiline&&textarea.selectionEnd<textarea.value.length){event.stopPropagation();return}}var FindWidget=class extends Widget{constructor(codeEditor,controller,state,contextViewProvider,keybindingService,contextKeyService,themeService,storageService,notificationService){super();this._cachedHeight=null;this._revealTimeouts=[];this._codeEditor=codeEditor;this._controller=controller;this._state=state;this._contextViewProvider=contextViewProvider;this._keybindingService=keybindingService;this._contextKeyService=contextKeyService;this._storageService=storageService;this._notificationService=notificationService;this._ctrlEnterReplaceAllWarningPrompted=!!storageService.getBoolean(ctrlEnterReplaceAllWarningPromptedKey,0);this._isVisible=false;this._isReplaceVisible=false;this._ignoreChangeEvent=false;this._updateHistoryDelayer=new Delayer(500);this._register(toDisposable((()=>this._updateHistoryDelayer.cancel())));this._register(this._state.onFindReplaceStateChange((e=>this._onStateChanged(e))));this._buildDomNode();this._updateButtons();this._tryUpdateWidgetWidth();this._findInput.inputBox.layout();this._register(this._codeEditor.onDidChangeConfiguration((e=>{if(e.hasChanged(89)){if(this._codeEditor.getOption(89)){this._state.change({isReplaceRevealed:false},false)}this._updateButtons()}if(e.hasChanged(142)){this._tryUpdateWidgetWidth()}if(e.hasChanged(2)){this.updateAccessibilitySupport()}if(e.hasChanged(40)){const supportLoop=this._codeEditor.getOption(40).loop;this._state.change({loop:supportLoop},false);const addExtraSpaceOnTop=this._codeEditor.getOption(40).addExtraSpaceOnTop;if(addExtraSpaceOnTop&&!this._viewZone){this._viewZone=new FindWidgetViewZone(0);this._showViewZone()}if(!addExtraSpaceOnTop&&this._viewZone){this._removeViewZone()}}})));this.updateAccessibilitySupport();this._register(this._codeEditor.onDidChangeCursorSelection((()=>{if(this._isVisible){this._updateToggleSelectionFindButton()}})));this._register(this._codeEditor.onDidFocusEditorWidget((()=>__awaiter65(this,void 0,void 0,(function*(){if(this._isVisible){const globalBufferTerm=yield this._controller.getGlobalBufferTerm();if(globalBufferTerm&&globalBufferTerm!==this._state.searchString){this._state.change({searchString:globalBufferTerm},false);this._findInput.select()}}})))));this._findInputFocused=CONTEXT_FIND_INPUT_FOCUSED.bindTo(contextKeyService);this._findFocusTracker=this._register(trackFocus(this._findInput.inputBox.inputElement));this._register(this._findFocusTracker.onDidFocus((()=>{this._findInputFocused.set(true);this._updateSearchScope()})));this._register(this._findFocusTracker.onDidBlur((()=>{this._findInputFocused.set(false)})));this._replaceInputFocused=CONTEXT_REPLACE_INPUT_FOCUSED.bindTo(contextKeyService);this._replaceFocusTracker=this._register(trackFocus(this._replaceInput.inputBox.inputElement));this._register(this._replaceFocusTracker.onDidFocus((()=>{this._replaceInputFocused.set(true);this._updateSearchScope()})));this._register(this._replaceFocusTracker.onDidBlur((()=>{this._replaceInputFocused.set(false)})));this._codeEditor.addOverlayWidget(this);if(this._codeEditor.getOption(40).addExtraSpaceOnTop){this._viewZone=new FindWidgetViewZone(0)}this._register(this._codeEditor.onDidChangeModel((()=>{if(!this._isVisible){return}this._viewZoneId=void 0})));this._register(this._codeEditor.onDidScrollChange((e=>{if(e.scrollTopChanged){this._layoutViewZone();return}setTimeout((()=>{this._layoutViewZone()}),0)})))}getId(){return FindWidget.ID}getDomNode(){return this._domNode}getPosition(){if(this._isVisible){return{preference:0}}return null}_onStateChanged(e){if(e.searchString){try{this._ignoreChangeEvent=true;this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=false}this._updateButtons()}if(e.replaceString){this._replaceInput.inputBox.value=this._state.replaceString}if(e.isRevealed){if(this._state.isRevealed){this._reveal()}else{this._hide(true)}}if(e.isReplaceRevealed){if(this._state.isReplaceRevealed){if(!this._codeEditor.getOption(89)&&!this._isReplaceVisible){this._isReplaceVisible=true;this._replaceInput.width=getTotalWidth(this._findInput.domNode);this._updateButtons();this._replaceInput.inputBox.layout()}}else{if(this._isReplaceVisible){this._isReplaceVisible=false;this._updateButtons()}}}if((e.isRevealed||e.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)){if(this._tryUpdateHeight()){this._showViewZone()}}if(e.isRegex){this._findInput.setRegex(this._state.isRegex)}if(e.wholeWord){this._findInput.setWholeWords(this._state.wholeWord)}if(e.matchCase){this._findInput.setCaseSensitive(this._state.matchCase)}if(e.preserveCase){this._replaceInput.setPreserveCase(this._state.preserveCase)}if(e.searchScope){if(this._state.searchScope){this._toggleSelectionFind.checked=true}else{this._toggleSelectionFind.checked=false}this._updateToggleSelectionFindButton()}if(e.searchString||e.matchesCount||e.matchesPosition){const showRedOutline=this._state.searchString.length>0&&this._state.matchesCount===0;this._domNode.classList.toggle("no-results",showRedOutline);this._updateMatchesCount();this._updateButtons()}if(e.searchString||e.currentMatch){this._layoutViewZone()}if(e.updateHistory){this._delayedUpdateHistory()}if(e.loop){this._updateButtons()}}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,onUnexpectedError)}_updateHistory(){if(this._state.searchString){this._findInput.inputBox.addToHistory()}if(this._state.replaceString){this._replaceInput.inputBox.addToHistory()}}_updateMatchesCount(){this._matchesCount.style.minWidth=MAX_MATCHES_COUNT_WIDTH+"px";if(this._state.matchesCount>=MATCHES_LIMIT){this._matchesCount.title=NLS_MATCHES_COUNT_LIMIT_TITLE}else{this._matchesCount.title=""}if(this._matchesCount.firstChild){this._matchesCount.removeChild(this._matchesCount.firstChild)}let label;if(this._state.matchesCount>0){let matchesCount=String(this._state.matchesCount);if(this._state.matchesCount>=MATCHES_LIMIT){matchesCount+="+"}let matchesPosition=String(this._state.matchesPosition);if(matchesPosition==="0"){matchesPosition="?"}label=format(NLS_MATCHES_LOCATION,matchesPosition,matchesCount)}else{label=NLS_NO_RESULTS}this._matchesCount.appendChild(document.createTextNode(label));alert(this._getAriaLabel(label,this._state.currentMatch,this._state.searchString));MAX_MATCHES_COUNT_WIDTH=Math.max(MAX_MATCHES_COUNT_WIDTH,this._matchesCount.clientWidth)}_getAriaLabel(label,currentMatch,searchString){if(label===NLS_NO_RESULTS){return searchString===""?localize("ariaSearchNoResultEmpty","{0} found",label):localize("ariaSearchNoResult","{0} found for '{1}'",label,searchString)}if(currentMatch){const ariaLabel=localize("ariaSearchNoResultWithLineNum","{0} found for '{1}', at {2}",label,searchString,currentMatch.startLineNumber+":"+currentMatch.startColumn);const model=this._codeEditor.getModel();if(model&&currentMatch.startLineNumber<=model.getLineCount()&&currentMatch.startLineNumber>=1){const lineContent=model.getLineContent(currentMatch.startLineNumber);return`${lineContent}, ${ariaLabel}`}return ariaLabel}return localize("ariaSearchNoResultWithLineNumNoCurrentMatch","{0} found for '{1}'",label,searchString)}_updateToggleSelectionFindButton(){const selection=this._codeEditor.getSelection();const isSelection=selection?selection.startLineNumber!==selection.endLineNumber||selection.startColumn!==selection.endColumn:false;const isChecked=this._toggleSelectionFind.checked;if(this._isVisible&&(isChecked||isSelection)){this._toggleSelectionFind.enable()}else{this._toggleSelectionFind.disable()}}_updateButtons(){this._findInput.setEnabled(this._isVisible);this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible);this._updateToggleSelectionFindButton();this._closeBtn.setEnabled(this._isVisible);const findInputIsNonEmpty=this._state.searchString.length>0;const matchesCount=this._state.matchesCount?true:false;this._prevBtn.setEnabled(this._isVisible&&findInputIsNonEmpty&&matchesCount&&this._state.canNavigateBack());this._nextBtn.setEnabled(this._isVisible&&findInputIsNonEmpty&&matchesCount&&this._state.canNavigateForward());this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&findInputIsNonEmpty);this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&findInputIsNonEmpty);this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible);this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);const canReplace=!this._codeEditor.getOption(89);this._toggleReplaceBtn.setEnabled(this._isVisible&&canReplace)}_reveal(){this._revealTimeouts.forEach((e=>{clearTimeout(e)}));this._revealTimeouts=[];if(!this._isVisible){this._isVisible=true;const selection=this._codeEditor.getSelection();switch(this._codeEditor.getOption(40).autoFindInSelection){case"always":this._toggleSelectionFind.checked=true;break;case"never":this._toggleSelectionFind.checked=false;break;case"multiline":{const isSelectionMultipleLine=!!selection&&selection.startLineNumber!==selection.endLineNumber;this._toggleSelectionFind.checked=isSelectionMultipleLine;break}default:break}this._tryUpdateWidgetWidth();this._updateButtons();this._revealTimeouts.push(setTimeout((()=>{this._domNode.classList.add("visible");this._domNode.setAttribute("aria-hidden","false")}),0));this._revealTimeouts.push(setTimeout((()=>{this._findInput.validate()}),200));this._codeEditor.layoutOverlayWidget(this);let adjustEditorScrollTop=true;if(this._codeEditor.getOption(40).seedSearchStringFromSelection&&selection){const domNode=this._codeEditor.getDomNode();if(domNode){const editorCoords=getDomNodePagePosition(domNode);const startCoords=this._codeEditor.getScrolledVisiblePosition(selection.getStartPosition());const startLeft=editorCoords.left+(startCoords?startCoords.left:0);const startTop=startCoords?startCoords.top:0;if(this._viewZone&&startTop<this._viewZone.heightInPx){if(selection.endLineNumber>selection.startLineNumber){adjustEditorScrollTop=false}const leftOfFindWidget=getTopLeftOffset(this._domNode).left;if(startLeft>leftOfFindWidget){adjustEditorScrollTop=false}const endCoords=this._codeEditor.getScrolledVisiblePosition(selection.getEndPosition());const endLeft=editorCoords.left+(endCoords?endCoords.left:0);if(endLeft>leftOfFindWidget){adjustEditorScrollTop=false}}}}this._showViewZone(adjustEditorScrollTop)}}_hide(focusTheEditor){this._revealTimeouts.forEach((e=>{clearTimeout(e)}));this._revealTimeouts=[];if(this._isVisible){this._isVisible=false;this._updateButtons();this._domNode.classList.remove("visible");this._domNode.setAttribute("aria-hidden","true");this._findInput.clearMessage();if(focusTheEditor){this._codeEditor.focus()}this._codeEditor.layoutOverlayWidget(this);this._removeViewZone()}}_layoutViewZone(targetScrollTop){const addExtraSpaceOnTop=this._codeEditor.getOption(40).addExtraSpaceOnTop;if(!addExtraSpaceOnTop){this._removeViewZone();return}if(!this._isVisible){return}const viewZone=this._viewZone;if(this._viewZoneId!==void 0||!viewZone){return}this._codeEditor.changeViewZones((accessor=>{viewZone.heightInPx=this._getHeight();this._viewZoneId=accessor.addZone(viewZone);this._codeEditor.setScrollTop(targetScrollTop||this._codeEditor.getScrollTop()+viewZone.heightInPx)}))}_showViewZone(adjustScroll=true){if(!this._isVisible){return}const addExtraSpaceOnTop=this._codeEditor.getOption(40).addExtraSpaceOnTop;if(!addExtraSpaceOnTop){return}if(this._viewZone===void 0){this._viewZone=new FindWidgetViewZone(0)}const viewZone=this._viewZone;this._codeEditor.changeViewZones((accessor=>{if(this._viewZoneId!==void 0){const newHeight=this._getHeight();if(newHeight===viewZone.heightInPx){return}const scrollAdjustment=newHeight-viewZone.heightInPx;viewZone.heightInPx=newHeight;accessor.layoutZone(this._viewZoneId);if(adjustScroll){this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+scrollAdjustment)}return}else{let scrollAdjustment=this._getHeight();scrollAdjustment-=this._codeEditor.getOption(82).top;if(scrollAdjustment<=0){return}viewZone.heightInPx=scrollAdjustment;this._viewZoneId=accessor.addZone(viewZone);if(adjustScroll){this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+scrollAdjustment)}}}))}_removeViewZone(){this._codeEditor.changeViewZones((accessor=>{if(this._viewZoneId!==void 0){accessor.removeZone(this._viewZoneId);this._viewZoneId=void 0;if(this._viewZone){this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx);this._viewZone=void 0}}}))}_tryUpdateWidgetWidth(){if(!this._isVisible){return}if(!isInDOM(this._domNode)){return}const layoutInfo=this._codeEditor.getLayoutInfo();const editorContentWidth=layoutInfo.contentWidth;if(editorContentWidth<=0){this._domNode.classList.add("hiddenEditor");return}else if(this._domNode.classList.contains("hiddenEditor")){this._domNode.classList.remove("hiddenEditor")}const editorWidth=layoutInfo.width;const minimapWidth=layoutInfo.minimap.minimapWidth;let collapsedFindWidget=false;let reducedFindWidget=false;let narrowFindWidget=false;if(this._resized){const widgetWidth=getTotalWidth(this._domNode);if(widgetWidth>FIND_WIDGET_INITIAL_WIDTH){this._domNode.style.maxWidth=`${editorWidth-28-minimapWidth-15}px`;this._replaceInput.width=getTotalWidth(this._findInput.domNode);return}}if(FIND_WIDGET_INITIAL_WIDTH+28+minimapWidth>=editorWidth){reducedFindWidget=true}if(FIND_WIDGET_INITIAL_WIDTH+28+minimapWidth-MAX_MATCHES_COUNT_WIDTH>=editorWidth){narrowFindWidget=true}if(FIND_WIDGET_INITIAL_WIDTH+28+minimapWidth-MAX_MATCHES_COUNT_WIDTH>=editorWidth+50){collapsedFindWidget=true}this._domNode.classList.toggle("collapsed-find-widget",collapsedFindWidget);this._domNode.classList.toggle("narrow-find-widget",narrowFindWidget);this._domNode.classList.toggle("reduced-find-widget",reducedFindWidget);if(!narrowFindWidget&&!collapsedFindWidget){this._domNode.style.maxWidth=`${editorWidth-28-minimapWidth-15}px`}this._findInput.layout({collapsedFindWidget:collapsedFindWidget,narrowFindWidget:narrowFindWidget,reducedFindWidget:reducedFindWidget});if(this._resized){const findInputWidth=this._findInput.inputBox.element.clientWidth;if(findInputWidth>0){this._replaceInput.width=findInputWidth}}else if(this._isReplaceVisible){this._replaceInput.width=getTotalWidth(this._findInput.domNode)}}_getHeight(){let totalheight=0;totalheight+=4;totalheight+=this._findInput.inputBox.height+2;if(this._isReplaceVisible){totalheight+=4;totalheight+=this._replaceInput.inputBox.height+2}totalheight+=4;return totalheight}_tryUpdateHeight(){const totalHeight=this._getHeight();if(this._cachedHeight!==null&&this._cachedHeight===totalHeight){return false}this._cachedHeight=totalHeight;this._domNode.style.height=`${totalHeight}px`;return true}focusFindInput(){this._findInput.select();this._findInput.focus()}focusReplaceInput(){this._replaceInput.select();this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(!this._codeEditor.hasModel()){return}if(this._toggleSelectionFind.checked){const selections=this._codeEditor.getSelections();selections.map((selection=>{if(selection.endColumn===1&&selection.endLineNumber>selection.startLineNumber){selection=selection.setEndPosition(selection.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(selection.endLineNumber-1))}const currentMatch=this._state.currentMatch;if(selection.startLineNumber!==selection.endLineNumber){if(!Range.equalsRange(selection,currentMatch)){return selection}}return null})).filter((element=>!!element));if(selections.length){this._state.change({searchScope:selections},true)}}}_onFindInputMouseDown(e){if(e.middleButton){e.stopPropagation()}}_onFindInputKeyDown(e){if(e.equals(ctrlKeyMod2|3)){if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{this._findInput.inputBox.insertAtCursor("\n");e.preventDefault();return}}if(e.equals(2)){if(this._isReplaceVisible){this._replaceInput.focus()}else{this._findInput.focusOnCaseSensitive()}e.preventDefault();return}if(e.equals(2048|18)){this._codeEditor.focus();e.preventDefault();return}if(e.equals(16)){return stopPropagationForMultiLineUpwards(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}if(e.equals(18)){return stopPropagationForMultiLineDownwards(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}}_onReplaceInputKeyDown(e){if(e.equals(ctrlKeyMod2|3)){if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{if(isWindows&&isNative&&!this._ctrlEnterReplaceAllWarningPrompted){this._notificationService.info(localize("ctrlEnter.keybindingChanged","Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior."));this._ctrlEnterReplaceAllWarningPrompted=true;this._storageService.store(ctrlEnterReplaceAllWarningPromptedKey,true,0,0)}this._replaceInput.inputBox.insertAtCursor("\n");e.preventDefault();return}}if(e.equals(2)){this._findInput.focusOnCaseSensitive();e.preventDefault();return}if(e.equals(1024|2)){this._findInput.focus();e.preventDefault();return}if(e.equals(2048|18)){this._codeEditor.focus();e.preventDefault();return}if(e.equals(16)){return stopPropagationForMultiLineUpwards(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"))}if(e.equals(18)){return stopPropagationForMultiLineDownwards(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"))}}getVerticalSashLeft(_sash){return 0}_keybindingLabelFor(actionId){const kb=this._keybindingService.lookupKeybinding(actionId);if(!kb){return""}return` (${kb.getLabel()})`}_buildDomNode(){const flexibleHeight=true;const flexibleWidth=true;this._findInput=this._register(new ContextScopedFindInput(null,this._contextViewProvider,{width:FIND_INPUT_AREA_WIDTH,label:NLS_FIND_INPUT_LABEL,placeholder:NLS_FIND_INPUT_PLACEHOLDER,appendCaseSensitiveLabel:this._keybindingLabelFor(FIND_IDS.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(FIND_IDS.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(FIND_IDS.ToggleRegexCommand),validation:value=>{if(value.length===0||!this._findInput.getRegex()){return null}try{new RegExp(value,"gu");return null}catch(e){return{content:e.message}}},flexibleHeight:flexibleHeight,flexibleWidth:flexibleWidth,flexibleMaxHeight:118,showCommonFindToggles:true,showHistoryHint:()=>showHistoryKeybindingHint(this._keybindingService),inputBoxStyles:defaultInputBoxStyles,toggleStyles:defaultToggleStyles},this._contextKeyService));this._findInput.setRegex(!!this._state.isRegex);this._findInput.setCaseSensitive(!!this._state.matchCase);this._findInput.setWholeWords(!!this._state.wholeWord);this._register(this._findInput.onKeyDown((e=>this._onFindInputKeyDown(e))));this._register(this._findInput.inputBox.onDidChange((()=>{if(this._ignoreChangeEvent){return}this._state.change({searchString:this._findInput.getValue()},true)})));this._register(this._findInput.onDidOptionChange((()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},true)})));this._register(this._findInput.onCaseSensitiveKeyDown((e=>{if(e.equals(1024|2)){if(this._isReplaceVisible){this._replaceInput.focus();e.preventDefault()}}})));this._register(this._findInput.onRegexKeyDown((e=>{if(e.equals(2)){if(this._isReplaceVisible){this._replaceInput.focusOnPreserve();e.preventDefault()}}})));this._register(this._findInput.inputBox.onDidHeightChange((e=>{if(this._tryUpdateHeight()){this._showViewZone()}})));if(isLinux){this._register(this._findInput.onMouseDown((e=>this._onFindInputMouseDown(e))))}this._matchesCount=document.createElement("div");this._matchesCount.className="matchesCount";this._updateMatchesCount();this._prevBtn=this._register(new SimpleButton({label:NLS_PREVIOUS_MATCH_BTN_LABEL+this._keybindingLabelFor(FIND_IDS.PreviousMatchFindAction),icon:findPreviousMatchIcon,onTrigger:()=>{assertIsDefined(this._codeEditor.getAction(FIND_IDS.PreviousMatchFindAction)).run().then(void 0,onUnexpectedError)}}));this._nextBtn=this._register(new SimpleButton({label:NLS_NEXT_MATCH_BTN_LABEL+this._keybindingLabelFor(FIND_IDS.NextMatchFindAction),icon:findNextMatchIcon,onTrigger:()=>{assertIsDefined(this._codeEditor.getAction(FIND_IDS.NextMatchFindAction)).run().then(void 0,onUnexpectedError)}}));const findPart=document.createElement("div");findPart.className="find-part";findPart.appendChild(this._findInput.domNode);const actionsContainer=document.createElement("div");actionsContainer.className="find-actions";findPart.appendChild(actionsContainer);actionsContainer.appendChild(this._matchesCount);actionsContainer.appendChild(this._prevBtn.domNode);actionsContainer.appendChild(this._nextBtn.domNode);this._toggleSelectionFind=this._register(new Toggle({icon:findSelectionIcon,title:NLS_TOGGLE_SELECTION_FIND_TITLE+this._keybindingLabelFor(FIND_IDS.ToggleSearchScopeCommand),isChecked:false,inputActiveOptionBackground:asCssVariable(inputActiveOptionBackground),inputActiveOptionBorder:asCssVariable(inputActiveOptionBorder),inputActiveOptionForeground:asCssVariable(inputActiveOptionForeground)}));this._register(this._toggleSelectionFind.onChange((()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){const selections=this._codeEditor.getSelections();selections.map((selection=>{if(selection.endColumn===1&&selection.endLineNumber>selection.startLineNumber){selection=selection.setEndPosition(selection.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(selection.endLineNumber-1))}if(!selection.isEmpty()){return selection}return null})).filter((element=>!!element));if(selections.length){this._state.change({searchScope:selections},true)}}}else{this._state.change({searchScope:null},true)}})));actionsContainer.appendChild(this._toggleSelectionFind.domNode);this._closeBtn=this._register(new SimpleButton({label:NLS_CLOSE_BTN_LABEL+this._keybindingLabelFor(FIND_IDS.CloseFindWidgetCommand),icon:widgetClose,onTrigger:()=>{this._state.change({isRevealed:false,searchScope:null},false)},onKeyDown:e=>{if(e.equals(2)){if(this._isReplaceVisible){if(this._replaceBtn.isEnabled()){this._replaceBtn.focus()}else{this._codeEditor.focus()}e.preventDefault()}}}}));this._replaceInput=this._register(new ContextScopedReplaceInput(null,void 0,{label:NLS_REPLACE_INPUT_LABEL,placeholder:NLS_REPLACE_INPUT_PLACEHOLDER,appendPreserveCaseLabel:this._keybindingLabelFor(FIND_IDS.TogglePreserveCaseCommand),history:[],flexibleHeight:flexibleHeight,flexibleWidth:flexibleWidth,flexibleMaxHeight:118,showHistoryHint:()=>showHistoryKeybindingHint(this._keybindingService),inputBoxStyles:defaultInputBoxStyles,toggleStyles:defaultToggleStyles},this._contextKeyService,true));this._replaceInput.setPreserveCase(!!this._state.preserveCase);this._register(this._replaceInput.onKeyDown((e=>this._onReplaceInputKeyDown(e))));this._register(this._replaceInput.inputBox.onDidChange((()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},false)})));this._register(this._replaceInput.inputBox.onDidHeightChange((e=>{if(this._isReplaceVisible&&this._tryUpdateHeight()){this._showViewZone()}})));this._register(this._replaceInput.onDidOptionChange((()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},true)})));this._register(this._replaceInput.onPreserveCaseKeyDown((e=>{if(e.equals(2)){if(this._prevBtn.isEnabled()){this._prevBtn.focus()}else if(this._nextBtn.isEnabled()){this._nextBtn.focus()}else if(this._toggleSelectionFind.enabled){this._toggleSelectionFind.focus()}else if(this._closeBtn.isEnabled()){this._closeBtn.focus()}e.preventDefault()}})));this._replaceBtn=this._register(new SimpleButton({label:NLS_REPLACE_BTN_LABEL+this._keybindingLabelFor(FIND_IDS.ReplaceOneAction),icon:findReplaceIcon,onTrigger:()=>{this._controller.replace()},onKeyDown:e=>{if(e.equals(1024|2)){this._closeBtn.focus();e.preventDefault()}}}));this._replaceAllBtn=this._register(new SimpleButton({label:NLS_REPLACE_ALL_BTN_LABEL+this._keybindingLabelFor(FIND_IDS.ReplaceAllAction),icon:findReplaceAllIcon,onTrigger:()=>{this._controller.replaceAll()}}));const replacePart=document.createElement("div");replacePart.className="replace-part";replacePart.appendChild(this._replaceInput.domNode);const replaceActionsContainer=document.createElement("div");replaceActionsContainer.className="replace-actions";replacePart.appendChild(replaceActionsContainer);replaceActionsContainer.appendChild(this._replaceBtn.domNode);replaceActionsContainer.appendChild(this._replaceAllBtn.domNode);this._toggleReplaceBtn=this._register(new SimpleButton({label:NLS_TOGGLE_REPLACE_MODE_BTN_LABEL,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},false);if(this._isReplaceVisible){this._replaceInput.width=getTotalWidth(this._findInput.domNode);this._replaceInput.inputBox.layout()}this._showViewZone()}}));this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);this._domNode=document.createElement("div");this._domNode.className="editor-widget find-widget";this._domNode.setAttribute("aria-hidden","true");this._domNode.ariaLabel=NLS_FIND_DIALOG_LABEL;this._domNode.role="dialog";this._domNode.style.width=`${FIND_WIDGET_INITIAL_WIDTH}px`;this._domNode.appendChild(this._toggleReplaceBtn.domNode);this._domNode.appendChild(findPart);this._domNode.appendChild(this._closeBtn.domNode);this._domNode.appendChild(replacePart);this._resizeSash=new Sash(this._domNode,this,{orientation:0,size:2});this._resized=false;let originalWidth=FIND_WIDGET_INITIAL_WIDTH;this._register(this._resizeSash.onDidStart((()=>{originalWidth=getTotalWidth(this._domNode)})));this._register(this._resizeSash.onDidChange((evt=>{this._resized=true;const width=originalWidth+evt.startX-evt.currentX;if(width<FIND_WIDGET_INITIAL_WIDTH){return}const maxWidth=parseFloat(getComputedStyle2(this._domNode).maxWidth)||0;if(width>maxWidth){return}this._domNode.style.width=`${width}px`;if(this._isReplaceVisible){this._replaceInput.width=getTotalWidth(this._findInput.domNode)}this._findInput.inputBox.layout();this._tryUpdateHeight()})));this._register(this._resizeSash.onDidReset((()=>{const currentWidth=getTotalWidth(this._domNode);if(currentWidth<FIND_WIDGET_INITIAL_WIDTH){return}let width=FIND_WIDGET_INITIAL_WIDTH;if(!this._resized||currentWidth===FIND_WIDGET_INITIAL_WIDTH){const layoutInfo=this._codeEditor.getLayoutInfo();width=layoutInfo.width-28-layoutInfo.minimap.minimapWidth-15;this._resized=true}else{}this._domNode.style.width=`${width}px`;if(this._isReplaceVisible){this._replaceInput.width=getTotalWidth(this._findInput.domNode)}this._findInput.inputBox.layout()})))}updateAccessibilitySupport(){const value=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(value!==2)}};FindWidget.ID="editor.contrib.findWidget";var SimpleButton=class extends Widget{constructor(opts){super();this._opts=opts;let className="button";if(this._opts.className){className=className+" "+this._opts.className}if(this._opts.icon){className=className+" "+ThemeIcon.asClassName(this._opts.icon)}this._domNode=document.createElement("div");this._domNode.title=this._opts.label;this._domNode.tabIndex=0;this._domNode.className=className;this._domNode.setAttribute("role","button");this._domNode.setAttribute("aria-label",this._opts.label);this.onclick(this._domNode,(e=>{this._opts.onTrigger();e.preventDefault()}));this.onkeydown(this._domNode,(e=>{var _a6,_b3;if(e.equals(10)||e.equals(3)){this._opts.onTrigger();e.preventDefault();return}(_b3=(_a6=this._opts).onKeyDown)===null||_b3===void 0?void 0:_b3.call(_a6,e)}))}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(enabled){this._domNode.classList.toggle("disabled",!enabled);this._domNode.setAttribute("aria-disabled",String(!enabled));this._domNode.tabIndex=enabled?0:-1}setExpanded(expanded){this._domNode.setAttribute("aria-expanded",String(!!expanded));if(expanded){this._domNode.classList.remove(...ThemeIcon.asClassNameArray(findCollapsedIcon));this._domNode.classList.add(...ThemeIcon.asClassNameArray(findExpandedIcon))}else{this._domNode.classList.remove(...ThemeIcon.asClassNameArray(findExpandedIcon));this._domNode.classList.add(...ThemeIcon.asClassNameArray(findCollapsedIcon))}}};registerThemingParticipant(((theme,collector)=>{const addBackgroundColorRule=(selector,color)=>{if(color){collector.addRule(`.monaco-editor ${selector} { background-color: ${color}; }`)}};addBackgroundColorRule(".findMatch",theme.getColor(editorFindMatchHighlight));addBackgroundColorRule(".currentFindMatch",theme.getColor(editorFindMatch));addBackgroundColorRule(".findScope",theme.getColor(editorFindRangeHighlight));const widgetBackground=theme.getColor(editorWidgetBackground);addBackgroundColorRule(".find-widget",widgetBackground);const widgetShadowColor=theme.getColor(widgetShadow);if(widgetShadowColor){collector.addRule(`.monaco-editor .find-widget { box-shadow: 0 0 8px 2px ${widgetShadowColor}; }`)}const widgetBorderColor=theme.getColor(widgetBorder);if(widgetBorderColor){collector.addRule(`.monaco-editor .find-widget { border-left: 1px solid ${widgetBorderColor}; border-right: 1px solid ${widgetBorderColor}; border-bottom: 1px solid ${widgetBorderColor}; }`)}const findMatchHighlightBorder=theme.getColor(editorFindMatchHighlightBorder);if(findMatchHighlightBorder){collector.addRule(`.monaco-editor .findMatch { border: 1px ${isHighContrast(theme.type)?"dotted":"solid"} ${findMatchHighlightBorder}; box-sizing: border-box; }`)}const findMatchBorder=theme.getColor(editorFindMatchBorder);if(findMatchBorder){collector.addRule(`.monaco-editor .currentFindMatch { border: 2px solid ${findMatchBorder}; padding: 1px; box-sizing: border-box; }`)}const findRangeHighlightBorder=theme.getColor(editorFindRangeHighlightBorder);if(findRangeHighlightBorder){collector.addRule(`.monaco-editor .findScope { border: 1px ${isHighContrast(theme.type)?"dashed":"solid"} ${findRangeHighlightBorder}; }`)}const hcBorder=theme.getColor(contrastBorder);if(hcBorder){collector.addRule(`.monaco-editor .find-widget { border: 1px solid ${hcBorder}; }`)}const foreground2=theme.getColor(editorWidgetForeground);if(foreground2){collector.addRule(`.monaco-editor .find-widget { color: ${foreground2}; }`)}const error=theme.getColor(errorForeground);if(error){collector.addRule(`.monaco-editor .find-widget.no-results .matchesCount { color: ${error}; }`)}const resizeBorderBackground=theme.getColor(editorWidgetResizeBorder);if(resizeBorderBackground){collector.addRule(`.monaco-editor .find-widget .monaco-sash { background-color: ${resizeBorderBackground}; }`)}else{const border=theme.getColor(editorWidgetBorder);if(border){collector.addRule(`.monaco-editor .find-widget .monaco-sash { background-color: ${border}; }`)}}const toolbarHoverBackgroundColor=theme.getColor(toolbarHoverBackground);if(toolbarHoverBackgroundColor){collector.addRule(`\n\t\t.monaco-editor .find-widget .button:not(.disabled):hover,\n\t\t.monaco-editor .find-widget .codicon-find-selection:hover {\n\t\t\tbackground-color: ${toolbarHoverBackgroundColor} !important;\n\t\t}\n\t`)}const focusOutline=theme.getColor(focusBorder);if(focusOutline){collector.addRule(`.monaco-editor .find-widget .monaco-inputbox.synthetic-focus { outline-color: ${focusOutline}; }`)}}));init_nls();init_actions2();init_clipboardService();init_contextkey();init_contextView();init_keybinding();init_notification();init_quickInput();init_storage2();init_themeService();var __decorate89=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param82=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter66=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var CommonFindController_1;var SEARCH_STRING_MAX_LENGTH=524288;function getSelectionSearchString(editor2,seedSearchStringFromSelection="single",seedSearchStringFromNonEmptySelection=false){if(!editor2.hasModel()){return null}const selection=editor2.getSelection();if(seedSearchStringFromSelection==="single"&&selection.startLineNumber===selection.endLineNumber||seedSearchStringFromSelection==="multiple"){if(selection.isEmpty()){const wordAtPosition=editor2.getConfiguredWordAtPosition(selection.getStartPosition());if(wordAtPosition&&false===seedSearchStringFromNonEmptySelection){return wordAtPosition.word}}else{if(editor2.getModel().getValueLengthInRange(selection)<SEARCH_STRING_MAX_LENGTH){return editor2.getModel().getValueInRange(selection)}}}return null}var CommonFindController=CommonFindController_1=class CommonFindController2 extends Disposable{get editor(){return this._editor}static get(editor2){return editor2.getContribution(CommonFindController_1.ID)}constructor(editor2,contextKeyService,storageService,clipboardService){super();this._editor=editor2;this._findWidgetVisible=CONTEXT_FIND_WIDGET_VISIBLE.bindTo(contextKeyService);this._contextKeyService=contextKeyService;this._storageService=storageService;this._clipboardService=clipboardService;this._updateHistoryDelayer=new Delayer(500);this._state=this._register(new FindReplaceState);this.loadQueryState();this._register(this._state.onFindReplaceStateChange((e=>this._onStateChanged(e))));this._model=null;this._register(this._editor.onDidChangeModel((()=>{const shouldRestartFind=this._editor.getModel()&&this._state.isRevealed;this.disposeModel();this._state.change({searchScope:null,matchCase:this._storageService.getBoolean("editor.matchCase",1,false),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,false),isRegex:this._storageService.getBoolean("editor.isRegex",1,false),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,false)},false);if(shouldRestartFind){this._start({forceRevealReplace:false,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:false,seedSearchStringFromGlobalClipboard:false,shouldFocus:0,shouldAnimate:false,updateSearchScope:false,loop:this._editor.getOption(40).loop})}})))}dispose(){this.disposeModel();super.dispose()}disposeModel(){if(this._model){this._model.dispose();this._model=null}}_onStateChanged(e){this.saveQueryState(e);if(e.isRevealed){if(this._state.isRevealed){this._findWidgetVisible.set(true)}else{this._findWidgetVisible.reset();this.disposeModel()}}if(e.searchString){this.setGlobalBufferTerm(this._state.searchString)}}saveQueryState(e){if(e.isRegex){this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,1)}if(e.wholeWord){this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,1)}if(e.matchCase){this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,1)}if(e.preserveCase){this._storageService.store("editor.preserveCase",this._state.actualPreserveCase,1,1)}}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",1,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",1,this._state.isRegex),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,this._state.preserveCase)},false)}isFindInputFocused(){return!!CONTEXT_FIND_INPUT_FOCUSED.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:false,searchScope:null},false);this._editor.focus()}toggleCaseSensitive(){this._state.change({matchCase:!this._state.matchCase},false);if(!this._state.isRevealed){this.highlightFindOptions()}}toggleWholeWords(){this._state.change({wholeWord:!this._state.wholeWord},false);if(!this._state.isRevealed){this.highlightFindOptions()}}toggleRegex(){this._state.change({isRegex:!this._state.isRegex},false);if(!this._state.isRevealed){this.highlightFindOptions()}}togglePreserveCase(){this._state.change({preserveCase:!this._state.preserveCase},false);if(!this._state.isRevealed){this.highlightFindOptions()}}toggleSearchScope(){if(this._state.searchScope){this._state.change({searchScope:null},true)}else{if(this._editor.hasModel()){const selections=this._editor.getSelections();selections.map((selection=>{if(selection.endColumn===1&&selection.endLineNumber>selection.startLineNumber){selection=selection.setEndPosition(selection.endLineNumber-1,this._editor.getModel().getLineMaxColumn(selection.endLineNumber-1))}if(!selection.isEmpty()){return selection}return null})).filter((element=>!!element));if(selections.length){this._state.change({searchScope:selections},true)}}}}setSearchString(searchString){if(this._state.isRegex){searchString=escapeRegExpCharacters(searchString)}this._state.change({searchString:searchString},false)}highlightFindOptions(ignoreWhenVisible=false){}_start(opts,newState){return __awaiter66(this,void 0,void 0,(function*(){this.disposeModel();if(!this._editor.hasModel()){return}const stateChanges=Object.assign(Object.assign({},newState),{isRevealed:true});if(opts.seedSearchStringFromSelection==="single"){const selectionSearchString=getSelectionSearchString(this._editor,opts.seedSearchStringFromSelection,opts.seedSearchStringFromNonEmptySelection);if(selectionSearchString){if(this._state.isRegex){stateChanges.searchString=escapeRegExpCharacters(selectionSearchString)}else{stateChanges.searchString=selectionSearchString}}}else if(opts.seedSearchStringFromSelection==="multiple"&&!opts.updateSearchScope){const selectionSearchString=getSelectionSearchString(this._editor,opts.seedSearchStringFromSelection);if(selectionSearchString){stateChanges.searchString=selectionSearchString}}if(!stateChanges.searchString&&opts.seedSearchStringFromGlobalClipboard){const selectionSearchString=yield this.getGlobalBufferTerm();if(!this._editor.hasModel()){return}if(selectionSearchString){stateChanges.searchString=selectionSearchString}}if(opts.forceRevealReplace||stateChanges.isReplaceRevealed){stateChanges.isReplaceRevealed=true}else if(!this._findWidgetVisible.get()){stateChanges.isReplaceRevealed=false}if(opts.updateSearchScope){const currentSelections=this._editor.getSelections();if(currentSelections.some((selection=>!selection.isEmpty()))){stateChanges.searchScope=currentSelections}}stateChanges.loop=opts.loop;this._state.change(stateChanges,false);if(!this._model){this._model=new FindModelBoundToEditorModel(this._editor,this._state)}}))}start(opts,newState){return this._start(opts,newState)}moveToNextMatch(){if(this._model){this._model.moveToNextMatch();return true}return false}moveToPrevMatch(){if(this._model){this._model.moveToPrevMatch();return true}return false}goToMatch(index){if(this._model){this._model.moveToMatch(index);return true}return false}replace(){if(this._model){this._model.replace();return true}return false}replaceAll(){if(this._model){this._model.replaceAll();return true}return false}selectAllMatches(){if(this._model){this._model.selectAllMatches();this._editor.focus();return true}return false}getGlobalBufferTerm(){return __awaiter66(this,void 0,void 0,(function*(){if(this._editor.getOption(40).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()){return this._clipboardService.readFindText()}return""}))}setGlobalBufferTerm(text2){if(this._editor.getOption(40).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()){this._clipboardService.writeFindText(text2)}}};CommonFindController.ID="editor.contrib.findController";CommonFindController=CommonFindController_1=__decorate89([__param82(1,IContextKeyService),__param82(2,IStorageService),__param82(3,IClipboardService)],CommonFindController);var FindController2=class FindController3 extends CommonFindController{constructor(editor2,_contextViewService,_contextKeyService,_keybindingService,_themeService,_notificationService,_storageService,clipboardService){super(editor2,_contextKeyService,_storageService,clipboardService);this._contextViewService=_contextViewService;this._keybindingService=_keybindingService;this._themeService=_themeService;this._notificationService=_notificationService;this._widget=null;this._findOptionsWidget=null}_start(opts,newState){const _super=Object.create(null,{_start:{get:()=>super._start}});return __awaiter66(this,void 0,void 0,(function*(){if(!this._widget){this._createFindWidget()}const selection=this._editor.getSelection();let updateSearchScope=false;switch(this._editor.getOption(40).autoFindInSelection){case"always":updateSearchScope=true;break;case"never":updateSearchScope=false;break;case"multiline":{const isSelectionMultipleLine=!!selection&&selection.startLineNumber!==selection.endLineNumber;updateSearchScope=isSelectionMultipleLine;break}default:break}opts.updateSearchScope=opts.updateSearchScope||updateSearchScope;yield _super._start.call(this,opts,newState);if(this._widget){if(opts.shouldFocus===2){this._widget.focusReplaceInput()}else if(opts.shouldFocus===1){this._widget.focusFindInput()}}}))}highlightFindOptions(ignoreWhenVisible=false){if(!this._widget){this._createFindWidget()}if(this._state.isRevealed&&!ignoreWhenVisible){this._widget.highlightFindOptions()}else{this._findOptionsWidget.highlightFindOptions()}}_createFindWidget(){this._widget=this._register(new FindWidget(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService));this._findOptionsWidget=this._register(new FindOptionsWidget(this._editor,this._state,this._keybindingService))}};FindController2=__decorate89([__param82(1,IContextViewService),__param82(2,IContextKeyService),__param82(3,IKeybindingService),__param82(4,IThemeService),__param82(5,INotificationService),__param82(6,IStorageService),__param82(7,IClipboardService)],FindController2);var StartFindAction=registerMultiEditorAction(new MultiEditorAction({id:FIND_IDS.StartFindAction,label:localize("startFindAction","Find"),alias:"Find",precondition:ContextKeyExpr.or(EditorContextKeys.focus,ContextKeyExpr.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2048|36,weight:100},menuOpts:{menuId:MenuId.MenubarEditMenu,group:"3_find",title:localize({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}}));StartFindAction.addImplementation(0,((accessor,editor2,args)=>{const controller=CommonFindController.get(editor2);if(!controller){return false}return controller.start({forceRevealReplace:false,seedSearchStringFromSelection:editor2.getOption(40).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:editor2.getOption(40).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:editor2.getOption(40).globalFindClipboard,shouldFocus:1,shouldAnimate:true,updateSearchScope:false,loop:editor2.getOption(40).loop})}));var findArgDescription={description:"Open a new In-Editor Find Widget.",args:[{name:"Open a new In-Editor Find Widget args",schema:{properties:{searchString:{type:"string"},replaceString:{type:"string"},regex:{type:"boolean"},regexOverride:{type:"number",description:localize("actions.find.isRegexOverride",'Overrides "Use Regular Expression" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},wholeWord:{type:"boolean"},wholeWordOverride:{type:"number",description:localize("actions.find.wholeWordOverride",'Overrides "Match Whole Word" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},matchCase:{type:"boolean"},matchCaseOverride:{type:"number",description:localize("actions.find.matchCaseOverride",'Overrides "Math Case" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},preserveCase:{type:"boolean"},preserveCaseOverride:{type:"number",description:localize("actions.find.preserveCaseOverride",'Overrides "Preserve Case" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},findInSelection:{type:"boolean"}}}}]};var StartFindWithArgsAction=class extends EditorAction{constructor(){super({id:FIND_IDS.StartFindWithArgs,label:localize("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},description:findArgDescription})}run(accessor,editor2,args){return __awaiter66(this,void 0,void 0,(function*(){const controller=CommonFindController.get(editor2);if(controller){const newState=args?{searchString:args.searchString,replaceString:args.replaceString,isReplaceRevealed:args.replaceString!==void 0,isRegex:args.isRegex,wholeWord:args.matchWholeWord,matchCase:args.isCaseSensitive,preserveCase:args.preserveCase}:{};yield controller.start({forceRevealReplace:false,seedSearchStringFromSelection:controller.getState().searchString.length===0&&editor2.getOption(40).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:editor2.getOption(40).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:true,shouldFocus:1,shouldAnimate:true,updateSearchScope:(args===null||args===void 0?void 0:args.findInSelection)||false,loop:editor2.getOption(40).loop},newState);controller.setGlobalBufferTerm(controller.getState().searchString)}}))}};var StartFindWithSelectionAction=class extends EditorAction{constructor(){super({id:FIND_IDS.StartFindWithSelection,label:localize("startFindWithSelectionAction","Find With Selection"),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2048|35},weight:100}})}run(accessor,editor2){return __awaiter66(this,void 0,void 0,(function*(){const controller=CommonFindController.get(editor2);if(controller){yield controller.start({forceRevealReplace:false,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:false,seedSearchStringFromGlobalClipboard:false,shouldFocus:0,shouldAnimate:true,updateSearchScope:false,loop:editor2.getOption(40).loop});controller.setGlobalBufferTerm(controller.getState().searchString)}}))}};var MatchFindAction=class extends EditorAction{run(accessor,editor2){return __awaiter66(this,void 0,void 0,(function*(){const controller=CommonFindController.get(editor2);if(controller&&!this._run(controller)){yield controller.start({forceRevealReplace:false,seedSearchStringFromSelection:controller.getState().searchString.length===0&&editor2.getOption(40).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:editor2.getOption(40).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:true,shouldFocus:0,shouldAnimate:true,updateSearchScope:false,loop:editor2.getOption(40).loop});this._run(controller)}}))}};var NextMatchFindAction=class extends MatchFindAction{constructor(){super({id:FIND_IDS.NextMatchFindAction,label:localize("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:EditorContextKeys.focus,primary:61,mac:{primary:2048|37,secondary:[61]},weight:100},{kbExpr:ContextKeyExpr.and(EditorContextKeys.focus,CONTEXT_FIND_INPUT_FOCUSED),primary:3,weight:100}]})}_run(controller){const result=controller.moveToNextMatch();if(result){controller.editor.pushUndoStop();return true}return false}};var PreviousMatchFindAction=class extends MatchFindAction{constructor(){super({id:FIND_IDS.PreviousMatchFindAction,label:localize("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:EditorContextKeys.focus,primary:1024|61,mac:{primary:2048|1024|37,secondary:[1024|61]},weight:100},{kbExpr:ContextKeyExpr.and(EditorContextKeys.focus,CONTEXT_FIND_INPUT_FOCUSED),primary:1024|3,weight:100}]})}_run(controller){return controller.moveToPrevMatch()}};var MoveToMatchFindAction=class extends EditorAction{constructor(){super({id:FIND_IDS.GoToMatchFindAction,label:localize("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:CONTEXT_FIND_WIDGET_VISIBLE});this._highlightDecorations=[]}run(accessor,editor2,args){const controller=CommonFindController.get(editor2);if(!controller){return}const matchesCount=controller.getState().matchesCount;if(matchesCount<1){const notificationService=accessor.get(INotificationService);notificationService.notify({severity:Severity2.Warning,message:localize("findMatchAction.noResults","No matches. Try searching for something else.")});return}const quickInputService=accessor.get(IQuickInputService);const inputBox=quickInputService.createInputBox();inputBox.placeholder=localize("findMatchAction.inputPlaceHolder","Type a number to go to a specific match (between 1 and {0})",matchesCount);const toFindMatchIndex=value=>{const index=parseInt(value);if(isNaN(index)){return void 0}const matchCount=controller.getState().matchesCount;if(index>0&&index<=matchCount){return index-1}else if(index<0&&index>=-matchCount){return matchCount+index}return void 0};const updatePickerAndEditor=value=>{const index=toFindMatchIndex(value);if(typeof index==="number"){inputBox.validationMessage=void 0;controller.goToMatch(index);const currentMatch=controller.getState().currentMatch;if(currentMatch){this.addDecorations(editor2,currentMatch)}}else{inputBox.validationMessage=localize("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",controller.getState().matchesCount);this.clearDecorations(editor2)}};inputBox.onDidChangeValue((value=>{updatePickerAndEditor(value)}));inputBox.onDidAccept((()=>{const index=toFindMatchIndex(inputBox.value);if(typeof index==="number"){controller.goToMatch(index);inputBox.hide()}else{inputBox.validationMessage=localize("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",controller.getState().matchesCount)}}));inputBox.onDidHide((()=>{this.clearDecorations(editor2);inputBox.dispose()}));inputBox.show()}clearDecorations(editor2){editor2.changeDecorations((changeAccessor=>{this._highlightDecorations=changeAccessor.deltaDecorations(this._highlightDecorations,[])}))}addDecorations(editor2,range2){editor2.changeDecorations((changeAccessor=>{this._highlightDecorations=changeAccessor.deltaDecorations(this._highlightDecorations,[{range:range2,options:{description:"find-match-quick-access-range-highlight",className:"rangeHighlight",isWholeLine:true}},{range:range2,options:{description:"find-match-quick-access-range-highlight-overview",overviewRuler:{color:themeColorFromId(overviewRulerRangeHighlight),position:OverviewRulerLane2.Full}}}])}))}};var SelectionMatchFindAction=class extends EditorAction{run(accessor,editor2){return __awaiter66(this,void 0,void 0,(function*(){const controller=CommonFindController.get(editor2);if(!controller){return}const selectionSearchString=getSelectionSearchString(editor2,"single",false);if(selectionSearchString){controller.setSearchString(selectionSearchString)}if(!this._run(controller)){yield controller.start({forceRevealReplace:false,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:false,seedSearchStringFromGlobalClipboard:false,shouldFocus:0,shouldAnimate:true,updateSearchScope:false,loop:editor2.getOption(40).loop});this._run(controller)}}))}};var NextSelectionMatchFindAction=class extends SelectionMatchFindAction{constructor(){super({id:FIND_IDS.NextSelectionMatchFindAction,label:localize("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:2048|61,weight:100}})}_run(controller){return controller.moveToNextMatch()}};var PreviousSelectionMatchFindAction=class extends SelectionMatchFindAction{constructor(){super({id:FIND_IDS.PreviousSelectionMatchFindAction,label:localize("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:2048|1024|61,weight:100}})}_run(controller){return controller.moveToPrevMatch()}};var StartFindReplaceAction=registerMultiEditorAction(new MultiEditorAction({id:FIND_IDS.StartFindReplaceAction,label:localize("startReplace","Replace"),alias:"Replace",precondition:ContextKeyExpr.or(EditorContextKeys.focus,ContextKeyExpr.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2048|38,mac:{primary:2048|512|36},weight:100},menuOpts:{menuId:MenuId.MenubarEditMenu,group:"3_find",title:localize({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}}));StartFindReplaceAction.addImplementation(0,((accessor,editor2,args)=>{if(!editor2.hasModel()||editor2.getOption(89)){return false}const controller=CommonFindController.get(editor2);if(!controller){return false}const currentSelection=editor2.getSelection();const findInputFocused=controller.isFindInputFocused();const seedSearchStringFromSelection=!currentSelection.isEmpty()&&currentSelection.startLineNumber===currentSelection.endLineNumber&&editor2.getOption(40).seedSearchStringFromSelection!=="never"&&!findInputFocused;const shouldFocus=findInputFocused||seedSearchStringFromSelection?2:1;return controller.start({forceRevealReplace:true,seedSearchStringFromSelection:seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:editor2.getOption(40).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:editor2.getOption(40).seedSearchStringFromSelection!=="never",shouldFocus:shouldFocus,shouldAnimate:true,updateSearchScope:false,loop:editor2.getOption(40).loop})}));registerEditorContribution(CommonFindController.ID,FindController2,0);registerEditorAction(StartFindWithArgsAction);registerEditorAction(StartFindWithSelectionAction);registerEditorAction(NextMatchFindAction);registerEditorAction(PreviousMatchFindAction);registerEditorAction(MoveToMatchFindAction);registerEditorAction(NextSelectionMatchFindAction);registerEditorAction(PreviousSelectionMatchFindAction);var FindCommand=EditorCommand.bindToContribution(CommonFindController.get);registerEditorCommand(new FindCommand({id:FIND_IDS.CloseFindWidgetCommand,precondition:CONTEXT_FIND_WIDGET_VISIBLE,handler:x=>x.closeFindWidget(),kbOpts:{weight:100+5,kbExpr:ContextKeyExpr.and(EditorContextKeys.focus,ContextKeyExpr.not("isComposing")),primary:9,secondary:[1024|9]}}));registerEditorCommand(new FindCommand({id:FIND_IDS.ToggleCaseSensitiveCommand,precondition:void 0,handler:x=>x.toggleCaseSensitive(),kbOpts:{weight:100+5,kbExpr:EditorContextKeys.focus,primary:ToggleCaseSensitiveKeybinding.primary,mac:ToggleCaseSensitiveKeybinding.mac,win:ToggleCaseSensitiveKeybinding.win,linux:ToggleCaseSensitiveKeybinding.linux}}));registerEditorCommand(new FindCommand({id:FIND_IDS.ToggleWholeWordCommand,precondition:void 0,handler:x=>x.toggleWholeWords(),kbOpts:{weight:100+5,kbExpr:EditorContextKeys.focus,primary:ToggleWholeWordKeybinding.primary,mac:ToggleWholeWordKeybinding.mac,win:ToggleWholeWordKeybinding.win,linux:ToggleWholeWordKeybinding.linux}}));registerEditorCommand(new FindCommand({id:FIND_IDS.ToggleRegexCommand,precondition:void 0,handler:x=>x.toggleRegex(),kbOpts:{weight:100+5,kbExpr:EditorContextKeys.focus,primary:ToggleRegexKeybinding.primary,mac:ToggleRegexKeybinding.mac,win:ToggleRegexKeybinding.win,linux:ToggleRegexKeybinding.linux}}));registerEditorCommand(new FindCommand({id:FIND_IDS.ToggleSearchScopeCommand,precondition:void 0,handler:x=>x.toggleSearchScope(),kbOpts:{weight:100+5,kbExpr:EditorContextKeys.focus,primary:ToggleSearchScopeKeybinding.primary,mac:ToggleSearchScopeKeybinding.mac,win:ToggleSearchScopeKeybinding.win,linux:ToggleSearchScopeKeybinding.linux}}));registerEditorCommand(new FindCommand({id:FIND_IDS.TogglePreserveCaseCommand,precondition:void 0,handler:x=>x.togglePreserveCase(),kbOpts:{weight:100+5,kbExpr:EditorContextKeys.focus,primary:TogglePreserveCaseKeybinding.primary,mac:TogglePreserveCaseKeybinding.mac,win:TogglePreserveCaseKeybinding.win,linux:TogglePreserveCaseKeybinding.linux}}));registerEditorCommand(new FindCommand({id:FIND_IDS.ReplaceOneAction,precondition:CONTEXT_FIND_WIDGET_VISIBLE,handler:x=>x.replace(),kbOpts:{weight:100+5,kbExpr:EditorContextKeys.focus,primary:2048|1024|22}}));registerEditorCommand(new FindCommand({id:FIND_IDS.ReplaceOneAction,precondition:CONTEXT_FIND_WIDGET_VISIBLE,handler:x=>x.replace(),kbOpts:{weight:100+5,kbExpr:ContextKeyExpr.and(EditorContextKeys.focus,CONTEXT_REPLACE_INPUT_FOCUSED),primary:3}}));registerEditorCommand(new FindCommand({id:FIND_IDS.ReplaceAllAction,precondition:CONTEXT_FIND_WIDGET_VISIBLE,handler:x=>x.replaceAll(),kbOpts:{weight:100+5,kbExpr:EditorContextKeys.focus,primary:2048|512|3}}));registerEditorCommand(new FindCommand({id:FIND_IDS.ReplaceAllAction,precondition:CONTEXT_FIND_WIDGET_VISIBLE,handler:x=>x.replaceAll(),kbOpts:{weight:100+5,kbExpr:ContextKeyExpr.and(EditorContextKeys.focus,CONTEXT_REPLACE_INPUT_FOCUSED),primary:void 0,mac:{primary:2048|3}}}));registerEditorCommand(new FindCommand({id:FIND_IDS.SelectAllMatchesAction,precondition:CONTEXT_FIND_WIDGET_VISIBLE,handler:x=>x.selectAllMatches(),kbOpts:{weight:100+5,kbExpr:EditorContextKeys.focus,primary:512|3}}));init_async();init_cancellation();init_errors();init_keyCodes();init_lifecycle();init_strings();init_types();init_stableEditorScroll();init_editorExtensions();init_editorContextKeys();init_languages();init_languageConfigurationRegistry();init_event();var foldSourceAbbr={[0]:" ",[1]:"u",[2]:"r"};var MAX_FOLDING_REGIONS=65535;var MAX_LINE_NUMBER=16777215;var MASK_INDENT=4278190080;var BitField=class{constructor(size2){const numWords=Math.ceil(size2/32);this._states=new Uint32Array(numWords)}get(index){const arrayIndex=index/32|0;const bit=index%32;return(this._states[arrayIndex]&1<<bit)!==0}set(index,newState){const arrayIndex=index/32|0;const bit=index%32;const value=this._states[arrayIndex];if(newState){this._states[arrayIndex]=value|1<<bit}else{this._states[arrayIndex]=value&~(1<<bit)}}};var FoldingRegions=class{constructor(startIndexes,endIndexes,types){if(startIndexes.length!==endIndexes.length||startIndexes.length>MAX_FOLDING_REGIONS){throw new Error("invalid startIndexes or endIndexes size")}this._startIndexes=startIndexes;this._endIndexes=endIndexes;this._collapseStates=new BitField(startIndexes.length);this._userDefinedStates=new BitField(startIndexes.length);this._recoveredStates=new BitField(startIndexes.length);this._types=types;this._parentsComputed=false}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=true;const parentIndexes=[];const isInsideLast=(startLineNumber,endLineNumber)=>{const index=parentIndexes[parentIndexes.length-1];return this.getStartLineNumber(index)<=startLineNumber&&this.getEndLineNumber(index)>=endLineNumber};for(let i=0,len=this._startIndexes.length;i<len;i++){const startLineNumber=this._startIndexes[i];const endLineNumber=this._endIndexes[i];if(startLineNumber>MAX_LINE_NUMBER||endLineNumber>MAX_LINE_NUMBER){throw new Error("startLineNumber or endLineNumber must not exceed "+MAX_LINE_NUMBER)}while(parentIndexes.length>0&&!isInsideLast(startLineNumber,endLineNumber)){parentIndexes.pop()}const parentIndex=parentIndexes.length>0?parentIndexes[parentIndexes.length-1]:-1;parentIndexes.push(i);this._startIndexes[i]=startLineNumber+((parentIndex&255)<<24);this._endIndexes[i]=endLineNumber+((parentIndex&65280)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(index){return this._startIndexes[index]&MAX_LINE_NUMBER}getEndLineNumber(index){return this._endIndexes[index]&MAX_LINE_NUMBER}getType(index){return this._types?this._types[index]:void 0}hasTypes(){return!!this._types}isCollapsed(index){return this._collapseStates.get(index)}setCollapsed(index,newState){this._collapseStates.set(index,newState)}isUserDefined(index){return this._userDefinedStates.get(index)}setUserDefined(index,newState){return this._userDefinedStates.set(index,newState)}isRecovered(index){return this._recoveredStates.get(index)}setRecovered(index,newState){return this._recoveredStates.set(index,newState)}getSource(index){if(this.isUserDefined(index)){return 1}else if(this.isRecovered(index)){return 2}return 0}setSource(index,source){if(source===1){this.setUserDefined(index,true);this.setRecovered(index,false)}else if(source===2){this.setUserDefined(index,false);this.setRecovered(index,true)}else{this.setUserDefined(index,false);this.setRecovered(index,false)}}setCollapsedAllOfType(type,newState){let hasChanged=false;if(this._types){for(let i=0;i<this._types.length;i++){if(this._types[i]===type){this.setCollapsed(i,newState);hasChanged=true}}}return hasChanged}toRegion(index){return new FoldingRegion(this,index)}getParentIndex(index){this.ensureParentIndices();const parent=((this._startIndexes[index]&MASK_INDENT)>>>24)+((this._endIndexes[index]&MASK_INDENT)>>>16);if(parent===MAX_FOLDING_REGIONS){return-1}return parent}contains(index,line){return this.getStartLineNumber(index)<=line&&this.getEndLineNumber(index)>=line}findIndex(line){let low=0,high=this._startIndexes.length;if(high===0){return-1}while(low<high){const mid=Math.floor((low+high)/2);if(line<this.getStartLineNumber(mid)){high=mid}else{low=mid+1}}return low-1}findRange(line){let index=this.findIndex(line);if(index>=0){const endLineNumber=this.getEndLineNumber(index);if(endLineNumber>=line){return index}index=this.getParentIndex(index);while(index!==-1){if(this.contains(index,line)){return index}index=this.getParentIndex(index)}}return-1}toString(){const res=[];for(let i=0;i<this.length;i++){res[i]=`[${foldSourceAbbr[this.getSource(i)]}${this.isCollapsed(i)?"+":"-"}] ${this.getStartLineNumber(i)}/${this.getEndLineNumber(i)}`}return res.join(", ")}toFoldRange(index){return{startLineNumber:this._startIndexes[index]&MAX_LINE_NUMBER,endLineNumber:this._endIndexes[index]&MAX_LINE_NUMBER,type:this._types?this._types[index]:void 0,isCollapsed:this.isCollapsed(index),source:this.getSource(index)}}static fromFoldRanges(ranges){const rangesLength=ranges.length;const startIndexes=new Uint32Array(rangesLength);const endIndexes=new Uint32Array(rangesLength);let types=[];let gotTypes=false;for(let i=0;i<rangesLength;i++){const range2=ranges[i];startIndexes[i]=range2.startLineNumber;endIndexes[i]=range2.endLineNumber;types.push(range2.type);if(range2.type){gotTypes=true}}if(!gotTypes){types=void 0}const regions=new FoldingRegions(startIndexes,endIndexes,types);for(let i=0;i<rangesLength;i++){if(ranges[i].isCollapsed){regions.setCollapsed(i,true)}regions.setSource(i,ranges[i].source)}return regions}static sanitizeAndMerge(rangesA,rangesB,maxLineNumber){maxLineNumber=maxLineNumber!==null&&maxLineNumber!==void 0?maxLineNumber:Number.MAX_VALUE;const getIndexedFunction=(r,limit)=>Array.isArray(r)?i=>i<limit?r[i]:void 0:i=>i<limit?r.toFoldRange(i):void 0;const getA=getIndexedFunction(rangesA,rangesA.length);const getB=getIndexedFunction(rangesB,rangesB.length);let indexA=0;let indexB=0;let nextA=getA(0);let nextB=getB(0);const stackedRanges=[];let topStackedRange;let prevLineNumber=0;const resultRanges=[];while(nextA||nextB){let useRange=void 0;if(nextB&&(!nextA||nextA.startLineNumber>=nextB.startLineNumber)){if(nextA&&nextA.startLineNumber===nextB.startLineNumber){if(nextB.source===1){useRange=nextB}else{useRange=nextA;useRange.isCollapsed=nextB.isCollapsed&&nextA.endLineNumber===nextB.endLineNumber;useRange.source=0}nextA=getA(++indexA)}else{useRange=nextB;if(nextB.isCollapsed&&nextB.source===0){useRange.source=2}}nextB=getB(++indexB)}else{let scanIndex=indexB;let prescanB=nextB;while(true){if(!prescanB||prescanB.startLineNumber>nextA.endLineNumber){useRange=nextA;break}if(prescanB.source===1&&prescanB.endLineNumber>nextA.endLineNumber){break}prescanB=getB(++scanIndex)}nextA=getA(++indexA)}if(useRange){while(topStackedRange&&topStackedRange.endLineNumber<useRange.startLineNumber){topStackedRange=stackedRanges.pop()}if(useRange.endLineNumber>useRange.startLineNumber&&useRange.startLineNumber>prevLineNumber&&useRange.endLineNumber<=maxLineNumber&&(!topStackedRange||topStackedRange.endLineNumber>=useRange.endLineNumber)){resultRanges.push(useRange);prevLineNumber=useRange.startLineNumber;if(topStackedRange){stackedRanges.push(topStackedRange)}topStackedRange=useRange}}}return resultRanges}};var FoldingRegion=class{constructor(ranges,index){this.ranges=ranges;this.index=index}get startLineNumber(){return this.ranges.getStartLineNumber(this.index)}get endLineNumber(){return this.ranges.getEndLineNumber(this.index)}get regionIndex(){return this.index}get parentIndex(){return this.ranges.getParentIndex(this.index)}get isCollapsed(){return this.ranges.isCollapsed(this.index)}containedBy(range2){return range2.startLineNumber<=this.startLineNumber&&range2.endLineNumber>=this.endLineNumber}containsLine(lineNumber){return this.startLineNumber<=lineNumber&&lineNumber<=this.endLineNumber}};init_hash();var FoldingModel=class{get regions(){return this._regions}get textModel(){return this._textModel}constructor(textModel,decorationProvider){this._updateEventEmitter=new Emitter;this.onDidChange=this._updateEventEmitter.event;this._textModel=textModel;this._decorationProvider=decorationProvider;this._regions=new FoldingRegions(new Uint32Array(0),new Uint32Array(0));this._editorDecorationIds=[]}toggleCollapseState(toggledRegions){if(!toggledRegions.length){return}toggledRegions=toggledRegions.sort(((r1,r2)=>r1.regionIndex-r2.regionIndex));const processed={};this._decorationProvider.changeDecorations((accessor=>{let k=0;let dirtyRegionEndLine=-1;let lastHiddenLine=-1;const updateDecorationsUntil=index=>{while(k<index){const endLineNumber=this._regions.getEndLineNumber(k);const isCollapsed=this._regions.isCollapsed(k);if(endLineNumber<=dirtyRegionEndLine){const isManual=this.regions.getSource(k)!==0;accessor.changeDecorationOptions(this._editorDecorationIds[k],this._decorationProvider.getDecorationOption(isCollapsed,endLineNumber<=lastHiddenLine,isManual))}if(isCollapsed&&endLineNumber>lastHiddenLine){lastHiddenLine=endLineNumber}k++}};for(const region of toggledRegions){const index=region.regionIndex;const editorDecorationId=this._editorDecorationIds[index];if(editorDecorationId&&!processed[editorDecorationId]){processed[editorDecorationId]=true;updateDecorationsUntil(index);const newCollapseState=!this._regions.isCollapsed(index);this._regions.setCollapsed(index,newCollapseState);dirtyRegionEndLine=Math.max(dirtyRegionEndLine,this._regions.getEndLineNumber(index))}}updateDecorationsUntil(this._regions.length)}));this._updateEventEmitter.fire({model:this,collapseStateChanged:toggledRegions})}removeManualRanges(ranges){const newFoldingRanges=new Array;const intersects2=foldRange=>{for(const range2 of ranges){if(!(range2.startLineNumber>foldRange.endLineNumber||foldRange.startLineNumber>range2.endLineNumber)){return true}}return false};for(let i=0;i<this._regions.length;i++){const foldRange=this._regions.toFoldRange(i);if(foldRange.source===0||!intersects2(foldRange)){newFoldingRanges.push(foldRange)}}this.updatePost(FoldingRegions.fromFoldRanges(newFoldingRanges))}update(newRegions,blockedLineNumers=[]){const foldedOrManualRanges=this._currentFoldedOrManualRanges(blockedLineNumers);const newRanges=FoldingRegions.sanitizeAndMerge(newRegions,foldedOrManualRanges,this._textModel.getLineCount());this.updatePost(FoldingRegions.fromFoldRanges(newRanges))}updatePost(newRegions){const newEditorDecorations=[];let lastHiddenLine=-1;for(let index=0,limit=newRegions.length;index<limit;index++){const startLineNumber=newRegions.getStartLineNumber(index);const endLineNumber=newRegions.getEndLineNumber(index);const isCollapsed=newRegions.isCollapsed(index);const isManual=newRegions.getSource(index)!==0;const decorationRange={startLineNumber:startLineNumber,startColumn:this._textModel.getLineMaxColumn(startLineNumber),endLineNumber:endLineNumber,endColumn:this._textModel.getLineMaxColumn(endLineNumber)+1};newEditorDecorations.push({range:decorationRange,options:this._decorationProvider.getDecorationOption(isCollapsed,endLineNumber<=lastHiddenLine,isManual)});if(isCollapsed&&endLineNumber>lastHiddenLine){lastHiddenLine=endLineNumber}}this._decorationProvider.changeDecorations((accessor=>this._editorDecorationIds=accessor.deltaDecorations(this._editorDecorationIds,newEditorDecorations)));this._regions=newRegions;this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(blockedLineNumers=[]){const isBlocked=(startLineNumber,endLineNumber)=>{for(const blockedLineNumber of blockedLineNumers){if(startLineNumber<blockedLineNumber&&blockedLineNumber<=endLineNumber){return true}}return false};const foldedRanges=[];for(let i=0,limit=this._regions.length;i<limit;i++){let isCollapsed=this.regions.isCollapsed(i);const source=this.regions.getSource(i);if(isCollapsed||source!==0){const foldRange=this._regions.toFoldRange(i);const decRange=this._textModel.getDecorationRange(this._editorDecorationIds[i]);if(decRange){if(isCollapsed&&isBlocked(decRange.startLineNumber,decRange.endLineNumber)){isCollapsed=false}foldedRanges.push({startLineNumber:decRange.startLineNumber,endLineNumber:decRange.endLineNumber,type:foldRange.type,isCollapsed:isCollapsed,source:source})}}}return foldedRanges}getMemento(){const foldedOrManualRanges=this._currentFoldedOrManualRanges();const result=[];const maxLineNumber=this._textModel.getLineCount();for(let i=0,limit=foldedOrManualRanges.length;i<limit;i++){const range2=foldedOrManualRanges[i];if(range2.startLineNumber>=range2.endLineNumber||range2.startLineNumber<1||range2.endLineNumber>maxLineNumber){continue}const checksum=this._getLinesChecksum(range2.startLineNumber+1,range2.endLineNumber);result.push({startLineNumber:range2.startLineNumber,endLineNumber:range2.endLineNumber,isCollapsed:range2.isCollapsed,source:range2.source,checksum:checksum})}return result.length>0?result:void 0}applyMemento(state){var _a6,_b3;if(!Array.isArray(state)){return}const rangesToRestore=[];const maxLineNumber=this._textModel.getLineCount();for(const range2 of state){if(range2.startLineNumber>=range2.endLineNumber||range2.startLineNumber<1||range2.endLineNumber>maxLineNumber){continue}const checksum=this._getLinesChecksum(range2.startLineNumber+1,range2.endLineNumber);if(!range2.checksum||checksum===range2.checksum){rangesToRestore.push({startLineNumber:range2.startLineNumber,endLineNumber:range2.endLineNumber,type:void 0,isCollapsed:(_a6=range2.isCollapsed)!==null&&_a6!==void 0?_a6:true,source:(_b3=range2.source)!==null&&_b3!==void 0?_b3:0})}}const newRanges=FoldingRegions.sanitizeAndMerge(this._regions,rangesToRestore,maxLineNumber);this.updatePost(FoldingRegions.fromFoldRanges(newRanges))}_getLinesChecksum(lineNumber1,lineNumber2){const h2=hash(this._textModel.getLineContent(lineNumber1)+this._textModel.getLineContent(lineNumber2));return h2%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds)}getAllRegionsAtLine(lineNumber,filter){const result=[];if(this._regions){let index=this._regions.findRange(lineNumber);let level=1;while(index>=0){const current=this._regions.toRegion(index);if(!filter||filter(current,level)){result.push(current)}level++;index=current.parentIndex}}return result}getRegionAtLine(lineNumber){if(this._regions){const index=this._regions.findRange(lineNumber);if(index>=0){return this._regions.toRegion(index)}}return null}getRegionsInside(region,filter){const result=[];const index=region?region.regionIndex+1:0;const endLineNumber=region?region.endLineNumber:Number.MAX_VALUE;if(filter&&filter.length===2){const levelStack=[];for(let i=index,len=this._regions.length;i<len;i++){const current=this._regions.toRegion(i);if(this._regions.getStartLineNumber(i)<endLineNumber){while(levelStack.length>0&&!current.containedBy(levelStack[levelStack.length-1])){levelStack.pop()}levelStack.push(current);if(filter(current,levelStack.length)){result.push(current)}}else{break}}}else{for(let i=index,len=this._regions.length;i<len;i++){const current=this._regions.toRegion(i);if(this._regions.getStartLineNumber(i)<endLineNumber){if(!filter||filter(current)){result.push(current)}}else{break}}}return result}};function toggleCollapseState(foldingModel,levels,lineNumbers){const toToggle=[];for(const lineNumber of lineNumbers){const region=foldingModel.getRegionAtLine(lineNumber);if(region){const doCollapse=!region.isCollapsed;toToggle.push(region);if(levels>1){const regionsInside=foldingModel.getRegionsInside(region,((r,level)=>r.isCollapsed!==doCollapse&&level<levels));toToggle.push(...regionsInside)}}}foldingModel.toggleCollapseState(toToggle)}function setCollapseStateLevelsDown(foldingModel,doCollapse,levels=Number.MAX_VALUE,lineNumbers){const toToggle=[];if(lineNumbers&&lineNumbers.length>0){for(const lineNumber of lineNumbers){const region=foldingModel.getRegionAtLine(lineNumber);if(region){if(region.isCollapsed!==doCollapse){toToggle.push(region)}if(levels>1){const regionsInside=foldingModel.getRegionsInside(region,((r,level)=>r.isCollapsed!==doCollapse&&level<levels));toToggle.push(...regionsInside)}}}}else{const regionsInside=foldingModel.getRegionsInside(null,((r,level)=>r.isCollapsed!==doCollapse&&level<levels));toToggle.push(...regionsInside)}foldingModel.toggleCollapseState(toToggle)}function setCollapseStateLevelsUp(foldingModel,doCollapse,levels,lineNumbers){const toToggle=[];for(const lineNumber of lineNumbers){const regions=foldingModel.getAllRegionsAtLine(lineNumber,((region,level)=>region.isCollapsed!==doCollapse&&level<=levels));toToggle.push(...regions)}foldingModel.toggleCollapseState(toToggle)}function setCollapseStateUp(foldingModel,doCollapse,lineNumbers){const toToggle=[];for(const lineNumber of lineNumbers){const regions=foldingModel.getAllRegionsAtLine(lineNumber,(region=>region.isCollapsed!==doCollapse));if(regions.length>0){toToggle.push(regions[0])}}foldingModel.toggleCollapseState(toToggle)}function setCollapseStateAtLevel(foldingModel,foldLevel,doCollapse,blockedLineNumbers){const filter=(region,level)=>level===foldLevel&&region.isCollapsed!==doCollapse&&!blockedLineNumbers.some((line=>region.containsLine(line)));const toToggle=foldingModel.getRegionsInside(null,filter);foldingModel.toggleCollapseState(toToggle)}function setCollapseStateForRest(foldingModel,doCollapse,blockedLineNumbers){const filteredRegions=[];for(const lineNumber of blockedLineNumbers){const regions=foldingModel.getAllRegionsAtLine(lineNumber,void 0);if(regions.length>0){filteredRegions.push(regions[0])}}const filter=region=>filteredRegions.every((filteredRegion=>!filteredRegion.containedBy(region)&&!region.containedBy(filteredRegion)))&&region.isCollapsed!==doCollapse;const toToggle=foldingModel.getRegionsInside(null,filter);foldingModel.toggleCollapseState(toToggle)}function setCollapseStateForMatchingLines(foldingModel,regExp,doCollapse){const editorModel=foldingModel.textModel;const regions=foldingModel.regions;const toToggle=[];for(let i=regions.length-1;i>=0;i--){if(doCollapse!==regions.isCollapsed(i)){const startLineNumber=regions.getStartLineNumber(i);if(regExp.test(editorModel.getLineContent(startLineNumber))){toToggle.push(regions.toRegion(i))}}}foldingModel.toggleCollapseState(toToggle)}function setCollapseStateForType(foldingModel,type,doCollapse){const regions=foldingModel.regions;const toToggle=[];for(let i=regions.length-1;i>=0;i--){if(doCollapse!==regions.isCollapsed(i)&&type===regions.getType(i)){toToggle.push(regions.toRegion(i))}}foldingModel.toggleCollapseState(toToggle)}function getParentFoldLine(lineNumber,foldingModel){let startLineNumber=null;const foldingRegion=foldingModel.getRegionAtLine(lineNumber);if(foldingRegion!==null){startLineNumber=foldingRegion.startLineNumber;if(lineNumber===startLineNumber){const parentFoldingIdx=foldingRegion.parentIndex;if(parentFoldingIdx!==-1){startLineNumber=foldingModel.regions.getStartLineNumber(parentFoldingIdx)}else{startLineNumber=null}}}return startLineNumber}function getPreviousFoldLine(lineNumber,foldingModel){let foldingRegion=foldingModel.getRegionAtLine(lineNumber);if(foldingRegion!==null&&foldingRegion.startLineNumber===lineNumber){if(lineNumber!==foldingRegion.startLineNumber){return foldingRegion.startLineNumber}else{const expectedParentIndex=foldingRegion.parentIndex;let minLineNumber=0;if(expectedParentIndex!==-1){minLineNumber=foldingModel.regions.getStartLineNumber(foldingRegion.parentIndex)}while(foldingRegion!==null){if(foldingRegion.regionIndex>0){foldingRegion=foldingModel.regions.toRegion(foldingRegion.regionIndex-1);if(foldingRegion.startLineNumber<=minLineNumber){return null}else if(foldingRegion.parentIndex===expectedParentIndex){return foldingRegion.startLineNumber}}else{return null}}}}else{if(foldingModel.regions.length>0){foldingRegion=foldingModel.regions.toRegion(foldingModel.regions.length-1);while(foldingRegion!==null){if(foldingRegion.startLineNumber<lineNumber){return foldingRegion.startLineNumber}if(foldingRegion.regionIndex>0){foldingRegion=foldingModel.regions.toRegion(foldingRegion.regionIndex-1)}else{foldingRegion=null}}}}return null}function getNextFoldLine(lineNumber,foldingModel){let foldingRegion=foldingModel.getRegionAtLine(lineNumber);if(foldingRegion!==null&&foldingRegion.startLineNumber===lineNumber){const expectedParentIndex=foldingRegion.parentIndex;let maxLineNumber=0;if(expectedParentIndex!==-1){maxLineNumber=foldingModel.regions.getEndLineNumber(foldingRegion.parentIndex)}else if(foldingModel.regions.length===0){return null}else{maxLineNumber=foldingModel.regions.getEndLineNumber(foldingModel.regions.length-1)}while(foldingRegion!==null){if(foldingRegion.regionIndex<foldingModel.regions.length){foldingRegion=foldingModel.regions.toRegion(foldingRegion.regionIndex+1);if(foldingRegion.startLineNumber>=maxLineNumber){return null}else if(foldingRegion.parentIndex===expectedParentIndex){return foldingRegion.startLineNumber}}else{return null}}}else{if(foldingModel.regions.length>0){foldingRegion=foldingModel.regions.toRegion(0);while(foldingRegion!==null){if(foldingRegion.startLineNumber>lineNumber){return foldingRegion.startLineNumber}if(foldingRegion.regionIndex<foldingModel.regions.length){foldingRegion=foldingModel.regions.toRegion(foldingRegion.regionIndex+1)}else{foldingRegion=null}}}}return null}init_arrays();init_event();init_range();init_eolCounter();var HiddenRangeModel=class{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(model){this._updateEventEmitter=new Emitter;this._hasLineChanges=false;this._foldingModel=model;this._foldingModelListener=model.onDidChange((_=>this.updateHiddenRanges()));this._hiddenRanges=[];if(model.regions.length){this.updateHiddenRanges()}}notifyChangeModelContent(e){if(this._hiddenRanges.length&&!this._hasLineChanges){this._hasLineChanges=e.changes.some((change=>change.range.endLineNumber!==change.range.startLineNumber||countEOL(change.text)[0]!==0))}}updateHiddenRanges(){let updateHiddenAreas=false;const newHiddenAreas=[];let i=0;let k=0;let lastCollapsedStart=Number.MAX_VALUE;let lastCollapsedEnd=-1;const ranges=this._foldingModel.regions;for(;i<ranges.length;i++){if(!ranges.isCollapsed(i)){continue}const startLineNumber=ranges.getStartLineNumber(i)+1;const endLineNumber=ranges.getEndLineNumber(i);if(lastCollapsedStart<=startLineNumber&&endLineNumber<=lastCollapsedEnd){continue}if(!updateHiddenAreas&&k<this._hiddenRanges.length&&this._hiddenRanges[k].startLineNumber===startLineNumber&&this._hiddenRanges[k].endLineNumber===endLineNumber){newHiddenAreas.push(this._hiddenRanges[k]);k++}else{updateHiddenAreas=true;newHiddenAreas.push(new Range(startLineNumber,1,endLineNumber,1))}lastCollapsedStart=startLineNumber;lastCollapsedEnd=endLineNumber}if(this._hasLineChanges||updateHiddenAreas||k<this._hiddenRanges.length){this.applyHiddenRanges(newHiddenAreas)}}applyHiddenRanges(newHiddenAreas){this._hiddenRanges=newHiddenAreas;this._hasLineChanges=false;this._updateEventEmitter.fire(newHiddenAreas)}hasRanges(){return this._hiddenRanges.length>0}isHidden(line){return findRange(this._hiddenRanges,line)!==null}adjustSelections(selections){let hasChanges=false;const editorModel=this._foldingModel.textModel;let lastRange=null;const adjustLine=line=>{if(!lastRange||!isInside(line,lastRange)){lastRange=findRange(this._hiddenRanges,line)}if(lastRange){return lastRange.startLineNumber-1}return null};for(let i=0,len=selections.length;i<len;i++){let selection=selections[i];const adjustedStartLine=adjustLine(selection.startLineNumber);if(adjustedStartLine){selection=selection.setStartPosition(adjustedStartLine,editorModel.getLineMaxColumn(adjustedStartLine));hasChanges=true}const adjustedEndLine=adjustLine(selection.endLineNumber);if(adjustedEndLine){selection=selection.setEndPosition(adjustedEndLine,editorModel.getLineMaxColumn(adjustedEndLine));hasChanges=true}selections[i]=selection}return hasChanges}dispose(){if(this.hiddenRanges.length>0){this._hiddenRanges=[];this._updateEventEmitter.fire(this._hiddenRanges)}if(this._foldingModelListener){this._foldingModelListener.dispose();this._foldingModelListener=null}}};function isInside(line,range2){return line>=range2.startLineNumber&&line<=range2.endLineNumber}function findRange(ranges,line){const i=findFirstInSorted(ranges,(r=>line<r.startLineNumber))-1;if(i>=0&&ranges[i].endLineNumber>=line){return ranges[i]}return null}init_utils2();var MAX_FOLDING_REGIONS_FOR_INDENT_DEFAULT=5e3;var ID_INDENT_PROVIDER="indent";var IndentRangeProvider=class{constructor(editorModel,languageConfigurationService,foldingRangesLimit){this.editorModel=editorModel;this.languageConfigurationService=languageConfigurationService;this.foldingRangesLimit=foldingRangesLimit;this.id=ID_INDENT_PROVIDER}dispose(){}compute(cancelationToken){const foldingRules=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules;const offSide=foldingRules&&!!foldingRules.offSide;const markers=foldingRules&&foldingRules.markers;return Promise.resolve(computeRanges(this.editorModel,offSide,markers,this.foldingRangesLimit))}};var RangesCollector=class{constructor(foldingRangesLimit){this._startIndexes=[];this._endIndexes=[];this._indentOccurrences=[];this._length=0;this._foldingRangesLimit=foldingRangesLimit}insertFirst(startLineNumber,endLineNumber,indent){if(startLineNumber>MAX_LINE_NUMBER||endLineNumber>MAX_LINE_NUMBER){return}const index=this._length;this._startIndexes[index]=startLineNumber;this._endIndexes[index]=endLineNumber;this._length++;if(indent<1e3){this._indentOccurrences[indent]=(this._indentOccurrences[indent]||0)+1}}toIndentRanges(model){const limit=this._foldingRangesLimit.limit;if(this._length<=limit){this._foldingRangesLimit.update(this._length,false);const startIndexes=new Uint32Array(this._length);const endIndexes=new Uint32Array(this._length);for(let i=this._length-1,k=0;i>=0;i--,k++){startIndexes[k]=this._startIndexes[i];endIndexes[k]=this._endIndexes[i]}return new FoldingRegions(startIndexes,endIndexes)}else{this._foldingRangesLimit.update(this._length,limit);let entries2=0;let maxIndent=this._indentOccurrences.length;for(let i=0;i<this._indentOccurrences.length;i++){const n=this._indentOccurrences[i];if(n){if(n+entries2>limit){maxIndent=i;break}entries2+=n}}const tabSize=model.getOptions().tabSize;const startIndexes=new Uint32Array(limit);const endIndexes=new Uint32Array(limit);for(let i=this._length-1,k=0;i>=0;i--){const startIndex=this._startIndexes[i];const lineContent=model.getLineContent(startIndex);const indent=computeIndentLevel(lineContent,tabSize);if(indent<maxIndent||indent===maxIndent&&entries2++<limit){startIndexes[k]=startIndex;endIndexes[k]=this._endIndexes[i];k++}}return new FoldingRegions(startIndexes,endIndexes)}}};var foldingRangesLimitDefault={limit:MAX_FOLDING_REGIONS_FOR_INDENT_DEFAULT,update:()=>{}};function computeRanges(model,offSide,markers,foldingRangesLimit=foldingRangesLimitDefault){const tabSize=model.getOptions().tabSize;const result=new RangesCollector(foldingRangesLimit);let pattern=void 0;if(markers){pattern=new RegExp(`(${markers.start.source})|(?:${markers.end.source})`)}const previousRegions=[];const line=model.getLineCount()+1;previousRegions.push({indent:-1,endAbove:line,line:line});for(let line2=model.getLineCount();line2>0;line2--){const lineContent=model.getLineContent(line2);const indent=computeIndentLevel(lineContent,tabSize);let previous=previousRegions[previousRegions.length-1];if(indent===-1){if(offSide){previous.endAbove=line2}continue}let m;if(pattern&&(m=lineContent.match(pattern))){if(m[1]){let i=previousRegions.length-1;while(i>0&&previousRegions[i].indent!==-2){i--}if(i>0){previousRegions.length=i+1;previous=previousRegions[i];result.insertFirst(line2,previous.line,indent);previous.line=line2;previous.indent=indent;previous.endAbove=line2;continue}else{}}else{previousRegions.push({indent:-2,endAbove:line2,line:line2});continue}}if(previous.indent>indent){do{previousRegions.pop();previous=previousRegions[previousRegions.length-1]}while(previous.indent>indent);const endLineNumber=previous.endAbove-1;if(endLineNumber-line2>=1){result.insertFirst(line2,endLineNumber,indent)}}if(previous.indent===indent){previous.endAbove=line2}else{previousRegions.push({indent:indent,endAbove:line2,line:line2})}}return result.toIndentRanges(model)}init_nls();init_contextkey();init_codicons();init_model();init_textModel();init_nls();init_colorRegistry();init_iconRegistry();init_themeService();init_themables();var foldBackground=registerColor("editor.foldBackground",{light:transparent(editorSelectionBackground,.3),dark:transparent(editorSelectionBackground,.3),hcDark:null,hcLight:null},localize("foldBackgroundBackground","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),true);registerColor("editorGutter.foldingControlForeground",{dark:iconForeground,light:iconForeground,hcDark:iconForeground,hcLight:iconForeground},localize("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));var foldingExpandedIcon=registerIcon("folding-expanded",Codicon.chevronDown,localize("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin."));var foldingCollapsedIcon=registerIcon("folding-collapsed",Codicon.chevronRight,localize("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin."));var foldingManualCollapsedIcon=registerIcon("folding-manual-collapsed",foldingCollapsedIcon,localize("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin."));var foldingManualExpandedIcon=registerIcon("folding-manual-expanded",foldingExpandedIcon,localize("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin."));var foldedBackgroundMinimap={color:themeColorFromId(foldBackground),position:MinimapPosition2.Inline};var FoldingDecorationProvider=class{constructor(editor2){this.editor=editor2;this.showFoldingControls="mouseover";this.showFoldingHighlights=true}getDecorationOption(isCollapsed,isHidden,isManual){if(isHidden){return FoldingDecorationProvider.HIDDEN_RANGE_DECORATION}if(this.showFoldingControls==="never"){if(isCollapsed){return this.showFoldingHighlights?FoldingDecorationProvider.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:FoldingDecorationProvider.NO_CONTROLS_COLLAPSED_RANGE_DECORATION}return FoldingDecorationProvider.NO_CONTROLS_EXPANDED_RANGE_DECORATION}if(isCollapsed){return isManual?this.showFoldingHighlights?FoldingDecorationProvider.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:FoldingDecorationProvider.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?FoldingDecorationProvider.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:FoldingDecorationProvider.COLLAPSED_VISUAL_DECORATION}else if(this.showFoldingControls==="mouseover"){return isManual?FoldingDecorationProvider.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:FoldingDecorationProvider.EXPANDED_AUTO_HIDE_VISUAL_DECORATION}else{return isManual?FoldingDecorationProvider.MANUALLY_EXPANDED_VISUAL_DECORATION:FoldingDecorationProvider.EXPANDED_VISUAL_DECORATION}}changeDecorations(callback){return this.editor.changeDecorations(callback)}removeDecorations(decorationIds){this.editor.removeDecorations(decorationIds)}};FoldingDecorationProvider.COLLAPSED_VISUAL_DECORATION=ModelDecorationOptions.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:true,firstLineDecorationClassName:ThemeIcon.asClassName(foldingCollapsedIcon)});FoldingDecorationProvider.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=ModelDecorationOptions.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:foldedBackgroundMinimap,isWholeLine:true,firstLineDecorationClassName:ThemeIcon.asClassName(foldingCollapsedIcon)});FoldingDecorationProvider.MANUALLY_COLLAPSED_VISUAL_DECORATION=ModelDecorationOptions.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:true,firstLineDecorationClassName:ThemeIcon.asClassName(foldingManualCollapsedIcon)});FoldingDecorationProvider.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=ModelDecorationOptions.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:foldedBackgroundMinimap,isWholeLine:true,firstLineDecorationClassName:ThemeIcon.asClassName(foldingManualCollapsedIcon)});FoldingDecorationProvider.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=ModelDecorationOptions.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:true});FoldingDecorationProvider.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=ModelDecorationOptions.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:foldedBackgroundMinimap,isWholeLine:true});FoldingDecorationProvider.EXPANDED_VISUAL_DECORATION=ModelDecorationOptions.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:true,firstLineDecorationClassName:"alwaysShowFoldIcons "+ThemeIcon.asClassName(foldingExpandedIcon)});FoldingDecorationProvider.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=ModelDecorationOptions.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:true,firstLineDecorationClassName:ThemeIcon.asClassName(foldingExpandedIcon)});FoldingDecorationProvider.MANUALLY_EXPANDED_VISUAL_DECORATION=ModelDecorationOptions.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:true,firstLineDecorationClassName:"alwaysShowFoldIcons "+ThemeIcon.asClassName(foldingManualExpandedIcon)});FoldingDecorationProvider.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=ModelDecorationOptions.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:true,firstLineDecorationClassName:ThemeIcon.asClassName(foldingManualExpandedIcon)});FoldingDecorationProvider.NO_CONTROLS_EXPANDED_RANGE_DECORATION=ModelDecorationOptions.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:true});FoldingDecorationProvider.HIDDEN_RANGE_DECORATION=ModelDecorationOptions.register({description:"folding-hidden-range-decoration",stickiness:1});init_errors();init_lifecycle();var foldingContext={};var ID_SYNTAX_PROVIDER="syntax";var SyntaxRangeProvider=class{constructor(editorModel,providers,handleFoldingRangesChange,foldingRangesLimit,fallbackRangeProvider){this.editorModel=editorModel;this.providers=providers;this.handleFoldingRangesChange=handleFoldingRangesChange;this.foldingRangesLimit=foldingRangesLimit;this.fallbackRangeProvider=fallbackRangeProvider;this.id=ID_SYNTAX_PROVIDER;this.disposables=new DisposableStore;if(fallbackRangeProvider){this.disposables.add(fallbackRangeProvider)}for(const provider of providers){if(typeof provider.onDidChange==="function"){this.disposables.add(provider.onDidChange(handleFoldingRangesChange))}}}compute(cancellationToken){return collectSyntaxRanges(this.providers,this.editorModel,cancellationToken).then((ranges=>{var _a6,_b3;if(ranges){const res=sanitizeRanges(ranges,this.foldingRangesLimit);return res}return(_b3=(_a6=this.fallbackRangeProvider)===null||_a6===void 0?void 0:_a6.compute(cancellationToken))!==null&&_b3!==void 0?_b3:null}))}dispose(){this.disposables.dispose()}};function collectSyntaxRanges(providers,model,cancellationToken){let rangeData=null;const promises=providers.map(((provider,i)=>Promise.resolve(provider.provideFoldingRanges(model,foldingContext,cancellationToken)).then((ranges=>{if(cancellationToken.isCancellationRequested){return}if(Array.isArray(ranges)){if(!Array.isArray(rangeData)){rangeData=[]}const nLines=model.getLineCount();for(const r of ranges){if(r.start>0&&r.end>r.start&&r.end<=nLines){rangeData.push({start:r.start,end:r.end,rank:i,kind:r.kind})}}}}),onUnexpectedExternalError)));return Promise.all(promises).then((_=>rangeData))}var RangesCollector2=class{constructor(foldingRangesLimit){this._startIndexes=[];this._endIndexes=[];this._nestingLevels=[];this._nestingLevelCounts=[];this._types=[];this._length=0;this._foldingRangesLimit=foldingRangesLimit}add(startLineNumber,endLineNumber,type,nestingLevel){if(startLineNumber>MAX_LINE_NUMBER||endLineNumber>MAX_LINE_NUMBER){return}const index=this._length;this._startIndexes[index]=startLineNumber;this._endIndexes[index]=endLineNumber;this._nestingLevels[index]=nestingLevel;this._types[index]=type;this._length++;if(nestingLevel<30){this._nestingLevelCounts[nestingLevel]=(this._nestingLevelCounts[nestingLevel]||0)+1}}toIndentRanges(){const limit=this._foldingRangesLimit.limit;if(this._length<=limit){this._foldingRangesLimit.update(this._length,false);const startIndexes=new Uint32Array(this._length);const endIndexes=new Uint32Array(this._length);for(let i=0;i<this._length;i++){startIndexes[i]=this._startIndexes[i];endIndexes[i]=this._endIndexes[i]}return new FoldingRegions(startIndexes,endIndexes,this._types)}else{this._foldingRangesLimit.update(this._length,limit);let entries2=0;let maxLevel=this._nestingLevelCounts.length;for(let i=0;i<this._nestingLevelCounts.length;i++){const n=this._nestingLevelCounts[i];if(n){if(n+entries2>limit){maxLevel=i;break}entries2+=n}}const startIndexes=new Uint32Array(limit);const endIndexes=new Uint32Array(limit);const types=[];for(let i=0,k=0;i<this._length;i++){const level=this._nestingLevels[i];if(level<maxLevel||level===maxLevel&&entries2++<limit){startIndexes[k]=this._startIndexes[i];endIndexes[k]=this._endIndexes[i];types[k]=this._types[i];k++}}return new FoldingRegions(startIndexes,endIndexes,types)}}};function sanitizeRanges(rangeData,foldingRangesLimit){const sorted=rangeData.sort(((d1,d2)=>{let diff=d1.start-d2.start;if(diff===0){diff=d1.rank-d2.rank}return diff}));const collector=new RangesCollector2(foldingRangesLimit);let top=void 0;const previous=[];for(const entry of sorted){if(!top){top=entry;collector.add(entry.start,entry.end,entry.kind&&entry.kind.value,previous.length)}else{if(entry.start>top.start){if(entry.end<=top.end){previous.push(top);top=entry;collector.add(entry.start,entry.end,entry.kind&&entry.kind.value,previous.length)}else{if(entry.start>top.end){do{top=previous.pop()}while(top&&entry.start>top.end);if(top){previous.push(top)}top=entry}collector.add(entry.start,entry.end,entry.kind&&entry.kind.value,previous.length)}}}}return collector.toIndentRanges()}init_notification();init_languageFeatureDebounce();init_stopwatch();init_languageFeatures();init_event();init_commands();init_uri();init_model2();init_configuration();var __decorate90=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param83=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter67=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var FoldingController_1;var CONTEXT_FOLDING_ENABLED=new RawContextKey("foldingEnabled",false);var FoldingController=FoldingController_1=class FoldingController2 extends Disposable{static get(editor2){return editor2.getContribution(FoldingController_1.ID)}static getFoldingRangeProviders(languageFeaturesService,model){var _a6,_b3;const foldingRangeProviders=languageFeaturesService.foldingRangeProvider.ordered(model);return(_b3=(_a6=FoldingController_1._foldingRangeSelector)===null||_a6===void 0?void 0:_a6.call(FoldingController_1,foldingRangeProviders,model))!==null&&_b3!==void 0?_b3:foldingRangeProviders}constructor(editor2,contextKeyService,languageConfigurationService,notificationService,languageFeatureDebounceService,languageFeaturesService){super();this.contextKeyService=contextKeyService;this.languageConfigurationService=languageConfigurationService;this.languageFeaturesService=languageFeaturesService;this.localToDispose=this._register(new DisposableStore);this.editor=editor2;this._foldingLimitReporter=new RangesLimitReporter(editor2);const options2=this.editor.getOptions();this._isEnabled=options2.get(42);this._useFoldingProviders=options2.get(43)!=="indentation";this._unfoldOnClickAfterEndOfLine=options2.get(47);this._restoringViewState=false;this._currentModelHasFoldedImports=false;this._foldingImportsByDefault=options2.get(45);this.updateDebounceInfo=languageFeatureDebounceService.for(languageFeaturesService.foldingRangeProvider,"Folding",{min:200});this.foldingModel=null;this.hiddenRangeModel=null;this.rangeProvider=null;this.foldingRegionPromise=null;this.foldingModelPromise=null;this.updateScheduler=null;this.cursorChangedScheduler=null;this.mouseDownInfo=null;this.foldingDecorationProvider=new FoldingDecorationProvider(editor2);this.foldingDecorationProvider.showFoldingControls=options2.get(108);this.foldingDecorationProvider.showFoldingHighlights=options2.get(44);this.foldingEnabled=CONTEXT_FOLDING_ENABLED.bindTo(this.contextKeyService);this.foldingEnabled.set(this._isEnabled);this._register(this.editor.onDidChangeModel((()=>this.onModelChanged())));this._register(this.editor.onDidChangeConfiguration((e=>{if(e.hasChanged(42)){this._isEnabled=this.editor.getOptions().get(42);this.foldingEnabled.set(this._isEnabled);this.onModelChanged()}if(e.hasChanged(46)){this.onModelChanged()}if(e.hasChanged(108)||e.hasChanged(44)){const options3=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=options3.get(108);this.foldingDecorationProvider.showFoldingHighlights=options3.get(44);this.triggerFoldingModelChanged()}if(e.hasChanged(43)){this._useFoldingProviders=this.editor.getOptions().get(43)!=="indentation";this.onFoldingStrategyChanged()}if(e.hasChanged(47)){this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(47)}if(e.hasChanged(45)){this._foldingImportsByDefault=this.editor.getOptions().get(45)}})));this.onModelChanged()}saveViewState(){const model=this.editor.getModel();if(!model||!this._isEnabled||model.isTooLargeForTokenization()){return{}}if(this.foldingModel){const collapsedRegions=this.foldingModel.getMemento();const provider=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:collapsedRegions,lineCount:model.getLineCount(),provider:provider,foldedImports:this._currentModelHasFoldedImports}}return void 0}restoreViewState(state){const model=this.editor.getModel();if(!model||!this._isEnabled||model.isTooLargeForTokenization()||!this.hiddenRangeModel){return}if(!state){return}this._currentModelHasFoldedImports=!!state.foldedImports;if(state.collapsedRegions&&state.collapsedRegions.length>0&&this.foldingModel){this._restoringViewState=true;try{this.foldingModel.applyMemento(state.collapsedRegions)}finally{this._restoringViewState=false}}}onModelChanged(){this.localToDispose.clear();const model=this.editor.getModel();if(!this._isEnabled||!model||model.isTooLargeForTokenization()){return}this._currentModelHasFoldedImports=false;this.foldingModel=new FoldingModel(model,this.foldingDecorationProvider);this.localToDispose.add(this.foldingModel);this.hiddenRangeModel=new HiddenRangeModel(this.foldingModel);this.localToDispose.add(this.hiddenRangeModel);this.localToDispose.add(this.hiddenRangeModel.onDidChange((hr=>this.onHiddenRangesChanges(hr))));this.updateScheduler=new Delayer(this.updateDebounceInfo.get(model));this.cursorChangedScheduler=new RunOnceScheduler((()=>this.revealCursor()),200);this.localToDispose.add(this.cursorChangedScheduler);this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange((()=>this.onFoldingStrategyChanged())));this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration((()=>this.onFoldingStrategyChanged())));this.localToDispose.add(this.editor.onDidChangeModelContent((e=>this.onDidChangeModelContent(e))));this.localToDispose.add(this.editor.onDidChangeCursorPosition((()=>this.onCursorPositionChanged())));this.localToDispose.add(this.editor.onMouseDown((e=>this.onEditorMouseDown(e))));this.localToDispose.add(this.editor.onMouseUp((e=>this.onEditorMouseUp(e))));this.localToDispose.add({dispose:()=>{var _a6,_b3;if(this.foldingRegionPromise){this.foldingRegionPromise.cancel();this.foldingRegionPromise=null}(_a6=this.updateScheduler)===null||_a6===void 0?void 0:_a6.cancel();this.updateScheduler=null;this.foldingModel=null;this.foldingModelPromise=null;this.hiddenRangeModel=null;this.cursorChangedScheduler=null;(_b3=this.rangeProvider)===null||_b3===void 0?void 0:_b3.dispose();this.rangeProvider=null}});this.triggerFoldingModelChanged()}onFoldingStrategyChanged(){var _a6;(_a6=this.rangeProvider)===null||_a6===void 0?void 0:_a6.dispose();this.rangeProvider=null;this.triggerFoldingModelChanged()}getRangeProvider(editorModel){if(this.rangeProvider){return this.rangeProvider}const indentRangeProvider=new IndentRangeProvider(editorModel,this.languageConfigurationService,this._foldingLimitReporter);this.rangeProvider=indentRangeProvider;if(this._useFoldingProviders&&this.foldingModel){const selectedProviders=FoldingController_1.getFoldingRangeProviders(this.languageFeaturesService,editorModel);if(selectedProviders.length>0){this.rangeProvider=new SyntaxRangeProvider(editorModel,selectedProviders,(()=>this.triggerFoldingModelChanged()),this._foldingLimitReporter,indentRangeProvider)}}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(e){var _a6;(_a6=this.hiddenRangeModel)===null||_a6===void 0?void 0:_a6.notifyChangeModelContent(e);this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){if(this.updateScheduler){if(this.foldingRegionPromise){this.foldingRegionPromise.cancel();this.foldingRegionPromise=null}this.foldingModelPromise=this.updateScheduler.trigger((()=>{const foldingModel=this.foldingModel;if(!foldingModel){return null}const sw=new StopWatch;const provider=this.getRangeProvider(foldingModel.textModel);const foldingRegionPromise=this.foldingRegionPromise=createCancelablePromise((token=>provider.compute(token)));return foldingRegionPromise.then((foldingRanges=>{if(foldingRanges&&foldingRegionPromise===this.foldingRegionPromise){let scrollState;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const hasChanges=foldingRanges.setCollapsedAllOfType(FoldingRangeKind.Imports.value,true);if(hasChanges){scrollState=StableEditorScrollState.capture(this.editor);this._currentModelHasFoldedImports=hasChanges}}const selections=this.editor.getSelections();const selectionLineNumbers=selections?selections.map((s=>s.startLineNumber)):[];foldingModel.update(foldingRanges,selectionLineNumbers);scrollState===null||scrollState===void 0?void 0:scrollState.restore(this.editor);const newValue=this.updateDebounceInfo.update(foldingModel.textModel,sw.elapsed());if(this.updateScheduler){this.updateScheduler.defaultDelay=newValue}}return foldingModel}))})).then(void 0,(err=>{onUnexpectedError(err);return null}))}}onHiddenRangesChanges(hiddenRanges){if(this.hiddenRangeModel&&hiddenRanges.length&&!this._restoringViewState){const selections=this.editor.getSelections();if(selections){if(this.hiddenRangeModel.adjustSelections(selections)){this.editor.setSelections(selections)}}}this.editor.setHiddenAreas(hiddenRanges,this)}onCursorPositionChanged(){if(this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()){this.cursorChangedScheduler.schedule()}}revealCursor(){const foldingModel=this.getFoldingModel();if(!foldingModel){return}foldingModel.then((foldingModel2=>{if(foldingModel2){const selections=this.editor.getSelections();if(selections&&selections.length>0){const toToggle=[];for(const selection of selections){const lineNumber=selection.selectionStartLineNumber;if(this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(lineNumber)){toToggle.push(...foldingModel2.getAllRegionsAtLine(lineNumber,(r=>r.isCollapsed&&lineNumber>r.startLineNumber)))}}if(toToggle.length){foldingModel2.toggleCollapseState(toToggle);this.reveal(selections[0].getPosition())}}}})).then(void 0,onUnexpectedError)}onEditorMouseDown(e){this.mouseDownInfo=null;if(!this.hiddenRangeModel||!e.target||!e.target.range){return}if(!e.event.leftButton&&!e.event.middleButton){return}const range2=e.target.range;let iconClicked=false;switch(e.target.type){case 4:{const data=e.target.detail;const offsetLeftInGutter=e.target.element.offsetLeft;const gutterOffsetX=data.offsetX-offsetLeftInGutter;if(gutterOffsetX<4){return}iconClicked=true;break}case 7:{if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()){const data=e.target.detail;if(!data.isAfterLines){break}}return}case 6:{if(this.hiddenRangeModel.hasRanges()){const model=this.editor.getModel();if(model&&range2.startColumn===model.getLineMaxColumn(range2.startLineNumber)){break}}return}default:return}this.mouseDownInfo={lineNumber:range2.startLineNumber,iconClicked:iconClicked}}onEditorMouseUp(e){const foldingModel=this.foldingModel;if(!foldingModel||!this.mouseDownInfo||!e.target){return}const lineNumber=this.mouseDownInfo.lineNumber;const iconClicked=this.mouseDownInfo.iconClicked;const range2=e.target.range;if(!range2||range2.startLineNumber!==lineNumber){return}if(iconClicked){if(e.target.type!==4){return}}else{const model=this.editor.getModel();if(!model||range2.startColumn!==model.getLineMaxColumn(lineNumber)){return}}const region=foldingModel.getRegionAtLine(lineNumber);if(region&&region.startLineNumber===lineNumber){const isCollapsed=region.isCollapsed;if(iconClicked||isCollapsed){const surrounding=e.event.altKey;let toToggle=[];if(surrounding){const filter=otherRegion=>!otherRegion.containedBy(region)&&!region.containedBy(otherRegion);const toMaybeToggle=foldingModel.getRegionsInside(null,filter);for(const r of toMaybeToggle){if(r.isCollapsed){toToggle.push(r)}}if(toToggle.length===0){toToggle=toMaybeToggle}}else{const recursive=e.event.middleButton||e.event.shiftKey;if(recursive){for(const r of foldingModel.getRegionsInside(region)){if(r.isCollapsed===isCollapsed){toToggle.push(r)}}}if(isCollapsed||!recursive||toToggle.length===0){toToggle.push(region)}}foldingModel.toggleCollapseState(toToggle);this.reveal({lineNumber:lineNumber,column:1})}}}reveal(position){this.editor.revealPositionInCenterIfOutsideViewport(position,0)}};FoldingController.ID="editor.contrib.folding";FoldingController=FoldingController_1=__decorate90([__param83(1,IContextKeyService),__param83(2,ILanguageConfigurationService),__param83(3,INotificationService),__param83(4,ILanguageFeatureDebounceService),__param83(5,ILanguageFeaturesService)],FoldingController);var RangesLimitReporter=class{constructor(editor2){this.editor=editor2;this._onDidChange=new Emitter;this._computed=0;this._limited=false}get limit(){return this.editor.getOptions().get(46)}update(computed,limited){if(computed!==this._computed||limited!==this._limited){this._computed=computed;this._limited=limited;this._onDidChange.fire()}}};var FoldingAction=class extends EditorAction{runEditorCommand(accessor,editor2,args){const languageConfigurationService=accessor.get(ILanguageConfigurationService);const foldingController=FoldingController.get(editor2);if(!foldingController){return}const foldingModelPromise=foldingController.getFoldingModel();if(foldingModelPromise){this.reportTelemetry(accessor,editor2);return foldingModelPromise.then((foldingModel=>{if(foldingModel){this.invoke(foldingController,foldingModel,editor2,args,languageConfigurationService);const selection=editor2.getSelection();if(selection){foldingController.reveal(selection.getStartPosition())}}}))}}getSelectedLines(editor2){const selections=editor2.getSelections();return selections?selections.map((s=>s.startLineNumber)):[]}getLineNumbers(args,editor2){if(args&&args.selectionLines){return args.selectionLines.map((l=>l+1))}return this.getSelectedLines(editor2)}run(_accessor,_editor){}};function foldingArgumentsConstraint(args){if(!isUndefined(args)){if(!isObject(args)){return false}const foldingArgs=args;if(!isUndefined(foldingArgs.levels)&&!isNumber(foldingArgs.levels)){return false}if(!isUndefined(foldingArgs.direction)&&!isString(foldingArgs.direction)){return false}if(!isUndefined(foldingArgs.selectionLines)&&(!Array.isArray(foldingArgs.selectionLines)||!foldingArgs.selectionLines.every(isNumber))){return false}}return true}var UnfoldAction=class extends FoldingAction{constructor(){super({id:"editor.unfold",label:localize("unfoldAction.label","Unfold"),alias:"Unfold",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2048|1024|94,mac:{primary:2048|512|94},weight:100},description:{description:"Unfold the content in the editor",args:[{name:"Unfold editor argument",description:`Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t* 'levels': Number of levels to unfold. If not set, defaults to 1.\n\t\t\t\t\t\t* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.\n\t\t\t\t\t\t* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t`,constraint:foldingArgumentsConstraint,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(_foldingController,foldingModel,editor2,args){const levels=args&&args.levels||1;const lineNumbers=this.getLineNumbers(args,editor2);if(args&&args.direction==="up"){setCollapseStateLevelsUp(foldingModel,false,levels,lineNumbers)}else{setCollapseStateLevelsDown(foldingModel,false,levels,lineNumbers)}}};var UnFoldRecursivelyAction=class extends FoldingAction{constructor(){super({id:"editor.unfoldRecursively",label:localize("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2048|41,2048|94),weight:100}})}invoke(_foldingController,foldingModel,editor2,_args){setCollapseStateLevelsDown(foldingModel,false,Number.MAX_VALUE,this.getSelectedLines(editor2))}};var FoldAction=class extends FoldingAction{constructor(){super({id:"editor.fold",label:localize("foldAction.label","Fold"),alias:"Fold",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2048|1024|92,mac:{primary:2048|512|92},weight:100},description:{description:"Fold the content in the editor",args:[{name:"Fold editor argument",description:`Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t\t* 'levels': Number of levels to fold.\n\t\t\t\t\t\t\t* 'direction': If 'up', folds given number of levels up otherwise folds down.\n\t\t\t\t\t\t\t* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t\tIf no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.\n\t\t\t\t\t\t`,constraint:foldingArgumentsConstraint,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(_foldingController,foldingModel,editor2,args){const lineNumbers=this.getLineNumbers(args,editor2);const levels=args&&args.levels;const direction=args&&args.direction;if(typeof levels!=="number"&&typeof direction!=="string"){setCollapseStateUp(foldingModel,true,lineNumbers)}else{if(direction==="up"){setCollapseStateLevelsUp(foldingModel,true,levels||1,lineNumbers)}else{setCollapseStateLevelsDown(foldingModel,true,levels||1,lineNumbers)}}}};var ToggleFoldAction=class extends FoldingAction{constructor(){super({id:"editor.toggleFold",label:localize("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2048|41,2048|42),weight:100}})}invoke(_foldingController,foldingModel,editor2){const selectedLines=this.getSelectedLines(editor2);toggleCollapseState(foldingModel,1,selectedLines)}};var FoldRecursivelyAction=class extends FoldingAction{constructor(){super({id:"editor.foldRecursively",label:localize("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2048|41,2048|92),weight:100}})}invoke(_foldingController,foldingModel,editor2){const selectedLines=this.getSelectedLines(editor2);setCollapseStateLevelsDown(foldingModel,true,Number.MAX_VALUE,selectedLines)}};var FoldAllBlockCommentsAction=class extends FoldingAction{constructor(){super({id:"editor.foldAllBlockComments",label:localize("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2048|41,2048|90),weight:100}})}invoke(_foldingController,foldingModel,editor2,args,languageConfigurationService){if(foldingModel.regions.hasTypes()){setCollapseStateForType(foldingModel,FoldingRangeKind.Comment.value,true)}else{const editorModel=editor2.getModel();if(!editorModel){return}const comments=languageConfigurationService.getLanguageConfiguration(editorModel.getLanguageId()).comments;if(comments&&comments.blockCommentStartToken){const regExp=new RegExp("^\\s*"+escapeRegExpCharacters(comments.blockCommentStartToken));setCollapseStateForMatchingLines(foldingModel,regExp,true)}}}};var FoldAllRegionsAction=class extends FoldingAction{constructor(){super({id:"editor.foldAllMarkerRegions",label:localize("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2048|41,2048|29),weight:100}})}invoke(_foldingController,foldingModel,editor2,args,languageConfigurationService){if(foldingModel.regions.hasTypes()){setCollapseStateForType(foldingModel,FoldingRangeKind.Region.value,true)}else{const editorModel=editor2.getModel();if(!editorModel){return}const foldingRules=languageConfigurationService.getLanguageConfiguration(editorModel.getLanguageId()).foldingRules;if(foldingRules&&foldingRules.markers&&foldingRules.markers.start){const regExp=new RegExp(foldingRules.markers.start);setCollapseStateForMatchingLines(foldingModel,regExp,true)}}}};var UnfoldAllRegionsAction=class extends FoldingAction{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:localize("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2048|41,2048|30),weight:100}})}invoke(_foldingController,foldingModel,editor2,args,languageConfigurationService){if(foldingModel.regions.hasTypes()){setCollapseStateForType(foldingModel,FoldingRangeKind.Region.value,false)}else{const editorModel=editor2.getModel();if(!editorModel){return}const foldingRules=languageConfigurationService.getLanguageConfiguration(editorModel.getLanguageId()).foldingRules;if(foldingRules&&foldingRules.markers&&foldingRules.markers.start){const regExp=new RegExp(foldingRules.markers.start);setCollapseStateForMatchingLines(foldingModel,regExp,false)}}}};var FoldAllExceptAction=class extends FoldingAction{constructor(){super({id:"editor.foldAllExcept",label:localize("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2048|41,2048|88),weight:100}})}invoke(_foldingController,foldingModel,editor2){const selectedLines=this.getSelectedLines(editor2);setCollapseStateForRest(foldingModel,true,selectedLines)}};var UnfoldAllExceptAction=class extends FoldingAction{constructor(){super({id:"editor.unfoldAllExcept",label:localize("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2048|41,2048|86),weight:100}})}invoke(_foldingController,foldingModel,editor2){const selectedLines=this.getSelectedLines(editor2);setCollapseStateForRest(foldingModel,false,selectedLines)}};var FoldAllAction=class extends FoldingAction{constructor(){super({id:"editor.foldAll",label:localize("foldAllAction.label","Fold All"),alias:"Fold All",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2048|41,2048|21),weight:100}})}invoke(_foldingController,foldingModel,_editor){setCollapseStateLevelsDown(foldingModel,true)}};var UnfoldAllAction=class extends FoldingAction{constructor(){super({id:"editor.unfoldAll",label:localize("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2048|41,2048|40),weight:100}})}invoke(_foldingController,foldingModel,_editor){setCollapseStateLevelsDown(foldingModel,false)}};var FoldLevelAction=class extends FoldingAction{getFoldingLevel(){return parseInt(this.id.substr(FoldLevelAction.ID_PREFIX.length))}invoke(_foldingController,foldingModel,editor2){setCollapseStateAtLevel(foldingModel,this.getFoldingLevel(),true,this.getSelectedLines(editor2))}};FoldLevelAction.ID_PREFIX="editor.foldLevel";FoldLevelAction.ID=level=>FoldLevelAction.ID_PREFIX+level;var GotoParentFoldAction=class extends FoldingAction{constructor(){super({id:"editor.gotoParentFold",label:localize("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,weight:100}})}invoke(_foldingController,foldingModel,editor2){const selectedLines=this.getSelectedLines(editor2);if(selectedLines.length>0){const startLineNumber=getParentFoldLine(selectedLines[0],foldingModel);if(startLineNumber!==null){editor2.setSelection({startLineNumber:startLineNumber,startColumn:1,endLineNumber:startLineNumber,endColumn:1})}}}};var GotoPreviousFoldAction=class extends FoldingAction{constructor(){super({id:"editor.gotoPreviousFold",label:localize("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,weight:100}})}invoke(_foldingController,foldingModel,editor2){const selectedLines=this.getSelectedLines(editor2);if(selectedLines.length>0){const startLineNumber=getPreviousFoldLine(selectedLines[0],foldingModel);if(startLineNumber!==null){editor2.setSelection({startLineNumber:startLineNumber,startColumn:1,endLineNumber:startLineNumber,endColumn:1})}}}};var GotoNextFoldAction=class extends FoldingAction{constructor(){super({id:"editor.gotoNextFold",label:localize("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,weight:100}})}invoke(_foldingController,foldingModel,editor2){const selectedLines=this.getSelectedLines(editor2);if(selectedLines.length>0){const startLineNumber=getNextFoldLine(selectedLines[0],foldingModel);if(startLineNumber!==null){editor2.setSelection({startLineNumber:startLineNumber,startColumn:1,endLineNumber:startLineNumber,endColumn:1})}}}};var FoldRangeFromSelectionAction=class extends FoldingAction{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:localize("createManualFoldRange.label","Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2048|41,2048|87),weight:100}})}invoke(_foldingController,foldingModel,editor2){var _a6;const collapseRanges=[];const selections=editor2.getSelections();if(selections){for(const selection of selections){let endLineNumber=selection.endLineNumber;if(selection.endColumn===1){--endLineNumber}if(endLineNumber>selection.startLineNumber){collapseRanges.push({startLineNumber:selection.startLineNumber,endLineNumber:endLineNumber,type:void 0,isCollapsed:true,source:1});editor2.setSelection({startLineNumber:selection.startLineNumber,startColumn:1,endLineNumber:selection.startLineNumber,endColumn:1})}}if(collapseRanges.length>0){collapseRanges.sort(((a,b)=>a.startLineNumber-b.startLineNumber));const newRanges=FoldingRegions.sanitizeAndMerge(foldingModel.regions,collapseRanges,(_a6=editor2.getModel())===null||_a6===void 0?void 0:_a6.getLineCount());foldingModel.updatePost(FoldingRegions.fromFoldRanges(newRanges))}}}};var RemoveFoldRangeFromSelectionAction=class extends FoldingAction{constructor(){super({id:"editor.removeManualFoldingRanges",label:localize("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2048|41,2048|89),weight:100}})}invoke(foldingController,foldingModel,editor2){const selections=editor2.getSelections();if(selections){const ranges=[];for(const selection of selections){const{startLineNumber:startLineNumber,endLineNumber:endLineNumber}=selection;ranges.push(endLineNumber>=startLineNumber?{startLineNumber:startLineNumber,endLineNumber:endLineNumber}:{endLineNumber:endLineNumber,startLineNumber:startLineNumber})}foldingModel.removeManualRanges(ranges);foldingController.triggerFoldingModelChanged()}}};registerEditorContribution(FoldingController.ID,FoldingController,0);registerEditorAction(UnfoldAction);registerEditorAction(UnFoldRecursivelyAction);registerEditorAction(FoldAction);registerEditorAction(FoldRecursivelyAction);registerEditorAction(FoldAllAction);registerEditorAction(UnfoldAllAction);registerEditorAction(FoldAllBlockCommentsAction);registerEditorAction(FoldAllRegionsAction);registerEditorAction(UnfoldAllRegionsAction);registerEditorAction(FoldAllExceptAction);registerEditorAction(UnfoldAllExceptAction);registerEditorAction(ToggleFoldAction);registerEditorAction(GotoParentFoldAction);registerEditorAction(GotoPreviousFoldAction);registerEditorAction(GotoNextFoldAction);registerEditorAction(FoldRangeFromSelectionAction);registerEditorAction(RemoveFoldRangeFromSelectionAction);for(let i=1;i<=7;i++){registerInstantiatedEditorAction(new FoldLevelAction({id:FoldLevelAction.ID(i),label:localize("foldLevelAction.label","Fold Level {0}",i),alias:`Fold Level ${i}`,precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2048|41,2048|21+i),weight:100}}))}CommandsRegistry.registerCommand("_executeFoldingRangeProvider",(function(accessor,...args){return __awaiter67(this,void 0,void 0,(function*(){const[resource]=args;if(!(resource instanceof URI)){throw illegalArgument()}const languageFeaturesService=accessor.get(ILanguageFeaturesService);const model=accessor.get(IModelService).getModel(resource);if(!model){throw illegalArgument()}const configurationService=accessor.get(IConfigurationService);if(!configurationService.getValue("editor.folding",{resource:resource})){return[]}const languageConfigurationService=accessor.get(ILanguageConfigurationService);const strategy=configurationService.getValue("editor.foldingStrategy",{resource:resource});const foldingLimitReporter={get limit(){return configurationService.getValue("editor.foldingMaximumRegions",{resource:resource})},update:(computed,limited)=>{}};const indentRangeProvider=new IndentRangeProvider(model,languageConfigurationService,foldingLimitReporter);let rangeProvider=indentRangeProvider;if(strategy!=="indentation"){const providers=FoldingController.getFoldingRangeProviders(languageFeaturesService,model);if(providers.length){rangeProvider=new SyntaxRangeProvider(model,providers,(()=>{}),foldingLimitReporter,indentRangeProvider)}}const ranges=yield rangeProvider.compute(CancellationToken.None);const result=[];try{if(ranges){for(let i=0;i<ranges.length;i++){const type=ranges.getType(i);result.push({start:ranges.getStartLineNumber(i),end:ranges.getEndLineNumber(i),kind:type?FoldingRangeKind.fromValue(type):void 0})}}return result}finally{rangeProvider.dispose()}}))}));init_editorExtensions();init_editorZoom();init_nls();var EditorFontZoomIn=class extends EditorAction{constructor(){super({id:"editor.action.fontZoomIn",label:localize("EditorFontZoomIn.label","Editor Font Zoom In"),alias:"Editor Font Zoom In",precondition:void 0})}run(accessor,editor2){EditorZoom.setZoomLevel(EditorZoom.getZoomLevel()+1)}};var EditorFontZoomOut=class extends EditorAction{constructor(){super({id:"editor.action.fontZoomOut",label:localize("EditorFontZoomOut.label","Editor Font Zoom Out"),alias:"Editor Font Zoom Out",precondition:void 0})}run(accessor,editor2){EditorZoom.setZoomLevel(EditorZoom.getZoomLevel()-1)}};var EditorFontZoomReset=class extends EditorAction{constructor(){super({id:"editor.action.fontZoomReset",label:localize("EditorFontZoomReset.label","Editor Font Zoom Reset"),alias:"Editor Font Zoom Reset",precondition:void 0})}run(accessor,editor2){EditorZoom.setZoomLevel(0)}};registerEditorAction(EditorFontZoomIn);registerEditorAction(EditorFontZoomOut);registerEditorAction(EditorFontZoomReset);var import_formatActions=__toESM(require_formatActions());var import_documentSymbols=__toESM(require_documentSymbols());init_editorExtensions();init_observable();init_editorExtensions();init_editorContextKeys();init_observable();init_strings();init_cursorColumns();init_contextkey();init_lifecycle();init_nls();var InlineCompletionContextKeys=class extends Disposable{constructor(contextKeyService,model){super();this.contextKeyService=contextKeyService;this.model=model;this.inlineCompletionVisible=InlineCompletionContextKeys.inlineSuggestionVisible.bindTo(this.contextKeyService);this.inlineCompletionSuggestsIndentation=InlineCompletionContextKeys.inlineSuggestionHasIndentation.bindTo(this.contextKeyService);this.inlineCompletionSuggestsIndentationLessThanTabSize=InlineCompletionContextKeys.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService);this.suppressSuggestions=InlineCompletionContextKeys.suppressSuggestions.bindTo(this.contextKeyService);this._register(autorun((reader=>{const model2=this.model.read(reader);const state=model2===null||model2===void 0?void 0:model2.state.read(reader);const isInlineCompletionVisible=!!(state===null||state===void 0?void 0:state.inlineCompletion)&&(state===null||state===void 0?void 0:state.ghostText)!==void 0&&!(state===null||state===void 0?void 0:state.ghostText.isEmpty());this.inlineCompletionVisible.set(isInlineCompletionVisible);if((state===null||state===void 0?void 0:state.ghostText)&&(state===null||state===void 0?void 0:state.inlineCompletion)){this.suppressSuggestions.set(state.inlineCompletion.inlineCompletion.source.inlineCompletions.suppressSuggestions)}})));this._register(autorun((reader=>{const model2=this.model.read(reader);let startsWithIndentation=false;let startsWithIndentationLessThanTabSize=true;const ghostText=model2===null||model2===void 0?void 0:model2.ghostText.read(reader);if(!!(model2===null||model2===void 0?void 0:model2.selectedSuggestItem)&&ghostText&&ghostText.parts.length>0){const{column:column,lines:lines}=ghostText.parts[0];const firstLine=lines[0];const indentationEndColumn=model2.textModel.getLineIndentColumn(ghostText.lineNumber);const inIndentation=column<=indentationEndColumn;if(inIndentation){let firstNonWsIdx=firstNonWhitespaceIndex(firstLine);if(firstNonWsIdx===-1){firstNonWsIdx=firstLine.length-1}startsWithIndentation=firstNonWsIdx>0;const tabSize=model2.textModel.getOptions().tabSize;const visibleColumnIndentation=CursorColumns.visibleColumnFromColumn(firstLine,firstNonWsIdx+1,tabSize);startsWithIndentationLessThanTabSize=visibleColumnIndentation<tabSize}}this.inlineCompletionSuggestsIndentation.set(startsWithIndentation);this.inlineCompletionSuggestsIndentationLessThanTabSize.set(startsWithIndentationLessThanTabSize)})))}};InlineCompletionContextKeys.inlineSuggestionVisible=new RawContextKey("inlineSuggestionVisible",false,localize("inlineSuggestionVisible","Whether an inline suggestion is visible"));InlineCompletionContextKeys.inlineSuggestionHasIndentation=new RawContextKey("inlineSuggestionHasIndentation",false,localize("inlineSuggestionHasIndentation","Whether the inline suggestion starts with whitespace"));InlineCompletionContextKeys.inlineSuggestionHasIndentationLessThanTabSize=new RawContextKey("inlineSuggestionHasIndentationLessThanTabSize",true,localize("inlineSuggestionHasIndentationLessThanTabSize","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab"));InlineCompletionContextKeys.suppressSuggestions=new RawContextKey("inlineSuggestionSuppressSuggestions",void 0,localize("suppressSuggestions","Whether suggestions should be suppressed for the current suggestion"));init_aria();init_event();init_lifecycle();init_observable();init_coreCommands();init_position();init_languageFeatureDebounce();init_languageFeatures();init_trustedTypes();init_event();init_lifecycle();init_observable();init_strings();init_domFontInfo();init_editorOptions();init_position();init_range();init_stringBuilder();init_language();init_model();init_lineTokens();init_lineDecorations();init_viewLineRenderer();init_errors();init_lifecycle();init_observable();init_position();init_range();function applyEdits(text2,edits){const transformer=new PositionOffsetTransformer(text2);const offsetEdits=edits.map((e=>{const range2=Range.lift(e.range);return{startOffset:transformer.getOffset(range2.getStartPosition()),endOffset:transformer.getOffset(range2.getEndPosition()),text:e.text}}));offsetEdits.sort(((a,b)=>b.startOffset-a.startOffset));for(const edit of offsetEdits){text2=text2.substring(0,edit.startOffset)+edit.text+text2.substring(edit.endOffset)}return text2}var PositionOffsetTransformer=class{constructor(text2){this.lineStartOffsetByLineIdx=[];this.lineStartOffsetByLineIdx.push(0);for(let i=0;i<text2.length;i++){if(text2.charAt(i)==="\n"){this.lineStartOffsetByLineIdx.push(i+1)}}}getOffset(position){return this.lineStartOffsetByLineIdx[position.lineNumber-1]+position.column-1}};var array=[];function getReadonlyEmptyArray(){return array}var ColumnRange=class{constructor(startColumn,endColumnExclusive){this.startColumn=startColumn;this.endColumnExclusive=endColumnExclusive;if(startColumn>endColumnExclusive){throw new BugIndicatingError(`startColumn ${startColumn} cannot be after endColumnExclusive ${endColumnExclusive}`)}}toRange(lineNumber){return new Range(lineNumber,this.startColumn,lineNumber,this.endColumnExclusive)}equals(other){return this.startColumn===other.startColumn&&this.endColumnExclusive===other.endColumnExclusive}};function applyObservableDecorations2(editor2,decorations){const d=new DisposableStore;const decorationsCollection=editor2.createDecorationsCollection();d.add(autorunOpts({debugName:()=>`Apply decorations from ${decorations.debugName}`},(reader=>{const d2=decorations.read(reader);decorationsCollection.set(d2)})));d.add({dispose:()=>{decorationsCollection.clear()}});return d}function addPositions(pos1,pos2){return new Position(pos1.lineNumber+pos2.lineNumber-1,pos2.lineNumber===1?pos1.column+pos2.column-1:pos2.column)}function lengthOfText(text2){let line=1;let column=1;for(const c of text2){if(c==="\n"){line++;column=1}else{column++}}return new Position(line,column)}var GhostText=class{constructor(lineNumber,parts){this.lineNumber=lineNumber;this.parts=parts}equals(other){return this.lineNumber===other.lineNumber&&this.parts.length===other.parts.length&&this.parts.every(((part,index)=>part.equals(other.parts[index])))}renderForScreenReader(lineText){if(this.parts.length===0){return""}const lastPart=this.parts[this.parts.length-1];const cappedLineText=lineText.substr(0,lastPart.column-1);const text2=applyEdits(cappedLineText,this.parts.map((p=>({range:{startLineNumber:1,endLineNumber:1,startColumn:p.column,endColumn:p.column},text:p.lines.join("\n")}))));return text2.substring(this.parts[0].column-1)}isEmpty(){return this.parts.every((p=>p.lines.length===0))}get lineCount(){return 1+this.parts.reduce(((r,p)=>r+p.lines.length-1),0)}};var GhostTextPart=class{constructor(column,lines,preview){this.column=column;this.lines=lines;this.preview=preview}equals(other){return this.column===other.column&&this.lines.length===other.lines.length&&this.lines.every(((line,index)=>line===other.lines[index]))}};var GhostTextReplacement=class{constructor(lineNumber,columnRange,newLines,additionalReservedLineCount=0){this.lineNumber=lineNumber;this.columnRange=columnRange;this.newLines=newLines;this.additionalReservedLineCount=additionalReservedLineCount;this.parts=[new GhostTextPart(this.columnRange.endColumnExclusive,this.newLines,false)]}renderForScreenReader(_lineText){return this.newLines.join("\n")}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every((p=>p.lines.length===0))}equals(other){return this.lineNumber===other.lineNumber&&this.columnRange.equals(other.columnRange)&&this.newLines.length===other.newLines.length&&this.newLines.every(((line,index)=>line===other.newLines[index]))&&this.additionalReservedLineCount===other.additionalReservedLineCount}};function ghostTextOrReplacementEquals(a,b){if(a===b){return true}if(!a||!b){return false}if(a instanceof GhostText&&b instanceof GhostText){return a.equals(b)}if(a instanceof GhostTextReplacement&&b instanceof GhostTextReplacement){return a.equals(b)}return false}var __decorate92=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param85=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var GhostTextWidget=class GhostTextWidget2 extends Disposable{constructor(editor2,model,languageService){super();this.editor=editor2;this.model=model;this.languageService=languageService;this.isDisposed=observableValue("isDisposed",false);this.currentTextModel=observableFromEvent(this.editor.onDidChangeModel,(()=>this.editor.getModel()));this.uiState=derived((reader=>{if(this.isDisposed.read(reader)){return void 0}const textModel=this.currentTextModel.read(reader);if(textModel!==this.model.targetTextModel.read(reader)){return void 0}const ghostText=this.model.ghostText.read(reader);if(!ghostText){return void 0}const replacedRange=ghostText instanceof GhostTextReplacement?ghostText.columnRange:void 0;const inlineTexts=[];const additionalLines=[];function addToAdditionalLines(lines,className){if(additionalLines.length>0){const lastLine=additionalLines[additionalLines.length-1];if(className){lastLine.decorations.push(new LineDecoration(lastLine.content.length+1,lastLine.content.length+1+lines[0].length,className,0))}lastLine.content+=lines[0];lines=lines.slice(1)}for(const line of lines){additionalLines.push({content:line,decorations:className?[new LineDecoration(1,line.length+1,className,0)]:[]})}}const textBufferLine=textModel.getLineContent(ghostText.lineNumber);let hiddenTextStartColumn=void 0;let lastIdx=0;for(const part of ghostText.parts){let lines=part.lines;if(hiddenTextStartColumn===void 0){inlineTexts.push({column:part.column,text:lines[0],preview:part.preview});lines=lines.slice(1)}else{addToAdditionalLines([textBufferLine.substring(lastIdx,part.column-1)],void 0)}if(lines.length>0){addToAdditionalLines(lines,"ghost-text");if(hiddenTextStartColumn===void 0&&part.column<=textBufferLine.length){hiddenTextStartColumn=part.column}}lastIdx=part.column-1}if(hiddenTextStartColumn!==void 0){addToAdditionalLines([textBufferLine.substring(lastIdx)],void 0)}const hiddenRange=hiddenTextStartColumn!==void 0?new ColumnRange(hiddenTextStartColumn,textBufferLine.length+1):void 0;return{replacedRange:replacedRange,inlineTexts:inlineTexts,additionalLines:additionalLines,hiddenRange:hiddenRange,lineNumber:ghostText.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(reader),targetTextModel:textModel}}));this.decorations=derived((reader=>{const uiState=this.uiState.read(reader);if(!uiState){return[]}const decorations=[];if(uiState.replacedRange){decorations.push({range:uiState.replacedRange.toRange(uiState.lineNumber),options:{inlineClassName:"inline-completion-text-to-replace",description:"GhostTextReplacement"}})}if(uiState.hiddenRange){decorations.push({range:uiState.hiddenRange.toRange(uiState.lineNumber),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}})}for(const p of uiState.inlineTexts){decorations.push({range:Range.fromPositions(new Position(uiState.lineNumber,p.column)),options:{description:"ghost-text",after:{content:p.text,inlineClassName:p.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:InjectedTextCursorStops2.Left},showIfCollapsed:true}})}return decorations}));this.additionalLinesWidget=this._register(new AdditionalLinesWidget(this.editor,this.languageService.languageIdCodec,derived((reader=>{const uiState=this.uiState.read(reader);return uiState?{lineNumber:uiState.lineNumber,additionalLines:uiState.additionalLines,minReservedLineCount:uiState.additionalReservedLineCount,targetTextModel:uiState.targetTextModel}:void 0}))));this._register(toDisposable((()=>{this.isDisposed.set(true,void 0)})));this._register(applyObservableDecorations2(this.editor,this.decorations))}ownsViewZone(viewZoneId){return this.additionalLinesWidget.viewZoneId===viewZoneId}};GhostTextWidget=__decorate92([__param85(2,ILanguageService)],GhostTextWidget);var AdditionalLinesWidget=class extends Disposable{get viewZoneId(){return this._viewZoneId}constructor(editor2,languageIdCodec,lines){super();this.editor=editor2;this.languageIdCodec=languageIdCodec;this.lines=lines;this._viewZoneId=void 0;this.editorOptionsChanged=observableSignalFromEvent("editorOptionChanged",Event.filter(this.editor.onDidChangeConfiguration,(e=>e.hasChanged(32)||e.hasChanged(115)||e.hasChanged(97)||e.hasChanged(92)||e.hasChanged(50)||e.hasChanged(49)||e.hasChanged(65))));this._register(autorun((reader=>{const lines2=this.lines.read(reader);this.editorOptionsChanged.read(reader);if(lines2){this.updateLines(lines2.lineNumber,lines2.additionalLines,lines2.minReservedLineCount)}else{this.clear()}})))}dispose(){super.dispose();this.clear()}clear(){this.editor.changeViewZones((changeAccessor=>{if(this._viewZoneId){changeAccessor.removeZone(this._viewZoneId);this._viewZoneId=void 0}}))}updateLines(lineNumber,additionalLines,minReservedLineCount){const textModel=this.editor.getModel();if(!textModel){return}const{tabSize:tabSize}=textModel.getOptions();this.editor.changeViewZones((changeAccessor=>{if(this._viewZoneId){changeAccessor.removeZone(this._viewZoneId);this._viewZoneId=void 0}const heightInLines=Math.max(additionalLines.length,minReservedLineCount);if(heightInLines>0){const domNode=document.createElement("div");renderLines2(domNode,tabSize,additionalLines,this.editor.getOptions(),this.languageIdCodec);this._viewZoneId=changeAccessor.addZone({afterLineNumber:lineNumber,heightInLines:heightInLines,domNode:domNode,afterColumnAffinity:1})}}))}};function renderLines2(domNode,tabSize,lines,opts,languageIdCodec){const disableMonospaceOptimizations=opts.get(32);const stopRenderingLineAfter=opts.get(115);const renderWhitespace="none";const renderControlCharacters=opts.get(92);const fontLigatures=opts.get(50);const fontInfo=opts.get(49);const lineHeight=opts.get(65);const sb=new StringBuilder(1e4);sb.appendString('<div class="suggest-preview-text">');for(let i=0,len=lines.length;i<len;i++){const lineData=lines[i];const line=lineData.content;sb.appendString('<div class="view-line');sb.appendString('" style="top:');sb.appendString(String(i*lineHeight));sb.appendString('px;width:1000000px;">');const isBasicASCII2=isBasicASCII(line);const containsRTL2=containsRTL(line);const lineTokens=LineTokens.createEmpty(line,languageIdCodec);renderViewLine(new RenderLineInput(fontInfo.isMonospace&&!disableMonospaceOptimizations,fontInfo.canUseHalfwidthRightwardsArrow,line,false,isBasicASCII2,containsRTL2,0,lineTokens,lineData.decorations,tabSize,0,fontInfo.spaceWidth,fontInfo.middotWidth,fontInfo.wsmiddotWidth,stopRenderingLineAfter,renderWhitespace,renderControlCharacters,fontLigatures!==EditorFontLigatures.OFF,null),sb);sb.appendString("</div>")}sb.appendString("</div>");applyFontInfo(domNode,fontInfo);const html2=sb.build();const trustedhtml=ttPolicy5?ttPolicy5.createHTML(html2):html2;domNode.innerHTML=trustedhtml}var ttPolicy5=createTrustedTypesPolicy("editorGhostText",{createHTML:value=>value});init_arrays();init_errors();init_lifecycle();init_observable();init_types();init_editOperation();init_position();init_range();init_languages();init_languageConfigurationRegistry();init_cancellation();init_filters();init_lifecycle();init_observable();init_position();init_languages();init_languageConfigurationRegistry();init_languageFeatures();init_assert();init_async();init_cancellation();init_collections();init_errors();init_range();init_brackets();init_length();init_parser();init_smallImmutableSet();init_tokenizer();function fixBracketsInLine(tokens,languageConfigurationService){const denseKeyProvider=new DenseKeyProvider;const bracketTokens=new LanguageAgnosticBracketTokens(denseKeyProvider,(languageId=>languageConfigurationService.getLanguageConfiguration(languageId)));const tokenizer=new TextBufferTokenizer(new StaticTokenizerSource([tokens]),bracketTokens);const node=parseDocument(tokenizer,[],void 0,true);let str="";const line=tokens.getLineContent();function processNode(node2,offset){if(node2.kind===2){processNode(node2.openingBracket,offset);offset=lengthAdd(offset,node2.openingBracket.length);if(node2.child){processNode(node2.child,offset);offset=lengthAdd(offset,node2.child.length)}if(node2.closingBracket){processNode(node2.closingBracket,offset);offset=lengthAdd(offset,node2.closingBracket.length)}else{const singleLangBracketTokens=bracketTokens.getSingleLanguageBracketTokens(node2.openingBracket.languageId);const closingTokenText=singleLangBracketTokens.findClosingTokenText(node2.openingBracket.bracketIds);str+=closingTokenText}}else if(node2.kind===3){}else if(node2.kind===0||node2.kind===1){str+=line.substring(lengthGetColumnCountIfZeroLineCount(offset),lengthGetColumnCountIfZeroLineCount(lengthAdd(offset,node2.length)))}else if(node2.kind===4){for(const child of node2.children){processNode(child,offset);offset=lengthAdd(offset,child.length)}}}processNode(node,lengthZero);return str}var StaticTokenizerSource=class{constructor(lines){this.lines=lines;this.tokenization={getLineTokens:lineNumber=>this.lines[lineNumber-1]}}getLineCount(){return this.lines.length}getLineLength(lineNumber){return this.lines[lineNumber-1].getLineContent().length}};var Scanner2=class{constructor(){this.value="";this.pos=0}static isDigitCharacter(ch){return ch>=48&&ch<=57}static isVariableCharacter(ch){return ch===95||ch>=97&&ch<=122||ch>=65&&ch<=90}text(value){this.value=value;this.pos=0}tokenText(token){return this.value.substr(token.pos,token.len)}next(){if(this.pos>=this.value.length){return{type:14,pos:this.pos,len:0}}const pos=this.pos;let len=0;let ch=this.value.charCodeAt(pos);let type;type=Scanner2._table[ch];if(typeof type==="number"){this.pos+=1;return{type:type,pos:pos,len:1}}if(Scanner2.isDigitCharacter(ch)){type=8;do{len+=1;ch=this.value.charCodeAt(pos+len)}while(Scanner2.isDigitCharacter(ch));this.pos+=len;return{type:type,pos:pos,len:len}}if(Scanner2.isVariableCharacter(ch)){type=9;do{ch=this.value.charCodeAt(pos+ ++len)}while(Scanner2.isVariableCharacter(ch)||Scanner2.isDigitCharacter(ch));this.pos+=len;return{type:type,pos:pos,len:len}}type=10;do{len+=1;ch=this.value.charCodeAt(pos+len)}while(!isNaN(ch)&&typeof Scanner2._table[ch]==="undefined"&&!Scanner2.isDigitCharacter(ch)&&!Scanner2.isVariableCharacter(ch));this.pos+=len;return{type:type,pos:pos,len:len}}};Scanner2._table={[36]:0,[58]:1,[44]:2,[123]:3,[125]:4,[92]:5,[47]:6,[124]:7,[43]:11,[45]:12,[63]:13};var Marker=class{constructor(){this._children=[]}appendChild(child){if(child instanceof Text&&this._children[this._children.length-1]instanceof Text){this._children[this._children.length-1].value+=child.value}else{child.parent=this;this._children.push(child)}return this}replace(child,others){const{parent:parent}=child;const idx=parent.children.indexOf(child);const newChildren=parent.children.slice(0);newChildren.splice(idx,1,...others);parent._children=newChildren;(function _fixParent(children,parent2){for(const child2 of children){child2.parent=parent2;_fixParent(child2.children,child2)}})(others,parent)}get children(){return this._children}get rightMostDescendant(){if(this._children.length>0){return this._children[this._children.length-1].rightMostDescendant}return this}get snippet(){let candidate=this;while(true){if(!candidate){return void 0}if(candidate instanceof TextmateSnippet){return candidate}candidate=candidate.parent}}toString(){return this.children.reduce(((prev,cur)=>prev+cur.toString()),"")}len(){return 0}};var Text=class extends Marker{constructor(value){super();this.value=value}toString(){return this.value}len(){return this.value.length}clone(){return new Text(this.value)}};var TransformableMarker=class extends Marker{};var Placeholder=class extends TransformableMarker{static compareByIndex(a,b){if(a.index===b.index){return 0}else if(a.isFinalTabstop){return 1}else if(b.isFinalTabstop){return-1}else if(a.index<b.index){return-1}else if(a.index>b.index){return 1}else{return 0}}constructor(index){super();this.index=index}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof Choice?this._children[0]:void 0}clone(){const ret=new Placeholder(this.index);if(this.transform){ret.transform=this.transform.clone()}ret._children=this.children.map((child=>child.clone()));return ret}};var Choice=class extends Marker{constructor(){super(...arguments);this.options=[]}appendChild(marker){if(marker instanceof Text){marker.parent=this;this.options.push(marker)}return this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const ret=new Choice;this.options.forEach(ret.appendChild,ret);return ret}};var Transform=class extends Marker{constructor(){super(...arguments);this.regexp=new RegExp("")}resolve(value){const _this=this;let didMatch=false;let ret=value.replace(this.regexp,(function(){didMatch=true;return _this._replace(Array.prototype.slice.call(arguments,0,-2))}));if(!didMatch&&this._children.some((child=>child instanceof FormatString&&Boolean(child.elseValue)))){ret=this._replace([])}return ret}_replace(groups){let ret="";for(const marker of this._children){if(marker instanceof FormatString){let value=groups[marker.index]||"";value=marker.resolve(value);ret+=value}else{ret+=marker.toString()}}return ret}toString(){return""}clone(){const ret=new Transform;ret.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":""));ret._children=this.children.map((child=>child.clone()));return ret}};var FormatString=class extends Marker{constructor(index,shorthandName,ifValue,elseValue){super();this.index=index;this.shorthandName=shorthandName;this.ifValue=ifValue;this.elseValue=elseValue}resolve(value){if(this.shorthandName==="upcase"){return!value?"":value.toLocaleUpperCase()}else if(this.shorthandName==="downcase"){return!value?"":value.toLocaleLowerCase()}else if(this.shorthandName==="capitalize"){return!value?"":value[0].toLocaleUpperCase()+value.substr(1)}else if(this.shorthandName==="pascalcase"){return!value?"":this._toPascalCase(value)}else if(this.shorthandName==="camelcase"){return!value?"":this._toCamelCase(value)}else if(Boolean(value)&&typeof this.ifValue==="string"){return this.ifValue}else if(!Boolean(value)&&typeof this.elseValue==="string"){return this.elseValue}else{return value||""}}_toPascalCase(value){const match2=value.match(/[a-z0-9]+/gi);if(!match2){return value}return match2.map((word=>word.charAt(0).toUpperCase()+word.substr(1))).join("")}_toCamelCase(value){const match2=value.match(/[a-z0-9]+/gi);if(!match2){return value}return match2.map(((word,index)=>{if(index===0){return word.charAt(0).toLowerCase()+word.substr(1)}return word.charAt(0).toUpperCase()+word.substr(1)})).join("")}clone(){const ret=new FormatString(this.index,this.shorthandName,this.ifValue,this.elseValue);return ret}};var Variable=class extends TransformableMarker{constructor(name){super();this.name=name}resolve(resolver){let value=resolver.resolve(this);if(this.transform){value=this.transform.resolve(value||"")}if(value!==void 0){this._children=[new Text(value)];return true}return false}clone(){const ret=new Variable(this.name);if(this.transform){ret.transform=this.transform.clone()}ret._children=this.children.map((child=>child.clone()));return ret}};function walk(marker,visitor){const stack=[...marker];while(stack.length>0){const marker2=stack.shift();const recurse=visitor(marker2);if(!recurse){break}stack.unshift(...marker2.children)}}var TextmateSnippet=class extends Marker{get placeholderInfo(){if(!this._placeholders){const all=[];let last;this.walk((function(candidate){if(candidate instanceof Placeholder){all.push(candidate);last=!last||last.index<candidate.index?candidate:last}return true}));this._placeholders={all:all,last:last}}return this._placeholders}get placeholders(){const{all:all}=this.placeholderInfo;return all}offset(marker){let pos=0;let found=false;this.walk((candidate=>{if(candidate===marker){found=true;return false}pos+=candidate.len();return true}));if(!found){return-1}return pos}fullLen(marker){let ret=0;walk([marker],(marker2=>{ret+=marker2.len();return true}));return ret}enclosingPlaceholders(placeholder){const ret=[];let{parent:parent}=placeholder;while(parent){if(parent instanceof Placeholder){ret.push(parent)}parent=parent.parent}return ret}resolveVariables(resolver){this.walk((candidate=>{if(candidate instanceof Variable){if(candidate.resolve(resolver)){this._placeholders=void 0}}return true}));return this}appendChild(child){this._placeholders=void 0;return super.appendChild(child)}replace(child,others){this._placeholders=void 0;return super.replace(child,others)}clone(){const ret=new TextmateSnippet;this._children=this.children.map((child=>child.clone()));return ret}walk(visitor){walk(this.children,visitor)}};var SnippetParser=class{constructor(){this._scanner=new Scanner2;this._token={type:14,pos:0,len:0}}static escape(value){return value.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(template){return/\${?CLIPBOARD/.test(template)}parse(value,insertFinalTabstop,enforceFinalTabstop){const snippet=new TextmateSnippet;this.parseFragment(value,snippet);this.ensureFinalTabstop(snippet,enforceFinalTabstop!==null&&enforceFinalTabstop!==void 0?enforceFinalTabstop:false,insertFinalTabstop!==null&&insertFinalTabstop!==void 0?insertFinalTabstop:false);return snippet}parseFragment(value,snippet){const offset=snippet.children.length;this._scanner.text(value);this._token=this._scanner.next();while(this._parse(snippet)){}const placeholderDefaultValues=new Map;const incompletePlaceholders=[];snippet.walk((marker=>{if(marker instanceof Placeholder){if(marker.isFinalTabstop){placeholderDefaultValues.set(0,void 0)}else if(!placeholderDefaultValues.has(marker.index)&&marker.children.length>0){placeholderDefaultValues.set(marker.index,marker.children)}else{incompletePlaceholders.push(marker)}}return true}));const fillInIncompletePlaceholder=(placeholder,stack2)=>{const defaultValues=placeholderDefaultValues.get(placeholder.index);if(!defaultValues){return}const clone2=new Placeholder(placeholder.index);clone2.transform=placeholder.transform;for(const child of defaultValues){const newChild=child.clone();clone2.appendChild(newChild);if(newChild instanceof Placeholder&&placeholderDefaultValues.has(newChild.index)&&!stack2.has(newChild.index)){stack2.add(newChild.index);fillInIncompletePlaceholder(newChild,stack2);stack2.delete(newChild.index)}}snippet.replace(placeholder,[clone2])};const stack=new Set;for(const placeholder of incompletePlaceholders){fillInIncompletePlaceholder(placeholder,stack)}return snippet.children.slice(offset)}ensureFinalTabstop(snippet,enforceFinalTabstop,insertFinalTabstop){if(enforceFinalTabstop||insertFinalTabstop&&snippet.placeholders.length>0){const finalTabstop=snippet.placeholders.find((p=>p.index===0));if(!finalTabstop){snippet.appendChild(new Placeholder(0))}}}_accept(type,value){if(type===void 0||this._token.type===type){const ret=!value?true:this._scanner.tokenText(this._token);this._token=this._scanner.next();return ret}return false}_backTo(token){this._scanner.pos=token.pos+token.len;this._token=token;return false}_until(type){const start=this._token;while(this._token.type!==type){if(this._token.type===14){return false}else if(this._token.type===5){const nextToken=this._scanner.next();if(nextToken.type!==0&&nextToken.type!==4&&nextToken.type!==5){return false}}this._token=this._scanner.next()}const value=this._scanner.value.substring(start.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");this._token=this._scanner.next();return value}_parse(marker){return this._parseEscaped(marker)||this._parseTabstopOrVariableName(marker)||this._parseComplexPlaceholder(marker)||this._parseComplexVariable(marker)||this._parseAnything(marker)}_parseEscaped(marker){let value;if(value=this._accept(5,true)){value=this._accept(0,true)||this._accept(4,true)||this._accept(5,true)||value;marker.appendChild(new Text(value));return true}return false}_parseTabstopOrVariableName(parent){let value;const token=this._token;const match2=this._accept(0)&&(value=this._accept(9,true)||this._accept(8,true));if(!match2){return this._backTo(token)}parent.appendChild(/^\d+$/.test(value)?new Placeholder(Number(value)):new Variable(value));return true}_parseComplexPlaceholder(parent){let index;const token=this._token;const match2=this._accept(0)&&this._accept(3)&&(index=this._accept(8,true));if(!match2){return this._backTo(token)}const placeholder=new Placeholder(Number(index));if(this._accept(1)){while(true){if(this._accept(4)){parent.appendChild(placeholder);return true}if(this._parse(placeholder)){continue}parent.appendChild(new Text("${"+index+":"));placeholder.children.forEach(parent.appendChild,parent);return true}}else if(placeholder.index>0&&this._accept(7)){const choice=new Choice;while(true){if(this._parseChoiceElement(choice)){if(this._accept(2)){continue}if(this._accept(7)){placeholder.appendChild(choice);if(this._accept(4)){parent.appendChild(placeholder);return true}}}this._backTo(token);return false}}else if(this._accept(6)){if(this._parseTransform(placeholder)){parent.appendChild(placeholder);return true}this._backTo(token);return false}else if(this._accept(4)){parent.appendChild(placeholder);return true}else{return this._backTo(token)}}_parseChoiceElement(parent){const token=this._token;const values=[];while(true){if(this._token.type===2||this._token.type===7){break}let value;if(value=this._accept(5,true)){value=this._accept(2,true)||this._accept(7,true)||this._accept(5,true)||value}else{value=this._accept(void 0,true)}if(!value){this._backTo(token);return false}values.push(value)}if(values.length===0){this._backTo(token);return false}parent.appendChild(new Text(values.join("")));return true}_parseComplexVariable(parent){let name;const token=this._token;const match2=this._accept(0)&&this._accept(3)&&(name=this._accept(9,true));if(!match2){return this._backTo(token)}const variable=new Variable(name);if(this._accept(1)){while(true){if(this._accept(4)){parent.appendChild(variable);return true}if(this._parse(variable)){continue}parent.appendChild(new Text("${"+name+":"));variable.children.forEach(parent.appendChild,parent);return true}}else if(this._accept(6)){if(this._parseTransform(variable)){parent.appendChild(variable);return true}this._backTo(token);return false}else if(this._accept(4)){parent.appendChild(variable);return true}else{return this._backTo(token)}}_parseTransform(parent){const transform=new Transform;let regexValue="";let regexOptions="";while(true){if(this._accept(6)){break}let escaped;if(escaped=this._accept(5,true)){escaped=this._accept(6,true)||escaped;regexValue+=escaped;continue}if(this._token.type!==14){regexValue+=this._accept(void 0,true);continue}return false}while(true){if(this._accept(6)){break}let escaped;if(escaped=this._accept(5,true)){escaped=this._accept(5,true)||this._accept(6,true)||escaped;transform.appendChild(new Text(escaped));continue}if(this._parseFormatString(transform)||this._parseAnything(transform)){continue}return false}while(true){if(this._accept(4)){break}if(this._token.type!==14){regexOptions+=this._accept(void 0,true);continue}return false}try{transform.regexp=new RegExp(regexValue,regexOptions)}catch(e){return false}parent.transform=transform;return true}_parseFormatString(parent){const token=this._token;if(!this._accept(0)){return false}let complex=false;if(this._accept(3)){complex=true}const index=this._accept(8,true);if(!index){this._backTo(token);return false}else if(!complex){parent.appendChild(new FormatString(Number(index)));return true}else if(this._accept(4)){parent.appendChild(new FormatString(Number(index)));return true}else if(!this._accept(1)){this._backTo(token);return false}if(this._accept(6)){const shorthand=this._accept(9,true);if(!shorthand||!this._accept(4)){this._backTo(token);return false}else{parent.appendChild(new FormatString(Number(index),shorthand));return true}}else if(this._accept(11)){const ifValue=this._until(4);if(ifValue){parent.appendChild(new FormatString(Number(index),void 0,ifValue,void 0));return true}}else if(this._accept(12)){const elseValue=this._until(4);if(elseValue){parent.appendChild(new FormatString(Number(index),void 0,void 0,elseValue));return true}}else if(this._accept(13)){const ifValue=this._until(1);if(ifValue){const elseValue=this._until(4);if(elseValue){parent.appendChild(new FormatString(Number(index),void 0,ifValue,elseValue));return true}}}else{const elseValue=this._until(4);if(elseValue){parent.appendChild(new FormatString(Number(index),void 0,void 0,elseValue));return true}}this._backTo(token);return false}_parseAnything(marker){if(this._token.type!==14){marker.appendChild(new Text(this._scanner.tokenText(this._token)));this._accept(void 0);return true}return false}};var __awaiter69=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};function provideInlineCompletions(registry,position,model,context,token=CancellationToken.None,languageConfigurationService){return __awaiter69(this,void 0,void 0,(function*(){const defaultReplaceRange=getDefaultRange(position,model);const providers=registry.all(model);const multiMap=new SetMap;for(const provider of providers){if(provider.groupId){multiMap.add(provider.groupId,provider)}}function getPreferredProviders(provider){if(!provider.yieldsToGroupIds){return[]}const result=[];for(const groupId of provider.yieldsToGroupIds||[]){const providers2=multiMap.get(groupId);for(const p of providers2){result.push(p)}}return result}const states=new Map;const seen=new Set;function findPreferredProviderCircle(provider,stack){stack=[...stack,provider];if(seen.has(provider)){return stack}seen.add(provider);try{const preferred=getPreferredProviders(provider);for(const p of preferred){const c=findPreferredProviderCircle(p,stack);if(c){return c}}}finally{seen.delete(provider)}return void 0}function processProvider(provider){const state=states.get(provider);if(state){return state}const circle=findPreferredProviderCircle(provider,[]);if(circle){onUnexpectedExternalError(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${circle.map((s=>s.toString?s.toString():""+s)).join(" -> ")}`))}const deferredPromise=new DeferredPromise;states.set(provider,deferredPromise.p);(()=>__awaiter69(this,void 0,void 0,(function*(){if(!circle){const preferred=getPreferredProviders(provider);for(const p of preferred){const result=yield processProvider(p);if(result&&result.items.length>0){return void 0}}}try{const completions=yield provider.provideInlineCompletions(model,position,context,token);return completions}catch(e){onUnexpectedExternalError(e);return void 0}})))().then((c=>deferredPromise.complete(c)),(e=>deferredPromise.error(e)));return deferredPromise.p}const providerResults=yield Promise.all(providers.map((provider=>__awaiter69(this,void 0,void 0,(function*(){return{provider:provider,completions:yield processProvider(provider)}})))));const itemsByHash=new Map;const lists=[];for(const result of providerResults){const completions=result.completions;if(!completions){continue}const list=new InlineCompletionList(completions,result.provider);lists.push(list);for(const item of completions.items){const inlineCompletionItem=InlineCompletionItem.from(item,list,defaultReplaceRange,model,languageConfigurationService);itemsByHash.set(inlineCompletionItem.hash(),inlineCompletionItem)}}return new InlineCompletionProviderResult(Array.from(itemsByHash.values()),new Set(itemsByHash.keys()),lists)}))}var InlineCompletionProviderResult=class{constructor(completions,hashs,providerResults){this.completions=completions;this.hashs=hashs;this.providerResults=providerResults}has(item){return this.hashs.has(item.hash())}dispose(){for(const result of this.providerResults){result.removeRef()}}};var InlineCompletionList=class{constructor(inlineCompletions,provider){this.inlineCompletions=inlineCompletions;this.provider=provider;this.refCount=1}addRef(){this.refCount++}removeRef(){this.refCount--;if(this.refCount===0){this.provider.freeInlineCompletions(this.inlineCompletions)}}};var InlineCompletionItem=class{static from(inlineCompletion,source,defaultReplaceRange,textModel,languageConfigurationService){let insertText;let snippetInfo;let range2=inlineCompletion.range?Range.lift(inlineCompletion.range):defaultReplaceRange;if(typeof inlineCompletion.insertText==="string"){insertText=inlineCompletion.insertText;if(languageConfigurationService&&inlineCompletion.completeBracketPairs){insertText=closeBrackets(insertText,range2.getStartPosition(),textModel,languageConfigurationService);const diff=insertText.length-inlineCompletion.insertText.length;if(diff!==0){range2=new Range(range2.startLineNumber,range2.startColumn,range2.endLineNumber,range2.endColumn+diff)}}snippetInfo=void 0}else if("snippet"in inlineCompletion.insertText){const preBracketCompletionLength=inlineCompletion.insertText.snippet.length;if(languageConfigurationService&&inlineCompletion.completeBracketPairs){inlineCompletion.insertText.snippet=closeBrackets(inlineCompletion.insertText.snippet,range2.getStartPosition(),textModel,languageConfigurationService);const diff=inlineCompletion.insertText.snippet.length-preBracketCompletionLength;if(diff!==0){range2=new Range(range2.startLineNumber,range2.startColumn,range2.endLineNumber,range2.endColumn+diff)}}const snippet=(new SnippetParser).parse(inlineCompletion.insertText.snippet);if(snippet.children.length===1&&snippet.children[0]instanceof Text){insertText=snippet.children[0].value;snippetInfo=void 0}else{insertText=snippet.toString();snippetInfo={snippet:inlineCompletion.insertText.snippet,range:range2}}}else{assertNever(inlineCompletion.insertText)}return new InlineCompletionItem(insertText,inlineCompletion.command,range2,insertText,snippetInfo,inlineCompletion.additionalTextEdits||getReadonlyEmptyArray(),inlineCompletion,source)}constructor(filterText,command,range2,insertText,snippetInfo,additionalTextEdits,sourceInlineCompletion,source){this.filterText=filterText;this.command=command;this.range=range2;this.insertText=insertText;this.snippetInfo=snippetInfo;this.additionalTextEdits=additionalTextEdits;this.sourceInlineCompletion=sourceInlineCompletion;this.source=source;filterText=filterText.replace(/\r\n|\r/g,"\n");insertText=filterText.replace(/\r\n|\r/g,"\n")}withRange(updatedRange){return new InlineCompletionItem(this.filterText,this.command,updatedRange,this.insertText,this.snippetInfo,this.additionalTextEdits,this.sourceInlineCompletion,this.source)}hash(){return JSON.stringify({insertText:this.insertText,range:this.range.toString()})}};function getDefaultRange(position,model){const word=model.getWordAtPosition(position);const maxColumn=model.getLineMaxColumn(position.lineNumber);return word?new Range(position.lineNumber,word.startColumn,position.lineNumber,maxColumn):Range.fromPositions(position,position.with(void 0,maxColumn))}function closeBrackets(text2,position,model,languageConfigurationService){const lineStart=model.getLineContent(position.lineNumber).substring(0,position.column-1);const newLine=lineStart+text2;const newTokens=model.tokenization.tokenizeLineWithEdit(position,newLine.length-(position.column-1),text2);const slicedTokens=newTokens===null||newTokens===void 0?void 0:newTokens.sliceAndInflate(position.column-1,newLine.length,0);if(!slicedTokens){return text2}const newText=fixBracketsInLine(slicedTokens,languageConfigurationService);return newText}init_diff();init_strings();init_range();var SingleTextEdit=class{constructor(range2,text2){this.range=range2;this.text=text2}removeCommonPrefix(model,validModelRange){const modelRange=validModelRange?this.range.intersectRanges(validModelRange):this.range;if(!modelRange){return this}const valueToReplace=model.getValueInRange(modelRange,1);const commonPrefixLen=commonPrefixLength(valueToReplace,this.text);const start=addPositions(this.range.getStartPosition(),lengthOfText(valueToReplace.substring(0,commonPrefixLen)));const text2=this.text.substring(commonPrefixLen);const range2=Range.fromPositions(start,this.range.getEndPosition());return new SingleTextEdit(range2,text2)}augments(base){return this.text.startsWith(base.text)&&rangeExtends(this.range,base.range)}computeGhostText(model,mode,cursorPosition,previewSuffixLength=0){let edit=this.removeCommonPrefix(model);if(edit.range.endLineNumber!==edit.range.startLineNumber){return void 0}const sourceLine=model.getLineContent(edit.range.startLineNumber);const sourceIndentationLength=getLeadingWhitespace(sourceLine).length;const suggestionTouchesIndentation=edit.range.startColumn-1<=sourceIndentationLength;if(suggestionTouchesIndentation){const suggestionAddedIndentationLength=getLeadingWhitespace(edit.text).length;const replacedIndentation=sourceLine.substring(edit.range.startColumn-1,sourceIndentationLength);const[startPosition,endPosition]=[edit.range.getStartPosition(),edit.range.getEndPosition()];const newStartPosition=startPosition.column+replacedIndentation.length<=endPosition.column?startPosition.delta(0,replacedIndentation.length):endPosition;const rangeThatDoesNotReplaceIndentation=Range.fromPositions(newStartPosition,endPosition);const suggestionWithoutIndentationChange=edit.text.startsWith(replacedIndentation)?edit.text.substring(replacedIndentation.length):edit.text.substring(suggestionAddedIndentationLength);edit=new SingleTextEdit(rangeThatDoesNotReplaceIndentation,suggestionWithoutIndentationChange)}const valueToBeReplaced=model.getValueInRange(edit.range);const changes=cachingDiff(valueToBeReplaced,edit.text);if(!changes){return void 0}const lineNumber=edit.range.startLineNumber;const parts=new Array;if(mode==="prefix"){const filteredChanges=changes.filter((c=>c.originalLength===0));if(filteredChanges.length>1||filteredChanges.length===1&&filteredChanges[0].originalStart!==valueToBeReplaced.length){return void 0}}const previewStartInCompletionText=edit.text.length-previewSuffixLength;for(const c of changes){const insertColumn=edit.range.startColumn+c.originalStart+c.originalLength;if(mode==="subwordSmart"&&cursorPosition&&cursorPosition.lineNumber===edit.range.startLineNumber&&insertColumn<cursorPosition.column){return void 0}if(c.originalLength>0){return void 0}if(c.modifiedLength===0){continue}const modifiedEnd=c.modifiedStart+c.modifiedLength;const nonPreviewTextEnd=Math.max(c.modifiedStart,Math.min(modifiedEnd,previewStartInCompletionText));const nonPreviewText=edit.text.substring(c.modifiedStart,nonPreviewTextEnd);const italicText=edit.text.substring(nonPreviewTextEnd,Math.max(c.modifiedStart,modifiedEnd));if(nonPreviewText.length>0){const lines=splitLines(nonPreviewText);parts.push(new GhostTextPart(insertColumn,lines,false))}if(italicText.length>0){const lines=splitLines(italicText);parts.push(new GhostTextPart(insertColumn,lines,true))}}return new GhostText(lineNumber,parts)}};function rangeExtends(extendingRange,rangeToExtend){return rangeToExtend.getStartPosition().equals(extendingRange.getStartPosition())&&rangeToExtend.getEndPosition().isBeforeOrEqual(extendingRange.getEndPosition())}var lastRequest=void 0;function cachingDiff(originalValue,newValue){if((lastRequest===null||lastRequest===void 0?void 0:lastRequest.originalValue)===originalValue&&(lastRequest===null||lastRequest===void 0?void 0:lastRequest.newValue)===newValue){return lastRequest===null||lastRequest===void 0?void 0:lastRequest.changes}else{let changes=smartDiff(originalValue,newValue,true);if(changes){const deletedChars=deletedCharacters(changes);if(deletedChars>0){const newChanges=smartDiff(originalValue,newValue,false);if(newChanges&&deletedCharacters(newChanges)<deletedChars){changes=newChanges}}}lastRequest={originalValue:originalValue,newValue:newValue,changes:changes};return changes}}function deletedCharacters(changes){let sum=0;for(const c of changes){sum+=c.originalLength}return sum}function smartDiff(originalValue,newValue,smartBracketMatching){if(originalValue.length>5e3||newValue.length>5e3){return void 0}function getMaxCharCode(val){let maxCharCode2=0;for(let i=0,len=val.length;i<len;i++){const charCode=val.charCodeAt(i);if(charCode>maxCharCode2){maxCharCode2=charCode}}return maxCharCode2}const maxCharCode=Math.max(getMaxCharCode(originalValue),getMaxCharCode(newValue));function getUniqueCharCode(id){if(id<0){throw new Error("unexpected")}return maxCharCode+id+1}function getElements(source){let level=0;let group3=0;const characters=new Int32Array(source.length);for(let i=0,len=source.length;i<len;i++){if(smartBracketMatching&&source[i]==="("){const id=group3*100+level;characters[i]=getUniqueCharCode(2*id);level++}else if(smartBracketMatching&&source[i]===")"){level=Math.max(level-1,0);const id=group3*100+level;characters[i]=getUniqueCharCode(2*id+1);if(level===0){group3++}}else{characters[i]=source.charCodeAt(i)}}return characters}const elements1=getElements(originalValue);const elements2=getElements(newValue);return new LcsDiff({getElements:()=>elements1},{getElements:()=>elements2}).ComputeDiff(false).changes}var __decorate93=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param86=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter70=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var InlineCompletionsSource=class InlineCompletionsSource2 extends Disposable{constructor(textModel,versionId,_debounceValue,languageFeaturesService,languageConfigurationService){super();this.textModel=textModel;this.versionId=versionId;this._debounceValue=_debounceValue;this.languageFeaturesService=languageFeaturesService;this.languageConfigurationService=languageConfigurationService;this._updateOperation=this._register(new MutableDisposable);this.inlineCompletions=disposableObservableValue("inlineCompletions",void 0);this.suggestWidgetInlineCompletions=disposableObservableValue("suggestWidgetInlineCompletions",void 0);this._register(this.textModel.onDidChangeContent((()=>{this._updateOperation.clear()})))}fetch(position,context,activeInlineCompletion){var _a6,_b3;const request=new UpdateRequest(position,context,this.textModel.getVersionId());const target=context.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if((_a6=this._updateOperation.value)===null||_a6===void 0?void 0:_a6.request.satisfies(request)){return this._updateOperation.value.promise}else if((_b3=target.get())===null||_b3===void 0?void 0:_b3.request.satisfies(request)){return Promise.resolve(true)}const updateOngoing=!!this._updateOperation.value;this._updateOperation.clear();const source=new CancellationTokenSource;const promise=(()=>__awaiter70(this,void 0,void 0,(function*(){const shouldDebounce=updateOngoing||context.triggerKind===InlineCompletionTriggerKind.Automatic;if(shouldDebounce){yield wait(this._debounceValue.get(this.textModel))}if(source.token.isCancellationRequested||this.textModel.getVersionId()!==request.versionId){return false}const startTime=new Date;const updatedCompletions=yield provideInlineCompletions(this.languageFeaturesService.inlineCompletionsProvider,position,this.textModel,context,source.token,this.languageConfigurationService);if(source.token.isCancellationRequested||this.textModel.getVersionId()!==request.versionId){return false}const endTime=new Date;this._debounceValue.update(this.textModel,endTime.getTime()-startTime.getTime());const completions=new UpToDateInlineCompletions(updatedCompletions,request,this.textModel,this.versionId);if(activeInlineCompletion){const asInlineCompletion=activeInlineCompletion.toInlineCompletion(void 0);if(activeInlineCompletion.canBeReused(this.textModel,position)&&!updatedCompletions.has(asInlineCompletion)){completions.prepend(activeInlineCompletion.inlineCompletion,asInlineCompletion.range,true)}}this._updateOperation.clear();transaction((tx=>{target.set(completions,tx)}));return true})))();const updateOperation=new UpdateOperation(request,source,promise);this._updateOperation.value=updateOperation;return promise}clear(tx){this._updateOperation.clear();this.inlineCompletions.set(void 0,tx);this.suggestWidgetInlineCompletions.set(void 0,tx)}clearSuggestWidgetInlineCompletions(tx){var _a6;if((_a6=this._updateOperation.value)===null||_a6===void 0?void 0:_a6.request.context.selectedSuggestionInfo){this._updateOperation.clear()}this.suggestWidgetInlineCompletions.set(void 0,tx)}cancelUpdate(){this._updateOperation.clear()}};InlineCompletionsSource=__decorate93([__param86(3,ILanguageFeaturesService),__param86(4,ILanguageConfigurationService)],InlineCompletionsSource);function wait(ms,cancellationToken){return new Promise((resolve2=>{let d=void 0;const handle=setTimeout((()=>{if(d){d.dispose()}resolve2()}),ms);if(cancellationToken){d=cancellationToken.onCancellationRequested((()=>{clearTimeout(handle);if(d){d.dispose()}resolve2()}))}}))}var UpdateRequest=class{constructor(position,context,versionId){this.position=position;this.context=context;this.versionId=versionId}satisfies(other){return this.position.equals(other.position)&&equals3(this.context.selectedSuggestionInfo,other.context.selectedSuggestionInfo,((v1,v2)=>v1.equals(v2)))&&(other.context.triggerKind===InlineCompletionTriggerKind.Automatic||this.context.triggerKind===InlineCompletionTriggerKind.Explicit)&&this.versionId===other.versionId}};function equals3(v1,v2,equals4){if(!v1||!v2){return v1===v2}return equals4(v1,v2)}var UpdateOperation=class{constructor(request,cancellationTokenSource,promise){this.request=request;this.cancellationTokenSource=cancellationTokenSource;this.promise=promise}dispose(){this.cancellationTokenSource.cancel()}};var UpToDateInlineCompletions=class{get inlineCompletions(){return this._inlineCompletions}constructor(inlineCompletionProviderResult,request,textModel,versionId){this.inlineCompletionProviderResult=inlineCompletionProviderResult;this.request=request;this.textModel=textModel;this.versionId=versionId;this._refCount=1;this._prependedInlineCompletionItems=[];this._rangeVersionIdValue=0;this._rangeVersionId=derived((reader=>{this.versionId.read(reader);let changed=false;for(const i of this._inlineCompletions){changed=changed||i._updateRange(this.textModel)}if(changed){this._rangeVersionIdValue++}return this._rangeVersionIdValue}));const ids=textModel.deltaDecorations([],inlineCompletionProviderResult.completions.map((i=>({range:i.range,options:{description:"inline-completion-tracking-range"}}))));this._inlineCompletions=inlineCompletionProviderResult.completions.map(((i,index)=>new InlineCompletionWithUpdatedRange(i,ids[index],this._rangeVersionId)))}clone(){this._refCount++;return this}dispose(){this._refCount--;if(this._refCount===0){setTimeout((()=>{if(!this.textModel.isDisposed()){this.textModel.deltaDecorations(this._inlineCompletions.map((i=>i.decorationId)),[])}}),0);this.inlineCompletionProviderResult.dispose();for(const i of this._prependedInlineCompletionItems){i.source.removeRef()}}}prepend(inlineCompletion,range2,addRefToSource){if(addRefToSource){inlineCompletion.source.addRef()}const id=this.textModel.deltaDecorations([],[{range:range2,options:{description:"inline-completion-tracking-range"}}])[0];this._inlineCompletions.unshift(new InlineCompletionWithUpdatedRange(inlineCompletion,id,this._rangeVersionId,range2));this._prependedInlineCompletionItems.push(inlineCompletion)}};var InlineCompletionWithUpdatedRange=class{get forwardStable(){var _a6;return(_a6=this.inlineCompletion.source.inlineCompletions.enableForwardStability)!==null&&_a6!==void 0?_a6:false}constructor(inlineCompletion,decorationId,rangeVersion,initialRange){this.inlineCompletion=inlineCompletion;this.decorationId=decorationId;this.rangeVersion=rangeVersion;this.semanticId=JSON.stringify([this.inlineCompletion.filterText,this.inlineCompletion.insertText,this.inlineCompletion.range.getStartPosition().toString()]);this._isValid=true;this._updatedRange=initialRange!==null&&initialRange!==void 0?initialRange:inlineCompletion.range}toInlineCompletion(reader){return this.inlineCompletion.withRange(this._getUpdatedRange(reader))}toSingleTextEdit(reader){return new SingleTextEdit(this._getUpdatedRange(reader),this.inlineCompletion.insertText)}isVisible(model,cursorPosition,reader){const minimizedReplacement=this._toFilterTextReplacement(reader).removeCommonPrefix(model);if(!this._isValid||!this.inlineCompletion.range.getStartPosition().equals(this._getUpdatedRange(reader).getStartPosition())||cursorPosition.lineNumber!==minimizedReplacement.range.startLineNumber){return false}const originalValue=model.getValueInRange(minimizedReplacement.range,1).toLowerCase();const filterText=minimizedReplacement.text.toLowerCase();const cursorPosIndex=Math.max(0,cursorPosition.column-minimizedReplacement.range.startColumn);let filterTextBefore=filterText.substring(0,cursorPosIndex);let filterTextAfter=filterText.substring(cursorPosIndex);let originalValueBefore=originalValue.substring(0,cursorPosIndex);let originalValueAfter=originalValue.substring(cursorPosIndex);const originalValueIndent=model.getLineIndentColumn(minimizedReplacement.range.startLineNumber);if(minimizedReplacement.range.startColumn<=originalValueIndent){originalValueBefore=originalValueBefore.trimStart();if(originalValueBefore.length===0){originalValueAfter=originalValueAfter.trimStart()}filterTextBefore=filterTextBefore.trimStart();if(filterTextBefore.length===0){filterTextAfter=filterTextAfter.trimStart()}}return filterTextBefore.startsWith(originalValueBefore)&&!!matchesSubString(originalValueAfter,filterTextAfter)}canBeReused(model,position){const result=this._isValid&&this._getUpdatedRange(void 0).containsPosition(position)&&this.isVisible(model,position,void 0)&&!this._isSmallerThanOriginal(void 0);return result}_toFilterTextReplacement(reader){return new SingleTextEdit(this._getUpdatedRange(reader),this.inlineCompletion.filterText)}_isSmallerThanOriginal(reader){return length(this._getUpdatedRange(reader)).isBefore(length(this.inlineCompletion.range))}_getUpdatedRange(reader){this.rangeVersion.read(reader);return this._updatedRange}_updateRange(textModel){const range2=textModel.getDecorationRange(this.decorationId);if(!range2){this._isValid=false;return true}if(!this._updatedRange.equalsRange(range2)){this._updatedRange=range2;return true}return false}};function length(range2){if(range2.startLineNumber===range2.endLineNumber){return new Position(1,1+range2.endColumn-range2.startColumn)}else{return new Position(1+range2.endLineNumber-range2.startLineNumber,range2.endColumn)}}init_lifecycle();init_types();init_editorExtensions();init_position();init_editorContextKeys();init_languageConfigurationRegistry();init_languageFeatures();init_cancellation();init_errors();init_filters();init_lifecycle();init_stopwatch();init_types();init_uri();init_position();init_range();init_resolverService();init_nls();init_actions2();init_commands();init_contextkey();init_languageFeatures();var __awaiter71=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var Context2={Visible:historyNavigationVisible,HasFocusedSuggestion:new RawContextKey("suggestWidgetHasFocusedSuggestion",false,localize("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new RawContextKey("suggestWidgetDetailsVisible",false,localize("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new RawContextKey("suggestWidgetMultipleSuggestions",false,localize("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new RawContextKey("suggestionMakesTextEdit",true,localize("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new RawContextKey("acceptSuggestionOnEnter",true,localize("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new RawContextKey("suggestionHasInsertAndReplaceRange",false,localize("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new RawContextKey("suggestionInsertMode",void 0,{type:"string",description:localize("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new RawContextKey("suggestionCanResolve",false,localize("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))};var suggestWidgetStatusbarMenu=new MenuId("suggestWidgetStatusBar");var CompletionItem4=class{constructor(position,completion,container,provider){var _a6;this.position=position;this.completion=completion;this.container=container;this.provider=provider;this.isInvalid=false;this.score=FuzzyScore.Default;this.distance=0;this.textLabel=typeof completion.label==="string"?completion.label:(_a6=completion.label)===null||_a6===void 0?void 0:_a6.label;this.labelLow=this.textLabel.toLowerCase();this.isInvalid=!this.textLabel;this.sortTextLow=completion.sortText&&completion.sortText.toLowerCase();this.filterTextLow=completion.filterText&&completion.filterText.toLowerCase();this.extensionId=completion.extensionId;if(Range.isIRange(completion.range)){this.editStart=new Position(completion.range.startLineNumber,completion.range.startColumn);this.editInsertEnd=new Position(completion.range.endLineNumber,completion.range.endColumn);this.editReplaceEnd=new Position(completion.range.endLineNumber,completion.range.endColumn);this.isInvalid=this.isInvalid||Range.spansMultipleLines(completion.range)||completion.range.startLineNumber!==position.lineNumber}else{this.editStart=new Position(completion.range.insert.startLineNumber,completion.range.insert.startColumn);this.editInsertEnd=new Position(completion.range.insert.endLineNumber,completion.range.insert.endColumn);this.editReplaceEnd=new Position(completion.range.replace.endLineNumber,completion.range.replace.endColumn);this.isInvalid=this.isInvalid||Range.spansMultipleLines(completion.range.insert)||Range.spansMultipleLines(completion.range.replace)||completion.range.insert.startLineNumber!==position.lineNumber||completion.range.replace.startLineNumber!==position.lineNumber||completion.range.insert.startColumn!==completion.range.replace.startColumn}if(typeof provider.resolveCompletionItem!=="function"){this._resolveCache=Promise.resolve();this._resolveDuration=0}}get isResolved(){return this._resolveDuration!==void 0}get resolveDuration(){return this._resolveDuration!==void 0?this._resolveDuration:-1}resolve(token){return __awaiter71(this,void 0,void 0,(function*(){if(!this._resolveCache){const sub=token.onCancellationRequested((()=>{this._resolveCache=void 0;this._resolveDuration=void 0}));const sw=new StopWatch(true);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,token)).then((value=>{Object.assign(this.completion,value);this._resolveDuration=sw.elapsed();sub.dispose()}),(err=>{if(isCancellationError(err)){this._resolveCache=void 0;this._resolveDuration=void 0}}))}return this._resolveCache}))}};var CompletionOptions=class{constructor(snippetSortOrder=2,kindFilter=new Set,providerFilter=new Set,providerItemsToReuse=new Map,showDeprecated=true){this.snippetSortOrder=snippetSortOrder;this.kindFilter=kindFilter;this.providerFilter=providerFilter;this.providerItemsToReuse=providerItemsToReuse;this.showDeprecated=showDeprecated}};CompletionOptions.default=new CompletionOptions;var _snippetSuggestSupport;function getSnippetSuggestSupport(){return _snippetSuggestSupport}var CompletionItemModel=class{constructor(items,needsClipboard,durations,disposable){this.items=items;this.needsClipboard=needsClipboard;this.durations=durations;this.disposable=disposable}};function provideSuggestionItems(registry,model,position,options2=CompletionOptions.default,context={triggerKind:0},token=CancellationToken.None){return __awaiter71(this,void 0,void 0,(function*(){const sw=new StopWatch;position=position.clone();const word=model.getWordAtPosition(position);const defaultReplaceRange=word?new Range(position.lineNumber,word.startColumn,position.lineNumber,word.endColumn):Range.fromPositions(position);const defaultRange={replace:defaultReplaceRange,insert:defaultReplaceRange.setEndPosition(position.lineNumber,position.column)};const result=[];const disposables=new DisposableStore;const durations=[];let needsClipboard=false;const onCompletionList=(provider,container,sw2)=>{var _a6,_b3,_c2;let didAddResult=false;if(!container){return didAddResult}for(const suggestion of container.suggestions){if(!options2.kindFilter.has(suggestion.kind)){if(!options2.showDeprecated&&((_a6=suggestion===null||suggestion===void 0?void 0:suggestion.tags)===null||_a6===void 0?void 0:_a6.includes(1))){continue}if(!suggestion.range){suggestion.range=defaultRange}if(!suggestion.sortText){suggestion.sortText=typeof suggestion.label==="string"?suggestion.label:suggestion.label.label}if(!needsClipboard&&suggestion.insertTextRules&&suggestion.insertTextRules&4){needsClipboard=SnippetParser.guessNeedsClipboard(suggestion.insertText)}result.push(new CompletionItem4(position,suggestion,container,provider));didAddResult=true}}if(isDisposable(container)){disposables.add(container)}durations.push({providerName:(_b3=provider._debugDisplayName)!==null&&_b3!==void 0?_b3:"unknown_provider",elapsedProvider:(_c2=container.duration)!==null&&_c2!==void 0?_c2:-1,elapsedOverall:sw2.elapsed()});return didAddResult};const snippetCompletions=(()=>__awaiter71(this,void 0,void 0,(function*(){if(!_snippetSuggestSupport||options2.kindFilter.has(27)){return}const reuseItems=options2.providerItemsToReuse.get(_snippetSuggestSupport);if(reuseItems){reuseItems.forEach((item=>result.push(item)));return}if(options2.providerFilter.size>0&&!options2.providerFilter.has(_snippetSuggestSupport)){return}const sw2=new StopWatch;const list=yield _snippetSuggestSupport.provideCompletionItems(model,position,context,token);onCompletionList(_snippetSuggestSupport,list,sw2)})))();for(const providerGroup of registry.orderedGroups(model)){let didAddResult=false;yield Promise.all(providerGroup.map((provider=>__awaiter71(this,void 0,void 0,(function*(){if(options2.providerItemsToReuse.has(provider)){const items=options2.providerItemsToReuse.get(provider);items.forEach((item=>result.push(item)));didAddResult=didAddResult||items.length>0;return}if(options2.providerFilter.size>0&&!options2.providerFilter.has(provider)){return}try{const sw2=new StopWatch;const list=yield provider.provideCompletionItems(model,position,context,token);didAddResult=onCompletionList(provider,list,sw2)||didAddResult}catch(err){onUnexpectedExternalError(err)}})))));if(didAddResult||token.isCancellationRequested){break}}yield snippetCompletions;if(token.isCancellationRequested){disposables.dispose();return Promise.reject(new CancellationError)}return new CompletionItemModel(result.sort(getSuggestionComparator(options2.snippetSortOrder)),needsClipboard,{entries:durations,elapsed:sw.elapsed()},disposables)}))}function defaultComparator(a,b){if(a.sortTextLow&&b.sortTextLow){if(a.sortTextLow<b.sortTextLow){return-1}else if(a.sortTextLow>b.sortTextLow){return 1}}if(a.textLabel<b.textLabel){return-1}else if(a.textLabel>b.textLabel){return 1}return a.completion.kind-b.completion.kind}function snippetUpComparator(a,b){if(a.completion.kind!==b.completion.kind){if(a.completion.kind===27){return-1}else if(b.completion.kind===27){return 1}}return defaultComparator(a,b)}function snippetDownComparator(a,b){if(a.completion.kind!==b.completion.kind){if(a.completion.kind===27){return 1}else if(b.completion.kind===27){return-1}}return defaultComparator(a,b)}var _snippetComparators=new Map;_snippetComparators.set(0,snippetUpComparator);_snippetComparators.set(2,snippetDownComparator);_snippetComparators.set(1,defaultComparator);function getSuggestionComparator(snippetConfig){return _snippetComparators.get(snippetConfig)}CommandsRegistry.registerCommand("_executeCompletionItemProvider",((accessor,...args)=>__awaiter71(void 0,void 0,void 0,(function*(){const[uri,position,triggerCharacter,maxItemsToResolve]=args;assertType(URI.isUri(uri));assertType(Position.isIPosition(position));assertType(typeof triggerCharacter==="string"||!triggerCharacter);assertType(typeof maxItemsToResolve==="number"||!maxItemsToResolve);const{completionProvider:completionProvider}=accessor.get(ILanguageFeaturesService);const ref=yield accessor.get(ITextModelService).createModelReference(uri);try{const result={incomplete:false,suggestions:[]};const resolving=[];const actualPosition=ref.object.textEditorModel.validatePosition(position);const completions=yield provideSuggestionItems(completionProvider,ref.object.textEditorModel,actualPosition,void 0,{triggerCharacter:triggerCharacter!==null&&triggerCharacter!==void 0?triggerCharacter:void 0,triggerKind:triggerCharacter?1:0});for(const item of completions.items){if(resolving.length<(maxItemsToResolve!==null&&maxItemsToResolve!==void 0?maxItemsToResolve:0)){resolving.push(item.resolve(CancellationToken.None))}result.incomplete=result.incomplete||item.container.incomplete;result.suggestions.push(item.completion)}try{yield Promise.all(resolving);return result}finally{setTimeout((()=>completions.disposable.dispose()),100)}}finally{ref.dispose()}}))));function showSimpleSuggestions(editor2,provider){var _a6;(_a6=editor2.getContribution("editor.contrib.suggestController"))===null||_a6===void 0?void 0:_a6.triggerSuggest((new Set).add(provider),void 0,true)}var QuickSuggestionsOptions=class{static isAllOff(config){return config.other==="off"&&config.comments==="off"&&config.strings==="off"}static isAllOn(config){return config.other==="on"&&config.comments==="on"&&config.strings==="on"}static valueFor(config,tokenType){switch(tokenType){case 1:return config.comments;case 2:return config.strings;default:return config.other}}};init_nls();init_contextkey();init_log();init_arrays();init_lifecycle();init_strings();init_editOperation();init_range();init_selection();init_languageConfigurationRegistry();init_textModel();init_label();init_workspace();init_extpath();init_platform();function normalizeDriveLetter(path,isWindowsOS=isWindows){if(hasDriveLetter(path,isWindowsOS)){return path.charAt(0).toUpperCase()+path.slice(1)}return path}init_path();init_resources();init_strings();init_languageConfigurationRegistry();init_nls();init_workspace();var __decorate94=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param87=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var KnownSnippetVariableNames=Object.freeze({CURRENT_YEAR:true,CURRENT_YEAR_SHORT:true,CURRENT_MONTH:true,CURRENT_DATE:true,CURRENT_HOUR:true,CURRENT_MINUTE:true,CURRENT_SECOND:true,CURRENT_DAY_NAME:true,CURRENT_DAY_NAME_SHORT:true,CURRENT_MONTH_NAME:true,CURRENT_MONTH_NAME_SHORT:true,CURRENT_SECONDS_UNIX:true,CURRENT_TIMEZONE_OFFSET:true,SELECTION:true,CLIPBOARD:true,TM_SELECTED_TEXT:true,TM_CURRENT_LINE:true,TM_CURRENT_WORD:true,TM_LINE_INDEX:true,TM_LINE_NUMBER:true,TM_FILENAME:true,TM_FILENAME_BASE:true,TM_DIRECTORY:true,TM_FILEPATH:true,CURSOR_INDEX:true,CURSOR_NUMBER:true,RELATIVE_FILEPATH:true,BLOCK_COMMENT_START:true,BLOCK_COMMENT_END:true,LINE_COMMENT:true,WORKSPACE_NAME:true,WORKSPACE_FOLDER:true,RANDOM:true,RANDOM_HEX:true,UUID:true});var CompositeSnippetVariableResolver=class{constructor(_delegates){this._delegates=_delegates}resolve(variable){for(const delegate of this._delegates){const value=delegate.resolve(variable);if(value!==void 0){return value}}return void 0}};var SelectionBasedVariableResolver=class{constructor(_model,_selection,_selectionIdx,_overtypingCapturer){this._model=_model;this._selection=_selection;this._selectionIdx=_selectionIdx;this._overtypingCapturer=_overtypingCapturer}resolve(variable){const{name:name}=variable;if(name==="SELECTION"||name==="TM_SELECTED_TEXT"){let value=this._model.getValueInRange(this._selection)||void 0;let isMultiline=this._selection.startLineNumber!==this._selection.endLineNumber;if(!value&&this._overtypingCapturer){const info=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);if(info){value=info.value;isMultiline=info.multiline}}if(value&&isMultiline&&variable.snippet){const line=this._model.getLineContent(this._selection.startLineNumber);const lineLeadingWhitespace=getLeadingWhitespace(line,0,this._selection.startColumn-1);let varLeadingWhitespace=lineLeadingWhitespace;variable.snippet.walk((marker=>{if(marker===variable){return false}if(marker instanceof Text){varLeadingWhitespace=getLeadingWhitespace(splitLines(marker.value).pop())}return true}));const whitespaceCommonLength=commonPrefixLength(varLeadingWhitespace,lineLeadingWhitespace);value=value.replace(/(\r\n|\r|\n)(.*)/g,((m,newline,rest)=>`${newline}${varLeadingWhitespace.substr(whitespaceCommonLength)}${rest}`))}return value}else if(name==="TM_CURRENT_LINE"){return this._model.getLineContent(this._selection.positionLineNumber)}else if(name==="TM_CURRENT_WORD"){const info=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return info&&info.word||void 0}else if(name==="TM_LINE_INDEX"){return String(this._selection.positionLineNumber-1)}else if(name==="TM_LINE_NUMBER"){return String(this._selection.positionLineNumber)}else if(name==="CURSOR_INDEX"){return String(this._selectionIdx)}else if(name==="CURSOR_NUMBER"){return String(this._selectionIdx+1)}return void 0}};var ModelBasedVariableResolver=class{constructor(_labelService,_model){this._labelService=_labelService;this._model=_model}resolve(variable){const{name:name}=variable;if(name==="TM_FILENAME"){return basename(this._model.uri.fsPath)}else if(name==="TM_FILENAME_BASE"){const name2=basename(this._model.uri.fsPath);const idx=name2.lastIndexOf(".");if(idx<=0){return name2}else{return name2.slice(0,idx)}}else if(name==="TM_DIRECTORY"){if(dirname(this._model.uri.fsPath)==="."){return""}return this._labelService.getUriLabel(dirname2(this._model.uri))}else if(name==="TM_FILEPATH"){return this._labelService.getUriLabel(this._model.uri)}else if(name==="RELATIVE_FILEPATH"){return this._labelService.getUriLabel(this._model.uri,{relative:true,noPrefix:true})}return void 0}};var ClipboardBasedVariableResolver=class{constructor(_readClipboardText,_selectionIdx,_selectionCount,_spread){this._readClipboardText=_readClipboardText;this._selectionIdx=_selectionIdx;this._selectionCount=_selectionCount;this._spread=_spread}resolve(variable){if(variable.name!=="CLIPBOARD"){return void 0}const clipboardText=this._readClipboardText();if(!clipboardText){return void 0}if(this._spread){const lines=clipboardText.split(/\r\n|\n|\r/).filter((s=>!isFalsyOrWhitespace(s)));if(lines.length===this._selectionCount){return lines[this._selectionIdx]}}return clipboardText}};var CommentBasedVariableResolver=class CommentBasedVariableResolver2{constructor(_model,_selection,_languageConfigurationService){this._model=_model;this._selection=_selection;this._languageConfigurationService=_languageConfigurationService}resolve(variable){const{name:name}=variable;const langId=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn);const config=this._languageConfigurationService.getLanguageConfiguration(langId).comments;if(!config){return void 0}if(name==="LINE_COMMENT"){return config.lineCommentToken||void 0}else if(name==="BLOCK_COMMENT_START"){return config.blockCommentStartToken||void 0}else if(name==="BLOCK_COMMENT_END"){return config.blockCommentEndToken||void 0}return void 0}};CommentBasedVariableResolver=__decorate94([__param87(2,ILanguageConfigurationService)],CommentBasedVariableResolver);var TimeBasedVariableResolver=class{constructor(){this._date=new Date}resolve(variable){const{name:name}=variable;if(name==="CURRENT_YEAR"){return String(this._date.getFullYear())}else if(name==="CURRENT_YEAR_SHORT"){return String(this._date.getFullYear()).slice(-2)}else if(name==="CURRENT_MONTH"){return String(this._date.getMonth().valueOf()+1).padStart(2,"0")}else if(name==="CURRENT_DATE"){return String(this._date.getDate().valueOf()).padStart(2,"0")}else if(name==="CURRENT_HOUR"){return String(this._date.getHours().valueOf()).padStart(2,"0")}else if(name==="CURRENT_MINUTE"){return String(this._date.getMinutes().valueOf()).padStart(2,"0")}else if(name==="CURRENT_SECOND"){return String(this._date.getSeconds().valueOf()).padStart(2,"0")}else if(name==="CURRENT_DAY_NAME"){return TimeBasedVariableResolver.dayNames[this._date.getDay()]}else if(name==="CURRENT_DAY_NAME_SHORT"){return TimeBasedVariableResolver.dayNamesShort[this._date.getDay()]}else if(name==="CURRENT_MONTH_NAME"){return TimeBasedVariableResolver.monthNames[this._date.getMonth()]}else if(name==="CURRENT_MONTH_NAME_SHORT"){return TimeBasedVariableResolver.monthNamesShort[this._date.getMonth()]}else if(name==="CURRENT_SECONDS_UNIX"){return String(Math.floor(this._date.getTime()/1e3))}else if(name==="CURRENT_TIMEZONE_OFFSET"){const rawTimeOffset=this._date.getTimezoneOffset();const sign=rawTimeOffset>0?"-":"+";const hours=Math.trunc(Math.abs(rawTimeOffset/60));const hoursString=hours<10?"0"+hours:hours;const minutes=Math.abs(rawTimeOffset)-hours*60;const minutesString=minutes<10?"0"+minutes:minutes;return sign+hoursString+":"+minutesString}return void 0}};TimeBasedVariableResolver.dayNames=[localize("Sunday","Sunday"),localize("Monday","Monday"),localize("Tuesday","Tuesday"),localize("Wednesday","Wednesday"),localize("Thursday","Thursday"),localize("Friday","Friday"),localize("Saturday","Saturday")];TimeBasedVariableResolver.dayNamesShort=[localize("SundayShort","Sun"),localize("MondayShort","Mon"),localize("TuesdayShort","Tue"),localize("WednesdayShort","Wed"),localize("ThursdayShort","Thu"),localize("FridayShort","Fri"),localize("SaturdayShort","Sat")];TimeBasedVariableResolver.monthNames=[localize("January","January"),localize("February","February"),localize("March","March"),localize("April","April"),localize("May","May"),localize("June","June"),localize("July","July"),localize("August","August"),localize("September","September"),localize("October","October"),localize("November","November"),localize("December","December")];TimeBasedVariableResolver.monthNamesShort=[localize("JanuaryShort","Jan"),localize("FebruaryShort","Feb"),localize("MarchShort","Mar"),localize("AprilShort","Apr"),localize("MayShort","May"),localize("JuneShort","Jun"),localize("JulyShort","Jul"),localize("AugustShort","Aug"),localize("SeptemberShort","Sep"),localize("OctoberShort","Oct"),localize("NovemberShort","Nov"),localize("DecemberShort","Dec")];var WorkspaceBasedVariableResolver=class{constructor(_workspaceService){this._workspaceService=_workspaceService}resolve(variable){if(!this._workspaceService){return void 0}const workspaceIdentifier=toWorkspaceIdentifier(this._workspaceService.getWorkspace());if(isEmptyWorkspaceIdentifier(workspaceIdentifier)){return void 0}if(variable.name==="WORKSPACE_NAME"){return this._resolveWorkspaceName(workspaceIdentifier)}else if(variable.name==="WORKSPACE_FOLDER"){return this._resoveWorkspacePath(workspaceIdentifier)}return void 0}_resolveWorkspaceName(workspaceIdentifier){if(isSingleFolderWorkspaceIdentifier(workspaceIdentifier)){return basename(workspaceIdentifier.uri.path)}let filename=basename(workspaceIdentifier.configPath.path);if(filename.endsWith(WORKSPACE_EXTENSION)){filename=filename.substr(0,filename.length-WORKSPACE_EXTENSION.length-1)}return filename}_resoveWorkspacePath(workspaceIdentifier){if(isSingleFolderWorkspaceIdentifier(workspaceIdentifier)){return normalizeDriveLetter(workspaceIdentifier.uri.fsPath)}const filename=basename(workspaceIdentifier.configPath.path);let folderpath=workspaceIdentifier.configPath.fsPath;if(folderpath.endsWith(filename)){folderpath=folderpath.substr(0,folderpath.length-filename.length-1)}return folderpath?normalizeDriveLetter(folderpath):"/"}};var RandomBasedVariableResolver=class{resolve(variable){const{name:name}=variable;if(name==="RANDOM"){return Math.random().toString().slice(-6)}else if(name==="RANDOM_HEX"){return Math.random().toString(16).slice(-6)}else if(name==="UUID"){return generateUuid()}return void 0}};var __decorate95=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param88=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var SnippetSession_1;var OneSnippet=class{constructor(_editor,_snippet,_snippetLineLeadingWhitespace){this._editor=_editor;this._snippet=_snippet;this._snippetLineLeadingWhitespace=_snippetLineLeadingWhitespace;this._offset=-1;this._nestingLevel=1;this._placeholderGroups=groupBy(_snippet.placeholders,Placeholder.compareByIndex);this._placeholderGroupsIdx=-1}initialize(textChange){this._offset=textChange.newPosition}dispose(){if(this._placeholderDecorations){this._editor.removeDecorations([...this._placeholderDecorations.values()])}this._placeholderGroups.length=0}_initDecorations(){if(this._offset===-1){throw new Error(`Snippet not initialized!`)}if(this._placeholderDecorations){return}this._placeholderDecorations=new Map;const model=this._editor.getModel();this._editor.changeDecorations((accessor=>{for(const placeholder of this._snippet.placeholders){const placeholderOffset=this._snippet.offset(placeholder);const placeholderLen=this._snippet.fullLen(placeholder);const range2=Range.fromPositions(model.getPositionAt(this._offset+placeholderOffset),model.getPositionAt(this._offset+placeholderOffset+placeholderLen));const options2=placeholder.isFinalTabstop?OneSnippet._decor.inactiveFinal:OneSnippet._decor.inactive;const handle=accessor.addDecoration(range2,options2);this._placeholderDecorations.set(placeholder,handle)}}))}move(fwd){if(!this._editor.hasModel()){return[]}this._initDecorations();if(this._placeholderGroupsIdx>=0){const operations=[];for(const placeholder of this._placeholderGroups[this._placeholderGroupsIdx]){if(placeholder.transform){const id=this._placeholderDecorations.get(placeholder);const range2=this._editor.getModel().getDecorationRange(id);const currentValue=this._editor.getModel().getValueInRange(range2);const transformedValueLines=placeholder.transform.resolve(currentValue).split(/\r\n|\r|\n/);for(let i=1;i<transformedValueLines.length;i++){transformedValueLines[i]=this._editor.getModel().normalizeIndentation(this._snippetLineLeadingWhitespace+transformedValueLines[i])}operations.push(EditOperation.replace(range2,transformedValueLines.join(this._editor.getModel().getEOL())))}}if(operations.length>0){this._editor.executeEdits("snippet.placeholderTransform",operations)}}let couldSkipThisPlaceholder=false;if(fwd===true&&this._placeholderGroupsIdx<this._placeholderGroups.length-1){this._placeholderGroupsIdx+=1;couldSkipThisPlaceholder=true}else if(fwd===false&&this._placeholderGroupsIdx>0){this._placeholderGroupsIdx-=1;couldSkipThisPlaceholder=true}else{}const newSelections=this._editor.getModel().changeDecorations((accessor=>{const activePlaceholders=new Set;const selections=[];for(const placeholder of this._placeholderGroups[this._placeholderGroupsIdx]){const id=this._placeholderDecorations.get(placeholder);const range2=this._editor.getModel().getDecorationRange(id);selections.push(new Selection(range2.startLineNumber,range2.startColumn,range2.endLineNumber,range2.endColumn));couldSkipThisPlaceholder=couldSkipThisPlaceholder&&this._hasPlaceholderBeenCollapsed(placeholder);accessor.changeDecorationOptions(id,placeholder.isFinalTabstop?OneSnippet._decor.activeFinal:OneSnippet._decor.active);activePlaceholders.add(placeholder);for(const enclosingPlaceholder of this._snippet.enclosingPlaceholders(placeholder)){const id2=this._placeholderDecorations.get(enclosingPlaceholder);accessor.changeDecorationOptions(id2,enclosingPlaceholder.isFinalTabstop?OneSnippet._decor.activeFinal:OneSnippet._decor.active);activePlaceholders.add(enclosingPlaceholder)}}for(const[placeholder,id]of this._placeholderDecorations){if(!activePlaceholders.has(placeholder)){accessor.changeDecorationOptions(id,placeholder.isFinalTabstop?OneSnippet._decor.inactiveFinal:OneSnippet._decor.inactive)}}return selections}));return!couldSkipThisPlaceholder?newSelections!==null&&newSelections!==void 0?newSelections:[]:this.move(fwd)}_hasPlaceholderBeenCollapsed(placeholder){let marker=placeholder;while(marker){if(marker instanceof Placeholder){const id=this._placeholderDecorations.get(marker);const range2=this._editor.getModel().getDecorationRange(id);if(range2.isEmpty()&&marker.toString().length>0){return true}}marker=marker.parent}return false}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||this._placeholderGroups.length===0}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}get isTrivialSnippet(){if(this._snippet.placeholders.length===0){return true}if(this._snippet.placeholders.length===1){const[placeholder]=this._snippet.placeholders;if(placeholder.isFinalTabstop){if(this._snippet.rightMostDescendant===placeholder){return true}}}return false}computePossibleSelections(){const result=new Map;for(const placeholdersWithEqualIndex of this._placeholderGroups){let ranges;for(const placeholder of placeholdersWithEqualIndex){if(placeholder.isFinalTabstop){break}if(!ranges){ranges=[];result.set(placeholder.index,ranges)}const id=this._placeholderDecorations.get(placeholder);const range2=this._editor.getModel().getDecorationRange(id);if(!range2){result.delete(placeholder.index);break}ranges.push(range2)}}return result}get activeChoice(){if(!this._placeholderDecorations){return void 0}const placeholder=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!(placeholder===null||placeholder===void 0?void 0:placeholder.choice)){return void 0}const id=this._placeholderDecorations.get(placeholder);if(!id){return void 0}const range2=this._editor.getModel().getDecorationRange(id);if(!range2){return void 0}return{range:range2,choice:placeholder.choice}}get hasChoice(){let result=false;this._snippet.walk((marker=>{result=marker instanceof Choice;return!result}));return result}merge(others){const model=this._editor.getModel();this._nestingLevel*=10;this._editor.changeDecorations((accessor=>{for(const placeholder of this._placeholderGroups[this._placeholderGroupsIdx]){const nested=others.shift();console.assert(nested._offset!==-1);console.assert(!nested._placeholderDecorations);const indexLastPlaceholder=nested._snippet.placeholderInfo.last.index;for(const nestedPlaceholder of nested._snippet.placeholderInfo.all){if(nestedPlaceholder.isFinalTabstop){nestedPlaceholder.index=placeholder.index+(indexLastPlaceholder+1)/this._nestingLevel}else{nestedPlaceholder.index=placeholder.index+nestedPlaceholder.index/this._nestingLevel}}this._snippet.replace(placeholder,nested._snippet.children);const id=this._placeholderDecorations.get(placeholder);accessor.removeDecoration(id);this._placeholderDecorations.delete(placeholder);for(const placeholder2 of nested._snippet.placeholders){const placeholderOffset=nested._snippet.offset(placeholder2);const placeholderLen=nested._snippet.fullLen(placeholder2);const range2=Range.fromPositions(model.getPositionAt(nested._offset+placeholderOffset),model.getPositionAt(nested._offset+placeholderOffset+placeholderLen));const handle=accessor.addDecoration(range2,OneSnippet._decor.inactive);this._placeholderDecorations.set(placeholder2,handle)}}this._placeholderGroups=groupBy(this._snippet.placeholders,Placeholder.compareByIndex)}))}};OneSnippet._decor={active:ModelDecorationOptions.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:ModelDecorationOptions.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:ModelDecorationOptions.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:ModelDecorationOptions.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};var _defaultOptions={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:true,clipboardText:void 0,overtypingCapturer:void 0};var SnippetSession=SnippetSession_1=class SnippetSession2{static adjustWhitespace(model,position,adjustIndentation,snippet,filter){const line=model.getLineContent(position.lineNumber);const lineLeadingWhitespace=getLeadingWhitespace(line,0,position.column-1);let snippetTextString;snippet.walk((marker=>{if(!(marker instanceof Text)||marker.parent instanceof Choice){return true}if(filter&&!filter.has(marker)){return true}const lines=marker.value.split(/\r\n|\r|\n/);if(adjustIndentation){const offset=snippet.offset(marker);if(offset===0){lines[0]=model.normalizeIndentation(lines[0])}else{snippetTextString=snippetTextString!==null&&snippetTextString!==void 0?snippetTextString:snippet.toString();const prevChar=snippetTextString.charCodeAt(offset-1);if(prevChar===10||prevChar===13){lines[0]=model.normalizeIndentation(lineLeadingWhitespace+lines[0])}}for(let i=1;i<lines.length;i++){lines[i]=model.normalizeIndentation(lineLeadingWhitespace+lines[i])}}const newValue=lines.join(model.getEOL());if(newValue!==marker.value){marker.parent.replace(marker,[new Text(newValue)]);snippetTextString=void 0}return true}));return lineLeadingWhitespace}static adjustSelection(model,selection,overwriteBefore,overwriteAfter){if(overwriteBefore!==0||overwriteAfter!==0){const{positionLineNumber:positionLineNumber,positionColumn:positionColumn}=selection;const positionColumnBefore=positionColumn-overwriteBefore;const positionColumnAfter=positionColumn+overwriteAfter;const range2=model.validateRange({startLineNumber:positionLineNumber,startColumn:positionColumnBefore,endLineNumber:positionLineNumber,endColumn:positionColumnAfter});selection=Selection.createWithDirection(range2.startLineNumber,range2.startColumn,range2.endLineNumber,range2.endColumn,selection.getDirection())}return selection}static createEditsAndSnippetsFromSelections(editor2,template,overwriteBefore,overwriteAfter,enforceFinalTabstop,adjustWhitespace,clipboardText,overtypingCapturer,languageConfigurationService){const edits=[];const snippets=[];if(!editor2.hasModel()){return{edits:edits,snippets:snippets}}const model=editor2.getModel();const workspaceService=editor2.invokeWithinContext((accessor=>accessor.get(IWorkspaceContextService)));const modelBasedVariableResolver=editor2.invokeWithinContext((accessor=>new ModelBasedVariableResolver(accessor.get(ILabelService),model)));const readClipboardText=()=>clipboardText;const firstBeforeText=model.getValueInRange(SnippetSession_1.adjustSelection(model,editor2.getSelection(),overwriteBefore,0));const firstAfterText=model.getValueInRange(SnippetSession_1.adjustSelection(model,editor2.getSelection(),0,overwriteAfter));const firstLineFirstNonWhitespace=model.getLineFirstNonWhitespaceColumn(editor2.getSelection().positionLineNumber);const indexedSelections=editor2.getSelections().map(((selection,idx)=>({selection:selection,idx:idx}))).sort(((a,b)=>Range.compareRangesUsingStarts(a.selection,b.selection)));for(const{selection:selection,idx:idx}of indexedSelections){let extensionBefore=SnippetSession_1.adjustSelection(model,selection,overwriteBefore,0);let extensionAfter=SnippetSession_1.adjustSelection(model,selection,0,overwriteAfter);if(firstBeforeText!==model.getValueInRange(extensionBefore)){extensionBefore=selection}if(firstAfterText!==model.getValueInRange(extensionAfter)){extensionAfter=selection}const snippetSelection=selection.setStartPosition(extensionBefore.startLineNumber,extensionBefore.startColumn).setEndPosition(extensionAfter.endLineNumber,extensionAfter.endColumn);const snippet=(new SnippetParser).parse(template,true,enforceFinalTabstop);const start=snippetSelection.getStartPosition();const snippetLineLeadingWhitespace=SnippetSession_1.adjustWhitespace(model,start,adjustWhitespace||idx>0&&firstLineFirstNonWhitespace!==model.getLineFirstNonWhitespaceColumn(selection.positionLineNumber),snippet);snippet.resolveVariables(new CompositeSnippetVariableResolver([modelBasedVariableResolver,new ClipboardBasedVariableResolver(readClipboardText,idx,indexedSelections.length,editor2.getOption(77)==="spread"),new SelectionBasedVariableResolver(model,selection,idx,overtypingCapturer),new CommentBasedVariableResolver(model,selection,languageConfigurationService),new TimeBasedVariableResolver,new WorkspaceBasedVariableResolver(workspaceService),new RandomBasedVariableResolver]));edits[idx]=EditOperation.replace(snippetSelection,snippet.toString());edits[idx].identifier={major:idx,minor:0};edits[idx]._isTracked=true;snippets[idx]=new OneSnippet(editor2,snippet,snippetLineLeadingWhitespace)}return{edits:edits,snippets:snippets}}static createEditsAndSnippetsFromEdits(editor2,snippetEdits,enforceFinalTabstop,adjustWhitespace,clipboardText,overtypingCapturer,languageConfigurationService){if(!editor2.hasModel()||snippetEdits.length===0){return{edits:[],snippets:[]}}const edits=[];const model=editor2.getModel();const parser2=new SnippetParser;const snippet=new TextmateSnippet;const resolver=new CompositeSnippetVariableResolver([editor2.invokeWithinContext((accessor=>new ModelBasedVariableResolver(accessor.get(ILabelService),model))),new ClipboardBasedVariableResolver((()=>clipboardText),0,editor2.getSelections().length,editor2.getOption(77)==="spread"),new SelectionBasedVariableResolver(model,editor2.getSelection(),0,overtypingCapturer),new CommentBasedVariableResolver(model,editor2.getSelection(),languageConfigurationService),new TimeBasedVariableResolver,new WorkspaceBasedVariableResolver(editor2.invokeWithinContext((accessor=>accessor.get(IWorkspaceContextService)))),new RandomBasedVariableResolver]);snippetEdits=snippetEdits.sort(((a,b)=>Range.compareRangesUsingStarts(a.range,b.range)));let offset=0;for(let i=0;i<snippetEdits.length;i++){const{range:range2,template:template}=snippetEdits[i];if(i>0){const lastRange=snippetEdits[i-1].range;const textRange=Range.fromPositions(lastRange.getEndPosition(),range2.getStartPosition());const textNode=new Text(model.getValueInRange(textRange));snippet.appendChild(textNode);offset+=textNode.value.length}const newNodes=parser2.parseFragment(template,snippet);SnippetSession_1.adjustWhitespace(model,range2.getStartPosition(),true,snippet,new Set(newNodes));snippet.resolveVariables(resolver);const snippetText=snippet.toString();const snippetFragmentText=snippetText.slice(offset);offset=snippetText.length;const edit=EditOperation.replace(range2,snippetFragmentText);edit.identifier={major:i,minor:0};edit._isTracked=true;edits.push(edit)}parser2.ensureFinalTabstop(snippet,enforceFinalTabstop,true);return{edits:edits,snippets:[new OneSnippet(editor2,snippet,"")]}}constructor(_editor,_template,_options=_defaultOptions,_languageConfigurationService){this._editor=_editor;this._template=_template;this._options=_options;this._languageConfigurationService=_languageConfigurationService;this._templateMerges=[];this._snippets=[]}dispose(){dispose(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(" -> ")}"`}insert(){if(!this._editor.hasModel()){return}const{edits:edits,snippets:snippets}=typeof this._template==="string"?SnippetSession_1.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,false,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):SnippetSession_1.createEditsAndSnippetsFromEdits(this._editor,this._template,false,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=snippets;this._editor.executeEdits("snippet",edits,(_undoEdits=>{const undoEdits=_undoEdits.filter((edit=>!!edit.identifier));for(let idx=0;idx<snippets.length;idx++){snippets[idx].initialize(undoEdits[idx].textChange)}if(this._snippets[0].hasPlaceholder){return this._move(true)}else{return undoEdits.map((edit=>Selection.fromPositions(edit.range.getEndPosition())))}}));this._editor.revealRange(this._editor.getSelections()[0])}merge(template,options2=_defaultOptions){if(!this._editor.hasModel()){return}this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,template]);const{edits:edits,snippets:snippets}=SnippetSession_1.createEditsAndSnippetsFromSelections(this._editor,template,options2.overwriteBefore,options2.overwriteAfter,true,options2.adjustWhitespace,options2.clipboardText,options2.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits("snippet",edits,(_undoEdits=>{const undoEdits=_undoEdits.filter((edit=>!!edit.identifier));for(let idx=0;idx<snippets.length;idx++){snippets[idx].initialize(undoEdits[idx].textChange)}const isTrivialSnippet=snippets[0].isTrivialSnippet;if(!isTrivialSnippet){for(const snippet of this._snippets){snippet.merge(snippets)}console.assert(snippets.length===0)}if(this._snippets[0].hasPlaceholder&&!isTrivialSnippet){return this._move(void 0)}else{return undoEdits.map((edit=>Selection.fromPositions(edit.range.getEndPosition())))}}))}next(){const newSelections=this._move(true);this._editor.setSelections(newSelections);this._editor.revealPositionInCenterIfOutsideViewport(newSelections[0].getPosition())}prev(){const newSelections=this._move(false);this._editor.setSelections(newSelections);this._editor.revealPositionInCenterIfOutsideViewport(newSelections[0].getPosition())}_move(fwd){const selections=[];for(const snippet of this._snippets){const oneSelection=snippet.move(fwd);selections.push(...oneSelection)}return selections}get isAtFirstPlaceholder(){return this._snippets[0].isAtFirstPlaceholder}get isAtLastPlaceholder(){return this._snippets[0].isAtLastPlaceholder}get hasPlaceholder(){return this._snippets[0].hasPlaceholder}get hasChoice(){return this._snippets[0].hasChoice}get activeChoice(){return this._snippets[0].activeChoice}isSelectionWithinPlaceholders(){if(!this.hasPlaceholder){return false}const selections=this._editor.getSelections();if(selections.length<this._snippets.length){return false}const allPossibleSelections=new Map;for(const snippet of this._snippets){const possibleSelections=snippet.computePossibleSelections();if(allPossibleSelections.size===0){for(const[index,ranges]of possibleSelections){ranges.sort(Range.compareRangesUsingStarts);for(const selection of selections){if(ranges[0].containsRange(selection)){allPossibleSelections.set(index,[]);break}}}}if(allPossibleSelections.size===0){return false}allPossibleSelections.forEach(((array2,index)=>{array2.push(...possibleSelections.get(index))}))}selections.sort(Range.compareRangesUsingStarts);for(const[index,ranges]of allPossibleSelections){if(ranges.length!==selections.length){allPossibleSelections.delete(index);continue}ranges.sort(Range.compareRangesUsingStarts);for(let i=0;i<ranges.length;i++){if(!ranges[i].containsRange(selections[i])){allPossibleSelections.delete(index);continue}}}return allPossibleSelections.size>0}};SnippetSession=SnippetSession_1=__decorate95([__param88(3,ILanguageConfigurationService)],SnippetSession);var __decorate96=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param89=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var SnippetController2_1;var _defaultOptions2={overwriteBefore:0,overwriteAfter:0,undoStopBefore:true,undoStopAfter:true,adjustWhitespace:true,clipboardText:void 0,overtypingCapturer:void 0};var SnippetController2=SnippetController2_1=class SnippetController22{static get(editor2){return editor2.getContribution(SnippetController2_1.ID)}constructor(_editor,_logService,_languageFeaturesService,contextKeyService,_languageConfigurationService){this._editor=_editor;this._logService=_logService;this._languageFeaturesService=_languageFeaturesService;this._languageConfigurationService=_languageConfigurationService;this._snippetListener=new DisposableStore;this._modelVersionId=-1;this._inSnippet=SnippetController2_1.InSnippetMode.bindTo(contextKeyService);this._hasNextTabstop=SnippetController2_1.HasNextTabstop.bindTo(contextKeyService);this._hasPrevTabstop=SnippetController2_1.HasPrevTabstop.bindTo(contextKeyService)}dispose(){var _a6;this._inSnippet.reset();this._hasPrevTabstop.reset();this._hasNextTabstop.reset();(_a6=this._session)===null||_a6===void 0?void 0:_a6.dispose();this._snippetListener.dispose()}insert(template,opts){try{this._doInsert(template,typeof opts==="undefined"?_defaultOptions2:Object.assign(Object.assign({},_defaultOptions2),opts))}catch(e){this.cancel();this._logService.error(e);this._logService.error("snippet_error");this._logService.error("insert_template=",template);this._logService.error("existing_template=",this._session?this._session._logInfo():"<no_session>")}}_doInsert(template,opts){var _a6;if(!this._editor.hasModel()){return}this._snippetListener.clear();if(opts.undoStopBefore){this._editor.getModel().pushStackElement()}if(this._session&&typeof template!=="string"){this.cancel()}if(!this._session){this._modelVersionId=this._editor.getModel().getAlternativeVersionId();this._session=new SnippetSession(this._editor,template,opts,this._languageConfigurationService);this._session.insert()}else{assertType(typeof template==="string");this._session.merge(template,opts)}if(opts.undoStopAfter){this._editor.getModel().pushStackElement()}if((_a6=this._session)===null||_a6===void 0?void 0:_a6.hasChoice){const provider={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(model2,position)=>{if(!this._session||model2!==this._editor.getModel()||!Position.equals(this._editor.getPosition(),position)){return void 0}const{activeChoice:activeChoice}=this._session;if(!activeChoice||activeChoice.choice.options.length===0){return void 0}const word=model2.getValueInRange(activeChoice.range);const isAnyOfOptions=Boolean(activeChoice.choice.options.find((o=>o.value===word)));const suggestions=[];for(let i=0;i<activeChoice.choice.options.length;i++){const option=activeChoice.choice.options[i];suggestions.push({kind:13,label:option.value,insertText:option.value,sortText:"a".repeat(i+1),range:activeChoice.range,filterText:isAnyOfOptions?`${word}_${option.value}`:void 0,command:{id:"jumpToNextSnippetPlaceholder",title:localize("next","Go to next placeholder...")}})}return{suggestions:suggestions}}};const model=this._editor.getModel();let registration;let isRegistered=false;const disable=()=>{registration===null||registration===void 0?void 0:registration.dispose();isRegistered=false};const enable=()=>{if(!isRegistered){registration=this._languageFeaturesService.completionProvider.register({language:model.getLanguageId(),pattern:model.uri.fsPath,scheme:model.uri.scheme,exclusive:true},provider);this._snippetListener.add(registration);isRegistered=true}};this._choiceCompletions={provider:provider,enable:enable,disable:disable}}this._updateState();this._snippetListener.add(this._editor.onDidChangeModelContent((e=>e.isFlush&&this.cancel())));this._snippetListener.add(this._editor.onDidChangeModel((()=>this.cancel())));this._snippetListener.add(this._editor.onDidChangeCursorSelection((()=>this._updateState())))}_updateState(){if(!this._session||!this._editor.hasModel()){return}if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId()){return this.cancel()}if(!this._session.hasPlaceholder){return this.cancel()}if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders()){this._editor.getModel().pushStackElement();return this.cancel()}this._inSnippet.set(true);this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder);this._hasNextTabstop.set(!this._session.isAtLastPlaceholder);this._handleChoice()}_handleChoice(){var _a6;if(!this._session||!this._editor.hasModel()){this._currentChoice=void 0;return}const{activeChoice:activeChoice}=this._session;if(!activeChoice||!this._choiceCompletions){(_a6=this._choiceCompletions)===null||_a6===void 0?void 0:_a6.disable();this._currentChoice=void 0;return}if(this._currentChoice!==activeChoice.choice){this._currentChoice=activeChoice.choice;this._choiceCompletions.enable();queueMicrotask((()=>{showSimpleSuggestions(this._editor,this._choiceCompletions.provider)}))}}finish(){while(this._inSnippet.get()){this.next()}}cancel(resetSelection=false){var _a6;this._inSnippet.reset();this._hasPrevTabstop.reset();this._hasNextTabstop.reset();this._snippetListener.clear();this._currentChoice=void 0;(_a6=this._session)===null||_a6===void 0?void 0:_a6.dispose();this._session=void 0;this._modelVersionId=-1;if(resetSelection){this._editor.setSelections([this._editor.getSelection()])}}prev(){var _a6;(_a6=this._session)===null||_a6===void 0?void 0:_a6.prev();this._updateState()}next(){var _a6;(_a6=this._session)===null||_a6===void 0?void 0:_a6.next();this._updateState()}isInSnippet(){return Boolean(this._inSnippet.get())}};SnippetController2.ID="snippetController2";SnippetController2.InSnippetMode=new RawContextKey("inSnippetMode",false,localize("inSnippetMode","Whether the editor in current in snippet mode"));SnippetController2.HasNextTabstop=new RawContextKey("hasNextTabstop",false,localize("hasNextTabstop","Whether there is a next tab stop when in snippet mode"));SnippetController2.HasPrevTabstop=new RawContextKey("hasPrevTabstop",false,localize("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode"));SnippetController2=SnippetController2_1=__decorate96([__param89(1,ILogService),__param89(2,ILanguageFeaturesService),__param89(3,IContextKeyService),__param89(4,ILanguageConfigurationService)],SnippetController2);registerEditorContribution(SnippetController2.ID,SnippetController2,4);var CommandCtor=EditorCommand.bindToContribution(SnippetController2.get);registerEditorCommand(new CommandCtor({id:"jumpToNextSnippetPlaceholder",precondition:ContextKeyExpr.and(SnippetController2.InSnippetMode,SnippetController2.HasNextTabstop),handler:ctrl=>ctrl.next(),kbOpts:{weight:100+30,kbExpr:EditorContextKeys.editorTextFocus,primary:2}}));registerEditorCommand(new CommandCtor({id:"jumpToPrevSnippetPlaceholder",precondition:ContextKeyExpr.and(SnippetController2.InSnippetMode,SnippetController2.HasPrevTabstop),handler:ctrl=>ctrl.prev(),kbOpts:{weight:100+30,kbExpr:EditorContextKeys.editorTextFocus,primary:1024|2}}));registerEditorCommand(new CommandCtor({id:"leaveSnippet",precondition:SnippetController2.InSnippetMode,handler:ctrl=>ctrl.cancel(true),kbOpts:{weight:100+30,kbExpr:EditorContextKeys.editorTextFocus,primary:9,secondary:[1024|9]}}));registerEditorCommand(new CommandCtor({id:"acceptSnippet",precondition:SnippetController2.InSnippetMode,handler:ctrl=>ctrl.finish()}));init_commands();init_instantiation();var __decorate97=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param90=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter72=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var VersionIdChangeReason;(function(VersionIdChangeReason2){VersionIdChangeReason2[VersionIdChangeReason2["Undo"]=0]="Undo";VersionIdChangeReason2[VersionIdChangeReason2["Redo"]=1]="Redo";VersionIdChangeReason2[VersionIdChangeReason2["AcceptWord"]=2]="AcceptWord";VersionIdChangeReason2[VersionIdChangeReason2["Other"]=3]="Other"})(VersionIdChangeReason||(VersionIdChangeReason={}));var InlineCompletionsModel=class InlineCompletionsModel2 extends Disposable{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(textModel,selectedSuggestItem,cursorPosition,textModelVersionId,_debounceValue,_suggestPreviewEnabled,_suggestPreviewMode,_inlineSuggestMode,_enabled,_instantiationService,_commandService,_languageConfigurationService){super();this.textModel=textModel;this.selectedSuggestItem=selectedSuggestItem;this.cursorPosition=cursorPosition;this.textModelVersionId=textModelVersionId;this._debounceValue=_debounceValue;this._suggestPreviewEnabled=_suggestPreviewEnabled;this._suggestPreviewMode=_suggestPreviewMode;this._inlineSuggestMode=_inlineSuggestMode;this._enabled=_enabled;this._instantiationService=_instantiationService;this._commandService=_commandService;this._languageConfigurationService=_languageConfigurationService;this._source=this._register(this._instantiationService.createInstance(InlineCompletionsSource,this.textModel,this.textModelVersionId,this._debounceValue));this._isActive=observableValue("isActive",false);this._forceUpdate=observableSignal("forceUpdate");this._selectedInlineCompletionId=observableValue("selectedInlineCompletionId",void 0);this._isAcceptingPartially=false;this._preserveCurrentCompletionReasons=new Set([VersionIdChangeReason.Redo,VersionIdChangeReason.Undo,VersionIdChangeReason.AcceptWord]);this._fetchInlineCompletions=derivedHandleChanges("fetch inline completions",{createEmptyChangeSummary:()=>({preserveCurrentCompletion:false,inlineCompletionTriggerKind:InlineCompletionTriggerKind.Automatic}),handleChange:(ctx,changeSummary)=>{if(ctx.didChange(this.textModelVersionId)&&this._preserveCurrentCompletionReasons.has(ctx.change)){changeSummary.preserveCurrentCompletion=true}else if(ctx.didChange(this._forceUpdate)){changeSummary.inlineCompletionTriggerKind=ctx.change}return true}},((reader,changeSummary)=>{this._forceUpdate.read(reader);const shouldUpdate=this._enabled.read(reader)&&this.selectedSuggestItem.read(reader)||this._isActive.read(reader);if(!shouldUpdate){this._source.cancelUpdate();return void 0}this.textModelVersionId.read(reader);const itemToPreserveCandidate=this.selectedInlineCompletion.get();const itemToPreserve=changeSummary.preserveCurrentCompletion||(itemToPreserveCandidate===null||itemToPreserveCandidate===void 0?void 0:itemToPreserveCandidate.forwardStable)?itemToPreserveCandidate:void 0;const suggestWidgetInlineCompletions=this._source.suggestWidgetInlineCompletions.get();const suggestItem=this.selectedSuggestItem.read(reader);if(suggestWidgetInlineCompletions&&!suggestItem){const inlineCompletions=this._source.inlineCompletions.get();transaction((tx=>{if(inlineCompletions&&suggestWidgetInlineCompletions.request.versionId>inlineCompletions.request.versionId){this._source.inlineCompletions.set(suggestWidgetInlineCompletions.clone(),tx)}this._source.clearSuggestWidgetInlineCompletions(tx)}))}const cursorPosition2=this.cursorPosition.read(reader);const context={triggerKind:changeSummary.inlineCompletionTriggerKind,selectedSuggestionInfo:suggestItem===null||suggestItem===void 0?void 0:suggestItem.toSelectedSuggestionInfo()};return this._source.fetch(cursorPosition2,context,itemToPreserve)}));this._filteredInlineCompletionItems=derived((reader=>{const c=this._source.inlineCompletions.read(reader);if(!c){return[]}const cursorPosition2=this.cursorPosition.read(reader);const filteredCompletions=c.inlineCompletions.filter((c2=>c2.isVisible(this.textModel,cursorPosition2,reader)));return filteredCompletions}));this.selectedInlineCompletionIndex=derived((reader=>{const selectedInlineCompletionId=this._selectedInlineCompletionId.read(reader);const filteredCompletions=this._filteredInlineCompletionItems.read(reader);const idx=this._selectedInlineCompletionId===void 0?-1:filteredCompletions.findIndex((v=>v.semanticId===selectedInlineCompletionId));if(idx===-1){this._selectedInlineCompletionId.set(void 0,void 0);return 0}return idx}));this.selectedInlineCompletion=derived((reader=>{const filteredCompletions=this._filteredInlineCompletionItems.read(reader);const idx=this.selectedInlineCompletionIndex.read(reader);return filteredCompletions[idx]}));this.lastTriggerKind=this._source.inlineCompletions.map((v=>v===null||v===void 0?void 0:v.request.context.triggerKind));this.inlineCompletionsCount=derived((reader=>{if(this.lastTriggerKind.read(reader)===InlineCompletionTriggerKind.Explicit){return this._filteredInlineCompletionItems.read(reader).length}else{return void 0}}));this.state=derivedOpts({equalityComparer:(a,b)=>{if(!a||!b){return a===b}return ghostTextOrReplacementEquals(a.ghostText,b.ghostText)&&a.inlineCompletion===b.inlineCompletion&&a.suggestItem===b.suggestItem}},(reader=>{var _a6;const model=this.textModel;const suggestItem=this.selectedSuggestItem.read(reader);if(suggestItem){const suggestCompletion=suggestItem.toSingleTextEdit().removeCommonPrefix(model);const augmentedCompletion=this._computeAugmentedCompletion(suggestCompletion,reader);const isSuggestionPreviewEnabled=this._suggestPreviewEnabled.read(reader);if(!isSuggestionPreviewEnabled&&!augmentedCompletion){return void 0}const edit=(_a6=augmentedCompletion===null||augmentedCompletion===void 0?void 0:augmentedCompletion.edit)!==null&&_a6!==void 0?_a6:suggestCompletion;const editPreviewLength=augmentedCompletion?augmentedCompletion.edit.text.length-suggestCompletion.text.length:0;const mode=this._suggestPreviewMode.read(reader);const cursor=this.cursorPosition.read(reader);const newGhostText=edit.computeGhostText(model,mode,cursor,editPreviewLength);const ghostText=newGhostText!==null&&newGhostText!==void 0?newGhostText:new GhostText(edit.range.endLineNumber,[]);return{ghostText:ghostText,inlineCompletion:augmentedCompletion===null||augmentedCompletion===void 0?void 0:augmentedCompletion.completion,suggestItem:suggestItem}}else{if(!this._isActive.read(reader)){return void 0}const item=this.selectedInlineCompletion.read(reader);if(!item){return void 0}const replacement=item.toSingleTextEdit(reader);const mode=this._inlineSuggestMode.read(reader);const cursor=this.cursorPosition.read(reader);const ghostText=replacement.computeGhostText(model,mode,cursor);return ghostText?{ghostText:ghostText,inlineCompletion:item,suggestItem:void 0}:void 0}}));this.ghostText=derivedOpts({equalityComparer:ghostTextOrReplacementEquals},(reader=>{const v=this.state.read(reader);if(!v){return void 0}return v.ghostText}));this._register(keepAlive(this._fetchInlineCompletions,true));let lastItem=void 0;this._register(autorun((reader=>{var _a6,_b3;const item=this.state.read(reader);const completion=item===null||item===void 0?void 0:item.inlineCompletion;if((completion===null||completion===void 0?void 0:completion.semanticId)!==(lastItem===null||lastItem===void 0?void 0:lastItem.semanticId)){lastItem=completion;if(completion){const i=completion.inlineCompletion;const src=i.source;(_b3=(_a6=src.provider).handleItemDidShow)===null||_b3===void 0?void 0:_b3.call(_a6,src.inlineCompletions,i.sourceInlineCompletion,i.insertText)}}})))}trigger(tx){return __awaiter72(this,void 0,void 0,(function*(){this._isActive.set(true,tx);yield this._fetchInlineCompletions.get()}))}triggerExplicitly(tx){return __awaiter72(this,void 0,void 0,(function*(){subtransaction(tx,(tx2=>{this._isActive.set(true,tx2);this._forceUpdate.trigger(tx2,InlineCompletionTriggerKind.Explicit)}));yield this._fetchInlineCompletions.get()}))}stop(tx){subtransaction(tx,(tx2=>{this._isActive.set(false,tx2);this._source.clear(tx2)}))}_computeAugmentedCompletion(suggestCompletion,reader){const model=this.textModel;const suggestWidgetInlineCompletions=this._source.suggestWidgetInlineCompletions.read(reader);const candidateInlineCompletions=suggestWidgetInlineCompletions?suggestWidgetInlineCompletions.inlineCompletions:[this.selectedInlineCompletion.read(reader)].filter(isDefined);const augmentedCompletion=mapFind(candidateInlineCompletions,(completion=>{let r=completion.toSingleTextEdit(reader);r=r.removeCommonPrefix(model,Range.fromPositions(r.range.getStartPosition(),suggestCompletion.range.getEndPosition()));return r.augments(suggestCompletion)?{edit:r,completion:completion}:void 0}));return augmentedCompletion}_deltaSelectedInlineCompletionIndex(delta){return __awaiter72(this,void 0,void 0,(function*(){yield this.triggerExplicitly();const completions=this._filteredInlineCompletionItems.get()||[];if(completions.length>0){const newIdx=(this.selectedInlineCompletionIndex.get()+delta+completions.length)%completions.length;this._selectedInlineCompletionId.set(completions[newIdx].semanticId,void 0)}else{this._selectedInlineCompletionId.set(void 0,void 0)}}))}next(){return __awaiter72(this,void 0,void 0,(function*(){yield this._deltaSelectedInlineCompletionIndex(1)}))}previous(){return __awaiter72(this,void 0,void 0,(function*(){yield this._deltaSelectedInlineCompletionIndex(-1)}))}accept(editor2){var _a6;return __awaiter72(this,void 0,void 0,(function*(){if(editor2.getModel()!==this.textModel){throw new BugIndicatingError}const state=this.state.get();if(!state||state.ghostText.isEmpty()||!state.inlineCompletion){return}const completion=state.inlineCompletion.toInlineCompletion(void 0);editor2.pushUndoStop();if(completion.snippetInfo){editor2.executeEdits("inlineSuggestion.accept",[EditOperation.replaceMove(completion.range,""),...completion.additionalTextEdits]);editor2.setPosition(completion.snippetInfo.range.getStartPosition());(_a6=SnippetController2.get(editor2))===null||_a6===void 0?void 0:_a6.insert(completion.snippetInfo.snippet,{undoStopBefore:false})}else{editor2.executeEdits("inlineSuggestion.accept",[EditOperation.replaceMove(completion.range,completion.insertText),...completion.additionalTextEdits])}if(completion.command){completion.source.addRef()}transaction((tx=>{this._source.clear(tx);this._isActive.set(false,tx)}));if(completion.command){yield this._commandService.executeCommand(completion.command.id,...completion.command.arguments||[]).then(void 0,onUnexpectedExternalError);completion.source.removeRef()}}))}acceptNextWord(editor2){return __awaiter72(this,void 0,void 0,(function*(){yield this._acceptNext(editor2,((pos,text2)=>{const langId=this.textModel.getLanguageIdAtPosition(pos.lineNumber,pos.column);const config=this._languageConfigurationService.getLanguageConfiguration(langId);const wordRegExp=new RegExp(config.wordDefinition.source,config.wordDefinition.flags.replace("g",""));const m1=text2.match(wordRegExp);let acceptUntilIndexExclusive=0;if(m1&&m1.index!==void 0){if(m1.index===0){acceptUntilIndexExclusive=m1[0].length}else{acceptUntilIndexExclusive=m1.index}}else{acceptUntilIndexExclusive=text2.length}const wsRegExp=/\s+/g;const m2=wsRegExp.exec(text2);if(m2&&m2.index!==void 0){if(m2.index+m2[0].length<acceptUntilIndexExclusive){acceptUntilIndexExclusive=m2.index+m2[0].length}}return acceptUntilIndexExclusive}))}))}acceptNextLine(editor2){return __awaiter72(this,void 0,void 0,(function*(){yield this._acceptNext(editor2,((pos,text2)=>{const m=text2.match(/\n/);if(m&&m.index!==void 0){return m.index+1}return text2.length}))}))}_acceptNext(editor2,getAcceptUntilIndex){return __awaiter72(this,void 0,void 0,(function*(){if(editor2.getModel()!==this.textModel){throw new BugIndicatingError}const state=this.state.get();if(!state||state.ghostText.isEmpty()||!state.inlineCompletion){return}const ghostText=state.ghostText;const completion=state.inlineCompletion.toInlineCompletion(void 0);if(completion.snippetInfo||completion.filterText!==completion.insertText){yield this.accept(editor2);return}const firstPart=ghostText.parts[0];const position=new Position(ghostText.lineNumber,firstPart.column);const line=firstPart.lines.join("\n");const acceptUntilIndexExclusive=getAcceptUntilIndex(position,line);if(acceptUntilIndexExclusive===line.length&&ghostText.parts.length===1){this.accept(editor2);return}const partialText=line.substring(0,acceptUntilIndexExclusive);this._isAcceptingPartially=true;try{editor2.pushUndoStop();editor2.executeEdits("inlineSuggestion.accept",[EditOperation.replace(Range.fromPositions(position),partialText)]);const length2=lengthOfText(partialText);editor2.setPosition(addPositions(position,length2))}finally{this._isAcceptingPartially=false}if(completion.source.provider.handlePartialAccept){const acceptedRange=Range.fromPositions(completion.range.getStartPosition(),addPositions(position,lengthOfText(partialText)));const text2=editor2.getModel().getValueInRange(acceptedRange,1);completion.source.provider.handlePartialAccept(completion.source.inlineCompletions,completion.sourceInlineCompletion,text2.length)}}))}handleSuggestAccepted(item){var _a6,_b3;const itemEdit=item.toSingleTextEdit().removeCommonPrefix(this.textModel);const augmentedCompletion=this._computeAugmentedCompletion(itemEdit,void 0);if(!augmentedCompletion){return}const inlineCompletion=augmentedCompletion.completion.inlineCompletion;(_b3=(_a6=inlineCompletion.source.provider).handlePartialAccept)===null||_b3===void 0?void 0:_b3.call(_a6,inlineCompletion.source.inlineCompletions,inlineCompletion.sourceInlineCompletion,itemEdit.text.length)}};InlineCompletionsModel=__decorate97([__param90(9,IInstantiationService),__param90(10,ICommandService),__param90(11,ILanguageConfigurationService)],InlineCompletionsModel);init_event();init_lifecycle();init_position();init_range();init_languages();init_aria();init_arrays();init_async();init_cancellation();init_errors();init_event();init_keybindings();init_lifecycle();init_platform();init_stopwatch();init_types();init_stableEditorScroll();init_editorExtensions();init_editOperation();init_position();init_range();init_editorContextKeys();init_async();init_lifecycle();init_map();init_ternarySearchTree();init_languages();init_configuration();init_extensions();init_instantiation();init_storage2();var __decorate98=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param91=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var SuggestMemoryService_1;var Memory=class{constructor(name){this.name=name}select(model,pos,items){if(items.length===0){return 0}const topScore=items[0].score[0];for(let i=0;i<items.length;i++){const{score:score3,completion:suggestion}=items[i];if(score3[0]!==topScore){break}if(suggestion.preselect){return i}}return 0}};var NoMemory=class extends Memory{constructor(){super("first")}memorize(model,pos,item){}toJSON(){return void 0}fromJSON(){}};var LRUMemory=class extends Memory{constructor(){super("recentlyUsed");this._cache=new LRUCache(300,.66);this._seq=0}memorize(model,pos,item){const key=`${model.getLanguageId()}/${item.textLabel}`;this._cache.set(key,{touch:this._seq++,type:item.completion.kind,insertText:item.completion.insertText})}select(model,pos,items){if(items.length===0){return 0}const lineSuffix=model.getLineContent(pos.lineNumber).substr(pos.column-10,pos.column-1);if(/\s$/.test(lineSuffix)){return super.select(model,pos,items)}const topScore=items[0].score[0];let indexPreselect=-1;let indexRecency=-1;let seq=-1;for(let i=0;i<items.length;i++){if(items[i].score[0]!==topScore){break}const key=`${model.getLanguageId()}/${items[i].textLabel}`;const item=this._cache.peek(key);if(item&&item.touch>seq&&item.type===items[i].completion.kind&&item.insertText===items[i].completion.insertText){seq=item.touch;indexRecency=i}if(items[i].completion.preselect&&indexPreselect===-1){return indexPreselect=i}}if(indexRecency!==-1){return indexRecency}else if(indexPreselect!==-1){return indexPreselect}else{return 0}}toJSON(){return this._cache.toJSON()}fromJSON(data){this._cache.clear();const seq=0;for(const[key,value]of data){value.touch=seq;value.type=typeof value.type==="number"?value.type:CompletionItemKinds.fromString(value.type);this._cache.set(key,value)}this._seq=this._cache.size}};var PrefixMemory=class extends Memory{constructor(){super("recentlyUsedByPrefix");this._trie=TernarySearchTree.forStrings();this._seq=0}memorize(model,pos,item){const{word:word}=model.getWordUntilPosition(pos);const key=`${model.getLanguageId()}/${word}`;this._trie.set(key,{type:item.completion.kind,insertText:item.completion.insertText,touch:this._seq++})}select(model,pos,items){const{word:word}=model.getWordUntilPosition(pos);if(!word){return super.select(model,pos,items)}const key=`${model.getLanguageId()}/${word}`;let item=this._trie.get(key);if(!item){item=this._trie.findSubstr(key)}if(item){for(let i=0;i<items.length;i++){const{kind:kind,insertText:insertText}=items[i].completion;if(kind===item.type&&insertText===item.insertText){return i}}}return super.select(model,pos,items)}toJSON(){const entries2=[];this._trie.forEach(((value,key)=>entries2.push([key,value])));entries2.sort(((a,b)=>-(a[1].touch-b[1].touch))).forEach(((value,i)=>value[1].touch=i));return entries2.slice(0,200)}fromJSON(data){this._trie.clear();if(data.length>0){this._seq=data[0][1].touch+1;for(const[key,value]of data){value.type=typeof value.type==="number"?value.type:CompletionItemKinds.fromString(value.type);this._trie.set(key,value)}}}};var SuggestMemoryService=SuggestMemoryService_1=class SuggestMemoryService2{constructor(_storageService,_configService){this._storageService=_storageService;this._configService=_configService;this._disposables=new DisposableStore;this._persistSoon=new RunOnceScheduler((()=>this._saveState()),500);this._disposables.add(_storageService.onWillSaveState((e=>{if(e.reason===WillSaveStateReason.SHUTDOWN){this._saveState()}})))}dispose(){this._disposables.dispose();this._persistSoon.dispose()}memorize(model,pos,item){this._withStrategy(model,pos).memorize(model,pos,item);this._persistSoon.schedule()}select(model,pos,items){return this._withStrategy(model,pos).select(model,pos,items)}_withStrategy(model,pos){var _a6;const mode=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:model.getLanguageIdAtPosition(pos.lineNumber,pos.column),resource:model.uri});if(((_a6=this._strategy)===null||_a6===void 0?void 0:_a6.name)!==mode){this._saveState();const ctor=SuggestMemoryService_1._strategyCtors.get(mode)||NoMemory;this._strategy=new ctor;try{const share=this._configService.getValue("editor.suggest.shareSuggestSelections");const scope=share?0:1;const raw=this._storageService.get(`${SuggestMemoryService_1._storagePrefix}/${mode}`,scope);if(raw){this._strategy.fromJSON(JSON.parse(raw))}}catch(e){}}return this._strategy}_saveState(){if(this._strategy){const share=this._configService.getValue("editor.suggest.shareSuggestSelections");const scope=share?0:1;const raw=JSON.stringify(this._strategy);this._storageService.store(`${SuggestMemoryService_1._storagePrefix}/${this._strategy.name}`,raw,scope,1)}}};SuggestMemoryService._strategyCtors=new Map([["recentlyUsedByPrefix",PrefixMemory],["recentlyUsed",LRUMemory],["first",NoMemory]]);SuggestMemoryService._storagePrefix="suggest/memories";SuggestMemoryService=SuggestMemoryService_1=__decorate98([__param91(0,IStorageService),__param91(1,IConfigurationService)],SuggestMemoryService);var ISuggestMemoryService=createDecorator("ISuggestMemories");registerSingleton(ISuggestMemoryService,SuggestMemoryService,1);init_contextkey();var __decorate99=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param92=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var WordContextKey_1;var WordContextKey=WordContextKey_1=class WordContextKey2{constructor(_editor,contextKeyService){this._editor=_editor;this._enabled=false;this._ckAtEnd=WordContextKey_1.AtEnd.bindTo(contextKeyService);this._configListener=this._editor.onDidChangeConfiguration((e=>e.hasChanged(121)&&this._update()));this._update()}dispose(){var _a6;this._configListener.dispose();(_a6=this._selectionListener)===null||_a6===void 0?void 0:_a6.dispose();this._ckAtEnd.reset()}_update(){const enabled=this._editor.getOption(121)==="on";if(this._enabled===enabled){return}this._enabled=enabled;if(this._enabled){const checkForWordEnd=()=>{if(!this._editor.hasModel()){this._ckAtEnd.set(false);return}const model=this._editor.getModel();const selection=this._editor.getSelection();const word=model.getWordAtPosition(selection.getStartPosition());if(!word){this._ckAtEnd.set(false);return}this._ckAtEnd.set(word.endColumn===selection.getStartPosition().column)};this._selectionListener=this._editor.onDidChangeCursorSelection(checkForWordEnd);checkForWordEnd()}else if(this._selectionListener){this._ckAtEnd.reset();this._selectionListener.dispose();this._selectionListener=void 0}}};WordContextKey.AtEnd=new RawContextKey("atEndOfWord",false);WordContextKey=WordContextKey_1=__decorate99([__param92(1,IContextKeyService)],WordContextKey);init_nls();init_commands();init_contextkey();init_instantiation();init_log();init_contextkey();var __decorate100=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param93=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var SuggestAlternatives_1;var SuggestAlternatives=SuggestAlternatives_1=class SuggestAlternatives2{constructor(_editor,contextKeyService){this._editor=_editor;this._index=0;this._ckOtherSuggestions=SuggestAlternatives_1.OtherSuggestions.bindTo(contextKeyService)}dispose(){this.reset()}reset(){var _a6;this._ckOtherSuggestions.reset();(_a6=this._listener)===null||_a6===void 0?void 0:_a6.dispose();this._model=void 0;this._acceptNext=void 0;this._ignore=false}set({model:model,index:index},acceptNext){if(model.items.length===0){this.reset();return}const nextIndex=SuggestAlternatives_1._moveIndex(true,model,index);if(nextIndex===index){this.reset();return}this._acceptNext=acceptNext;this._model=model;this._index=index;this._listener=this._editor.onDidChangeCursorPosition((()=>{if(!this._ignore){this.reset()}}));this._ckOtherSuggestions.set(true)}static _moveIndex(fwd,model,index){let newIndex=index;for(let rounds=model.items.length;rounds>0;rounds--){newIndex=(newIndex+model.items.length+(fwd?1:-1))%model.items.length;if(newIndex===index){break}if(!model.items[newIndex].completion.additionalTextEdits){break}}return newIndex}next(){this._move(true)}prev(){this._move(false)}_move(fwd){if(!this._model){return}try{this._ignore=true;this._index=SuggestAlternatives_1._moveIndex(fwd,this._model,this._index);this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=false}}};SuggestAlternatives.OtherSuggestions=new RawContextKey("hasOtherSuggestions",false);SuggestAlternatives=SuggestAlternatives_1=__decorate100([__param93(1,IContextKeyService)],SuggestAlternatives);init_arrays();init_lifecycle();init_characterClassifier();var CommitCharacterController=class{constructor(editor2,widget,model,accept){this._disposables=new DisposableStore;this._disposables.add(model.onDidSuggest((e=>{if(e.completionModel.items.length===0){this.reset()}})));this._disposables.add(model.onDidCancel((e=>{this.reset()})));this._disposables.add(widget.onDidShow((()=>this._onItem(widget.getFocusedItem()))));this._disposables.add(widget.onDidFocus(this._onItem,this));this._disposables.add(widget.onDidHide(this.reset,this));this._disposables.add(editor2.onWillType((text2=>{if(this._active&&!widget.isFrozen()&&model.state!==0){const ch=text2.charCodeAt(text2.length-1);if(this._active.acceptCharacters.has(ch)&&editor2.getOption(0)){accept(this._active.item)}}})))}_onItem(selected){if(!selected||!isNonEmptyArray(selected.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===selected.item){return}const acceptCharacters=new CharacterSet;for(const ch of selected.item.completion.commitCharacters){if(ch.length>0){acceptCharacters.add(ch.charCodeAt(0))}}this._active={acceptCharacters:acceptCharacters,item:selected}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}};init_async();init_cancellation();init_errors();init_event();init_lifecycle();init_strings();init_selection();init_editorWorker();init_arrays();init_range();init_linkedList();init_position();init_range();var __awaiter73=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var BracketSelectionRangeProvider=class{provideSelectionRanges(model,positions){return __awaiter73(this,void 0,void 0,(function*(){const result=[];for(const position of positions){const bucket=[];result.push(bucket);const ranges=new Map;yield new Promise((resolve2=>BracketSelectionRangeProvider._bracketsRightYield(resolve2,0,model,position,ranges)));yield new Promise((resolve2=>BracketSelectionRangeProvider._bracketsLeftYield(resolve2,0,model,position,ranges,bucket)))}return result}))}static _bracketsRightYield(resolve2,round,model,pos,ranges){const counts=new Map;const t1=Date.now();while(true){if(round>=BracketSelectionRangeProvider._maxRounds){resolve2();break}if(!pos){resolve2();break}const bracket=model.bracketPairs.findNextBracket(pos);if(!bracket){resolve2();break}const d=Date.now()-t1;if(d>BracketSelectionRangeProvider._maxDuration){setTimeout((()=>BracketSelectionRangeProvider._bracketsRightYield(resolve2,round+1,model,pos,ranges)));break}if(bracket.bracketInfo.isOpeningBracket){const key=bracket.bracketInfo.bracketText;const val=counts.has(key)?counts.get(key):0;counts.set(key,val+1)}else{const key=bracket.bracketInfo.getOpeningBrackets()[0].bracketText;let val=counts.has(key)?counts.get(key):0;val-=1;counts.set(key,Math.max(0,val));if(val<0){let list=ranges.get(key);if(!list){list=new LinkedList;ranges.set(key,list)}list.push(bracket.range)}}pos=bracket.range.getEndPosition()}}static _bracketsLeftYield(resolve2,round,model,pos,ranges,bucket){const counts=new Map;const t1=Date.now();while(true){if(round>=BracketSelectionRangeProvider._maxRounds&&ranges.size===0){resolve2();break}if(!pos){resolve2();break}const bracket=model.bracketPairs.findPrevBracket(pos);if(!bracket){resolve2();break}const d=Date.now()-t1;if(d>BracketSelectionRangeProvider._maxDuration){setTimeout((()=>BracketSelectionRangeProvider._bracketsLeftYield(resolve2,round+1,model,pos,ranges,bucket)));break}if(!bracket.bracketInfo.isOpeningBracket){const key=bracket.bracketInfo.getOpeningBrackets()[0].bracketText;const val=counts.has(key)?counts.get(key):0;counts.set(key,val+1)}else{const key=bracket.bracketInfo.bracketText;let val=counts.has(key)?counts.get(key):0;val-=1;counts.set(key,Math.max(0,val));if(val<0){const list=ranges.get(key);if(list){const closing=list.shift();if(list.size===0){ranges.delete(key)}const innerBracket=Range.fromPositions(bracket.range.getEndPosition(),closing.getStartPosition());const outerBracket=Range.fromPositions(bracket.range.getStartPosition(),closing.getEndPosition());bucket.push({range:innerBracket});bucket.push({range:outerBracket});BracketSelectionRangeProvider._addBracketLeading(model,outerBracket,bucket)}}}pos=bracket.range.getStartPosition()}}static _addBracketLeading(model,bracket,bucket){if(bracket.startLineNumber===bracket.endLineNumber){return}const startLine=bracket.startLineNumber;const column=model.getLineFirstNonWhitespaceColumn(startLine);if(column!==0&&column!==bracket.startColumn){bucket.push({range:Range.fromPositions(new Position(startLine,column),bracket.getEndPosition())});bucket.push({range:Range.fromPositions(new Position(startLine,1),bracket.getEndPosition())})}const aboveLine=startLine-1;if(aboveLine>0){const column2=model.getLineFirstNonWhitespaceColumn(aboveLine);if(column2===bracket.startColumn&&column2!==model.getLineLastNonWhitespaceColumn(aboveLine)){bucket.push({range:Range.fromPositions(new Position(aboveLine,column2),bracket.getEndPosition())});bucket.push({range:Range.fromPositions(new Position(aboveLine,1),bracket.getEndPosition())})}}}};BracketSelectionRangeProvider._maxDuration=30;BracketSelectionRangeProvider._maxRounds=2;var __awaiter74=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var WordDistance=class{static create(service,editor2){return __awaiter74(this,void 0,void 0,(function*(){if(!editor2.getOption(116).localityBonus){return WordDistance.None}if(!editor2.hasModel()){return WordDistance.None}const model=editor2.getModel();const position=editor2.getPosition();if(!service.canComputeWordRanges(model.uri)){return WordDistance.None}const[ranges]=yield(new BracketSelectionRangeProvider).provideSelectionRanges(model,[position]);if(ranges.length===0){return WordDistance.None}const wordRanges=yield service.computeWordRanges(model.uri,ranges[0].range);if(!wordRanges){return WordDistance.None}const wordUntilPos=model.getWordUntilPosition(position);delete wordRanges[wordUntilPos.word];return new class extends WordDistance{distance(anchor,item){if(!position.equals(editor2.getPosition())){return 0}if(item.kind===17){return 2<<20}const word=typeof item.label==="string"?item.label:item.label.label;const wordLines=wordRanges[word];if(isFalsyOrEmpty(wordLines)){return 2<<20}const idx=binarySearch(wordLines,Range.fromPositions(anchor),Range.compareRangesUsingStarts);const bestWordRange=idx>=0?wordLines[idx]:wordLines[Math.max(0,~idx-1)];let blockDistance=ranges.length;for(const range2 of ranges){if(!Range.containsRange(range2.range,bestWordRange)){break}blockDistance-=1}return blockDistance}}}))}};WordDistance.None=new class extends WordDistance{distance(){return 0}};init_clipboardService();init_configuration();init_contextkey();init_log();init_telemetry();init_arrays();init_filters();init_strings();var LineContext=class{constructor(leadingLineContent,characterCountDelta){this.leadingLineContent=leadingLineContent;this.characterCountDelta=characterCountDelta}};var CompletionModel=class{constructor(items,column,lineContext,wordDistance,options2,snippetSuggestions,fuzzyScoreOptions=FuzzyScoreOptions.default,clipboardText=void 0){this.clipboardText=clipboardText;this._snippetCompareFn=CompletionModel._compareCompletionItems;this._items=items;this._column=column;this._wordDistance=wordDistance;this._options=options2;this._refilterKind=1;this._lineContext=lineContext;this._fuzzyScoreOptions=fuzzyScoreOptions;if(snippetSuggestions==="top"){this._snippetCompareFn=CompletionModel._compareCompletionItemsSnippetsUp}else if(snippetSuggestions==="bottom"){this._snippetCompareFn=CompletionModel._compareCompletionItemsSnippetsDown}}get lineContext(){return this._lineContext}set lineContext(value){if(this._lineContext.leadingLineContent!==value.leadingLineContent||this._lineContext.characterCountDelta!==value.characterCountDelta){this._refilterKind=this._lineContext.characterCountDelta<value.characterCountDelta&&this._filteredItems?2:1;this._lineContext=value}}get items(){this._ensureCachedState();return this._filteredItems}getItemsByProvider(){this._ensureCachedState();return this._itemsByProvider}getIncompleteProvider(){this._ensureCachedState();const result=new Set;for(const[provider,items]of this.getItemsByProvider()){if(items.length>0&&items[0].container.incomplete){result.add(provider)}}return result}get stats(){this._ensureCachedState();return this._stats}_ensureCachedState(){if(this._refilterKind!==0){this._createCachedState()}}_createCachedState(){this._itemsByProvider=new Map;const labelLengths=[];const{leadingLineContent:leadingLineContent,characterCountDelta:characterCountDelta}=this._lineContext;let word="";let wordLow="";const source=this._refilterKind===1?this._items:this._filteredItems;const target=[];const scoreFn=!this._options.filterGraceful||source.length>2e3?fuzzyScore:fuzzyScoreGracefulAggressive;for(let i=0;i<source.length;i++){const item=source[i];if(item.isInvalid){continue}const arr=this._itemsByProvider.get(item.provider);if(arr){arr.push(item)}else{this._itemsByProvider.set(item.provider,[item])}const overwriteBefore=item.position.column-item.editStart.column;const wordLen=overwriteBefore+characterCountDelta-(item.position.column-this._column);if(word.length!==wordLen){word=wordLen===0?"":leadingLineContent.slice(-wordLen);wordLow=word.toLowerCase()}item.word=word;if(wordLen===0){item.score=FuzzyScore.Default}else{let wordPos=0;while(wordPos<overwriteBefore){const ch=word.charCodeAt(wordPos);if(ch===32||ch===9){wordPos+=1}else{break}}if(wordPos>=wordLen){item.score=FuzzyScore.Default}else if(typeof item.completion.filterText==="string"){const match2=scoreFn(word,wordLow,wordPos,item.completion.filterText,item.filterTextLow,0,this._fuzzyScoreOptions);if(!match2){continue}if(compareIgnoreCase(item.completion.filterText,item.textLabel)===0){item.score=match2}else{item.score=anyScore(word,wordLow,wordPos,item.textLabel,item.labelLow,0);item.score[0]=match2[0]}}else{const match2=scoreFn(word,wordLow,wordPos,item.textLabel,item.labelLow,0,this._fuzzyScoreOptions);if(!match2){continue}item.score=match2}}item.idx=i;item.distance=this._wordDistance.distance(item.position,item.completion);target.push(item);labelLengths.push(item.textLabel.length)}this._filteredItems=target.sort(this._snippetCompareFn);this._refilterKind=0;this._stats={pLabelLen:labelLengths.length?quickSelect(labelLengths.length-.85,labelLengths,((a,b)=>a-b)):0}}static _compareCompletionItems(a,b){if(a.score[0]>b.score[0]){return-1}else if(a.score[0]<b.score[0]){return 1}else if(a.distance<b.distance){return-1}else if(a.distance>b.distance){return 1}else if(a.idx<b.idx){return-1}else if(a.idx>b.idx){return 1}else{return 0}}static _compareCompletionItemsSnippetsDown(a,b){if(a.completion.kind!==b.completion.kind){if(a.completion.kind===27){return 1}else if(b.completion.kind===27){return-1}}return CompletionModel._compareCompletionItems(a,b)}static _compareCompletionItemsSnippetsUp(a,b){if(a.completion.kind!==b.completion.kind){if(a.completion.kind===27){return-1}else if(b.completion.kind===27){return 1}}return CompletionModel._compareCompletionItems(a,b)}};init_languageFeatures();init_filters();init_types();init_environment();var __decorate101=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param94=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter75=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var SuggestModel_1;var LineContext2=class{static shouldAutoTrigger(editor2){if(!editor2.hasModel()){return false}const model=editor2.getModel();const pos=editor2.getPosition();model.tokenization.tokenizeIfCheap(pos.lineNumber);const word=model.getWordAtPosition(pos);if(!word){return false}if(word.endColumn!==pos.column&&word.startColumn+1!==pos.column){return false}if(!isNaN(Number(word.word))){return false}return true}constructor(model,position,triggerOptions){this.leadingLineContent=model.getLineContent(position.lineNumber).substr(0,position.column-1);this.leadingWord=model.getWordUntilPosition(position);this.lineNumber=position.lineNumber;this.column=position.column;this.triggerOptions=triggerOptions}};function canShowQuickSuggest(editor2,contextKeyService,configurationService){if(!Boolean(contextKeyService.getContextKeyValue(InlineCompletionContextKeys.inlineSuggestionVisible.key))){return true}const suppressSuggestions=contextKeyService.getContextKeyValue(InlineCompletionContextKeys.suppressSuggestions.key);if(suppressSuggestions!==void 0){return!suppressSuggestions}return!editor2.getOption(61).suppressSuggestions}function canShowSuggestOnTriggerCharacters(editor2,contextKeyService,configurationService){if(!Boolean(contextKeyService.getContextKeyValue("inlineSuggestionVisible"))){return true}const suppressSuggestions=contextKeyService.getContextKeyValue(InlineCompletionContextKeys.suppressSuggestions.key);if(suppressSuggestions!==void 0){return!suppressSuggestions}return!editor2.getOption(61).suppressSuggestions}var SuggestModel=SuggestModel_1=class SuggestModel2{constructor(_editor,_editorWorkerService,_clipboardService,_telemetryService,_logService,_contextKeyService,_configurationService,_languageFeaturesService,_envService){this._editor=_editor;this._editorWorkerService=_editorWorkerService;this._clipboardService=_clipboardService;this._telemetryService=_telemetryService;this._logService=_logService;this._contextKeyService=_contextKeyService;this._configurationService=_configurationService;this._languageFeaturesService=_languageFeaturesService;this._envService=_envService;this._toDispose=new DisposableStore;this._triggerCharacterListener=new DisposableStore;this._triggerQuickSuggest=new TimeoutTimer;this._triggerState=void 0;this._completionDisposables=new DisposableStore;this._onDidCancel=new Emitter;this._onDidTrigger=new Emitter;this._onDidSuggest=new Emitter;this.onDidCancel=this._onDidCancel.event;this.onDidTrigger=this._onDidTrigger.event;this.onDidSuggest=this._onDidSuggest.event;this._telemetryGate=0;this._currentSelection=this._editor.getSelection()||new Selection(1,1,1,1);this._toDispose.add(this._editor.onDidChangeModel((()=>{this._updateTriggerCharacters();this.cancel()})));this._toDispose.add(this._editor.onDidChangeModelLanguage((()=>{this._updateTriggerCharacters();this.cancel()})));this._toDispose.add(this._editor.onDidChangeConfiguration((()=>{this._updateTriggerCharacters()})));this._toDispose.add(this._languageFeaturesService.completionProvider.onDidChange((()=>{this._updateTriggerCharacters();this._updateActiveSuggestSession()})));let editorIsComposing=false;this._toDispose.add(this._editor.onDidCompositionStart((()=>{editorIsComposing=true})));this._toDispose.add(this._editor.onDidCompositionEnd((()=>{editorIsComposing=false;this._onCompositionEnd()})));this._toDispose.add(this._editor.onDidChangeCursorSelection((e=>{if(!editorIsComposing){this._onCursorChange(e)}})));this._toDispose.add(this._editor.onDidChangeModelContent((()=>{if(!editorIsComposing&&this._triggerState!==void 0){this._refilterCompletionItems()}})));this._updateTriggerCharacters()}dispose(){dispose(this._triggerCharacterListener);dispose([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]);this._toDispose.dispose();this._completionDisposables.dispose();this.cancel()}_updateTriggerCharacters(){this._triggerCharacterListener.clear();if(this._editor.getOption(89)||!this._editor.hasModel()||!this._editor.getOption(119)){return}const supportsByTriggerCharacter=new Map;for(const support of this._languageFeaturesService.completionProvider.all(this._editor.getModel())){for(const ch of support.triggerCharacters||[]){let set=supportsByTriggerCharacter.get(ch);if(!set){set=new Set;set.add(getSnippetSuggestSupport());supportsByTriggerCharacter.set(ch,set)}set.add(support)}}const checkTriggerCharacter=text2=>{var _a6;if(!canShowSuggestOnTriggerCharacters(this._editor,this._contextKeyService,this._configurationService)){return}if(LineContext2.shouldAutoTrigger(this._editor)){return}if(!text2){const position=this._editor.getPosition();const model=this._editor.getModel();text2=model.getLineContent(position.lineNumber).substr(0,position.column-1)}let lastChar="";if(isLowSurrogate(text2.charCodeAt(text2.length-1))){if(isHighSurrogate(text2.charCodeAt(text2.length-2))){lastChar=text2.substr(text2.length-2)}}else{lastChar=text2.charAt(text2.length-1)}const supports=supportsByTriggerCharacter.get(lastChar);if(supports){const providerItemsToReuse=new Map;if(this._completionModel){for(const[provider,items]of this._completionModel.getItemsByProvider()){if(!supports.has(provider)){providerItemsToReuse.set(provider,items)}}}this.trigger({auto:true,triggerKind:1,triggerCharacter:lastChar,retrigger:Boolean(this._completionModel),clipboardText:(_a6=this._completionModel)===null||_a6===void 0?void 0:_a6.clipboardText,completionOptions:{providerFilter:supports,providerItemsToReuse:providerItemsToReuse}})}};this._triggerCharacterListener.add(this._editor.onDidType(checkTriggerCharacter));this._triggerCharacterListener.add(this._editor.onDidCompositionEnd((()=>checkTriggerCharacter())))}get state(){if(!this._triggerState){return 0}else if(!this._triggerState.auto){return 1}else{return 2}}cancel(retrigger=false){var _a6;if(this._triggerState!==void 0){this._triggerQuickSuggest.cancel();(_a6=this._requestToken)===null||_a6===void 0?void 0:_a6.cancel();this._requestToken=void 0;this._triggerState=void 0;this._completionModel=void 0;this._context=void 0;this._onDidCancel.fire({retrigger:retrigger})}}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){if(this._triggerState!==void 0){if(!this._editor.hasModel()||!this._languageFeaturesService.completionProvider.has(this._editor.getModel())){this.cancel()}else{this.trigger({auto:this._triggerState.auto,retrigger:true})}}}_onCursorChange(e){if(!this._editor.hasModel()){return}const prevSelection=this._currentSelection;this._currentSelection=this._editor.getSelection();if(!e.selection.isEmpty()||e.reason!==0&&e.reason!==3||e.source!=="keyboard"&&e.source!=="deleteLeft"){this.cancel();return}if(this._triggerState===void 0&&e.reason===0){if(prevSelection.containsRange(this._currentSelection)||prevSelection.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition())){this._doTriggerQuickSuggest()}}else if(this._triggerState!==void 0&&e.reason===3){this._refilterCompletionItems()}}_onCompositionEnd(){if(this._triggerState===void 0){this._doTriggerQuickSuggest()}else{this._refilterCompletionItems()}}_doTriggerQuickSuggest(){var _a6;if(QuickSuggestionsOptions.isAllOff(this._editor.getOption(87))){return}if(this._editor.getOption(116).snippetsPreventQuickSuggestions&&((_a6=SnippetController2.get(this._editor))===null||_a6===void 0?void 0:_a6.isInSnippet())){return}this.cancel();this._triggerQuickSuggest.cancelAndSet((()=>{if(this._triggerState!==void 0){return}if(!LineContext2.shouldAutoTrigger(this._editor)){return}if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){return}const model=this._editor.getModel();const pos=this._editor.getPosition();const config=this._editor.getOption(87);if(QuickSuggestionsOptions.isAllOff(config)){return}if(!QuickSuggestionsOptions.isAllOn(config)){model.tokenization.tokenizeIfCheap(pos.lineNumber);const lineTokens=model.tokenization.getLineTokens(pos.lineNumber);const tokenType=lineTokens.getStandardTokenType(lineTokens.findTokenIndexAtOffset(Math.max(pos.column-1-1,0)));if(QuickSuggestionsOptions.valueFor(config,tokenType)!=="on"){return}}if(!canShowQuickSuggest(this._editor,this._contextKeyService,this._configurationService)){return}if(!this._languageFeaturesService.completionProvider.has(model)){return}this.trigger({auto:true})}),this._editor.getOption(88))}_refilterCompletionItems(){assertType(this._editor.hasModel());assertType(this._triggerState!==void 0);const model=this._editor.getModel();const position=this._editor.getPosition();const ctx=new LineContext2(model,position,Object.assign(Object.assign({},this._triggerState),{refilter:true}));this._onNewContext(ctx)}trigger(options2){var _a6,_b3,_c2,_d2,_e2,_f2;if(!this._editor.hasModel()){return}const model=this._editor.getModel();const ctx=new LineContext2(model,this._editor.getPosition(),options2);this.cancel(options2.retrigger);this._triggerState=options2;this._onDidTrigger.fire({auto:options2.auto,shy:(_a6=options2.shy)!==null&&_a6!==void 0?_a6:false,position:this._editor.getPosition()});this._context=ctx;let suggestCtx={triggerKind:(_b3=options2.triggerKind)!==null&&_b3!==void 0?_b3:0};if(options2.triggerCharacter){suggestCtx={triggerKind:1,triggerCharacter:options2.triggerCharacter}}this._requestToken=new CancellationTokenSource;const snippetSuggestions=this._editor.getOption(110);let snippetSortOrder=1;switch(snippetSuggestions){case"top":snippetSortOrder=0;break;case"bottom":snippetSortOrder=2;break}const{itemKind:itemKindFilter,showDeprecated:showDeprecated}=SuggestModel_1._createSuggestFilter(this._editor);const completionOptions=new CompletionOptions(snippetSortOrder,(_d2=(_c2=options2.completionOptions)===null||_c2===void 0?void 0:_c2.kindFilter)!==null&&_d2!==void 0?_d2:itemKindFilter,(_e2=options2.completionOptions)===null||_e2===void 0?void 0:_e2.providerFilter,(_f2=options2.completionOptions)===null||_f2===void 0?void 0:_f2.providerItemsToReuse,showDeprecated);const wordDistance=WordDistance.create(this._editorWorkerService,this._editor);const completions=provideSuggestionItems(this._languageFeaturesService.completionProvider,model,this._editor.getPosition(),completionOptions,suggestCtx,this._requestToken.token);Promise.all([completions,wordDistance]).then((([completions2,wordDistance2])=>__awaiter75(this,void 0,void 0,(function*(){var _g2;(_g2=this._requestToken)===null||_g2===void 0?void 0:_g2.dispose();if(!this._editor.hasModel()){return}let clipboardText=options2===null||options2===void 0?void 0:options2.clipboardText;if(!clipboardText&&completions2.needsClipboard){clipboardText=yield this._clipboardService.readText()}if(this._triggerState===void 0){return}const model2=this._editor.getModel();const ctx2=new LineContext2(model2,this._editor.getPosition(),options2);const fuzzySearchOptions=Object.assign(Object.assign({},FuzzyScoreOptions.default),{firstMatchCanBeWeak:!this._editor.getOption(116).matchOnWordStartOnly});this._completionModel=new CompletionModel(completions2.items,this._context.column,{leadingLineContent:ctx2.leadingLineContent,characterCountDelta:ctx2.column-this._context.column},wordDistance2,this._editor.getOption(116),this._editor.getOption(110),fuzzySearchOptions,clipboardText);this._completionDisposables.add(completions2.disposable);this._onNewContext(ctx2);this._reportDurationsTelemetry(completions2.durations);if(!this._envService.isBuilt||this._envService.isExtensionDevelopment){for(const item of completions2.items){if(item.isInvalid){this._logService.warn(`[suggest] did IGNORE invalid completion item from ${item.provider._debugDisplayName}`,item.completion)}}}})))).catch(onUnexpectedError)}_reportDurationsTelemetry(durations){if(this._telemetryGate++%230!==0){return}setTimeout((()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(durations)});this._logService.debug("suggest.durations.json",durations)}))}static _createSuggestFilter(editor2){const result=new Set;const snippetSuggestions=editor2.getOption(110);if(snippetSuggestions==="none"){result.add(27)}const suggestOptions=editor2.getOption(116);if(!suggestOptions.showMethods){result.add(0)}if(!suggestOptions.showFunctions){result.add(1)}if(!suggestOptions.showConstructors){result.add(2)}if(!suggestOptions.showFields){result.add(3)}if(!suggestOptions.showVariables){result.add(4)}if(!suggestOptions.showClasses){result.add(5)}if(!suggestOptions.showStructs){result.add(6)}if(!suggestOptions.showInterfaces){result.add(7)}if(!suggestOptions.showModules){result.add(8)}if(!suggestOptions.showProperties){result.add(9)}if(!suggestOptions.showEvents){result.add(10)}if(!suggestOptions.showOperators){result.add(11)}if(!suggestOptions.showUnits){result.add(12)}if(!suggestOptions.showValues){result.add(13)}if(!suggestOptions.showConstants){result.add(14)}if(!suggestOptions.showEnums){result.add(15)}if(!suggestOptions.showEnumMembers){result.add(16)}if(!suggestOptions.showKeywords){result.add(17)}if(!suggestOptions.showWords){result.add(18)}if(!suggestOptions.showColors){result.add(19)}if(!suggestOptions.showFiles){result.add(20)}if(!suggestOptions.showReferences){result.add(21)}if(!suggestOptions.showColors){result.add(22)}if(!suggestOptions.showFolders){result.add(23)}if(!suggestOptions.showTypeParameters){result.add(24)}if(!suggestOptions.showSnippets){result.add(27)}if(!suggestOptions.showUsers){result.add(25)}if(!suggestOptions.showIssues){result.add(26)}return{itemKind:result,showDeprecated:suggestOptions.showDeprecated}}_onNewContext(ctx){if(!this._context){return}if(ctx.lineNumber!==this._context.lineNumber){this.cancel();return}if(getLeadingWhitespace(ctx.leadingLineContent)!==getLeadingWhitespace(this._context.leadingLineContent)){this.cancel();return}if(ctx.column<this._context.column){if(ctx.leadingWord.word){this.trigger({auto:this._context.triggerOptions.auto,retrigger:true})}else{this.cancel()}return}if(!this._completionModel){return}if(ctx.leadingWord.word.length!==0&&ctx.leadingWord.startColumn>this._context.leadingWord.startColumn){const shouldAutoTrigger=LineContext2.shouldAutoTrigger(this._editor);if(shouldAutoTrigger&&this._context){const map=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:true,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:map}})}return}if(ctx.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&ctx.leadingWord.word.length!==0){const providerItemsToReuse=new Map;const providerFilter=new Set;for(const[provider,items]of this._completionModel.getItemsByProvider()){if(items.length>0&&items[0].container.incomplete){providerFilter.add(provider)}else{providerItemsToReuse.set(provider,items)}}this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:true,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:providerFilter,providerItemsToReuse:providerItemsToReuse}})}else{const oldLineContext=this._completionModel.lineContext;let isFrozen2=false;this._completionModel.lineContext={leadingLineContent:ctx.leadingLineContent,characterCountDelta:ctx.column-this._context.column};if(this._completionModel.items.length===0){const shouldAutoTrigger=LineContext2.shouldAutoTrigger(this._editor);if(!this._context){this.cancel();return}if(shouldAutoTrigger&&this._context.leadingWord.endColumn<ctx.leadingWord.startColumn){this.trigger({auto:this._context.triggerOptions.auto,retrigger:true});return}if(!this._context.triggerOptions.auto){this._completionModel.lineContext=oldLineContext;isFrozen2=this._completionModel.items.length>0;if(isFrozen2&&ctx.leadingWord.word.length===0){this.cancel();return}}else{this.cancel();return}}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:ctx.triggerOptions,isFrozen:isFrozen2})}}};SuggestModel=SuggestModel_1=__decorate101([__param94(1,IEditorWorkerService),__param94(2,IClipboardService),__param94(3,ITelemetryService),__param94(4,ILogService),__param94(5,IContextKeyService),__param94(6,IConfigurationService),__param94(7,ILanguageFeaturesService),__param94(8,IEnvironmentService)],SuggestModel);init_lifecycle();var OvertypingCapturer=class{constructor(editor2,suggestModel){this._disposables=new DisposableStore;this._lastOvertyped=[];this._locked=false;this._disposables.add(editor2.onWillType((()=>{if(this._locked||!editor2.hasModel()){return}const selections=editor2.getSelections();const selectionsLength=selections.length;let willOvertype=false;for(let i=0;i<selectionsLength;i++){if(!selections[i].isEmpty()){willOvertype=true;break}}if(!willOvertype){if(this._lastOvertyped.length!==0){this._lastOvertyped.length=0}return}this._lastOvertyped=[];const model=editor2.getModel();for(let i=0;i<selectionsLength;i++){const selection=selections[i];if(model.getValueLengthInRange(selection)>OvertypingCapturer._maxSelectionLength){return}this._lastOvertyped[i]={value:model.getValueInRange(selection),multiline:selection.startLineNumber!==selection.endLineNumber}}})));this._disposables.add(suggestModel.onDidTrigger((e=>{this._locked=true})));this._disposables.add(suggestModel.onDidCancel((e=>{this._locked=false})))}getLastOvertypedInfo(idx){if(idx>=0&&idx<this._lastOvertyped.length){return this._lastOvertyped[idx]}return void 0}dispose(){this._disposables.dispose()}};OvertypingCapturer._maxSelectionLength=51200;init_dom();init_listWidget();init_async();init_errors();init_event();init_lifecycle();init_numbers();init_strings();init_dom();init_actionbar();init_lifecycle();init_nls();init_menuEntryActionViewItem();init_actions2();init_contextkey();init_instantiation();var __decorate102=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param95=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var StatusBarViewItem2=class extends MenuEntryActionViewItem{updateLabel(){const kb=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!kb){return super.updateLabel()}if(this.label){this.label.textContent=localize({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",this._action.label,StatusBarViewItem2.symbolPrintEnter(kb))}}static symbolPrintEnter(kb){var _a6;return(_a6=kb.getLabel())===null||_a6===void 0?void 0:_a6.replace(/\benter\b/gi,"⏎")}};var SuggestWidgetStatus=class SuggestWidgetStatus2{constructor(container,_menuId,instantiationService,_menuService,_contextKeyService){this._menuId=_menuId;this._menuService=_menuService;this._contextKeyService=_contextKeyService;this._menuDisposables=new DisposableStore;this.element=append(container,$(".suggest-status-bar"));const actionViewItemProvider=action=>action instanceof MenuItemAction?instantiationService.createInstance(StatusBarViewItem2,action,void 0):void 0;this._leftActions=new ActionBar(this.element,{actionViewItemProvider:actionViewItemProvider});this._rightActions=new ActionBar(this.element,{actionViewItemProvider:actionViewItemProvider});this._leftActions.domNode.classList.add("left");this._rightActions.domNode.classList.add("right")}dispose(){this._menuDisposables.dispose();this.element.remove()}show(){const menu=this._menuService.createMenu(this._menuId,this._contextKeyService);const renderMenu=()=>{const left=[];const right=[];for(const[group3,actions]of menu.getActions()){if(group3==="left"){left.push(...actions)}else{right.push(...actions)}}this._leftActions.clear();this._leftActions.push(left);this._rightActions.clear();this._rightActions.push(right)};this._menuDisposables.add(menu.onDidChange((()=>renderMenu())));this._menuDisposables.add(menu)}hide(){this._menuDisposables.clear()}};SuggestWidgetStatus=__decorate102([__param95(2,IInstantiationService),__param95(3,IMenuService),__param95(4,IContextKeyService)],SuggestWidgetStatus);init_nls();init_contextkey();init_instantiation();init_storage2();init_colorRegistry();init_theme();init_themeService();init_dom();init_scrollableElement();init_codicons();init_themables();init_event();init_htmlContent();init_lifecycle();init_nls();init_instantiation();var __decorate103=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param96=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};function canExpandCompletionItem(item){return!!item&&Boolean(item.completion.documentation||item.completion.detail&&item.completion.detail!==item.completion.label)}var SuggestDetailsWidget=class SuggestDetailsWidget2{constructor(_editor,instaService){this._editor=_editor;this._onDidClose=new Emitter;this.onDidClose=this._onDidClose.event;this._onDidChangeContents=new Emitter;this.onDidChangeContents=this._onDidChangeContents.event;this._disposables=new DisposableStore;this._renderDisposeable=new DisposableStore;this._borderWidth=1;this._size=new Dimension(330,0);this.domNode=$(".suggest-details");this.domNode.classList.add("no-docs");this._markdownRenderer=instaService.createInstance(MarkdownRenderer,{editor:_editor});this._body=$(".body");this._scrollbar=new DomScrollableElement(this._body,{alwaysConsumeMouseWheel:true});append(this.domNode,this._scrollbar.getDomNode());this._disposables.add(this._scrollbar);this._header=append(this._body,$(".header"));this._close=append(this._header,$("span"+ThemeIcon.asCSSSelector(Codicon.close)));this._close.title=localize("details.close","Close");this._type=append(this._header,$("p.type"));this._docs=append(this._body,$("p.docs"));this._configureFont();this._disposables.add(this._editor.onDidChangeConfiguration((e=>{if(e.hasChanged(49)){this._configureFont()}})))}dispose(){this._disposables.dispose();this._renderDisposeable.dispose()}_configureFont(){const options2=this._editor.getOptions();const fontInfo=options2.get(49);const fontFamily=fontInfo.getMassagedFontFamily();const fontSize=options2.get(117)||fontInfo.fontSize;const lineHeight=options2.get(118)||fontInfo.lineHeight;const fontWeight=fontInfo.fontWeight;const fontSizePx=`${fontSize}px`;const lineHeightPx=`${lineHeight}px`;this.domNode.style.fontSize=fontSizePx;this.domNode.style.lineHeight=`${lineHeight/fontSize}`;this.domNode.style.fontWeight=fontWeight;this.domNode.style.fontFeatureSettings=fontInfo.fontFeatureSettings;this._type.style.fontFamily=fontFamily;this._close.style.height=lineHeightPx;this._close.style.width=lineHeightPx}getLayoutInfo(){const lineHeight=this._editor.getOption(118)||this._editor.getOption(49).lineHeight;const borderWidth=this._borderWidth;const borderHeight=borderWidth*2;return{lineHeight:lineHeight,borderWidth:borderWidth,borderHeight:borderHeight,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=localize("loading","Loading...");this._docs.textContent="";this.domNode.classList.remove("no-docs","no-type");this.layout(this.size.width,this.getLayoutInfo().lineHeight*2);this._onDidChangeContents.fire(this)}renderItem(item,explainMode){var _a6,_b3;this._renderDisposeable.clear();let{detail:detail,documentation:documentation}=item.completion;if(explainMode){let md="";md+=`score: ${item.score[0]}\n`;md+=`prefix: ${(_a6=item.word)!==null&&_a6!==void 0?_a6:"(no prefix)"}\n`;md+=`word: ${item.completion.filterText?item.completion.filterText+" (filterText)":item.textLabel}\n`;md+=`distance: ${item.distance} (localityBonus-setting)\n`;md+=`index: ${item.idx}, based on ${item.completion.sortText&&`sortText: "${item.completion.sortText}"`||"label"}\n`;md+=`commit_chars: ${(_b3=item.completion.commitCharacters)===null||_b3===void 0?void 0:_b3.join("")}\n`;documentation=(new MarkdownString).appendCodeblock("empty",md);detail=`Provider: ${item.provider._debugDisplayName}`}if(!explainMode&&!canExpandCompletionItem(item)){this.clearContents();return}this.domNode.classList.remove("no-docs","no-type");if(detail){const cappedDetail=detail.length>1e5?`${detail.substr(0,1e5)}…`:detail;this._type.textContent=cappedDetail;this._type.title=cappedDetail;show(this._type);this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gim.test(cappedDetail))}else{clearNode(this._type);this._type.title="";hide(this._type);this.domNode.classList.add("no-type")}clearNode(this._docs);if(typeof documentation==="string"){this._docs.classList.remove("markdown-docs");this._docs.textContent=documentation}else if(documentation){this._docs.classList.add("markdown-docs");clearNode(this._docs);const renderedContents=this._markdownRenderer.render(documentation);this._docs.appendChild(renderedContents.element);this._renderDisposeable.add(renderedContents);this._renderDisposeable.add(this._markdownRenderer.onDidRenderAsync((()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight);this._onDidChangeContents.fire(this)})))}this.domNode.style.userSelect="text";this.domNode.tabIndex=-1;this._close.onmousedown=e=>{e.preventDefault();e.stopPropagation()};this._close.onclick=e=>{e.preventDefault();e.stopPropagation();this._onDidClose.fire()};this._body.scrollTop=0;this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight);this._onDidChangeContents.fire(this)}clearContents(){this.domNode.classList.add("no-docs");this._type.textContent="";this._docs.textContent=""}get size(){return this._size}layout(width,height){const newSize=new Dimension(width,height);if(!Dimension.equals(newSize,this._size)){this._size=newSize;size(this.domNode,width,height)}this._scrollbar.scanDomNode()}scrollDown(much=8){this._body.scrollTop+=much}scrollUp(much=8){this._body.scrollTop-=much}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}set borderWidth(width){this._borderWidth=width}get borderWidth(){return this._borderWidth}};SuggestDetailsWidget=__decorate103([__param96(1,IInstantiationService)],SuggestDetailsWidget);var SuggestDetailsOverlay=class{constructor(widget,_editor){this.widget=widget;this._editor=_editor;this._disposables=new DisposableStore;this._added=false;this._preferAlignAtTop=true;this._resizable=new ResizableHTMLElement;this._resizable.domNode.classList.add("suggest-details-container");this._resizable.domNode.appendChild(widget.domNode);this._resizable.enableSashes(false,true,true,false);let topLeftNow;let sizeNow;let deltaTop=0;let deltaLeft=0;this._disposables.add(this._resizable.onDidWillResize((()=>{topLeftNow=this._topLeft;sizeNow=this._resizable.size})));this._disposables.add(this._resizable.onDidResize((e=>{if(topLeftNow&&sizeNow){this.widget.layout(e.dimension.width,e.dimension.height);let updateTopLeft=false;if(e.west){deltaLeft=sizeNow.width-e.dimension.width;updateTopLeft=true}if(e.north){deltaTop=sizeNow.height-e.dimension.height;updateTopLeft=true}if(updateTopLeft){this._applyTopLeft({top:topLeftNow.top+deltaTop,left:topLeftNow.left+deltaLeft})}}if(e.done){topLeftNow=void 0;sizeNow=void 0;deltaTop=0;deltaLeft=0;this._userSize=e.dimension}})));this._disposables.add(this.widget.onDidChangeContents((()=>{var _a6;if(this._anchorBox){this._placeAtAnchor(this._anchorBox,(_a6=this._userSize)!==null&&_a6!==void 0?_a6:this.widget.size,this._preferAlignAtTop)}})))}dispose(){this._resizable.dispose();this._disposables.dispose();this.hide()}getId(){return"suggest.details"}getDomNode(){return this._resizable.domNode}getPosition(){return null}show(){if(!this._added){this._editor.addOverlayWidget(this);this.getDomNode().style.position="fixed";this._added=true}}hide(sessionEnded=false){this._resizable.clearSashHoverState();if(this._added){this._editor.removeOverlayWidget(this);this._added=false;this._anchorBox=void 0;this._topLeft=void 0}if(sessionEnded){this._userSize=void 0;this.widget.clearContents()}}placeAtAnchor(anchor,preferAlignAtTop){var _a6;const anchorBox=anchor.getBoundingClientRect();this._anchorBox=anchorBox;this._preferAlignAtTop=preferAlignAtTop;this._placeAtAnchor(this._anchorBox,(_a6=this._userSize)!==null&&_a6!==void 0?_a6:this.widget.size,preferAlignAtTop)}_placeAtAnchor(anchorBox,size2,preferAlignAtTop){var _a6;const bodyBox=getClientArea(document.body);const info=this.widget.getLayoutInfo();const defaultMinSize=new Dimension(220,2*info.lineHeight);const defaultTop=anchorBox.top;const eastPlacement=function(){const width=bodyBox.width-(anchorBox.left+anchorBox.width+info.borderWidth+info.horizontalPadding);const left=-info.borderWidth+anchorBox.left+anchorBox.width;const maxSizeTop=new Dimension(width,bodyBox.height-anchorBox.top-info.borderHeight-info.verticalPadding);const maxSizeBottom=maxSizeTop.with(void 0,anchorBox.top+anchorBox.height-info.borderHeight-info.verticalPadding);return{top:defaultTop,left:left,fit:width-size2.width,maxSizeTop:maxSizeTop,maxSizeBottom:maxSizeBottom,minSize:defaultMinSize.with(Math.min(width,defaultMinSize.width))}}();const westPlacement=function(){const width=anchorBox.left-info.borderWidth-info.horizontalPadding;const left=Math.max(info.horizontalPadding,anchorBox.left-size2.width-info.borderWidth);const maxSizeTop=new Dimension(width,bodyBox.height-anchorBox.top-info.borderHeight-info.verticalPadding);const maxSizeBottom=maxSizeTop.with(void 0,anchorBox.top+anchorBox.height-info.borderHeight-info.verticalPadding);return{top:defaultTop,left:left,fit:width-size2.width,maxSizeTop:maxSizeTop,maxSizeBottom:maxSizeBottom,minSize:defaultMinSize.with(Math.min(width,defaultMinSize.width))}}();const southPacement=function(){const left=anchorBox.left;const top=-info.borderWidth+anchorBox.top+anchorBox.height;const maxSizeBottom=new Dimension(anchorBox.width-info.borderHeight,bodyBox.height-anchorBox.top-anchorBox.height-info.verticalPadding);return{top:top,left:left,fit:maxSizeBottom.height-size2.height,maxSizeBottom:maxSizeBottom,maxSizeTop:maxSizeBottom,minSize:defaultMinSize.with(maxSizeBottom.width)}}();const placements=[eastPlacement,westPlacement,southPacement];const placement=(_a6=placements.find((p=>p.fit>=0)))!==null&&_a6!==void 0?_a6:placements.sort(((a,b)=>b.fit-a.fit))[0];const bottom=anchorBox.top+anchorBox.height-info.borderHeight;let alignAtTop;let height=size2.height;const maxHeight=Math.max(placement.maxSizeTop.height,placement.maxSizeBottom.height);if(height>maxHeight){height=maxHeight}let maxSize;if(preferAlignAtTop){if(height<=placement.maxSizeTop.height){alignAtTop=true;maxSize=placement.maxSizeTop}else{alignAtTop=false;maxSize=placement.maxSizeBottom}}else{if(height<=placement.maxSizeBottom.height){alignAtTop=false;maxSize=placement.maxSizeBottom}else{alignAtTop=true;maxSize=placement.maxSizeTop}}this._applyTopLeft({left:placement.left,top:alignAtTop?placement.top:bottom-height});this.getDomNode().style.position="fixed";this._resizable.enableSashes(!alignAtTop,placement===eastPlacement,alignAtTop,placement!==eastPlacement);this._resizable.minSize=placement.minSize;this._resizable.maxSize=maxSize;this._resizable.layout(height,Math.min(maxSize.width,size2.width));this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(topLeft){this._topLeft=topLeft;this.getDomNode().style.left=`${this._topLeft.left}px`;this.getDomNode().style.top=`${this._topLeft.top}px`}};init_dom();init_iconLabel();init_codicons();init_themables();init_event();init_filters();init_lifecycle();init_uri();init_languages();init_network();init_resources();init_modesRegistry();var FileKind;(function(FileKind2){FileKind2[FileKind2["FILE"]=0]="FILE";FileKind2[FileKind2["FOLDER"]=1]="FOLDER";FileKind2[FileKind2["ROOT_FOLDER"]=2]="ROOT_FOLDER"})(FileKind||(FileKind={}));var fileIconDirectoryRegex=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function getIconClasses(modelService,languageService,resource,fileKind){const classes=fileKind===FileKind.ROOT_FOLDER?["rootfolder-icon"]:fileKind===FileKind.FOLDER?["folder-icon"]:["file-icon"];if(resource){let name;if(resource.scheme===Schemas.data){const metadata=DataUri.parseMetaData(resource);name=metadata.get(DataUri.META_DATA_LABEL)}else{const match2=resource.path.match(fileIconDirectoryRegex);if(match2){name=cssEscape(match2[2].toLowerCase());if(match2[1]){classes.push(`${cssEscape(match2[1].toLowerCase())}-name-dir-icon`)}}else{name=cssEscape(resource.authority.toLowerCase())}}if(fileKind===FileKind.FOLDER){classes.push(`${name}-name-folder-icon`)}else{if(name){classes.push(`${name}-name-file-icon`);classes.push(`name-file-icon`);if(name.length<=255){const dotSegments=name.split(".");for(let i=1;i<dotSegments.length;i++){classes.push(`${dotSegments.slice(i).join(".")}-ext-file-icon`)}}classes.push(`ext-file-icon`)}const detectedLanguageId=detectLanguageId(modelService,languageService,resource);if(detectedLanguageId){classes.push(`${cssEscape(detectedLanguageId)}-lang-file-icon`)}}}return classes}function detectLanguageId(modelService,languageService,resource){if(!resource){return null}let languageId=null;if(resource.scheme===Schemas.data){const metadata=DataUri.parseMetaData(resource);const mime=metadata.get(DataUri.META_DATA_MIME);if(mime){languageId=languageService.getLanguageIdByMimeType(mime)}}else{const model=modelService.getModel(resource);if(model){languageId=model.getLanguageId()}}if(languageId&&languageId!==PLAINTEXT_LANGUAGE_ID){return languageId}return languageService.guessLanguageIdByFilepathOrFirstLine(resource)}function cssEscape(str){return str.replace(/[\11\12\14\15\40]/g,"/")}init_model2();init_language();init_nls();init_iconRegistry();init_themeService();var __decorate104=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param97=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var _a5;function getAriaId(index){return`suggest-aria-id:${index}`}var suggestMoreInfoIcon=registerIcon("suggest-more-info",Codicon.chevronRight,localize("suggestMoreInfoIcon","Icon for more information in the suggest widget."));var _completionItemColor=new(_a5=class ColorExtractor{extract(item,out){if(item.textLabel.match(_a5._regexStrict)){out[0]=item.textLabel;return true}if(item.completion.detail&&item.completion.detail.match(_a5._regexStrict)){out[0]=item.completion.detail;return true}if(typeof item.completion.documentation==="string"){const match2=_a5._regexRelaxed.exec(item.completion.documentation);if(match2&&(match2.index===0||match2.index+match2[0].length===item.completion.documentation.length)){out[0]=match2[0];return true}}return false}},_a5._regexRelaxed=/(#([\da-fA-F]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))/,_a5._regexStrict=new RegExp(`^${_a5._regexRelaxed.source}$`,"i"),_a5);var ItemRenderer=class ItemRenderer2{constructor(_editor,_modelService,_languageService,_themeService){this._editor=_editor;this._modelService=_modelService;this._languageService=_languageService;this._themeService=_themeService;this._onDidToggleDetails=new Emitter;this.onDidToggleDetails=this._onDidToggleDetails.event;this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(container){const disposables=new DisposableStore;const root=container;root.classList.add("show-file-icons");const icon=append(container,$(".icon"));const colorspan=append(icon,$("span.colorspan"));const text2=append(container,$(".contents"));const main=append(text2,$(".main"));const iconContainer=append(main,$(".icon-label.codicon"));const left=append(main,$("span.left"));const right=append(main,$("span.right"));const iconLabel=new IconLabel(left,{supportHighlights:true,supportIcons:true});disposables.add(iconLabel);const parametersLabel=append(left,$("span.signature-label"));const qualifierLabel=append(left,$("span.qualifier-label"));const detailsLabel=append(right,$("span.details-label"));const readMore=append(right,$("span.readMore"+ThemeIcon.asCSSSelector(suggestMoreInfoIcon)));readMore.title=localize("readMore","Read More");const configureFont=()=>{const options2=this._editor.getOptions();const fontInfo=options2.get(49);const fontFamily=fontInfo.getMassagedFontFamily();const fontFeatureSettings=fontInfo.fontFeatureSettings;const fontSize=options2.get(117)||fontInfo.fontSize;const lineHeight=options2.get(118)||fontInfo.lineHeight;const fontWeight=fontInfo.fontWeight;const letterSpacing=fontInfo.letterSpacing;const fontSizePx=`${fontSize}px`;const lineHeightPx=`${lineHeight}px`;const letterSpacingPx=`${letterSpacing}px`;root.style.fontSize=fontSizePx;root.style.fontWeight=fontWeight;root.style.letterSpacing=letterSpacingPx;main.style.fontFamily=fontFamily;main.style.fontFeatureSettings=fontFeatureSettings;main.style.lineHeight=lineHeightPx;icon.style.height=lineHeightPx;icon.style.width=lineHeightPx;readMore.style.height=lineHeightPx;readMore.style.width=lineHeightPx};configureFont();disposables.add(this._editor.onDidChangeConfiguration((e=>{if(e.hasChanged(49)||e.hasChanged(117)||e.hasChanged(118)){configureFont()}})));return{root:root,left:left,right:right,icon:icon,colorspan:colorspan,iconLabel:iconLabel,iconContainer:iconContainer,parametersLabel:parametersLabel,qualifierLabel:qualifierLabel,detailsLabel:detailsLabel,readMore:readMore,disposables:disposables}}renderElement(element,index,data){const{completion:completion}=element;data.root.id=getAriaId(index);data.colorspan.style.backgroundColor="";const labelOptions={labelEscapeNewLines:true,matches:createMatches(element.score)};const color=[];if(completion.kind===19&&_completionItemColor.extract(element,color)){data.icon.className="icon customcolor";data.iconContainer.className="icon hide";data.colorspan.style.backgroundColor=color[0]}else if(completion.kind===20&&this._themeService.getFileIconTheme().hasFileIcons){data.icon.className="icon hide";data.iconContainer.className="icon hide";const labelClasses=getIconClasses(this._modelService,this._languageService,URI.from({scheme:"fake",path:element.textLabel}),FileKind.FILE);const detailClasses=getIconClasses(this._modelService,this._languageService,URI.from({scheme:"fake",path:completion.detail}),FileKind.FILE);labelOptions.extraClasses=labelClasses.length>detailClasses.length?labelClasses:detailClasses}else if(completion.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons){data.icon.className="icon hide";data.iconContainer.className="icon hide";labelOptions.extraClasses=[getIconClasses(this._modelService,this._languageService,URI.from({scheme:"fake",path:element.textLabel}),FileKind.FOLDER),getIconClasses(this._modelService,this._languageService,URI.from({scheme:"fake",path:completion.detail}),FileKind.FOLDER)].flat()}else{data.icon.className="icon hide";data.iconContainer.className="";data.iconContainer.classList.add("suggest-icon",...ThemeIcon.asClassNameArray(CompletionItemKinds.toIcon(completion.kind)))}if(completion.tags&&completion.tags.indexOf(1)>=0){labelOptions.extraClasses=(labelOptions.extraClasses||[]).concat(["deprecated"]);labelOptions.matches=[]}data.iconLabel.setLabel(element.textLabel,void 0,labelOptions);if(typeof completion.label==="string"){data.parametersLabel.textContent="";data.detailsLabel.textContent=stripNewLines(completion.detail||"");data.root.classList.add("string-label")}else{data.parametersLabel.textContent=stripNewLines(completion.label.detail||"");data.detailsLabel.textContent=stripNewLines(completion.label.description||"");data.root.classList.remove("string-label")}if(this._editor.getOption(116).showInlineDetails){show(data.detailsLabel)}else{hide(data.detailsLabel)}if(canExpandCompletionItem(element)){data.right.classList.add("can-expand-details");show(data.readMore);data.readMore.onmousedown=e=>{e.stopPropagation();e.preventDefault()};data.readMore.onclick=e=>{e.stopPropagation();e.preventDefault();this._onDidToggleDetails.fire()}}else{data.right.classList.remove("can-expand-details");hide(data.readMore);data.readMore.onmousedown=null;data.readMore.onclick=null}}disposeTemplate(templateData){templateData.disposables.dispose()}};ItemRenderer=__decorate104([__param97(1,IModelService),__param97(2,ILanguageService),__param97(3,IThemeService)],ItemRenderer);function stripNewLines(str){return str.replace(/\r\n|\r|\n/g,"")}init_defaultStyles();init_aria();var __decorate105=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param98=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter76=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var SuggestWidget_1;registerColor("editorSuggestWidget.background",{dark:editorWidgetBackground,light:editorWidgetBackground,hcDark:editorWidgetBackground,hcLight:editorWidgetBackground},localize("editorSuggestWidgetBackground","Background color of the suggest widget."));registerColor("editorSuggestWidget.border",{dark:editorWidgetBorder,light:editorWidgetBorder,hcDark:editorWidgetBorder,hcLight:editorWidgetBorder},localize("editorSuggestWidgetBorder","Border color of the suggest widget."));var editorSuggestWidgetForeground=registerColor("editorSuggestWidget.foreground",{dark:editorForeground,light:editorForeground,hcDark:editorForeground,hcLight:editorForeground},localize("editorSuggestWidgetForeground","Foreground color of the suggest widget."));registerColor("editorSuggestWidget.selectedForeground",{dark:quickInputListFocusForeground,light:quickInputListFocusForeground,hcDark:quickInputListFocusForeground,hcLight:quickInputListFocusForeground},localize("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget."));registerColor("editorSuggestWidget.selectedIconForeground",{dark:quickInputListFocusIconForeground,light:quickInputListFocusIconForeground,hcDark:quickInputListFocusIconForeground,hcLight:quickInputListFocusIconForeground},localize("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));var editorSuggestWidgetSelectedBackground=registerColor("editorSuggestWidget.selectedBackground",{dark:quickInputListFocusBackground,light:quickInputListFocusBackground,hcDark:quickInputListFocusBackground,hcLight:quickInputListFocusBackground},localize("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));registerColor("editorSuggestWidget.highlightForeground",{dark:listHighlightForeground,light:listHighlightForeground,hcDark:listHighlightForeground,hcLight:listHighlightForeground},localize("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget."));registerColor("editorSuggestWidget.focusHighlightForeground",{dark:listFocusHighlightForeground,light:listFocusHighlightForeground,hcDark:listFocusHighlightForeground,hcLight:listFocusHighlightForeground},localize("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused."));registerColor("editorSuggestWidgetStatus.foreground",{dark:transparent(editorSuggestWidgetForeground,.5),light:transparent(editorSuggestWidgetForeground,.5),hcDark:transparent(editorSuggestWidgetForeground,.5),hcLight:transparent(editorSuggestWidgetForeground,.5)},localize("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));var PersistedWidgetSize=class{constructor(_service,editor2){this._service=_service;this._key=`suggestWidget.size/${editor2.getEditorType()}/${editor2 instanceof EmbeddedCodeEditorWidget}`}restore(){var _a6;const raw=(_a6=this._service.get(this._key,0))!==null&&_a6!==void 0?_a6:"";try{const obj=JSON.parse(raw);if(Dimension.is(obj)){return Dimension.lift(obj)}}catch(_b3){}return void 0}store(size2){this._service.store(this._key,JSON.stringify(size2),0,1)}reset(){this._service.remove(this._key,0)}};var SuggestWidget=SuggestWidget_1=class SuggestWidget2{constructor(editor2,_storageService,_contextKeyService,_themeService,instantiationService){this.editor=editor2;this._storageService=_storageService;this._state=0;this._isAuto=false;this._pendingLayout=new MutableDisposable;this._pendingShowDetails=new MutableDisposable;this._ignoreFocusEvents=false;this._forceRenderingAbove=false;this._explainMode=false;this._showTimeout=new TimeoutTimer;this._disposables=new DisposableStore;this._onDidSelect=new PauseableEmitter;this._onDidFocus=new PauseableEmitter;this._onDidHide=new Emitter;this._onDidShow=new Emitter;this.onDidSelect=this._onDidSelect.event;this.onDidFocus=this._onDidFocus.event;this.onDidHide=this._onDidHide.event;this.onDidShow=this._onDidShow.event;this._onDetailsKeydown=new Emitter;this.onDetailsKeyDown=this._onDetailsKeydown.event;this.element=new ResizableHTMLElement;this.element.domNode.classList.add("editor-widget","suggest-widget");this._contentWidget=new SuggestContentWidget(this,editor2);this._persistedSize=new PersistedWidgetSize(_storageService,editor2);class ResizeState{constructor(persistedSize,currentSize,persistHeight=false,persistWidth=false){this.persistedSize=persistedSize;this.currentSize=currentSize;this.persistHeight=persistHeight;this.persistWidth=persistWidth}}let state;this._disposables.add(this.element.onDidWillResize((()=>{this._contentWidget.lockPreference();state=new ResizeState(this._persistedSize.restore(),this.element.size)})));this._disposables.add(this.element.onDidResize((e=>{var _a6,_b3,_c2,_d2;this._resize(e.dimension.width,e.dimension.height);if(state){state.persistHeight=state.persistHeight||!!e.north||!!e.south;state.persistWidth=state.persistWidth||!!e.east||!!e.west}if(!e.done){return}if(state){const{itemHeight:itemHeight,defaultSize:defaultSize}=this.getLayoutInfo();const threshold=Math.round(itemHeight/2);let{width:width,height:height}=this.element.size;if(!state.persistHeight||Math.abs(state.currentSize.height-height)<=threshold){height=(_b3=(_a6=state.persistedSize)===null||_a6===void 0?void 0:_a6.height)!==null&&_b3!==void 0?_b3:defaultSize.height}if(!state.persistWidth||Math.abs(state.currentSize.width-width)<=threshold){width=(_d2=(_c2=state.persistedSize)===null||_c2===void 0?void 0:_c2.width)!==null&&_d2!==void 0?_d2:defaultSize.width}this._persistedSize.store(new Dimension(width,height))}this._contentWidget.unlockPreference();state=void 0})));this._messageElement=append(this.element.domNode,$(".message"));this._listElement=append(this.element.domNode,$(".tree"));const details=instantiationService.createInstance(SuggestDetailsWidget,this.editor);details.onDidClose(this.toggleDetails,this,this._disposables);this._details=new SuggestDetailsOverlay(details,this.editor);const applyIconStyle=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(116).showIcons);applyIconStyle();const renderer=instantiationService.createInstance(ItemRenderer,this.editor);this._disposables.add(renderer);this._disposables.add(renderer.onDidToggleDetails((()=>this.toggleDetails())));this._list=new List("SuggestWidget",this._listElement,{getHeight:_element=>this.getLayoutInfo().itemHeight,getTemplateId:_element=>"suggestion"},[renderer],{alwaysConsumeMouseWheel:true,useShadows:false,mouseSupport:false,multipleSelectionSupport:false,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>localize("suggest","Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:item=>{let label=item.textLabel;if(typeof item.completion.label!=="string"){const{detail:detail2,description:description}=item.completion.label;if(detail2&&description){label=localize("label.full","{0} {1}, {2}",label,detail2,description)}else if(detail2){label=localize("label.detail","{0} {1}",label,detail2)}else if(description){label=localize("label.desc","{0}, {1}",label,description)}}if(!item.isResolved||!this._isDetailsVisible()){return label}const{documentation:documentation,detail:detail}=item.completion;const docs=format("{0}{1}",detail||"",documentation?typeof documentation==="string"?documentation:documentation.value:"");return localize("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",label,docs)}}});this._list.style(getListStyles({listInactiveFocusBackground:editorSuggestWidgetSelectedBackground,listInactiveFocusOutline:activeContrastBorder}));this._status=instantiationService.createInstance(SuggestWidgetStatus,this.element.domNode,suggestWidgetStatusbarMenu);const applyStatusBarStyle=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(116).showStatusBar);applyStatusBarStyle();this._disposables.add(_themeService.onDidColorThemeChange((t2=>this._onThemeChange(t2))));this._onThemeChange(_themeService.getColorTheme());this._disposables.add(this._list.onMouseDown((e=>this._onListMouseDownOrTap(e))));this._disposables.add(this._list.onTap((e=>this._onListMouseDownOrTap(e))));this._disposables.add(this._list.onDidChangeSelection((e=>this._onListSelection(e))));this._disposables.add(this._list.onDidChangeFocus((e=>this._onListFocus(e))));this._disposables.add(this.editor.onDidChangeCursorSelection((()=>this._onCursorSelectionChanged())));this._disposables.add(this.editor.onDidChangeConfiguration((e=>{if(e.hasChanged(116)){applyStatusBarStyle();applyIconStyle()}})));this._ctxSuggestWidgetVisible=Context2.Visible.bindTo(_contextKeyService);this._ctxSuggestWidgetDetailsVisible=Context2.DetailsVisible.bindTo(_contextKeyService);this._ctxSuggestWidgetMultipleSuggestions=Context2.MultipleSuggestions.bindTo(_contextKeyService);this._ctxSuggestWidgetHasFocusedSuggestion=Context2.HasFocusedSuggestion.bindTo(_contextKeyService);this._disposables.add(addStandardDisposableListener(this._details.widget.domNode,"keydown",(e=>{this._onDetailsKeydown.fire(e)})));this._disposables.add(this.editor.onMouseDown((e=>this._onEditorMouseDown(e))))}dispose(){var _a6;this._details.widget.dispose();this._details.dispose();this._list.dispose();this._status.dispose();this._disposables.dispose();(_a6=this._loadingTimeout)===null||_a6===void 0?void 0:_a6.dispose();this._pendingLayout.dispose();this._pendingShowDetails.dispose();this._showTimeout.dispose();this._contentWidget.dispose();this.element.dispose()}_onEditorMouseDown(mouseEvent){if(this._details.widget.domNode.contains(mouseEvent.target.element)){this._details.widget.domNode.focus()}else{if(this.element.domNode.contains(mouseEvent.target.element)){this.editor.focus()}}}_onCursorSelectionChanged(){if(this._state!==0){this._contentWidget.layout()}}_onListMouseDownOrTap(e){if(typeof e.element==="undefined"||typeof e.index==="undefined"){return}e.browserEvent.preventDefault();e.browserEvent.stopPropagation();this._select(e.element,e.index)}_onListSelection(e){if(e.elements.length){this._select(e.elements[0],e.indexes[0])}}_select(item,index){const completionModel=this._completionModel;if(completionModel){this._onDidSelect.fire({item:item,index:index,model:completionModel});this.editor.focus()}}_onThemeChange(theme){this._details.widget.borderWidth=isHighContrast(theme.type)?2:1}_onListFocus(e){var _a6;if(this._ignoreFocusEvents){return}if(!e.elements.length){if(this._currentSuggestionDetails){this._currentSuggestionDetails.cancel();this._currentSuggestionDetails=void 0;this._focusedItem=void 0}this.editor.setAriaOptions({activeDescendant:void 0});this._ctxSuggestWidgetHasFocusedSuggestion.set(false);return}if(!this._completionModel){return}this._ctxSuggestWidgetHasFocusedSuggestion.set(true);const item=e.elements[0];const index=e.indexes[0];if(item!==this._focusedItem){(_a6=this._currentSuggestionDetails)===null||_a6===void 0?void 0:_a6.cancel();this._currentSuggestionDetails=void 0;this._focusedItem=item;this._list.reveal(index);this._currentSuggestionDetails=createCancelablePromise((token=>__awaiter76(this,void 0,void 0,(function*(){const loading=disposableTimeout((()=>{if(this._isDetailsVisible()){this.showDetails(true)}}),250);const sub=token.onCancellationRequested((()=>loading.dispose()));const result=yield item.resolve(token);loading.dispose();sub.dispose();return result}))));this._currentSuggestionDetails.then((()=>{if(index>=this._list.length||item!==this._list.element(index)){return}this._ignoreFocusEvents=true;this._list.splice(index,1,[item]);this._list.setFocus([index]);this._ignoreFocusEvents=false;if(this._isDetailsVisible()){this.showDetails(false)}else{this.element.domNode.classList.remove("docs-side")}this.editor.setAriaOptions({activeDescendant:getAriaId(index)})})).catch(onUnexpectedError)}this._onDidFocus.fire({item:item,index:index,model:this._completionModel})}_setState(state){if(this._state===state){return}this._state=state;this.element.domNode.classList.toggle("frozen",state===4);this.element.domNode.classList.remove("message");switch(state){case 0:hide(this._messageElement,this._listElement,this._status.element);this._details.hide(true);this._status.hide();this._contentWidget.hide();this._ctxSuggestWidgetVisible.reset();this._ctxSuggestWidgetMultipleSuggestions.reset();this._ctxSuggestWidgetHasFocusedSuggestion.reset();this._showTimeout.cancel();this.element.domNode.classList.remove("visible");this._list.splice(0,this._list.length);this._focusedItem=void 0;this._cappedHeight=void 0;this._explainMode=false;break;case 1:this.element.domNode.classList.add("message");this._messageElement.textContent=SuggestWidget_1.LOADING_MESSAGE;hide(this._listElement,this._status.element);show(this._messageElement);this._details.hide();this._show();this._focusedItem=void 0;status(SuggestWidget_1.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message");this._messageElement.textContent=SuggestWidget_1.NO_SUGGESTIONS_MESSAGE;hide(this._listElement,this._status.element);show(this._messageElement);this._details.hide();this._show();this._focusedItem=void 0;status(SuggestWidget_1.NO_SUGGESTIONS_MESSAGE);break;case 3:hide(this._messageElement);show(this._listElement,this._status.element);this._show();break;case 4:hide(this._messageElement);show(this._listElement,this._status.element);this._show();break;case 5:hide(this._messageElement);show(this._listElement,this._status.element);this._details.show();this._show();break}}_show(){this._status.show();this._contentWidget.show();this._layout(this._persistedSize.restore());this._ctxSuggestWidgetVisible.set(true);this._showTimeout.cancelAndSet((()=>{this.element.domNode.classList.add("visible");this._onDidShow.fire(this)}),100)}showTriggered(auto,delay){if(this._state!==0){return}this._contentWidget.setPosition(this.editor.getPosition());this._isAuto=!!auto;if(!this._isAuto){this._loadingTimeout=disposableTimeout((()=>this._setState(1)),delay)}}showSuggestions(completionModel,selectionIndex,isFrozen2,isAuto,noFocus){var _a6,_b3;this._contentWidget.setPosition(this.editor.getPosition());(_a6=this._loadingTimeout)===null||_a6===void 0?void 0:_a6.dispose();(_b3=this._currentSuggestionDetails)===null||_b3===void 0?void 0:_b3.cancel();this._currentSuggestionDetails=void 0;if(this._completionModel!==completionModel){this._completionModel=completionModel}if(isFrozen2&&this._state!==2&&this._state!==0){this._setState(4);return}const visibleCount=this._completionModel.items.length;const isEmpty=visibleCount===0;this._ctxSuggestWidgetMultipleSuggestions.set(visibleCount>1);if(isEmpty){this._setState(isAuto?0:2);this._completionModel=void 0;return}this._focusedItem=void 0;this._onDidFocus.pause();this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items);this._setState(isFrozen2?4:3);this._list.reveal(selectionIndex,0);this._list.setFocus(noFocus?[]:[selectionIndex])}finally{this._onDidFocus.resume();this._onDidSelect.resume()}this._pendingLayout.value=runAtThisOrScheduleAtNextAnimationFrame((()=>{this._pendingLayout.clear();this._layout(this.element.size);this._details.widget.domNode.classList.remove("focused")}))}focusSelected(){if(this._list.length>0){this._list.setFocus([0])}}selectNextPage(){switch(this._state){case 0:return false;case 5:this._details.widget.pageDown();return true;case 1:return!this._isAuto;default:this._list.focusNextPage();return true}}selectNext(){switch(this._state){case 0:return false;case 1:return!this._isAuto;default:this._list.focusNext(1,true);return true}}selectLast(){switch(this._state){case 0:return false;case 5:this._details.widget.scrollBottom();return true;case 1:return!this._isAuto;default:this._list.focusLast();return true}}selectPreviousPage(){switch(this._state){case 0:return false;case 5:this._details.widget.pageUp();return true;case 1:return!this._isAuto;default:this._list.focusPreviousPage();return true}}selectPrevious(){switch(this._state){case 0:return false;case 1:return!this._isAuto;default:this._list.focusPrevious(1,true);return false}}selectFirst(){switch(this._state){case 0:return false;case 5:this._details.widget.scrollTop();return true;case 1:return!this._isAuto;default:this._list.focusFirst();return true}}getFocusedItem(){if(this._state!==0&&this._state!==2&&this._state!==1&&this._completionModel&&this._list.getFocus().length>0){return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}return void 0}toggleDetailsFocus(){if(this._state===5){this._setState(3);this._details.widget.domNode.classList.remove("focused")}else if(this._state===3&&this._isDetailsVisible()){this._setState(5);this._details.widget.domNode.classList.add("focused")}}toggleDetails(){if(this._isDetailsVisible()){this._pendingShowDetails.clear();this._ctxSuggestWidgetDetailsVisible.set(false);this._setDetailsVisible(false);this._details.hide();this.element.domNode.classList.remove("shows-details")}else if((canExpandCompletionItem(this._list.getFocusedElements()[0])||this._explainMode)&&(this._state===3||this._state===5||this._state===4)){this._ctxSuggestWidgetDetailsVisible.set(true);this._setDetailsVisible(true);this.showDetails(false)}}showDetails(loading){this._pendingShowDetails.value=runAtThisOrScheduleAtNextAnimationFrame((()=>{this._pendingShowDetails.clear();this._details.show();if(loading){this._details.widget.renderLoading()}else{this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode)}this._positionDetails();this.editor.focus();this.element.domNode.classList.add("shows-details")}))}toggleExplainMode(){if(this._list.getFocusedElements()[0]){this._explainMode=!this._explainMode;if(!this._isDetailsVisible()){this.toggleDetails()}else{this.showDetails(false)}}}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){var _a6;this._pendingLayout.clear();this._pendingShowDetails.clear();(_a6=this._loadingTimeout)===null||_a6===void 0?void 0:_a6.dispose();this._setState(0);this._onDidHide.fire(this);this.element.clearSashHoverState();const dim=this._persistedSize.restore();const minPersistedHeight=Math.ceil(this.getLayoutInfo().itemHeight*4.3);if(dim&&dim.height<minPersistedHeight){this._persistedSize.store(dim.with(void 0,minPersistedHeight))}}isFrozen(){return this._state===4}_afterRender(position){if(position===null){if(this._isDetailsVisible()){this._details.hide()}return}if(this._state===2||this._state===1){return}if(this._isDetailsVisible()){this._details.show()}this._positionDetails()}_layout(size2){var _a6,_b3,_c2;if(!this.editor.hasModel()){return}if(!this.editor.getDomNode()){return}const bodyBox=getClientArea(document.body);const info=this.getLayoutInfo();if(!size2){size2=info.defaultSize}let height=size2.height;let width=size2.width;this._status.element.style.height=`${info.itemHeight}px`;if(this._state===2||this._state===1){height=info.itemHeight+info.borderHeight;width=info.defaultSize.width/2;this.element.enableSashes(false,false,false,false);this.element.minSize=this.element.maxSize=new Dimension(width,height);this._contentWidget.setPreference(2)}else{const maxWidth=bodyBox.width-info.borderHeight-2*info.horizontalPadding;if(width>maxWidth){width=maxWidth}const preferredWidth=this._completionModel?this._completionModel.stats.pLabelLen*info.typicalHalfwidthCharacterWidth:width;const fullHeight=info.statusBarHeight+this._list.contentHeight+info.borderHeight;const minHeight=info.itemHeight+info.statusBarHeight;const editorBox=getDomNodePagePosition(this.editor.getDomNode());const cursorBox=this.editor.getScrolledVisiblePosition(this.editor.getPosition());const cursorBottom=editorBox.top+cursorBox.top+cursorBox.height;const maxHeightBelow=Math.min(bodyBox.height-cursorBottom-info.verticalPadding,fullHeight);const availableSpaceAbove=editorBox.top+cursorBox.top-info.verticalPadding;const maxHeightAbove=Math.min(availableSpaceAbove,fullHeight);let maxHeight=Math.min(Math.max(maxHeightAbove,maxHeightBelow)+info.borderHeight,fullHeight);if(height===((_a6=this._cappedHeight)===null||_a6===void 0?void 0:_a6.capped)){height=this._cappedHeight.wanted}if(height<minHeight){height=minHeight}if(height>maxHeight){height=maxHeight}const forceRenderingAboveRequiredSpace=150;if(height>maxHeightBelow||this._forceRenderingAbove&&availableSpaceAbove>forceRenderingAboveRequiredSpace){this._contentWidget.setPreference(1);this.element.enableSashes(true,true,false,false);maxHeight=maxHeightAbove}else{this._contentWidget.setPreference(2);this.element.enableSashes(false,true,true,false);maxHeight=maxHeightBelow}this.element.preferredSize=new Dimension(preferredWidth,info.defaultSize.height);this.element.maxSize=new Dimension(maxWidth,maxHeight);this.element.minSize=new Dimension(220,minHeight);this._cappedHeight=height===fullHeight?{wanted:(_c2=(_b3=this._cappedHeight)===null||_b3===void 0?void 0:_b3.wanted)!==null&&_c2!==void 0?_c2:size2.height,capped:height}:void 0}this._resize(width,height)}_resize(width,height){const{width:maxWidth,height:maxHeight}=this.element.maxSize;width=Math.min(maxWidth,width);height=Math.min(maxHeight,height);const{statusBarHeight:statusBarHeight}=this.getLayoutInfo();this._list.layout(height-statusBarHeight,width);this._listElement.style.height=`${height-statusBarHeight}px`;this.element.layout(height,width);this._contentWidget.layout();this._positionDetails()}_positionDetails(){var _a6;if(this._isDetailsVisible()){this._details.placeAtAnchor(this.element.domNode,((_a6=this._contentWidget.getPosition())===null||_a6===void 0?void 0:_a6.preference[0])===2)}}getLayoutInfo(){const fontInfo=this.editor.getOption(49);const itemHeight=clamp(this.editor.getOption(118)||fontInfo.lineHeight,8,1e3);const statusBarHeight=!this.editor.getOption(116).showStatusBar||this._state===2||this._state===1?0:itemHeight;const borderWidth=this._details.widget.borderWidth;const borderHeight=2*borderWidth;return{itemHeight:itemHeight,statusBarHeight:statusBarHeight,borderWidth:borderWidth,borderHeight:borderHeight,typicalHalfwidthCharacterWidth:fontInfo.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new Dimension(430,statusBarHeight+12*itemHeight+borderHeight)}}_isDetailsVisible(){return this._storageService.getBoolean("expandSuggestionDocs",0,false)}_setDetailsVisible(value){this._storageService.store("expandSuggestionDocs",value,0,0)}forceRenderingAbove(){if(!this._forceRenderingAbove){this._forceRenderingAbove=true;this._layout(this._persistedSize.restore())}}stopForceRenderingAbove(){this._forceRenderingAbove=false}};SuggestWidget.LOADING_MESSAGE=localize("suggestWidget.loading","Loading...");SuggestWidget.NO_SUGGESTIONS_MESSAGE=localize("suggestWidget.noSuggestions","No suggestions.");SuggestWidget=SuggestWidget_1=__decorate105([__param98(1,IStorageService),__param98(2,IContextKeyService),__param98(3,IThemeService),__param98(4,IInstantiationService)],SuggestWidget);var SuggestContentWidget=class{constructor(_widget,_editor){this._widget=_widget;this._editor=_editor;this.allowEditorOverflow=true;this.suppressMouseDown=false;this._preferenceLocked=false;this._added=false;this._hidden=false}dispose(){if(this._added){this._added=false;this._editor.removeContentWidget(this)}}getId(){return"editor.widget.suggestWidget"}getDomNode(){return this._widget.element.domNode}show(){this._hidden=false;if(!this._added){this._added=true;this._editor.addContentWidget(this)}}hide(){if(!this._hidden){this._hidden=true;this.layout()}}layout(){this._editor.layoutContentWidget(this)}getPosition(){if(this._hidden||!this._position||!this._preference){return null}return{position:this._position,preference:[this._preference]}}beforeRender(){const{height:height,width:width}=this._widget.element.size;const{borderWidth:borderWidth,horizontalPadding:horizontalPadding}=this._widget.getLayoutInfo();return new Dimension(width+2*borderWidth+horizontalPadding,height+2*borderWidth)}afterRender(position){this._widget._afterRender(position)}setPreference(preference){if(!this._preferenceLocked){this._preference=preference}}lockPreference(){this._preferenceLocked=true}unlockPreference(){this._preferenceLocked=false}setPosition(position){this._position=position}};init_telemetry();init_resources();init_hash();var __decorate106=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param99=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var SuggestController_1;var _sticky2=false;var LineSuffix=class{constructor(_model,_position){this._model=_model;this._position=_position;const maxColumn=_model.getLineMaxColumn(_position.lineNumber);if(maxColumn!==_position.column){const offset=_model.getOffsetAt(_position);const end=_model.getPositionAt(offset+1);this._marker=_model.deltaDecorations([],[{range:Range.fromPositions(_position,end),options:{description:"suggest-line-suffix",stickiness:1}}])}}dispose(){if(this._marker&&!this._model.isDisposed()){this._model.deltaDecorations(this._marker,[])}}delta(position){if(this._model.isDisposed()||this._position.lineNumber!==position.lineNumber){return 0}if(this._marker){const range2=this._model.getDecorationRange(this._marker[0]);const end=this._model.getOffsetAt(range2.getStartPosition());return end-this._model.getOffsetAt(position)}else{return this._model.getLineMaxColumn(position.lineNumber)-position.column}}};var SuggestController=SuggestController_1=class SuggestController2{static get(editor2){return editor2.getContribution(SuggestController_1.ID)}constructor(editor2,_memoryService,_commandService,_contextKeyService,_instantiationService,_logService,_telemetryService){this._memoryService=_memoryService;this._commandService=_commandService;this._contextKeyService=_contextKeyService;this._instantiationService=_instantiationService;this._logService=_logService;this._telemetryService=_telemetryService;this._lineSuffix=new MutableDisposable;this._toDispose=new DisposableStore;this._selectors=new PriorityRegistry((s=>s.priority));this._onWillInsertSuggestItem=new Emitter;this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event;this.editor=editor2;this.model=_instantiationService.createInstance(SuggestModel,this.editor);this._selectors.register({priority:0,select:(model,pos,items)=>this._memoryService.select(model,pos,items)});const ctxInsertMode=Context2.InsertMode.bindTo(_contextKeyService);ctxInsertMode.set(editor2.getOption(116).insertMode);this._toDispose.add(this.model.onDidTrigger((()=>ctxInsertMode.set(editor2.getOption(116).insertMode))));this.widget=this._toDispose.add(new IdleValue((()=>{const widget=this._instantiationService.createInstance(SuggestWidget,this.editor);this._toDispose.add(widget);this._toDispose.add(widget.onDidSelect((item=>this._insertSuggestion(item,0)),this));const commitCharacterController=new CommitCharacterController(this.editor,widget,this.model,(item=>this._insertSuggestion(item,2)));this._toDispose.add(commitCharacterController);const ctxMakesTextEdit=Context2.MakesTextEdit.bindTo(this._contextKeyService);const ctxHasInsertAndReplace=Context2.HasInsertAndReplaceRange.bindTo(this._contextKeyService);const ctxCanResolve=Context2.CanResolve.bindTo(this._contextKeyService);this._toDispose.add(toDisposable((()=>{ctxMakesTextEdit.reset();ctxHasInsertAndReplace.reset();ctxCanResolve.reset()})));this._toDispose.add(widget.onDidFocus((({item:item})=>{const position=this.editor.getPosition();const startColumn=item.editStart.column;const endColumn=position.column;let value=true;if(this.editor.getOption(1)==="smart"&&this.model.state===2&&!item.completion.additionalTextEdits&&!(item.completion.insertTextRules&4)&&endColumn-startColumn===item.completion.insertText.length){const oldText=this.editor.getModel().getValueInRange({startLineNumber:position.lineNumber,startColumn:startColumn,endLineNumber:position.lineNumber,endColumn:endColumn});value=oldText!==item.completion.insertText}ctxMakesTextEdit.set(value);ctxHasInsertAndReplace.set(!Position.equals(item.editInsertEnd,item.editReplaceEnd));ctxCanResolve.set(Boolean(item.provider.resolveCompletionItem)||Boolean(item.completion.documentation)||item.completion.detail!==item.completion.label)})));this._toDispose.add(widget.onDetailsKeyDown((e=>{if(e.toKeyCodeChord().equals(new KeyCodeChord(true,false,false,false,33))||isMacintosh&&e.toKeyCodeChord().equals(new KeyCodeChord(false,false,false,true,33))){e.stopPropagation();return}if(!e.toKeyCodeChord().isModifierKey()){this.editor.focus()}})));return widget})));this._overtypingCapturer=this._toDispose.add(new IdleValue((()=>this._toDispose.add(new OvertypingCapturer(this.editor,this.model)))));this._alternatives=this._toDispose.add(new IdleValue((()=>this._toDispose.add(new SuggestAlternatives(this.editor,this._contextKeyService)))));this._toDispose.add(_instantiationService.createInstance(WordContextKey,editor2));this._toDispose.add(this.model.onDidTrigger((e=>{this.widget.value.showTriggered(e.auto,e.shy?250:50);this._lineSuffix.value=new LineSuffix(this.editor.getModel(),e.position)})));this._toDispose.add(this.model.onDidSuggest((e=>{if(e.triggerOptions.shy){return}let index=-1;for(const selector of this._selectors.itemsOrderedByPriorityDesc){index=selector.select(this.editor.getModel(),this.editor.getPosition(),e.completionModel.items);if(index!==-1){break}}if(index===-1){index=0}let noFocus=false;if(e.triggerOptions.auto){const options2=this.editor.getOption(116);if(options2.selectionMode==="never"||options2.selectionMode==="always"){noFocus=options2.selectionMode==="never"}else if(options2.selectionMode==="whenTriggerCharacter"){noFocus=e.triggerOptions.triggerKind!==1}else if(options2.selectionMode==="whenQuickSuggestion"){noFocus=e.triggerOptions.triggerKind===1&&!e.triggerOptions.refilter}}this.widget.value.showSuggestions(e.completionModel,index,e.isFrozen,e.triggerOptions.auto,noFocus)})));this._toDispose.add(this.model.onDidCancel((e=>{if(!e.retrigger){this.widget.value.hideWidget()}})));this._toDispose.add(this.editor.onDidBlurEditorWidget((()=>{if(!_sticky2){this.model.cancel();this.model.clear()}})));const acceptSuggestionsOnEnter=Context2.AcceptSuggestionsOnEnter.bindTo(_contextKeyService);const updateFromConfig=()=>{const acceptSuggestionOnEnter=this.editor.getOption(1);acceptSuggestionsOnEnter.set(acceptSuggestionOnEnter==="on"||acceptSuggestionOnEnter==="smart")};this._toDispose.add(this.editor.onDidChangeConfiguration((()=>updateFromConfig())));updateFromConfig()}dispose(){this._alternatives.dispose();this._toDispose.dispose();this.widget.dispose();this.model.dispose();this._lineSuffix.dispose();this._onWillInsertSuggestItem.dispose()}_insertSuggestion(event,flags){if(!event||!event.item){this._alternatives.value.reset();this.model.cancel();this.model.clear();return}if(!this.editor.hasModel()){return}const snippetController=SnippetController2.get(this.editor);if(!snippetController){return}this._onWillInsertSuggestItem.fire({item:event.item});const model=this.editor.getModel();const modelVersionNow=model.getAlternativeVersionId();const{item:item}=event;const tasks=[];const cts=new CancellationTokenSource;if(!(flags&1)){this.editor.pushUndoStop()}const info=this.getOverwriteInfo(item,Boolean(flags&8));this._memoryService.memorize(model,this.editor.getPosition(),item);const isResolved=item.isResolved;let _commandExectionDuration=-1;let _additionalEditsAppliedAsync=-1;if(Array.isArray(item.completion.additionalTextEdits)){this.model.cancel();const scrollState=StableEditorScrollState.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",item.completion.additionalTextEdits.map((edit=>EditOperation.replaceMove(Range.lift(edit.range),edit.text))));scrollState.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!isResolved){const sw=new StopWatch;let position;const docListener=model.onDidChangeContent((e=>{if(e.isFlush){cts.cancel();docListener.dispose();return}for(const change of e.changes){const thisPosition=Range.getEndPosition(change.range);if(!position||Position.isBefore(thisPosition,position)){position=thisPosition}}}));const oldFlags=flags;flags|=2;let didType=false;const typeListener=this.editor.onWillType((()=>{typeListener.dispose();didType=true;if(!(oldFlags&2)){this.editor.pushUndoStop()}}));tasks.push(item.resolve(cts.token).then((()=>{if(!item.completion.additionalTextEdits||cts.token.isCancellationRequested){return void 0}if(position&&item.completion.additionalTextEdits.some((edit=>Position.isBefore(position,Range.getStartPosition(edit.range))))){return false}if(didType){this.editor.pushUndoStop()}const scrollState=StableEditorScrollState.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.async",item.completion.additionalTextEdits.map((edit=>EditOperation.replaceMove(Range.lift(edit.range),edit.text))));scrollState.restoreRelativeVerticalPositionOfCursor(this.editor);if(didType||!(oldFlags&2)){this.editor.pushUndoStop()}return true})).then((applied=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",sw.elapsed(),applied);_additionalEditsAppliedAsync=applied===true?1:applied===false?0:-2})).finally((()=>{docListener.dispose();typeListener.dispose()})))}let{insertText:insertText}=item.completion;if(!(item.completion.insertTextRules&4)){insertText=SnippetParser.escape(insertText)}this.model.cancel();snippetController.insert(insertText,{overwriteBefore:info.overwriteBefore,overwriteAfter:info.overwriteAfter,undoStopBefore:false,undoStopAfter:false,adjustWhitespace:!(item.completion.insertTextRules&1),clipboardText:event.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value});if(!(flags&2)){this.editor.pushUndoStop()}if(item.completion.command){if(item.completion.command.id===TriggerSuggestAction.id){this.model.trigger({auto:true,retrigger:true})}else{const sw=new StopWatch;tasks.push(this._commandService.executeCommand(item.completion.command.id,...item.completion.command.arguments?[...item.completion.command.arguments]:[]).catch((e=>{if(item.completion.extensionId){onUnexpectedExternalError(e)}else{onUnexpectedError(e)}})).finally((()=>{_commandExectionDuration=sw.elapsed()})))}}if(flags&4){this._alternatives.value.set(event,(next=>{cts.cancel();while(model.canUndo()){if(modelVersionNow!==model.getAlternativeVersionId()){model.undo()}this._insertSuggestion(next,1|2|(flags&8?8:0));break}}))}this._alertCompletionItem(item);Promise.all(tasks).finally((()=>{this._reportSuggestionAcceptedTelemetry(item,model,isResolved,_commandExectionDuration,_additionalEditsAppliedAsync);this.model.clear();cts.dispose()}))}_reportSuggestionAcceptedTelemetry(item,model,itemResolved,commandExectionDuration,additionalEditsAppliedAsync){var _a6,_b3,_c2;if(Math.floor(Math.random()*100)===0){return}this._telemetryService.publicLog2("suggest.acceptedSuggestion",{extensionId:(_b3=(_a6=item.extensionId)===null||_a6===void 0?void 0:_a6.value)!==null&&_b3!==void 0?_b3:"unknown",providerId:(_c2=item.provider._debugDisplayName)!==null&&_c2!==void 0?_c2:"unknown",kind:item.completion.kind,basenameHash:hash(basename2(model.uri)).toString(16),languageId:model.getLanguageId(),fileExtension:extname2(model.uri),resolveInfo:!item.provider.resolveCompletionItem?-1:itemResolved?1:0,resolveDuration:item.resolveDuration,commandDuration:commandExectionDuration,additionalEditsAsync:additionalEditsAppliedAsync})}getOverwriteInfo(item,toggleMode){assertType(this.editor.hasModel());let replace=this.editor.getOption(116).insertMode==="replace";if(toggleMode){replace=!replace}const overwriteBefore=item.position.column-item.editStart.column;const overwriteAfter=(replace?item.editReplaceEnd.column:item.editInsertEnd.column)-item.position.column;const columnDelta=this.editor.getPosition().column-item.position.column;const suffixDelta=this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0;return{overwriteBefore:overwriteBefore+columnDelta,overwriteAfter:overwriteAfter+suffixDelta}}_alertCompletionItem(item){if(isNonEmptyArray(item.completion.additionalTextEdits)){const msg=localize("aria.alert.snippet","Accepting '{0}' made {1} additional edits",item.textLabel,item.completion.additionalTextEdits.length);alert(msg)}}triggerSuggest(onlyFrom,auto,noFilter){if(this.editor.hasModel()){this.model.trigger({auto:auto!==null&&auto!==void 0?auto:false,completionOptions:{providerFilter:onlyFrom,kindFilter:noFilter?new Set:void 0}});this.editor.revealPosition(this.editor.getPosition(),0);this.editor.focus()}}triggerSuggestAndAcceptBest(arg){if(!this.editor.hasModel()){return}const positionNow=this.editor.getPosition();const fallback2=()=>{if(positionNow.equals(this.editor.getPosition())){this._commandService.executeCommand(arg.fallback)}};const makesTextEdit=item=>{if(item.completion.insertTextRules&4||item.completion.additionalTextEdits){return true}const position=this.editor.getPosition();const startColumn=item.editStart.column;const endColumn=position.column;if(endColumn-startColumn!==item.completion.insertText.length){return true}const textNow=this.editor.getModel().getValueInRange({startLineNumber:position.lineNumber,startColumn:startColumn,endLineNumber:position.lineNumber,endColumn:endColumn});return textNow!==item.completion.insertText};Event.once(this.model.onDidTrigger)((_=>{const listener=[];Event.any(this.model.onDidTrigger,this.model.onDidCancel)((()=>{dispose(listener);fallback2()}),void 0,listener);this.model.onDidSuggest((({completionModel:completionModel})=>{dispose(listener);if(completionModel.items.length===0){fallback2();return}const index=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),completionModel.items);const item=completionModel.items[index];if(!makesTextEdit(item)){fallback2();return}this.editor.pushUndoStop();this._insertSuggestion({index:index,item:item,model:completionModel},4|1|2)}),void 0,listener)}));this.model.trigger({auto:false,shy:true});this.editor.revealPosition(positionNow,0);this.editor.focus()}acceptSelectedSuggestion(keepAlternativeSuggestions,alternativeOverwriteConfig){const item=this.widget.value.getFocusedItem();let flags=0;if(keepAlternativeSuggestions){flags|=4}if(alternativeOverwriteConfig){flags|=8}this._insertSuggestion(item,flags)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel();this.model.clear();this.widget.value.hideWidget()}focusSuggestion(){this.widget.value.focusSelected()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.value.forceRenderingAbove()}stopForceRenderingAbove(){if(!this.widget.isInitialized){return}this.widget.value.stopForceRenderingAbove()}registerSelector(selector){return this._selectors.register(selector)}};SuggestController.ID="editor.contrib.suggestController";SuggestController=SuggestController_1=__decorate106([__param99(1,ISuggestMemoryService),__param99(2,ICommandService),__param99(3,IContextKeyService),__param99(4,IInstantiationService),__param99(5,ILogService),__param99(6,ITelemetryService)],SuggestController);var PriorityRegistry=class{constructor(prioritySelector){this.prioritySelector=prioritySelector;this._items=new Array}register(value){if(this._items.indexOf(value)!==-1){throw new Error("Value is already registered")}this._items.push(value);this._items.sort(((s1,s2)=>this.prioritySelector(s2)-this.prioritySelector(s1)));return{dispose:()=>{const idx=this._items.indexOf(value);if(idx>=0){this._items.splice(idx,1)}}}}get itemsOrderedByPriorityDesc(){return this._items}};var TriggerSuggestAction=class extends EditorAction{constructor(){super({id:TriggerSuggestAction.id,label:localize("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:ContextKeyExpr.and(EditorContextKeys.writable,EditorContextKeys.hasCompletionItemProvider,Context2.Visible.toNegated()),kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:2048|10,secondary:[2048|39],mac:{primary:256|10,secondary:[512|9,2048|39]},weight:100}})}run(_accessor,editor2,args){const controller=SuggestController.get(editor2);if(!controller){return}let auto;if(args&&typeof args==="object"){if(args.auto===true){auto=true}}controller.triggerSuggest(void 0,auto,void 0)}};TriggerSuggestAction.id="editor.action.triggerSuggest";registerEditorContribution(SuggestController.ID,SuggestController,2);registerEditorAction(TriggerSuggestAction);var weight2=100+90;var SuggestCommand=EditorCommand.bindToContribution(SuggestController.get);registerEditorCommand(new SuggestCommand({id:"acceptSelectedSuggestion",precondition:ContextKeyExpr.and(Context2.Visible,Context2.HasFocusedSuggestion),handler(x){x.acceptSelectedSuggestion(true,false)},kbOpts:[{primary:2,kbExpr:ContextKeyExpr.and(Context2.Visible,EditorContextKeys.textInputFocus),weight:weight2},{primary:3,kbExpr:ContextKeyExpr.and(Context2.Visible,EditorContextKeys.textInputFocus,Context2.AcceptSuggestionsOnEnter,Context2.MakesTextEdit),weight:weight2}],menuOpts:[{menuId:suggestWidgetStatusbarMenu,title:localize("accept.insert","Insert"),group:"left",order:1,when:Context2.HasInsertAndReplaceRange.toNegated()},{menuId:suggestWidgetStatusbarMenu,title:localize("accept.insert","Insert"),group:"left",order:1,when:ContextKeyExpr.and(Context2.HasInsertAndReplaceRange,Context2.InsertMode.isEqualTo("insert"))},{menuId:suggestWidgetStatusbarMenu,title:localize("accept.replace","Replace"),group:"left",order:1,when:ContextKeyExpr.and(Context2.HasInsertAndReplaceRange,Context2.InsertMode.isEqualTo("replace"))}]}));registerEditorCommand(new SuggestCommand({id:"acceptAlternativeSelectedSuggestion",precondition:ContextKeyExpr.and(Context2.Visible,EditorContextKeys.textInputFocus,Context2.HasFocusedSuggestion),kbOpts:{weight:weight2,kbExpr:EditorContextKeys.textInputFocus,primary:1024|3,secondary:[1024|2]},handler(x){x.acceptSelectedSuggestion(false,true)},menuOpts:[{menuId:suggestWidgetStatusbarMenu,group:"left",order:2,when:ContextKeyExpr.and(Context2.HasInsertAndReplaceRange,Context2.InsertMode.isEqualTo("insert")),title:localize("accept.replace","Replace")},{menuId:suggestWidgetStatusbarMenu,group:"left",order:2,when:ContextKeyExpr.and(Context2.HasInsertAndReplaceRange,Context2.InsertMode.isEqualTo("replace")),title:localize("accept.insert","Insert")}]}));CommandsRegistry.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion");registerEditorCommand(new SuggestCommand({id:"hideSuggestWidget",precondition:Context2.Visible,handler:x=>x.cancelSuggestWidget(),kbOpts:{weight:weight2,kbExpr:EditorContextKeys.textInputFocus,primary:9,secondary:[1024|9]}}));registerEditorCommand(new SuggestCommand({id:"selectNextSuggestion",precondition:ContextKeyExpr.and(Context2.Visible,ContextKeyExpr.or(Context2.MultipleSuggestions,Context2.HasFocusedSuggestion.negate())),handler:c=>c.selectNextSuggestion(),kbOpts:{weight:weight2,kbExpr:EditorContextKeys.textInputFocus,primary:18,secondary:[2048|18],mac:{primary:18,secondary:[2048|18,256|44]}}}));registerEditorCommand(new SuggestCommand({id:"selectNextPageSuggestion",precondition:ContextKeyExpr.and(Context2.Visible,ContextKeyExpr.or(Context2.MultipleSuggestions,Context2.HasFocusedSuggestion.negate())),handler:c=>c.selectNextPageSuggestion(),kbOpts:{weight:weight2,kbExpr:EditorContextKeys.textInputFocus,primary:12,secondary:[2048|12]}}));registerEditorCommand(new SuggestCommand({id:"selectLastSuggestion",precondition:ContextKeyExpr.and(Context2.Visible,ContextKeyExpr.or(Context2.MultipleSuggestions,Context2.HasFocusedSuggestion.negate())),handler:c=>c.selectLastSuggestion()}));registerEditorCommand(new SuggestCommand({id:"selectPrevSuggestion",precondition:ContextKeyExpr.and(Context2.Visible,ContextKeyExpr.or(Context2.MultipleSuggestions,Context2.HasFocusedSuggestion.negate())),handler:c=>c.selectPrevSuggestion(),kbOpts:{weight:weight2,kbExpr:EditorContextKeys.textInputFocus,primary:16,secondary:[2048|16],mac:{primary:16,secondary:[2048|16,256|46]}}}));registerEditorCommand(new SuggestCommand({id:"selectPrevPageSuggestion",precondition:ContextKeyExpr.and(Context2.Visible,ContextKeyExpr.or(Context2.MultipleSuggestions,Context2.HasFocusedSuggestion.negate())),handler:c=>c.selectPrevPageSuggestion(),kbOpts:{weight:weight2,kbExpr:EditorContextKeys.textInputFocus,primary:11,secondary:[2048|11]}}));registerEditorCommand(new SuggestCommand({id:"selectFirstSuggestion",precondition:ContextKeyExpr.and(Context2.Visible,ContextKeyExpr.or(Context2.MultipleSuggestions,Context2.HasFocusedSuggestion.negate())),handler:c=>c.selectFirstSuggestion()}));registerEditorCommand(new SuggestCommand({id:"focusSuggestion",precondition:ContextKeyExpr.and(Context2.Visible,Context2.HasFocusedSuggestion.negate()),handler:x=>x.focusSuggestion(),kbOpts:{weight:weight2,kbExpr:EditorContextKeys.textInputFocus,primary:2048|10,secondary:[2048|39],mac:{primary:256|10,secondary:[2048|39]}}}));registerEditorCommand(new SuggestCommand({id:"focusAndAcceptSuggestion",precondition:ContextKeyExpr.and(Context2.Visible,Context2.HasFocusedSuggestion.negate()),handler:c=>{c.focusSuggestion();c.acceptSelectedSuggestion(true,false)}}));registerEditorCommand(new SuggestCommand({id:"toggleSuggestionDetails",precondition:ContextKeyExpr.and(Context2.Visible,Context2.HasFocusedSuggestion),handler:x=>x.toggleSuggestionDetails(),kbOpts:{weight:weight2,kbExpr:EditorContextKeys.textInputFocus,primary:2048|10,secondary:[2048|39],mac:{primary:256|10,secondary:[2048|39]}},menuOpts:[{menuId:suggestWidgetStatusbarMenu,group:"right",order:1,when:ContextKeyExpr.and(Context2.DetailsVisible,Context2.CanResolve),title:localize("detail.more","show less")},{menuId:suggestWidgetStatusbarMenu,group:"right",order:1,when:ContextKeyExpr.and(Context2.DetailsVisible.toNegated(),Context2.CanResolve),title:localize("detail.less","show more")}]}));registerEditorCommand(new SuggestCommand({id:"toggleExplainMode",precondition:Context2.Visible,handler:x=>x.toggleExplainMode(),kbOpts:{weight:100,primary:2048|90}}));registerEditorCommand(new SuggestCommand({id:"toggleSuggestionFocus",precondition:Context2.Visible,handler:x=>x.toggleSuggestionFocus(),kbOpts:{weight:weight2,kbExpr:EditorContextKeys.textInputFocus,primary:2048|512|10,mac:{primary:256|512|10}}}));registerEditorCommand(new SuggestCommand({id:"insertBestCompletion",precondition:ContextKeyExpr.and(EditorContextKeys.textInputFocus,ContextKeyExpr.equals("config.editor.tabCompletion","on"),WordContextKey.AtEnd,Context2.Visible.toNegated(),SuggestAlternatives.OtherSuggestions.toNegated(),SnippetController2.InSnippetMode.toNegated()),handler:(x,arg)=>{x.triggerSuggestAndAcceptBest(isObject(arg)?Object.assign({fallback:"tab"},arg):{fallback:"tab"})},kbOpts:{weight:weight2,primary:2}}));registerEditorCommand(new SuggestCommand({id:"insertNextSuggestion",precondition:ContextKeyExpr.and(EditorContextKeys.textInputFocus,ContextKeyExpr.equals("config.editor.tabCompletion","on"),SuggestAlternatives.OtherSuggestions,Context2.Visible.toNegated(),SnippetController2.InSnippetMode.toNegated()),handler:x=>x.acceptNextSuggestion(),kbOpts:{weight:weight2,kbExpr:EditorContextKeys.textInputFocus,primary:2}}));registerEditorCommand(new SuggestCommand({id:"insertPrevSuggestion",precondition:ContextKeyExpr.and(EditorContextKeys.textInputFocus,ContextKeyExpr.equals("config.editor.tabCompletion","on"),SuggestAlternatives.OtherSuggestions,Context2.Visible.toNegated(),SnippetController2.InSnippetMode.toNegated()),handler:x=>x.acceptPrevSuggestion(),kbOpts:{weight:weight2,kbExpr:EditorContextKeys.textInputFocus,primary:1024|2}}));registerEditorAction(class extends EditorAction{constructor(){super({id:"editor.action.resetSuggestSize",label:localize("suggest.reset.label","Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(_accessor,editor2){var _a6;(_a6=SuggestController.get(editor2))===null||_a6===void 0?void 0:_a6.resetWidgetSize()}});init_observable();init_arrays();var SuggestWidgetAdaptor=class extends Disposable{get selectedItem(){return this._selectedItem}constructor(editor2,suggestControllerPreselector,checkModelVersion,onWillAccept){super();this.editor=editor2;this.suggestControllerPreselector=suggestControllerPreselector;this.checkModelVersion=checkModelVersion;this.onWillAccept=onWillAccept;this.isSuggestWidgetVisible=false;this.isShiftKeyPressed=false;this._isActive=false;this._currentSuggestItemInfo=void 0;this._selectedItem=observableValue("suggestWidgetInlineCompletionProvider.selectedItem",void 0);this._register(editor2.onKeyDown((e=>{if(e.shiftKey&&!this.isShiftKeyPressed){this.isShiftKeyPressed=true;this.update(this._isActive)}})));this._register(editor2.onKeyUp((e=>{if(e.shiftKey&&this.isShiftKeyPressed){this.isShiftKeyPressed=false;this.update(this._isActive)}})));const suggestController=SuggestController.get(this.editor);if(suggestController){this._register(suggestController.registerSelector({priority:100,select:(model,pos,suggestItems)=>{var _a6;transaction((tx=>this.checkModelVersion(tx)));const textModel=this.editor.getModel();if(!textModel){return-1}const itemToPreselect=(_a6=this.suggestControllerPreselector())===null||_a6===void 0?void 0:_a6.removeCommonPrefix(textModel);if(!itemToPreselect){return-1}const position=Position.lift(pos);const candidates=suggestItems.map(((suggestItem,index)=>{const suggestItemInfo=SuggestItemInfo.fromSuggestion(suggestController,textModel,position,suggestItem,this.isShiftKeyPressed);const suggestItemTextEdit=suggestItemInfo.toSingleTextEdit().removeCommonPrefix(textModel);const valid=itemToPreselect.augments(suggestItemTextEdit);return{index:index,valid:valid,prefixLength:suggestItemTextEdit.text.length,suggestItem:suggestItem}})).filter((item=>item&&item.valid&&item.prefixLength>0));const result=findMaxBy(candidates,compareBy((s=>s.prefixLength),numberComparator));return result?result.index:-1}}));let isBoundToSuggestWidget=false;const bindToSuggestWidget=()=>{if(isBoundToSuggestWidget){return}isBoundToSuggestWidget=true;this._register(suggestController.widget.value.onDidShow((()=>{this.isSuggestWidgetVisible=true;this.update(true)})));this._register(suggestController.widget.value.onDidHide((()=>{this.isSuggestWidgetVisible=false;this.update(false)})));this._register(suggestController.widget.value.onDidFocus((()=>{this.isSuggestWidgetVisible=true;this.update(true)})))};this._register(Event.once(suggestController.model.onDidTrigger)((e=>{bindToSuggestWidget()})));this._register(suggestController.onWillInsertSuggestItem((e=>{const position=this.editor.getPosition();const model=this.editor.getModel();if(!position||!model){return void 0}const suggestItemInfo=SuggestItemInfo.fromSuggestion(suggestController,model,position,e.item,this.isShiftKeyPressed);this.onWillAccept(suggestItemInfo)})))}this.update(this._isActive)}update(newActive){const newInlineCompletion=this.getSuggestItemInfo();if(this._isActive!==newActive||!suggestItemInfoEquals(this._currentSuggestItemInfo,newInlineCompletion)){this._isActive=newActive;this._currentSuggestItemInfo=newInlineCompletion;transaction((tx=>{this.checkModelVersion(tx);this._selectedItem.set(this._isActive?this._currentSuggestItemInfo:void 0,tx)}))}}getSuggestItemInfo(){const suggestController=SuggestController.get(this.editor);if(!suggestController||!this.isSuggestWidgetVisible){return void 0}const focusedItem=suggestController.widget.value.getFocusedItem();const position=this.editor.getPosition();const model=this.editor.getModel();if(!focusedItem||!position||!model){return void 0}return SuggestItemInfo.fromSuggestion(suggestController,model,position,focusedItem.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){const suggestController=SuggestController.get(this.editor);suggestController===null||suggestController===void 0?void 0:suggestController.stopForceRenderingAbove()}forceRenderingAbove(){const suggestController=SuggestController.get(this.editor);suggestController===null||suggestController===void 0?void 0:suggestController.forceRenderingAbove()}};var SuggestItemInfo=class{static fromSuggestion(suggestController,model,position,item,toggleMode){let{insertText:insertText}=item.completion;let isSnippetText=false;if(item.completion.insertTextRules&4){const snippet=(new SnippetParser).parse(insertText);if(snippet.children.length<100){SnippetSession.adjustWhitespace(model,position,true,snippet)}insertText=snippet.toString();isSnippetText=true}const info=suggestController.getOverwriteInfo(item,toggleMode);return new SuggestItemInfo(Range.fromPositions(position.delta(0,-info.overwriteBefore),position.delta(0,Math.max(info.overwriteAfter,0))),insertText,item.completion.kind,isSnippetText)}constructor(range2,insertText,completionItemKind,isSnippetText){this.range=range2;this.insertText=insertText;this.completionItemKind=completionItemKind;this.isSnippetText=isSnippetText}equals(other){return this.range.equalsRange(other.range)&&this.insertText===other.insertText&&this.completionItemKind===other.completionItemKind&&this.isSnippetText===other.isSnippetText}toSelectedSuggestionInfo(){return new SelectedSuggestionInfo(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new SingleTextEdit(this.range,this.insertText)}};function suggestItemInfoEquals(a,b){if(a===b){return true}if(!a||!b){return false}return a.equals(b)}init_nls();init_audioCueService();init_commands();init_configuration();init_contextkey();init_instantiation();init_keybinding();var __decorate107=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param100=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var InlineCompletionsController_1;var InlineCompletionsController=InlineCompletionsController_1=class InlineCompletionsController2 extends Disposable{static get(editor2){return editor2.getContribution(InlineCompletionsController_1.ID)}constructor(editor2,instantiationService,contextKeyService,configurationService,commandService,debounceService,languageFeaturesService,audioCueService,_keybindingService){super();this.editor=editor2;this.instantiationService=instantiationService;this.contextKeyService=contextKeyService;this.configurationService=configurationService;this.commandService=commandService;this.debounceService=debounceService;this.languageFeaturesService=languageFeaturesService;this.audioCueService=audioCueService;this._keybindingService=_keybindingService;this.model=disposableObservableValue("inlineCompletionModel",void 0);this.textModelVersionId=observableValue("textModelVersionId",-1);this.cursorPosition=observableValue("cursorPosition",new Position(1,1));this.suggestWidgetAdaptor=this._register(new SuggestWidgetAdaptor(this.editor,(()=>{var _a6,_b3;return(_b3=(_a6=this.model.get())===null||_a6===void 0?void 0:_a6.selectedInlineCompletion.get())===null||_b3===void 0?void 0:_b3.toSingleTextEdit(void 0)}),(tx=>this.updateObservables(tx,VersionIdChangeReason.Other)),(item=>{transaction((tx=>{var _a6;this.updateObservables(tx,VersionIdChangeReason.Other);(_a6=this.model.get())===null||_a6===void 0?void 0:_a6.handleSuggestAccepted(item)}))})));this._enabled=observableFromEvent(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(61).enabled));this.ghostTextWidget=this._register(this.instantiationService.createInstance(GhostTextWidget,this.editor,{ghostText:this.model.map(((v,reader)=>v===null||v===void 0?void 0:v.ghostText.read(reader))),minReservedLineCount:constObservable(0),targetTextModel:this.model.map((v=>v===null||v===void 0?void 0:v.textModel))}));this._debounceValue=this.debounceService.for(this.languageFeaturesService.inlineCompletionsProvider,"InlineCompletionsDebounce",{min:50,max:50});this._register(new InlineCompletionContextKeys(this.contextKeyService,this.model));this._register(Event.runAndSubscribe(editor2.onDidChangeModel,(()=>transaction((tx=>{this.model.set(void 0,tx);this.updateObservables(tx,VersionIdChangeReason.Other);const textModel=editor2.getModel();if(textModel){const model=instantiationService.createInstance(InlineCompletionsModel,textModel,this.suggestWidgetAdaptor.selectedItem,this.cursorPosition,this.textModelVersionId,this._debounceValue,observableFromEvent(editor2.onDidChangeConfiguration,(()=>editor2.getOption(116).preview)),observableFromEvent(editor2.onDidChangeConfiguration,(()=>editor2.getOption(116).previewMode)),observableFromEvent(editor2.onDidChangeConfiguration,(()=>editor2.getOption(61).mode)),this._enabled);this.model.set(model,tx)}})))));const getReason=e=>{var _a6;if(e.isUndoing){return VersionIdChangeReason.Undo}if(e.isRedoing){return VersionIdChangeReason.Redo}if((_a6=this.model.get())===null||_a6===void 0?void 0:_a6.isAcceptingPartially){return VersionIdChangeReason.AcceptWord}return VersionIdChangeReason.Other};this._register(editor2.onDidChangeModelContent((e=>transaction((tx=>this.updateObservables(tx,getReason(e)))))));this._register(editor2.onDidChangeCursorPosition((e=>transaction((tx=>{var _a6;this.updateObservables(tx,VersionIdChangeReason.Other);if(e.reason===3||e.source==="api"){(_a6=this.model.get())===null||_a6===void 0?void 0:_a6.stop(tx)}})))));this._register(editor2.onDidType((()=>transaction((tx=>{var _a6;this.updateObservables(tx,VersionIdChangeReason.Other);if(this._enabled.get()){(_a6=this.model.get())===null||_a6===void 0?void 0:_a6.trigger(tx)}})))));this._register(this.commandService.onDidExecuteCommand((e=>{const commands=new Set([CoreEditingCommands.Tab.id,CoreEditingCommands.DeleteLeft.id,CoreEditingCommands.DeleteRight.id,inlineSuggestCommitId,"acceptSelectedSuggestion"]);if(commands.has(e.commandId)&&editor2.hasTextFocus()&&this._enabled.get()){transaction((tx=>{var _a6;(_a6=this.model.get())===null||_a6===void 0?void 0:_a6.trigger(tx)}))}})));this._register(this.editor.onDidBlurEditorWidget((()=>{if(this.contextKeyService.getContextKeyValue("accessibleViewIsShown")||this.configurationService.getValue("editor.inlineSuggest.keepOnBlur")||editor2.getOption(61).keepOnBlur){return}if(InlineSuggestionHintsContentWidget.dropDownVisible){return}transaction((tx=>{var _a6;(_a6=this.model.get())===null||_a6===void 0?void 0:_a6.stop(tx)}))})));this._register(autorun((reader=>{var _a6;const state=(_a6=this.model.read(reader))===null||_a6===void 0?void 0:_a6.state.read(reader);if(state===null||state===void 0?void 0:state.suggestItem){if(state.ghostText.lineCount>=2){this.suggestWidgetAdaptor.forceRenderingAbove()}}else{this.suggestWidgetAdaptor.stopForceRenderingAbove()}})));this._register(toDisposable((()=>{this.suggestWidgetAdaptor.stopForceRenderingAbove()})));let lastInlineCompletionId=void 0;this._register(autorun((reader=>{const model=this.model.read(reader);const state=model===null||model===void 0?void 0:model.state.read(reader);if(!model||!state||!state.inlineCompletion){lastInlineCompletionId=void 0;return}if(state.inlineCompletion.semanticId!==lastInlineCompletionId){lastInlineCompletionId=state.inlineCompletion.semanticId;const lineText=model.textModel.getLineContent(state.ghostText.lineNumber);this.audioCueService.playAudioCue(AudioCue.inlineSuggestion).then((()=>{if(this.editor.getOption(7)){this.provideScreenReaderUpdate(state.ghostText.renderForScreenReader(lineText))}}))}})));this._register(new InlineCompletionsHintsWidget(this.editor,this.model,this.instantiationService));this._register(this.configurationService.onDidChangeConfiguration((e=>{if(e.affectsConfiguration("accessibility.verbosity.inlineCompletions")){this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this.configurationService.getValue("accessibility.verbosity.inlineCompletions")})}})));this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this.configurationService.getValue("accessibility.verbosity.inlineCompletions")})}provideScreenReaderUpdate(content){const accessibleViewShowing=this.contextKeyService.getContextKeyValue("accessibleViewIsShown");const accessibleViewKeybinding=this._keybindingService.lookupKeybinding("editor.action.accessibleView");let hint;if(!accessibleViewShowing&&accessibleViewKeybinding&&this.editor.getOption(146)){hint=localize("showAccessibleViewHint","Inspect this in the accessible view ({0})",accessibleViewKeybinding.getAriaLabel())}hint?alert(content+", "+hint):alert(content)}updateObservables(tx,changeReason){var _a6,_b3;const newModel=this.editor.getModel();this.textModelVersionId.set((_a6=newModel===null||newModel===void 0?void 0:newModel.getVersionId())!==null&&_a6!==void 0?_a6:-1,tx,changeReason);this.cursorPosition.set((_b3=this.editor.getPosition())!==null&&_b3!==void 0?_b3:new Position(1,1),tx)}shouldShowHoverAt(range2){var _a6;const ghostText=(_a6=this.model.get())===null||_a6===void 0?void 0:_a6.ghostText.get();if(ghostText){return ghostText.parts.some((p=>range2.containsPosition(new Position(ghostText.lineNumber,p.column))))}return false}shouldShowHoverAtViewZone(viewZoneId){return this.ghostTextWidget.ownsViewZone(viewZoneId)}};InlineCompletionsController.ID="editor.contrib.inlineCompletionsController";InlineCompletionsController=InlineCompletionsController_1=__decorate107([__param100(1,IInstantiationService),__param100(2,IContextKeyService),__param100(3,IConfigurationService),__param100(4,ICommandService),__param100(5,ILanguageFeatureDebounceService),__param100(6,ILanguageFeaturesService),__param100(7,IAudioCueService),__param100(8,IKeybindingService)],InlineCompletionsController);init_nls();init_actions2();init_configuration();init_contextkey();var __awaiter77=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var ShowNextInlineSuggestionAction=class extends EditorAction{constructor(){super({id:ShowNextInlineSuggestionAction.ID,label:localize("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:ContextKeyExpr.and(EditorContextKeys.writable,InlineCompletionContextKeys.inlineSuggestionVisible),kbOpts:{weight:100,primary:512|94}})}run(accessor,editor2){var _a6;return __awaiter77(this,void 0,void 0,(function*(){const controller=InlineCompletionsController.get(editor2);(_a6=controller===null||controller===void 0?void 0:controller.model.get())===null||_a6===void 0?void 0:_a6.next()}))}};ShowNextInlineSuggestionAction.ID=showNextInlineSuggestionActionId;var ShowPreviousInlineSuggestionAction=class extends EditorAction{constructor(){super({id:ShowPreviousInlineSuggestionAction.ID,label:localize("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:ContextKeyExpr.and(EditorContextKeys.writable,InlineCompletionContextKeys.inlineSuggestionVisible),kbOpts:{weight:100,primary:512|92}})}run(accessor,editor2){var _a6;return __awaiter77(this,void 0,void 0,(function*(){const controller=InlineCompletionsController.get(editor2);(_a6=controller===null||controller===void 0?void 0:controller.model.get())===null||_a6===void 0?void 0:_a6.previous()}))}};ShowPreviousInlineSuggestionAction.ID=showPreviousInlineSuggestionActionId;var TriggerInlineSuggestionAction=class extends EditorAction{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:localize("action.inlineSuggest.trigger","Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:EditorContextKeys.writable})}run(accessor,editor2){var _a6;return __awaiter77(this,void 0,void 0,(function*(){const controller=InlineCompletionsController.get(editor2);(_a6=controller===null||controller===void 0?void 0:controller.model.get())===null||_a6===void 0?void 0:_a6.triggerExplicitly()}))}};var AcceptNextWordOfInlineCompletion=class extends EditorAction{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:localize("action.inlineSuggest.acceptNextWord","Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:ContextKeyExpr.and(EditorContextKeys.writable,InlineCompletionContextKeys.inlineSuggestionVisible),kbOpts:{weight:100+1,primary:2048|17,kbExpr:ContextKeyExpr.and(EditorContextKeys.writable,InlineCompletionContextKeys.inlineSuggestionVisible)},menuOpts:[{menuId:MenuId.InlineSuggestionToolbar,title:localize("acceptWord","Accept Word"),group:"primary",order:2}]})}run(accessor,editor2){var _a6;return __awaiter77(this,void 0,void 0,(function*(){const controller=InlineCompletionsController.get(editor2);yield(_a6=controller===null||controller===void 0?void 0:controller.model.get())===null||_a6===void 0?void 0:_a6.acceptNextWord(controller.editor)}))}};var AcceptNextLineOfInlineCompletion=class extends EditorAction{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:localize("action.inlineSuggest.acceptNextLine","Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:ContextKeyExpr.and(EditorContextKeys.writable,InlineCompletionContextKeys.inlineSuggestionVisible),kbOpts:{weight:100+1},menuOpts:[{menuId:MenuId.InlineSuggestionToolbar,title:localize("acceptLine","Accept Line"),group:"secondary",order:2}]})}run(accessor,editor2){var _a6;return __awaiter77(this,void 0,void 0,(function*(){const controller=InlineCompletionsController.get(editor2);yield(_a6=controller===null||controller===void 0?void 0:controller.model.get())===null||_a6===void 0?void 0:_a6.acceptNextLine(controller.editor)}))}};var AcceptInlineCompletion=class extends EditorAction{constructor(){super({id:inlineSuggestCommitId,label:localize("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:InlineCompletionContextKeys.inlineSuggestionVisible,menuOpts:[{menuId:MenuId.InlineSuggestionToolbar,title:localize("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:ContextKeyExpr.and(InlineCompletionContextKeys.inlineSuggestionVisible,EditorContextKeys.tabMovesFocus.toNegated(),InlineCompletionContextKeys.inlineSuggestionHasIndentationLessThanTabSize,Context2.Visible.toNegated(),EditorContextKeys.hoverFocused.toNegated())}})}run(accessor,editor2){var _a6;return __awaiter77(this,void 0,void 0,(function*(){const controller=InlineCompletionsController.get(editor2);if(controller){(_a6=controller.model.get())===null||_a6===void 0?void 0:_a6.accept(controller.editor);controller.editor.focus()}}))}};var HideInlineCompletion=class extends EditorAction{constructor(){super({id:HideInlineCompletion.ID,label:localize("action.inlineSuggest.hide","Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:InlineCompletionContextKeys.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}run(accessor,editor2){return __awaiter77(this,void 0,void 0,(function*(){const controller=InlineCompletionsController.get(editor2);transaction((tx=>{var _a6;(_a6=controller===null||controller===void 0?void 0:controller.model.get())===null||_a6===void 0?void 0:_a6.stop(tx)}))}))}};HideInlineCompletion.ID="editor.action.inlineSuggest.hide";var ToggleAlwaysShowInlineSuggestionToolbar=class extends Action2{constructor(){super({id:ToggleAlwaysShowInlineSuggestionToolbar.ID,title:localize("action.inlineSuggest.alwaysShowToolbar","Always Show Toolbar"),f1:false,precondition:void 0,menu:[{id:MenuId.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:ContextKeyExpr.equals("config.editor.inlineSuggest.showToolbar","always")})}run(accessor,editor2){return __awaiter77(this,void 0,void 0,(function*(){const configService=accessor.get(IConfigurationService);const currentValue=configService.getValue("editor.inlineSuggest.showToolbar");const newValue=currentValue==="always"?"onHover":"always";configService.updateValue("editor.inlineSuggest.showToolbar",newValue)}))}};ToggleAlwaysShowInlineSuggestionToolbar.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";init_dom();init_htmlContent();init_lifecycle();init_observable();init_range();init_language();init_nls();init_accessibility();init_instantiation();init_opener();init_telemetry();var __decorate108=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param101=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var InlineCompletionsHover=class{constructor(owner,range2,controller){this.owner=owner;this.range=range2;this.controller=controller}isValidForHoverAnchor(anchor){return anchor.type===1&&this.range.startColumn<=anchor.range.startColumn&&this.range.endColumn>=anchor.range.endColumn}};var InlineCompletionsHoverParticipant=class InlineCompletionsHoverParticipant2{constructor(_editor,_languageService,_openerService,accessibilityService,_instantiationService,_telemetryService){this._editor=_editor;this._languageService=_languageService;this._openerService=_openerService;this.accessibilityService=accessibilityService;this._instantiationService=_instantiationService;this._telemetryService=_telemetryService;this.hoverOrdinal=4}suggestHoverAnchor(mouseEvent){const controller=InlineCompletionsController.get(this._editor);if(!controller){return null}const target=mouseEvent.target;if(target.type===8){const viewZoneData=target.detail;if(controller.shouldShowHoverAtViewZone(viewZoneData.viewZoneId)){return new HoverForeignElementAnchor(1e3,this,Range.fromPositions(this._editor.getModel().validatePosition(viewZoneData.positionBefore||viewZoneData.position)),mouseEvent.event.posx,mouseEvent.event.posy,false)}}if(target.type===7){if(controller.shouldShowHoverAt(target.range)){return new HoverForeignElementAnchor(1e3,this,target.range,mouseEvent.event.posx,mouseEvent.event.posy,false)}}if(target.type===6){const mightBeForeignElement=target.detail.mightBeForeignElement;if(mightBeForeignElement&&controller.shouldShowHoverAt(target.range)){return new HoverForeignElementAnchor(1e3,this,target.range,mouseEvent.event.posx,mouseEvent.event.posy,false)}}return null}computeSync(anchor,lineDecorations){if(this._editor.getOption(61).showToolbar==="always"){return[]}const controller=InlineCompletionsController.get(this._editor);if(controller&&controller.shouldShowHoverAt(anchor.range)){return[new InlineCompletionsHover(this,anchor.range,controller)]}return[]}renderHoverParts(context,hoverParts){const disposableStore=new DisposableStore;const part=hoverParts[0];this._telemetryService.publicLog2("inlineCompletionHover.shown");if(this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(7)){this.renderScreenReaderText(context,part,disposableStore)}const model=part.controller.model.get();const w=this._instantiationService.createInstance(InlineSuggestionHintsContentWidget,this._editor,false,constObservable(null),model.selectedInlineCompletionIndex,model.inlineCompletionsCount,model.selectedInlineCompletion.map((v=>{var _a6;return(_a6=v===null||v===void 0?void 0:v.inlineCompletion.source.inlineCompletions.commands)!==null&&_a6!==void 0?_a6:[]})));context.fragment.appendChild(w.getDomNode());model.triggerExplicitly();disposableStore.add(w);return disposableStore}renderScreenReaderText(context,part,disposableStore){const $15=$;const markdownHoverElement=$15("div.hover-row.markdown-hover");const hoverContentsElement=append(markdownHoverElement,$15("div.hover-contents",{["aria-live"]:"assertive"}));const renderer=disposableStore.add(new MarkdownRenderer({editor:this._editor},this._languageService,this._openerService));const render=code=>{disposableStore.add(renderer.onDidRenderAsync((()=>{hoverContentsElement.className="hover-contents code-hover-contents";context.onContentsChanged()})));const inlineSuggestionAvailable=localize("inlineSuggestionFollows","Suggestion:");const renderedContents=disposableStore.add(renderer.render((new MarkdownString).appendText(inlineSuggestionAvailable).appendCodeblock("text",code)));hoverContentsElement.replaceChildren(renderedContents.element)};disposableStore.add(autorun((reader=>{var _a6;const ghostText=(_a6=part.controller.model.read(reader))===null||_a6===void 0?void 0:_a6.ghostText.read(reader);if(ghostText){const lineText=this._editor.getModel().getLineContent(ghostText.lineNumber);render(ghostText.renderForScreenReader(lineText))}else{reset(hoverContentsElement)}})));context.fragment.appendChild(markdownHoverElement)}};InlineCompletionsHoverParticipant=__decorate108([__param101(1,ILanguageService),__param101(2,IOpenerService),__param101(3,IAccessibilityService),__param101(4,IInstantiationService),__param101(5,ITelemetryService)],InlineCompletionsHoverParticipant);init_actions2();registerEditorContribution(InlineCompletionsController.ID,InlineCompletionsController,3);registerEditorAction(TriggerInlineSuggestionAction);registerEditorAction(ShowNextInlineSuggestionAction);registerEditorAction(ShowPreviousInlineSuggestionAction);registerEditorAction(AcceptNextWordOfInlineCompletion);registerEditorAction(AcceptNextLineOfInlineCompletion);registerEditorAction(AcceptInlineCompletion);registerEditorAction(HideInlineCompletion);registerAction2(ToggleAlwaysShowInlineSuggestionToolbar);HoverParticipantRegistry.register(InlineCompletionsHoverParticipant);init_lifecycle();init_strings();init_editorExtensions();init_shiftCommand();init_editOperation();init_range();init_selection();init_editorContextKeys();init_languageConfigurationRegistry();init_model2();function getSpaceCnt(str,tabSize){let spacesCnt=0;for(let i=0;i<str.length;i++){if(str.charAt(i)==="\t"){spacesCnt+=tabSize}else{spacesCnt++}}return spacesCnt}function generateIndent(spacesCnt,tabSize,insertSpaces){spacesCnt=spacesCnt<0?0:spacesCnt;let result="";if(!insertSpaces){const tabsCnt=Math.floor(spacesCnt/tabSize);spacesCnt=spacesCnt%tabSize;for(let i=0;i<tabsCnt;i++){result+="\t"}}for(let i=0;i<spacesCnt;i++){result+=" "}return result}init_nls();init_quickInput();init_indentation();init_autoIndent();var __decorate109=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param102=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};function getReindentEditOperations(model,languageConfigurationService,startLineNumber,endLineNumber,inheritedIndent){if(model.getLineCount()===1&&model.getLineMaxColumn(1)===1){return[]}const indentationRules=languageConfigurationService.getLanguageConfiguration(model.getLanguageId()).indentationRules;if(!indentationRules){return[]}endLineNumber=Math.min(endLineNumber,model.getLineCount());while(startLineNumber<=endLineNumber){if(!indentationRules.unIndentedLinePattern){break}const text2=model.getLineContent(startLineNumber);if(!indentationRules.unIndentedLinePattern.test(text2)){break}startLineNumber++}if(startLineNumber>endLineNumber-1){return[]}const{tabSize:tabSize,indentSize:indentSize,insertSpaces:insertSpaces}=model.getOptions();const shiftIndent=(indentation,count)=>{count=count||1;return ShiftCommand.shiftIndent(indentation,indentation.length+count,tabSize,indentSize,insertSpaces)};const unshiftIndent=(indentation,count)=>{count=count||1;return ShiftCommand.unshiftIndent(indentation,indentation.length+count,tabSize,indentSize,insertSpaces)};const indentEdits=[];let globalIndent;const currentLineText=model.getLineContent(startLineNumber);let adjustedLineContent=currentLineText;if(inheritedIndent!==void 0&&inheritedIndent!==null){globalIndent=inheritedIndent;const oldIndentation=getLeadingWhitespace(currentLineText);adjustedLineContent=globalIndent+currentLineText.substring(oldIndentation.length);if(indentationRules.decreaseIndentPattern&&indentationRules.decreaseIndentPattern.test(adjustedLineContent)){globalIndent=unshiftIndent(globalIndent);adjustedLineContent=globalIndent+currentLineText.substring(oldIndentation.length)}if(currentLineText!==adjustedLineContent){indentEdits.push(EditOperation.replaceMove(new Selection(startLineNumber,1,startLineNumber,oldIndentation.length+1),normalizeIndentation(globalIndent,indentSize,insertSpaces)))}}else{globalIndent=getLeadingWhitespace(currentLineText)}let idealIndentForNextLine=globalIndent;if(indentationRules.increaseIndentPattern&&indentationRules.increaseIndentPattern.test(adjustedLineContent)){idealIndentForNextLine=shiftIndent(idealIndentForNextLine);globalIndent=shiftIndent(globalIndent)}else if(indentationRules.indentNextLinePattern&&indentationRules.indentNextLinePattern.test(adjustedLineContent)){idealIndentForNextLine=shiftIndent(idealIndentForNextLine)}startLineNumber++;for(let lineNumber=startLineNumber;lineNumber<=endLineNumber;lineNumber++){const text2=model.getLineContent(lineNumber);const oldIndentation=getLeadingWhitespace(text2);const adjustedLineContent2=idealIndentForNextLine+text2.substring(oldIndentation.length);if(indentationRules.decreaseIndentPattern&&indentationRules.decreaseIndentPattern.test(adjustedLineContent2)){idealIndentForNextLine=unshiftIndent(idealIndentForNextLine);globalIndent=unshiftIndent(globalIndent)}if(oldIndentation!==idealIndentForNextLine){indentEdits.push(EditOperation.replaceMove(new Selection(lineNumber,1,lineNumber,oldIndentation.length+1),normalizeIndentation(idealIndentForNextLine,indentSize,insertSpaces)))}if(indentationRules.unIndentedLinePattern&&indentationRules.unIndentedLinePattern.test(text2)){continue}else if(indentationRules.increaseIndentPattern&&indentationRules.increaseIndentPattern.test(adjustedLineContent2)){globalIndent=shiftIndent(globalIndent);idealIndentForNextLine=globalIndent}else if(indentationRules.indentNextLinePattern&&indentationRules.indentNextLinePattern.test(adjustedLineContent2)){idealIndentForNextLine=shiftIndent(idealIndentForNextLine)}else{idealIndentForNextLine=globalIndent}}return indentEdits}var IndentationToSpacesAction=class extends EditorAction{constructor(){super({id:IndentationToSpacesAction.ID,label:localize("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:EditorContextKeys.writable})}run(accessor,editor2){const model=editor2.getModel();if(!model){return}const modelOpts=model.getOptions();const selection=editor2.getSelection();if(!selection){return}const command=new IndentationToSpacesCommand(selection,modelOpts.tabSize);editor2.pushUndoStop();editor2.executeCommands(this.id,[command]);editor2.pushUndoStop();model.updateOptions({insertSpaces:true})}};IndentationToSpacesAction.ID="editor.action.indentationToSpaces";var IndentationToTabsAction=class extends EditorAction{constructor(){super({id:IndentationToTabsAction.ID,label:localize("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:EditorContextKeys.writable})}run(accessor,editor2){const model=editor2.getModel();if(!model){return}const modelOpts=model.getOptions();const selection=editor2.getSelection();if(!selection){return}const command=new IndentationToTabsCommand(selection,modelOpts.tabSize);editor2.pushUndoStop();editor2.executeCommands(this.id,[command]);editor2.pushUndoStop();model.updateOptions({insertSpaces:false})}};IndentationToTabsAction.ID="editor.action.indentationToTabs";var ChangeIndentationSizeAction=class extends EditorAction{constructor(insertSpaces,displaySizeOnly,opts){super(opts);this.insertSpaces=insertSpaces;this.displaySizeOnly=displaySizeOnly}run(accessor,editor2){const quickInputService=accessor.get(IQuickInputService);const modelService=accessor.get(IModelService);const model=editor2.getModel();if(!model){return}const creationOpts=modelService.getCreationOptions(model.getLanguageId(),model.uri,model.isForSimpleWidget);const modelOpts=model.getOptions();const picks=[1,2,3,4,5,6,7,8].map((n=>({id:n.toString(),label:n.toString(),description:n===creationOpts.tabSize&&n===modelOpts.tabSize?localize("configuredTabSize","Configured Tab Size"):n===creationOpts.tabSize?localize("defaultTabSize","Default Tab Size"):n===modelOpts.tabSize?localize("currentTabSize","Current Tab Size"):void 0})));const autoFocusIndex=Math.min(model.getOptions().tabSize-1,7);setTimeout((()=>{quickInputService.pick(picks,{placeHolder:localize({key:"selectTabWidth",comment:["Tab corresponds to the tab key"]},"Select Tab Size for Current File"),activeItem:picks[autoFocusIndex]}).then((pick=>{if(pick){if(model&&!model.isDisposed()){const pickedVal=parseInt(pick.label,10);if(this.displaySizeOnly){model.updateOptions({tabSize:pickedVal})}else{model.updateOptions({tabSize:pickedVal,indentSize:pickedVal,insertSpaces:this.insertSpaces})}}}}))}),50)}};var IndentUsingTabs=class extends ChangeIndentationSizeAction{constructor(){super(false,false,{id:IndentUsingTabs.ID,label:localize("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0})}};IndentUsingTabs.ID="editor.action.indentUsingTabs";var IndentUsingSpaces=class extends ChangeIndentationSizeAction{constructor(){super(true,false,{id:IndentUsingSpaces.ID,label:localize("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0})}};IndentUsingSpaces.ID="editor.action.indentUsingSpaces";var ChangeTabDisplaySize=class extends ChangeIndentationSizeAction{constructor(){super(true,true,{id:ChangeTabDisplaySize.ID,label:localize("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0})}};ChangeTabDisplaySize.ID="editor.action.changeTabDisplaySize";var DetectIndentation=class extends EditorAction{constructor(){super({id:DetectIndentation.ID,label:localize("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0})}run(accessor,editor2){const modelService=accessor.get(IModelService);const model=editor2.getModel();if(!model){return}const creationOpts=modelService.getCreationOptions(model.getLanguageId(),model.uri,model.isForSimpleWidget);model.detectIndentation(creationOpts.insertSpaces,creationOpts.tabSize)}};DetectIndentation.ID="editor.action.detectIndentation";var ReindentLinesAction=class extends EditorAction{constructor(){super({id:"editor.action.reindentlines",label:localize("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:EditorContextKeys.writable})}run(accessor,editor2){const languageConfigurationService=accessor.get(ILanguageConfigurationService);const model=editor2.getModel();if(!model){return}const edits=getReindentEditOperations(model,languageConfigurationService,1,model.getLineCount());if(edits.length>0){editor2.pushUndoStop();editor2.executeEdits(this.id,edits);editor2.pushUndoStop()}}};var ReindentSelectedLinesAction=class extends EditorAction{constructor(){super({id:"editor.action.reindentselectedlines",label:localize("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:EditorContextKeys.writable})}run(accessor,editor2){const languageConfigurationService=accessor.get(ILanguageConfigurationService);const model=editor2.getModel();if(!model){return}const selections=editor2.getSelections();if(selections===null){return}const edits=[];for(const selection of selections){let startLineNumber=selection.startLineNumber;let endLineNumber=selection.endLineNumber;if(startLineNumber!==endLineNumber&&selection.endColumn===1){endLineNumber--}if(startLineNumber===1){if(startLineNumber===endLineNumber){continue}}else{startLineNumber--}const editOperations=getReindentEditOperations(model,languageConfigurationService,startLineNumber,endLineNumber);edits.push(...editOperations)}if(edits.length>0){editor2.pushUndoStop();editor2.executeEdits(this.id,edits);editor2.pushUndoStop()}}};var AutoIndentOnPasteCommand=class{constructor(edits,initialSelection){this._initialSelection=initialSelection;this._edits=[];this._selectionId=null;for(const edit of edits){if(edit.range&&typeof edit.text==="string"){this._edits.push(edit)}}}getEditOperations(model,builder){for(const edit of this._edits){builder.addEditOperation(Range.lift(edit.range),edit.text)}let selectionIsSet=false;if(Array.isArray(this._edits)&&this._edits.length===1&&this._initialSelection.isEmpty()){if(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber){selectionIsSet=true;this._selectionId=builder.trackSelection(this._initialSelection,true)}else if(this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber){selectionIsSet=true;this._selectionId=builder.trackSelection(this._initialSelection,false)}}if(!selectionIsSet){this._selectionId=builder.trackSelection(this._initialSelection)}}computeCursorState(model,helper){return helper.getTrackedSelection(this._selectionId)}};var AutoIndentOnPaste=class AutoIndentOnPaste2{constructor(editor2,_languageConfigurationService){this.editor=editor2;this._languageConfigurationService=_languageConfigurationService;this.callOnDispose=new DisposableStore;this.callOnModel=new DisposableStore;this.callOnDispose.add(editor2.onDidChangeConfiguration((()=>this.update())));this.callOnDispose.add(editor2.onDidChangeModel((()=>this.update())));this.callOnDispose.add(editor2.onDidChangeModelLanguage((()=>this.update())))}update(){this.callOnModel.clear();if(this.editor.getOption(11)<4||this.editor.getOption(54)){return}if(!this.editor.hasModel()){return}this.callOnModel.add(this.editor.onDidPaste((({range:range2})=>{this.trigger(range2)})))}trigger(range2){const selections=this.editor.getSelections();if(selections===null||selections.length>1){return}const model=this.editor.getModel();if(!model){return}if(!model.tokenization.isCheapToTokenize(range2.getStartPosition().lineNumber)){return}const autoIndent=this.editor.getOption(11);const{tabSize:tabSize,indentSize:indentSize,insertSpaces:insertSpaces}=model.getOptions();const textEdits=[];const indentConverter={shiftIndent:indentation=>ShiftCommand.shiftIndent(indentation,indentation.length+1,tabSize,indentSize,insertSpaces),unshiftIndent:indentation=>ShiftCommand.unshiftIndent(indentation,indentation.length+1,tabSize,indentSize,insertSpaces)};let startLineNumber=range2.startLineNumber;while(startLineNumber<=range2.endLineNumber){if(this.shouldIgnoreLine(model,startLineNumber)){startLineNumber++;continue}break}if(startLineNumber>range2.endLineNumber){return}let firstLineText=model.getLineContent(startLineNumber);if(!/\S/.test(firstLineText.substring(0,range2.startColumn-1))){const indentOfFirstLine=getGoodIndentForLine(autoIndent,model,model.getLanguageId(),startLineNumber,indentConverter,this._languageConfigurationService);if(indentOfFirstLine!==null){const oldIndentation=getLeadingWhitespace(firstLineText);const newSpaceCnt=getSpaceCnt(indentOfFirstLine,tabSize);const oldSpaceCnt=getSpaceCnt(oldIndentation,tabSize);if(newSpaceCnt!==oldSpaceCnt){const newIndent=generateIndent(newSpaceCnt,tabSize,insertSpaces);textEdits.push({range:new Range(startLineNumber,1,startLineNumber,oldIndentation.length+1),text:newIndent});firstLineText=newIndent+firstLineText.substr(oldIndentation.length)}else{const indentMetadata=getIndentMetadata(model,startLineNumber,this._languageConfigurationService);if(indentMetadata===0||indentMetadata===8){return}}}}const firstLineNumber=startLineNumber;while(startLineNumber<range2.endLineNumber){if(!/\S/.test(model.getLineContent(startLineNumber+1))){startLineNumber++;continue}break}if(startLineNumber!==range2.endLineNumber){const virtualModel={tokenization:{getLineTokens:lineNumber=>model.tokenization.getLineTokens(lineNumber),getLanguageId:()=>model.getLanguageId(),getLanguageIdAtPosition:(lineNumber,column)=>model.getLanguageIdAtPosition(lineNumber,column)},getLineContent:lineNumber=>{if(lineNumber===firstLineNumber){return firstLineText}else{return model.getLineContent(lineNumber)}}};const indentOfSecondLine=getGoodIndentForLine(autoIndent,virtualModel,model.getLanguageId(),startLineNumber+1,indentConverter,this._languageConfigurationService);if(indentOfSecondLine!==null){const newSpaceCntOfSecondLine=getSpaceCnt(indentOfSecondLine,tabSize);const oldSpaceCntOfSecondLine=getSpaceCnt(getLeadingWhitespace(model.getLineContent(startLineNumber+1)),tabSize);if(newSpaceCntOfSecondLine!==oldSpaceCntOfSecondLine){const spaceCntOffset=newSpaceCntOfSecondLine-oldSpaceCntOfSecondLine;for(let i=startLineNumber+1;i<=range2.endLineNumber;i++){const lineContent=model.getLineContent(i);const originalIndent=getLeadingWhitespace(lineContent);const originalSpacesCnt=getSpaceCnt(originalIndent,tabSize);const newSpacesCnt=originalSpacesCnt+spaceCntOffset;const newIndent=generateIndent(newSpacesCnt,tabSize,insertSpaces);if(newIndent!==originalIndent){textEdits.push({range:new Range(i,1,i,originalIndent.length+1),text:newIndent})}}}}}if(textEdits.length>0){this.editor.pushUndoStop();const cmd=new AutoIndentOnPasteCommand(textEdits,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",cmd);this.editor.pushUndoStop()}}shouldIgnoreLine(model,lineNumber){model.tokenization.forceTokenization(lineNumber);const nonWhitespaceColumn=model.getLineFirstNonWhitespaceColumn(lineNumber);if(nonWhitespaceColumn===0){return true}const tokens=model.tokenization.getLineTokens(lineNumber);if(tokens.getCount()>0){const firstNonWhitespaceTokenIndex=tokens.findTokenIndexAtOffset(nonWhitespaceColumn);if(firstNonWhitespaceTokenIndex>=0&&tokens.getStandardTokenType(firstNonWhitespaceTokenIndex)===1){return true}}return false}dispose(){this.callOnDispose.dispose();this.callOnModel.dispose()}};AutoIndentOnPaste.ID="editor.contrib.autoIndentOnPaste";AutoIndentOnPaste=__decorate109([__param102(1,ILanguageConfigurationService)],AutoIndentOnPaste);function getIndentationEditOperations(model,builder,tabSize,tabsToSpaces){if(model.getLineCount()===1&&model.getLineMaxColumn(1)===1){return}let spaces2="";for(let i=0;i<tabSize;i++){spaces2+=" "}const spacesRegExp=new RegExp(spaces2,"gi");for(let lineNumber=1,lineCount=model.getLineCount();lineNumber<=lineCount;lineNumber++){let lastIndentationColumn=model.getLineFirstNonWhitespaceColumn(lineNumber);if(lastIndentationColumn===0){lastIndentationColumn=model.getLineMaxColumn(lineNumber)}if(lastIndentationColumn===1){continue}const originalIndentationRange=new Range(lineNumber,1,lineNumber,lastIndentationColumn);const originalIndentation=model.getValueInRange(originalIndentationRange);const newIndentation=tabsToSpaces?originalIndentation.replace(/\t/gi,spaces2):originalIndentation.replace(spacesRegExp,"\t");builder.addEditOperation(originalIndentationRange,newIndentation)}}var IndentationToSpacesCommand=class{constructor(selection,tabSize){this.selection=selection;this.tabSize=tabSize;this.selectionId=null}getEditOperations(model,builder){this.selectionId=builder.trackSelection(this.selection);getIndentationEditOperations(model,builder,this.tabSize,true)}computeCursorState(model,helper){return helper.getTrackedSelection(this.selectionId)}};var IndentationToTabsCommand=class{constructor(selection,tabSize){this.selection=selection;this.tabSize=tabSize;this.selectionId=null}getEditOperations(model,builder){this.selectionId=builder.trackSelection(this.selection);getIndentationEditOperations(model,builder,this.tabSize,false)}computeCursorState(model,helper){return helper.getTrackedSelection(this.selectionId)}};registerEditorContribution(AutoIndentOnPaste.ID,AutoIndentOnPaste,2);registerEditorAction(IndentationToSpacesAction);registerEditorAction(IndentationToTabsAction);registerEditorAction(IndentUsingTabs);registerEditorAction(IndentUsingSpaces);registerEditorAction(ChangeTabDisplaySize);registerEditorAction(DetectIndentation);registerEditorAction(ReindentLinesAction);registerEditorAction(ReindentSelectedLinesAction);init_editorExtensions();init_dom();init_arrays();init_async();init_cancellation();init_errors();init_lifecycle();init_map();init_types();init_uri();init_editorDom();init_stableEditorScroll();init_editorOptions();init_editOperation();init_range();init_languages();init_model();init_textModel();init_languageFeatureDebounce();init_languageFeatures();init_resolverService();init_errors();init_lifecycle();init_position();init_range();init_network();init_uri();var __awaiter78=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var InlayHintAnchor=class{constructor(range2,direction){this.range=range2;this.direction=direction}};var InlayHintItem=class{constructor(hint,anchor,provider){this.hint=hint;this.anchor=anchor;this.provider=provider;this._isResolved=false}with(delta){const result=new InlayHintItem(this.hint,delta.anchor,this.provider);result._isResolved=this._isResolved;result._currentResolve=this._currentResolve;return result}resolve(token){return __awaiter78(this,void 0,void 0,(function*(){if(typeof this.provider.resolveInlayHint!=="function"){return}if(this._currentResolve){yield this._currentResolve;if(token.isCancellationRequested){return}return this.resolve(token)}if(!this._isResolved){this._currentResolve=this._doResolve(token).finally((()=>this._currentResolve=void 0))}yield this._currentResolve}))}_doResolve(token){var _a6,_b3;return __awaiter78(this,void 0,void 0,(function*(){try{const newHint=yield Promise.resolve(this.provider.resolveInlayHint(this.hint,token));this.hint.tooltip=(_a6=newHint===null||newHint===void 0?void 0:newHint.tooltip)!==null&&_a6!==void 0?_a6:this.hint.tooltip;this.hint.label=(_b3=newHint===null||newHint===void 0?void 0:newHint.label)!==null&&_b3!==void 0?_b3:this.hint.label;this._isResolved=true}catch(err){onUnexpectedExternalError(err);this._isResolved=false}}))}};var InlayHintsFragments=class{static create(registry,model,ranges,token){return __awaiter78(this,void 0,void 0,(function*(){const data=[];const promises=registry.ordered(model).reverse().map((provider=>ranges.map((range2=>__awaiter78(this,void 0,void 0,(function*(){try{const result=yield provider.provideInlayHints(model,range2,token);if(result===null||result===void 0?void 0:result.hints.length){data.push([result,provider])}}catch(err){onUnexpectedExternalError(err)}}))))));yield Promise.all(promises.flat());if(token.isCancellationRequested||model.isDisposed()){throw new CancellationError}return new InlayHintsFragments(ranges,data,model)}))}constructor(ranges,data,model){this._disposables=new DisposableStore;this.ranges=ranges;this.provider=new Set;const items=[];for(const[list,provider]of data){this._disposables.add(list);this.provider.add(provider);for(const hint of list.hints){const position=model.validatePosition(hint.position);let direction="before";const wordRange=InlayHintsFragments._getRangeAtPosition(model,position);let range2;if(wordRange.getStartPosition().isBefore(position)){range2=Range.fromPositions(wordRange.getStartPosition(),position);direction="after"}else{range2=Range.fromPositions(position,wordRange.getEndPosition());direction="before"}items.push(new InlayHintItem(hint,new InlayHintAnchor(range2,direction),provider))}}this.items=items.sort(((a,b)=>Position.compare(a.hint.position,b.hint.position)))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(model,position){const line=position.lineNumber;const word=model.getWordAtPosition(position);if(word){return new Range(line,word.startColumn,line,word.endColumn)}model.tokenization.tokenizeIfCheap(line);const tokens=model.tokenization.getLineTokens(line);const offset=position.column-1;const idx=tokens.findTokenIndexAtOffset(offset);let start=tokens.getStartOffset(idx);let end=tokens.getEndOffset(idx);if(end-start===1){if(start===offset&&idx>1){start=tokens.getStartOffset(idx-1);end=tokens.getEndOffset(idx-1)}else if(end===offset&&idx<tokens.getCount()-1){start=tokens.getStartOffset(idx+1);end=tokens.getEndOffset(idx+1)}}return new Range(line,start+1,line,end+1)}};function asCommandLink(command){return URI.from({scheme:Schemas.command,path:command.id,query:command.arguments&&encodeURIComponent(JSON.stringify(command.arguments))}).toString()}init_dom();init_actions();init_cancellation();init_range();init_resolverService();init_actions2();init_commands();init_contextkey();init_contextView();init_instantiation();init_notification();var __awaiter79=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};function showGoToContextMenu(accessor,editor2,anchor,part){var _a6;return __awaiter79(this,void 0,void 0,(function*(){const resolverService=accessor.get(ITextModelService);const contextMenuService=accessor.get(IContextMenuService);const commandService=accessor.get(ICommandService);const instaService=accessor.get(IInstantiationService);const notificationService=accessor.get(INotificationService);yield part.item.resolve(CancellationToken.None);if(!part.part.location){return}const location=part.part.location;const menuActions=[];const filter=new Set(MenuRegistry.getMenuItems(MenuId.EditorContext).map((item=>isIMenuItem(item)?item.command.id:generateUuid())));for(const delegate of SymbolNavigationAction.all()){if(filter.has(delegate.desc.id)){menuActions.push(new Action(delegate.desc.id,MenuItemAction.label(delegate.desc,{renderShortTitle:true}),void 0,true,(()=>__awaiter79(this,void 0,void 0,(function*(){const ref=yield resolverService.createModelReference(location.uri);try{const symbolAnchor=new SymbolNavigationAnchor(ref.object.textEditorModel,Range.getStartPosition(location.range));const range2=part.item.anchor.range;yield instaService.invokeFunction(delegate.runEditorCommand.bind(delegate),editor2,symbolAnchor,range2)}finally{ref.dispose()}})))))}}if(part.part.command){const{command:command}=part.part;menuActions.push(new Separator);menuActions.push(new Action(command.id,command.title,void 0,true,(()=>__awaiter79(this,void 0,void 0,(function*(){var _b3;try{yield commandService.executeCommand(command.id,...(_b3=command.arguments)!==null&&_b3!==void 0?_b3:[])}catch(err){notificationService.notify({severity:Severity2.Error,source:part.item.provider.displayName,message:err})}})))))}const useShadowDOM=editor2.getOption(125);contextMenuService.showContextMenu({domForShadowRoot:useShadowDOM?(_a6=editor2.getDomNode())!==null&&_a6!==void 0?_a6:void 0:void 0,getAnchor:()=>{const box=getDomNodePagePosition(anchor);return{x:box.left,y:box.top+box.height+8}},getActions:()=>menuActions,onHide:()=>{editor2.focus()},autoSelectFirstItem:true})}))}function goToDefinitionWithLocation(accessor,event,editor2,location){return __awaiter79(this,void 0,void 0,(function*(){const resolverService=accessor.get(ITextModelService);const ref=yield resolverService.createModelReference(location.uri);yield editor2.invokeWithinContext((accessor2=>__awaiter79(this,void 0,void 0,(function*(){const openToSide=event.hasSideBySideModifier;const contextKeyService=accessor2.get(IContextKeyService);const isInPeek=PeekContext.inPeekEditor.getValue(contextKeyService);const canPeek=!openToSide&&editor2.getOption(86)&&!isInPeek;const action=new DefinitionAction({openToSide:openToSide,openInPeek:canPeek,muteMessage:true},{title:{value:"",original:""},id:"",precondition:void 0});return action.run(accessor2,new SymbolNavigationAnchor(ref.object.textEditorModel,Range.getStartPosition(location.range)),Range.lift(location.range))}))));ref.dispose()}))}init_commands();init_extensions();init_instantiation();init_notification();init_colorRegistry();init_themeService();var __decorate110=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param103=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter80=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var InlayHintsController_1;var InlayHintsCache=class{constructor(){this._entries=new LRUCache(50)}get(model){const key=InlayHintsCache._key(model);return this._entries.get(key)}set(model,value){const key=InlayHintsCache._key(model);this._entries.set(key,value)}static _key(model){return`${model.uri.toString()}/${model.getVersionId()}`}};var IInlayHintsCache=createDecorator("IInlayHintsCache");registerSingleton(IInlayHintsCache,InlayHintsCache,1);var RenderedInlayHintLabelPart=class{constructor(item,index){this.item=item;this.index=index}get part(){const label=this.item.hint.label;if(typeof label==="string"){return{label:label}}else{return label[this.index]}}};var ActiveInlayHintInfo=class{constructor(part,hasTriggerModifier2){this.part=part;this.hasTriggerModifier=hasTriggerModifier2}};var InlayHintsController=InlayHintsController_1=class InlayHintsController2{static get(editor2){var _a6;return(_a6=editor2.getContribution(InlayHintsController_1.ID))!==null&&_a6!==void 0?_a6:void 0}constructor(_editor,_languageFeaturesService,_featureDebounce,_inlayHintsCache,_commandService,_notificationService,_instaService){this._editor=_editor;this._languageFeaturesService=_languageFeaturesService;this._inlayHintsCache=_inlayHintsCache;this._commandService=_commandService;this._notificationService=_notificationService;this._instaService=_instaService;this._disposables=new DisposableStore;this._sessionDisposables=new DisposableStore;this._decorationsMetadata=new Map;this._ruleFactory=new DynamicCssRules(this._editor);this._activeRenderMode=0;this._debounceInfo=_featureDebounce.for(_languageFeaturesService.inlayHintsProvider,"InlayHint",{min:25});this._disposables.add(_languageFeaturesService.inlayHintsProvider.onDidChange((()=>this._update())));this._disposables.add(_editor.onDidChangeModel((()=>this._update())));this._disposables.add(_editor.onDidChangeModelLanguage((()=>this._update())));this._disposables.add(_editor.onDidChangeConfiguration((e=>{if(e.hasChanged(138)){this._update()}})));this._update()}dispose(){this._sessionDisposables.dispose();this._removeAllDecorations();this._disposables.dispose()}_update(){this._sessionDisposables.clear();this._removeAllDecorations();const options2=this._editor.getOption(138);if(options2.enabled==="off"){return}const model=this._editor.getModel();if(!model||!this._languageFeaturesService.inlayHintsProvider.has(model)){return}const cached=this._inlayHintsCache.get(model);if(cached){this._updateHintsDecorators([model.getFullModelRange()],cached)}this._sessionDisposables.add(toDisposable((()=>{if(!model.isDisposed()){this._cacheHintsForFastRestore(model)}})));let cts;const watchedProviders=new Set;const scheduler=new RunOnceScheduler((()=>__awaiter80(this,void 0,void 0,(function*(){const t1=Date.now();cts===null||cts===void 0?void 0:cts.dispose(true);cts=new CancellationTokenSource;const listener=model.onWillDispose((()=>cts===null||cts===void 0?void 0:cts.cancel()));try{const myToken=cts.token;const inlayHints=yield InlayHintsFragments.create(this._languageFeaturesService.inlayHintsProvider,model,this._getHintsRanges(),myToken);scheduler.delay=this._debounceInfo.update(model,Date.now()-t1);if(myToken.isCancellationRequested){inlayHints.dispose();return}for(const provider of inlayHints.provider){if(typeof provider.onDidChangeInlayHints==="function"&&!watchedProviders.has(provider)){watchedProviders.add(provider);this._sessionDisposables.add(provider.onDidChangeInlayHints((()=>{if(!scheduler.isScheduled()){scheduler.schedule()}})))}}this._sessionDisposables.add(inlayHints);this._updateHintsDecorators(inlayHints.ranges,inlayHints.items);this._cacheHintsForFastRestore(model)}catch(err){onUnexpectedError(err)}finally{cts.dispose();listener.dispose()}}))),this._debounceInfo.get(model));this._sessionDisposables.add(scheduler);this._sessionDisposables.add(toDisposable((()=>cts===null||cts===void 0?void 0:cts.dispose(true))));scheduler.schedule(0);this._sessionDisposables.add(this._editor.onDidScrollChange((e=>{if(e.scrollTopChanged||!scheduler.isScheduled()){scheduler.schedule()}})));this._sessionDisposables.add(this._editor.onDidChangeModelContent((e=>{const delay=Math.max(scheduler.delay,1250);scheduler.schedule(delay)})));if(options2.enabled==="on"){this._activeRenderMode=0}else{let defaultMode;let altMode;if(options2.enabled==="onUnlessPressed"){defaultMode=0;altMode=1}else{defaultMode=1;altMode=0}this._activeRenderMode=defaultMode;this._sessionDisposables.add(ModifierKeyEmitter.getInstance().event((e=>{if(!this._editor.hasModel()){return}const newRenderMode=e.altKey&&e.ctrlKey&&!(e.shiftKey||e.metaKey)?altMode:defaultMode;if(newRenderMode!==this._activeRenderMode){this._activeRenderMode=newRenderMode;const model2=this._editor.getModel();const copies=this._copyInlayHintsWithCurrentAnchor(model2);this._updateHintsDecorators([model2.getFullModelRange()],copies);scheduler.schedule(0)}})))}this._sessionDisposables.add(this._installDblClickGesture((()=>scheduler.schedule(0))));this._sessionDisposables.add(this._installLinkGesture());this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const store=new DisposableStore;const gesture=store.add(new ClickLinkGesture(this._editor));const sessionStore=new DisposableStore;store.add(sessionStore);store.add(gesture.onMouseMoveOrRelevantKeyDown((e=>{const[mouseEvent]=e;const labelPart=this._getInlayHintLabelPart(mouseEvent);const model=this._editor.getModel();if(!labelPart||!model){sessionStore.clear();return}const cts=new CancellationTokenSource;sessionStore.add(toDisposable((()=>cts.dispose(true))));labelPart.item.resolve(cts.token);this._activeInlayHintPart=labelPart.part.command||labelPart.part.location?new ActiveInlayHintInfo(labelPart,mouseEvent.hasTriggerModifier):void 0;const lineNumber=model.validatePosition(labelPart.item.hint.position).lineNumber;const range2=new Range(lineNumber,1,lineNumber,model.getLineMaxColumn(lineNumber));const lineHints=this._getInlineHintsForRange(range2);this._updateHintsDecorators([range2],lineHints);sessionStore.add(toDisposable((()=>{this._activeInlayHintPart=void 0;this._updateHintsDecorators([range2],lineHints)})))})));store.add(gesture.onCancel((()=>sessionStore.clear())));store.add(gesture.onExecute((e=>__awaiter80(this,void 0,void 0,(function*(){const label=this._getInlayHintLabelPart(e);if(label){const part=label.part;if(part.location){this._instaService.invokeFunction(goToDefinitionWithLocation,e,this._editor,part.location)}else if(Command.is(part.command)){yield this._invokeCommand(part.command,label.item)}}})))));return store}_getInlineHintsForRange(range2){const lineHints=new Set;for(const data of this._decorationsMetadata.values()){if(range2.containsRange(data.item.anchor.range)){lineHints.add(data.item)}}return Array.from(lineHints)}_installDblClickGesture(updateInlayHints){return this._editor.onMouseUp((e=>__awaiter80(this,void 0,void 0,(function*(){if(e.event.detail!==2){return}const part=this._getInlayHintLabelPart(e);if(!part){return}e.event.preventDefault();yield part.item.resolve(CancellationToken.None);if(isNonEmptyArray(part.item.hint.textEdits)){const edits=part.item.hint.textEdits.map((edit=>EditOperation.replace(Range.lift(edit.range),edit.text)));this._editor.executeEdits("inlayHint.default",edits);updateInlayHints()}}))))}_installContextMenu(){return this._editor.onContextMenu((e=>__awaiter80(this,void 0,void 0,(function*(){if(!(e.event.target instanceof HTMLElement)){return}const part=this._getInlayHintLabelPart(e);if(part){yield this._instaService.invokeFunction(showGoToContextMenu,this._editor,e.event.target,part)}}))))}_getInlayHintLabelPart(e){var _a6;if(e.target.type!==6){return void 0}const options2=(_a6=e.target.detail.injectedText)===null||_a6===void 0?void 0:_a6.options;if(options2 instanceof ModelDecorationInjectedTextOptions&&(options2===null||options2===void 0?void 0:options2.attachedData)instanceof RenderedInlayHintLabelPart){return options2.attachedData}return void 0}_invokeCommand(command,item){var _a6;return __awaiter80(this,void 0,void 0,(function*(){try{yield this._commandService.executeCommand(command.id,...(_a6=command.arguments)!==null&&_a6!==void 0?_a6:[])}catch(err){this._notificationService.notify({severity:Severity2.Error,source:item.provider.displayName,message:err})}}))}_cacheHintsForFastRestore(model){const hints=this._copyInlayHintsWithCurrentAnchor(model);this._inlayHintsCache.set(model,hints)}_copyInlayHintsWithCurrentAnchor(model){const items=new Map;for(const[id,obj]of this._decorationsMetadata){if(items.has(obj.item)){continue}const range2=model.getDecorationRange(id);if(range2){const anchor=new InlayHintAnchor(range2,obj.item.anchor.direction);const copy=obj.item.with({anchor:anchor});items.set(obj.item,copy)}}return Array.from(items.values())}_getHintsRanges(){const extra=30;const model=this._editor.getModel();const visibleRanges=this._editor.getVisibleRangesPlusViewportAboveBelow();const result=[];for(const range2 of visibleRanges.sort(Range.compareRangesUsingStarts)){const extendedRange=model.validateRange(new Range(range2.startLineNumber-extra,range2.startColumn,range2.endLineNumber+extra,range2.endColumn));if(result.length===0||!Range.areIntersectingOrTouching(result[result.length-1],extendedRange)){result.push(extendedRange)}else{result[result.length-1]=Range.plusRange(result[result.length-1],extendedRange)}}return result}_updateHintsDecorators(ranges,items){var _a6,_b3;const newDecorationsData=[];const addInjectedText=(item,ref,content,cursorStops,attachedData)=>{const opts={content:content,inlineClassNameAffectsLetterSpacing:true,inlineClassName:ref.className,cursorStops:cursorStops,attachedData:attachedData};newDecorationsData.push({item:item,classNameRef:ref,decoration:{range:item.anchor.range,options:{description:"InlayHint",showIfCollapsed:item.anchor.range.isEmpty(),collapseOnReplaceEdit:!item.anchor.range.isEmpty(),stickiness:0,[item.anchor.direction]:this._activeRenderMode===0?opts:void 0}}})};const addInjectedWhitespace=(item,isLast)=>{const marginRule=this._ruleFactory.createClassNameRef({width:`${fontSize/3|0}px`,display:"inline-block"});addInjectedText(item,marginRule,"",isLast?InjectedTextCursorStops2.Right:InjectedTextCursorStops2.None)};const{fontSize:fontSize,fontFamily:fontFamily,padding:padding,isUniform:isUniform}=this._getLayoutInfo();const fontFamilyVar="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(fontFamilyVar,fontFamily);for(const item of items){if(item.hint.paddingLeft){addInjectedWhitespace(item,false)}const parts=typeof item.hint.label==="string"?[{label:item.hint.label}]:item.hint.label;for(let i=0;i<parts.length;i++){const part=parts[i];const isFirst=i===0;const isLast=i===parts.length-1;const cssProperties={fontSize:`${fontSize}px`,fontFamily:`var(${fontFamilyVar}), ${EDITOR_FONT_DEFAULTS.fontFamily}`,verticalAlign:isUniform?"baseline":"middle",unicodeBidi:"isolate"};if(isNonEmptyArray(item.hint.textEdits)){cssProperties.cursor="default"}this._fillInColors(cssProperties,item.hint);if((part.command||part.location)&&((_a6=this._activeInlayHintPart)===null||_a6===void 0?void 0:_a6.part.item)===item&&this._activeInlayHintPart.part.index===i){cssProperties.textDecoration="underline";if(this._activeInlayHintPart.hasTriggerModifier){cssProperties.color=themeColorFromId(editorActiveLinkForeground);cssProperties.cursor="pointer"}}if(padding){if(isFirst&&isLast){cssProperties.padding=`1px ${Math.max(1,fontSize/4)|0}px`;cssProperties.borderRadius=`${fontSize/4|0}px`}else if(isFirst){cssProperties.padding=`1px 0 1px ${Math.max(1,fontSize/4)|0}px`;cssProperties.borderRadius=`${fontSize/4|0}px 0 0 ${fontSize/4|0}px`}else if(isLast){cssProperties.padding=`1px ${Math.max(1,fontSize/4)|0}px 1px 0`;cssProperties.borderRadius=`0 ${fontSize/4|0}px ${fontSize/4|0}px 0`}else{cssProperties.padding=`1px 0 1px 0`}}addInjectedText(item,this._ruleFactory.createClassNameRef(cssProperties),fixSpace(part.label),isLast&&!item.hint.paddingRight?InjectedTextCursorStops2.Right:InjectedTextCursorStops2.None,new RenderedInlayHintLabelPart(item,i))}if(item.hint.paddingRight){addInjectedWhitespace(item,true)}if(newDecorationsData.length>InlayHintsController_1._MAX_DECORATORS){break}}const decorationIdsToReplace=[];for(const range2 of ranges){for(const{id:id}of(_b3=this._editor.getDecorationsInRange(range2))!==null&&_b3!==void 0?_b3:[]){const metadata=this._decorationsMetadata.get(id);if(metadata){decorationIdsToReplace.push(id);metadata.classNameRef.dispose();this._decorationsMetadata.delete(id)}}}const scrollState=StableEditorScrollState.capture(this._editor);this._editor.changeDecorations((accessor=>{const newDecorationIds=accessor.deltaDecorations(decorationIdsToReplace,newDecorationsData.map((d=>d.decoration)));for(let i=0;i<newDecorationIds.length;i++){const data=newDecorationsData[i];this._decorationsMetadata.set(newDecorationIds[i],data)}}));scrollState.restore(this._editor)}_fillInColors(props,hint){if(hint.kind===InlayHintKind.Parameter){props.backgroundColor=themeColorFromId(editorInlayHintParameterBackground);props.color=themeColorFromId(editorInlayHintParameterForeground)}else if(hint.kind===InlayHintKind.Type){props.backgroundColor=themeColorFromId(editorInlayHintTypeBackground);props.color=themeColorFromId(editorInlayHintTypeForeground)}else{props.backgroundColor=themeColorFromId(editorInlayHintBackground);props.color=themeColorFromId(editorInlayHintForeground)}}_getLayoutInfo(){const options2=this._editor.getOption(138);const padding=options2.padding;const editorFontSize=this._editor.getOption(51);const editorFontFamily=this._editor.getOption(48);let fontSize=options2.fontSize;if(!fontSize||fontSize<5||fontSize>editorFontSize){fontSize=editorFontSize}const fontFamily=options2.fontFamily||editorFontFamily;const isUniform=!padding&&fontFamily===editorFontFamily&&fontSize===editorFontSize;return{fontSize:fontSize,fontFamily:fontFamily,padding:padding,isUniform:isUniform}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(const obj of this._decorationsMetadata.values()){obj.classNameRef.dispose()}this._decorationsMetadata.clear()}};InlayHintsController.ID="editor.contrib.InlayHints";InlayHintsController._MAX_DECORATORS=1500;InlayHintsController=InlayHintsController_1=__decorate110([__param103(1,ILanguageFeaturesService),__param103(2,ILanguageFeatureDebounceService),__param103(3,IInlayHintsCache),__param103(4,ICommandService),__param103(5,INotificationService),__param103(6,IInstantiationService)],InlayHintsController);function fixSpace(str){const noBreakWhitespace2=" ";return str.replace(/[ \t]/g,noBreakWhitespace2)}CommandsRegistry.registerCommand("_executeInlayHintProvider",((accessor,...args)=>__awaiter80(void 0,void 0,void 0,(function*(){const[uri,range2]=args;assertType(URI.isUri(uri));assertType(Range.isIRange(range2));const{inlayHintsProvider:inlayHintsProvider}=accessor.get(ILanguageFeaturesService);const ref=yield accessor.get(ITextModelService).createModelReference(uri);try{const model=yield InlayHintsFragments.create(inlayHintsProvider,ref.object.textEditorModel,[Range.lift(range2)],CancellationToken.None);const result=model.items.map((i=>i.hint));setTimeout((()=>model.dispose()),0);return result}finally{ref.dispose()}}))));init_async();init_htmlContent();init_position();init_textModel();init_language();init_resolverService();init_configuration();init_opener();init_languageFeatures();init_nls();init_platform();init_arrays();var __decorate111=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param104=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter81=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var __asyncValues3=function(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var m=o[Symbol.asyncIterator],i;return m?m.call(o):(o=typeof __values==="function"?__values(o):o[Symbol.iterator](),i={},verb("next"),verb("throw"),verb("return"),i[Symbol.asyncIterator]=function(){return this},i);function verb(n){i[n]=o[n]&&function(v){return new Promise((function(resolve2,reject){v=o[n](v),settle(resolve2,reject,v.done,v.value)}))}}function settle(resolve2,reject,d,v){Promise.resolve(v).then((function(v2){resolve2({value:v2,done:d})}),reject)}};var InlayHintsHoverAnchor=class extends HoverForeignElementAnchor{constructor(part,owner,initialMousePosX,initialMousePosY){super(10,owner,part.item.anchor.range,initialMousePosX,initialMousePosY,true);this.part=part}};var InlayHintsHover=class InlayHintsHover2 extends MarkdownHoverParticipant{constructor(editor2,languageService,openerService,configurationService,_resolverService,languageFeaturesService){super(editor2,languageService,openerService,configurationService,languageFeaturesService);this._resolverService=_resolverService;this.hoverOrdinal=6}suggestHoverAnchor(mouseEvent){var _a6;const controller=InlayHintsController.get(this._editor);if(!controller){return null}if(mouseEvent.target.type!==6){return null}const options2=(_a6=mouseEvent.target.detail.injectedText)===null||_a6===void 0?void 0:_a6.options;if(!(options2 instanceof ModelDecorationInjectedTextOptions&&options2.attachedData instanceof RenderedInlayHintLabelPart)){return null}return new InlayHintsHoverAnchor(options2.attachedData,this,mouseEvent.event.posx,mouseEvent.event.posy)}computeSync(){return[]}computeAsync(anchor,_lineDecorations,token){if(!(anchor instanceof InlayHintsHoverAnchor)){return AsyncIterableObject.EMPTY}return new AsyncIterableObject((executor=>__awaiter81(this,void 0,void 0,(function*(){var _a6,e_1,_b3,_c2;const{part:part}=anchor;yield part.item.resolve(token);if(token.isCancellationRequested){return}let itemTooltip;if(typeof part.item.hint.tooltip==="string"){itemTooltip=(new MarkdownString).appendText(part.item.hint.tooltip)}else if(part.item.hint.tooltip){itemTooltip=part.item.hint.tooltip}if(itemTooltip){executor.emitOne(new MarkdownHover(this,anchor.range,[itemTooltip],false,0))}if(isNonEmptyArray(part.item.hint.textEdits)){executor.emitOne(new MarkdownHover(this,anchor.range,[(new MarkdownString).appendText(localize("hint.dbl","Double-click to insert"))],false,10001))}let partTooltip;if(typeof part.part.tooltip==="string"){partTooltip=(new MarkdownString).appendText(part.part.tooltip)}else if(part.part.tooltip){partTooltip=part.part.tooltip}if(partTooltip){executor.emitOne(new MarkdownHover(this,anchor.range,[partTooltip],false,1))}if(part.part.location||part.part.command){let linkHint;const useMetaKey=this._editor.getOption(76)==="altKey";const kb=useMetaKey?isMacintosh?localize("links.navigate.kb.meta.mac","cmd + click"):localize("links.navigate.kb.meta","ctrl + click"):isMacintosh?localize("links.navigate.kb.alt.mac","option + click"):localize("links.navigate.kb.alt","alt + click");if(part.part.location&&part.part.command){linkHint=(new MarkdownString).appendText(localize("hint.defAndCommand","Go to Definition ({0}), right click for more",kb))}else if(part.part.location){linkHint=(new MarkdownString).appendText(localize("hint.def","Go to Definition ({0})",kb))}else if(part.part.command){linkHint=new MarkdownString(`[${localize("hint.cmd","Execute Command")}](${asCommandLink(part.part.command)} "${part.part.command.title}") (${kb})`,{isTrusted:true})}if(linkHint){executor.emitOne(new MarkdownHover(this,anchor.range,[linkHint],false,1e4))}}const iterable=yield this._resolveInlayHintLabelPartHover(part,token);try{for(var _d2=true,iterable_1=__asyncValues3(iterable),iterable_1_1;iterable_1_1=yield iterable_1.next(),_a6=iterable_1_1.done,!_a6;_d2=true){_c2=iterable_1_1.value;_d2=false;const item=_c2;executor.emitOne(item)}}catch(e_1_1){e_1={error:e_1_1}}finally{try{if(!_d2&&!_a6&&(_b3=iterable_1.return))yield _b3.call(iterable_1)}finally{if(e_1)throw e_1.error}}}))))}_resolveInlayHintLabelPartHover(part,token){return __awaiter81(this,void 0,void 0,(function*(){if(!part.part.location){return AsyncIterableObject.EMPTY}const{uri:uri,range:range2}=part.part.location;const ref=yield this._resolverService.createModelReference(uri);try{const model=ref.object.textEditorModel;if(!this._languageFeaturesService.hoverProvider.has(model)){return AsyncIterableObject.EMPTY}return getHover(this._languageFeaturesService.hoverProvider,model,new Position(range2.startLineNumber,range2.startColumn),token).filter((item=>!isEmptyMarkdownString(item.hover.contents))).map((item=>new MarkdownHover(this,part.item.anchor.range,item.hover.contents,false,2+item.ordinal)))}finally{ref.dispose()}}))}};InlayHintsHover=__decorate111([__param104(1,ILanguageService),__param104(2,IOpenerService),__param104(3,IConfigurationService),__param104(4,ITextModelService),__param104(5,ILanguageFeaturesService)],InlayHintsHover);registerEditorContribution(InlayHintsController.ID,InlayHintsController,1);HoverParticipantRegistry.register(InlayHintsHover);var import_inPlaceReplace=__toESM(require_inPlaceReplace());init_editorExtensions();init_cursorMoveCommands();init_editorContextKeys();init_nls();var ExpandLineSelectionAction=class extends EditorAction{constructor(){super({id:"expandLineSelection",label:localize("expandLineSelection","Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:EditorContextKeys.textInputFocus,primary:2048|42}})}run(_accessor,editor2,args){args=args||{};if(!editor2.hasModel()){return}const viewModel=editor2._getViewModel();viewModel.model.pushStackElement();viewModel.setCursorStates(args.source,3,CursorMoveCommands.expandLineSelection(viewModel,viewModel.getCursorStates()));viewModel.revealPrimaryCursor(args.source,true)}};registerEditorAction(ExpandLineSelectionAction);init_keyCodes();init_coreCommands();init_editorExtensions();init_replaceCommand();init_strings();init_editOperation();init_range();var TrimTrailingWhitespaceCommand=class{constructor(selection,cursors){this._selection=selection;this._cursors=cursors;this._selectionId=null}getEditOperations(model,builder){const ops=trimTrailingWhitespace(model,this._cursors);for(let i=0,len=ops.length;i<len;i++){const op=ops[i];builder.addEditOperation(op.range,op.text)}this._selectionId=builder.trackSelection(this._selection)}computeCursorState(model,helper){return helper.getTrackedSelection(this._selectionId)}};function trimTrailingWhitespace(model,cursors){cursors.sort(((a,b)=>{if(a.lineNumber===b.lineNumber){return a.column-b.column}return a.lineNumber-b.lineNumber}));for(let i=cursors.length-2;i>=0;i--){if(cursors[i].lineNumber===cursors[i+1].lineNumber){cursors.splice(i,1)}}const r=[];let rLen=0;let cursorIndex=0;const cursorLen=cursors.length;for(let lineNumber=1,lineCount=model.getLineCount();lineNumber<=lineCount;lineNumber++){const lineContent=model.getLineContent(lineNumber);const maxLineColumn=lineContent.length+1;let minEditColumn=0;if(cursorIndex<cursorLen&&cursors[cursorIndex].lineNumber===lineNumber){minEditColumn=cursors[cursorIndex].column;cursorIndex++;if(minEditColumn===maxLineColumn){continue}}if(lineContent.length===0){continue}const lastNonWhitespaceIndex2=lastNonWhitespaceIndex(lineContent);let fromColumn=0;if(lastNonWhitespaceIndex2===-1){fromColumn=1}else if(lastNonWhitespaceIndex2!==lineContent.length-1){fromColumn=lastNonWhitespaceIndex2+2}else{continue}fromColumn=Math.max(minEditColumn,fromColumn);r[rLen++]=EditOperation.delete(new Range(lineNumber,fromColumn,lineNumber,maxLineColumn))}return r}init_cursorTypeOperations();init_editOperation();init_position();init_range();init_selection();init_editorContextKeys();init_range();init_selection();var CopyLinesCommand=class{constructor(selection,isCopyingDown,noop){this._selection=selection;this._isCopyingDown=isCopyingDown;this._noop=noop||false;this._selectionDirection=0;this._selectionId=null;this._startLineNumberDelta=0;this._endLineNumberDelta=0}getEditOperations(model,builder){let s=this._selection;this._startLineNumberDelta=0;this._endLineNumberDelta=0;if(s.startLineNumber<s.endLineNumber&&s.endColumn===1){this._endLineNumberDelta=1;s=s.setEndPosition(s.endLineNumber-1,model.getLineMaxColumn(s.endLineNumber-1))}const sourceLines=[];for(let i=s.startLineNumber;i<=s.endLineNumber;i++){sourceLines.push(model.getLineContent(i))}const sourceText=sourceLines.join("\n");if(sourceText===""){if(this._isCopyingDown){this._startLineNumberDelta++;this._endLineNumberDelta++}}if(this._noop){builder.addEditOperation(new Range(s.endLineNumber,model.getLineMaxColumn(s.endLineNumber),s.endLineNumber+1,1),s.endLineNumber===model.getLineCount()?"":"\n")}else{if(!this._isCopyingDown){builder.addEditOperation(new Range(s.endLineNumber,model.getLineMaxColumn(s.endLineNumber),s.endLineNumber,model.getLineMaxColumn(s.endLineNumber)),"\n"+sourceText)}else{builder.addEditOperation(new Range(s.startLineNumber,1,s.startLineNumber,1),sourceText+"\n")}}this._selectionId=builder.trackSelection(s);this._selectionDirection=this._selection.getDirection()}computeCursorState(model,helper){let result=helper.getTrackedSelection(this._selectionId);if(this._startLineNumberDelta!==0||this._endLineNumberDelta!==0){let startLineNumber=result.startLineNumber;let startColumn=result.startColumn;let endLineNumber=result.endLineNumber;let endColumn=result.endColumn;if(this._startLineNumberDelta!==0){startLineNumber=startLineNumber+this._startLineNumberDelta;startColumn=1}if(this._endLineNumberDelta!==0){endLineNumber=endLineNumber+this._endLineNumberDelta;endColumn=1}result=Selection.createWithDirection(startLineNumber,startColumn,endLineNumber,endColumn,this._selectionDirection)}return result}};init_strings();init_shiftCommand();init_range();init_selection();init_languageConfiguration();init_languageConfigurationRegistry();init_autoIndent();init_enterAction();var __decorate112=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param105=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var MoveLinesCommand=class MoveLinesCommand2{constructor(selection,isMovingDown,autoIndent,_languageConfigurationService){this._languageConfigurationService=_languageConfigurationService;this._selection=selection;this._isMovingDown=isMovingDown;this._autoIndent=autoIndent;this._selectionId=null;this._moveEndLineSelectionShrink=false}getEditOperations(model,builder){const modelLineCount=model.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===modelLineCount){this._selectionId=builder.trackSelection(this._selection);return}if(!this._isMovingDown&&this._selection.startLineNumber===1){this._selectionId=builder.trackSelection(this._selection);return}this._moveEndPositionDown=false;let s=this._selection;if(s.startLineNumber<s.endLineNumber&&s.endColumn===1){this._moveEndPositionDown=true;s=s.setEndPosition(s.endLineNumber-1,model.getLineMaxColumn(s.endLineNumber-1))}const{tabSize:tabSize,indentSize:indentSize,insertSpaces:insertSpaces}=model.getOptions();const indentConverter=this.buildIndentConverter(tabSize,indentSize,insertSpaces);const virtualModel={tokenization:{getLineTokens:lineNumber=>model.tokenization.getLineTokens(lineNumber),getLanguageId:()=>model.getLanguageId(),getLanguageIdAtPosition:(lineNumber,column)=>model.getLanguageIdAtPosition(lineNumber,column)},getLineContent:null};if(s.startLineNumber===s.endLineNumber&&model.getLineMaxColumn(s.startLineNumber)===1){const lineNumber=s.startLineNumber;const otherLineNumber=this._isMovingDown?lineNumber+1:lineNumber-1;if(model.getLineMaxColumn(otherLineNumber)===1){builder.addEditOperation(new Range(1,1,1,1),null)}else{builder.addEditOperation(new Range(lineNumber,1,lineNumber,1),model.getLineContent(otherLineNumber));builder.addEditOperation(new Range(otherLineNumber,1,otherLineNumber,model.getLineMaxColumn(otherLineNumber)),null)}s=new Selection(otherLineNumber,1,otherLineNumber,1)}else{let movingLineNumber;let movingLineText;if(this._isMovingDown){movingLineNumber=s.endLineNumber+1;movingLineText=model.getLineContent(movingLineNumber);builder.addEditOperation(new Range(movingLineNumber-1,model.getLineMaxColumn(movingLineNumber-1),movingLineNumber,model.getLineMaxColumn(movingLineNumber)),null);let insertingText=movingLineText;if(this.shouldAutoIndent(model,s)){const movingLineMatchResult=this.matchEnterRule(model,indentConverter,tabSize,movingLineNumber,s.startLineNumber-1);if(movingLineMatchResult!==null){const oldIndentation=getLeadingWhitespace(model.getLineContent(movingLineNumber));const newSpaceCnt=movingLineMatchResult+getSpaceCnt(oldIndentation,tabSize);const newIndentation=generateIndent(newSpaceCnt,tabSize,insertSpaces);insertingText=newIndentation+this.trimStart(movingLineText)}else{virtualModel.getLineContent=lineNumber=>{if(lineNumber===s.startLineNumber){return model.getLineContent(movingLineNumber)}else{return model.getLineContent(lineNumber)}};const indentOfMovingLine=getGoodIndentForLine(this._autoIndent,virtualModel,model.getLanguageIdAtPosition(movingLineNumber,1),s.startLineNumber,indentConverter,this._languageConfigurationService);if(indentOfMovingLine!==null){const oldIndentation=getLeadingWhitespace(model.getLineContent(movingLineNumber));const newSpaceCnt=getSpaceCnt(indentOfMovingLine,tabSize);const oldSpaceCnt=getSpaceCnt(oldIndentation,tabSize);if(newSpaceCnt!==oldSpaceCnt){const newIndentation=generateIndent(newSpaceCnt,tabSize,insertSpaces);insertingText=newIndentation+this.trimStart(movingLineText)}}}builder.addEditOperation(new Range(s.startLineNumber,1,s.startLineNumber,1),insertingText+"\n");const ret=this.matchEnterRuleMovingDown(model,indentConverter,tabSize,s.startLineNumber,movingLineNumber,insertingText);if(ret!==null){if(ret!==0){this.getIndentEditsOfMovingBlock(model,builder,s,tabSize,insertSpaces,ret)}}else{virtualModel.getLineContent=lineNumber=>{if(lineNumber===s.startLineNumber){return insertingText}else if(lineNumber>=s.startLineNumber+1&&lineNumber<=s.endLineNumber+1){return model.getLineContent(lineNumber-1)}else{return model.getLineContent(lineNumber)}};const newIndentatOfMovingBlock=getGoodIndentForLine(this._autoIndent,virtualModel,model.getLanguageIdAtPosition(movingLineNumber,1),s.startLineNumber+1,indentConverter,this._languageConfigurationService);if(newIndentatOfMovingBlock!==null){const oldIndentation=getLeadingWhitespace(model.getLineContent(s.startLineNumber));const newSpaceCnt=getSpaceCnt(newIndentatOfMovingBlock,tabSize);const oldSpaceCnt=getSpaceCnt(oldIndentation,tabSize);if(newSpaceCnt!==oldSpaceCnt){const spaceCntOffset=newSpaceCnt-oldSpaceCnt;this.getIndentEditsOfMovingBlock(model,builder,s,tabSize,insertSpaces,spaceCntOffset)}}}}else{builder.addEditOperation(new Range(s.startLineNumber,1,s.startLineNumber,1),insertingText+"\n")}}else{movingLineNumber=s.startLineNumber-1;movingLineText=model.getLineContent(movingLineNumber);builder.addEditOperation(new Range(movingLineNumber,1,movingLineNumber+1,1),null);builder.addEditOperation(new Range(s.endLineNumber,model.getLineMaxColumn(s.endLineNumber),s.endLineNumber,model.getLineMaxColumn(s.endLineNumber)),"\n"+movingLineText);if(this.shouldAutoIndent(model,s)){virtualModel.getLineContent=lineNumber=>{if(lineNumber===movingLineNumber){return model.getLineContent(s.startLineNumber)}else{return model.getLineContent(lineNumber)}};const ret=this.matchEnterRule(model,indentConverter,tabSize,s.startLineNumber,s.startLineNumber-2);if(ret!==null){if(ret!==0){this.getIndentEditsOfMovingBlock(model,builder,s,tabSize,insertSpaces,ret)}}else{const indentOfFirstLine=getGoodIndentForLine(this._autoIndent,virtualModel,model.getLanguageIdAtPosition(s.startLineNumber,1),movingLineNumber,indentConverter,this._languageConfigurationService);if(indentOfFirstLine!==null){const oldIndent=getLeadingWhitespace(model.getLineContent(s.startLineNumber));const newSpaceCnt=getSpaceCnt(indentOfFirstLine,tabSize);const oldSpaceCnt=getSpaceCnt(oldIndent,tabSize);if(newSpaceCnt!==oldSpaceCnt){const spaceCntOffset=newSpaceCnt-oldSpaceCnt;this.getIndentEditsOfMovingBlock(model,builder,s,tabSize,insertSpaces,spaceCntOffset)}}}}}}this._selectionId=builder.trackSelection(s)}buildIndentConverter(tabSize,indentSize,insertSpaces){return{shiftIndent:indentation=>ShiftCommand.shiftIndent(indentation,indentation.length+1,tabSize,indentSize,insertSpaces),unshiftIndent:indentation=>ShiftCommand.unshiftIndent(indentation,indentation.length+1,tabSize,indentSize,insertSpaces)}}parseEnterResult(model,indentConverter,tabSize,line,enter){if(enter){let enterPrefix=enter.indentation;if(enter.indentAction===IndentAction2.None){enterPrefix=enter.indentation+enter.appendText}else if(enter.indentAction===IndentAction2.Indent){enterPrefix=enter.indentation+enter.appendText}else if(enter.indentAction===IndentAction2.IndentOutdent){enterPrefix=enter.indentation}else if(enter.indentAction===IndentAction2.Outdent){enterPrefix=indentConverter.unshiftIndent(enter.indentation)+enter.appendText}const movingLineText=model.getLineContent(line);if(this.trimStart(movingLineText).indexOf(this.trimStart(enterPrefix))>=0){const oldIndentation=getLeadingWhitespace(model.getLineContent(line));let newIndentation=getLeadingWhitespace(enterPrefix);const indentMetadataOfMovelingLine=getIndentMetadata(model,line,this._languageConfigurationService);if(indentMetadataOfMovelingLine!==null&&indentMetadataOfMovelingLine&2){newIndentation=indentConverter.unshiftIndent(newIndentation)}const newSpaceCnt=getSpaceCnt(newIndentation,tabSize);const oldSpaceCnt=getSpaceCnt(oldIndentation,tabSize);return newSpaceCnt-oldSpaceCnt}}return null}matchEnterRuleMovingDown(model,indentConverter,tabSize,line,futureAboveLineNumber,futureAboveLineText){if(lastNonWhitespaceIndex(futureAboveLineText)>=0){const maxColumn=model.getLineMaxColumn(futureAboveLineNumber);const enter=getEnterAction(this._autoIndent,model,new Range(futureAboveLineNumber,maxColumn,futureAboveLineNumber,maxColumn),this._languageConfigurationService);return this.parseEnterResult(model,indentConverter,tabSize,line,enter)}else{let validPrecedingLine=line-1;while(validPrecedingLine>=1){const lineContent=model.getLineContent(validPrecedingLine);const nonWhitespaceIdx=lastNonWhitespaceIndex(lineContent);if(nonWhitespaceIdx>=0){break}validPrecedingLine--}if(validPrecedingLine<1||line>model.getLineCount()){return null}const maxColumn=model.getLineMaxColumn(validPrecedingLine);const enter=getEnterAction(this._autoIndent,model,new Range(validPrecedingLine,maxColumn,validPrecedingLine,maxColumn),this._languageConfigurationService);return this.parseEnterResult(model,indentConverter,tabSize,line,enter)}}matchEnterRule(model,indentConverter,tabSize,line,oneLineAbove,previousLineText){let validPrecedingLine=oneLineAbove;while(validPrecedingLine>=1){let lineContent;if(validPrecedingLine===oneLineAbove&&previousLineText!==void 0){lineContent=previousLineText}else{lineContent=model.getLineContent(validPrecedingLine)}const nonWhitespaceIdx=lastNonWhitespaceIndex(lineContent);if(nonWhitespaceIdx>=0){break}validPrecedingLine--}if(validPrecedingLine<1||line>model.getLineCount()){return null}const maxColumn=model.getLineMaxColumn(validPrecedingLine);const enter=getEnterAction(this._autoIndent,model,new Range(validPrecedingLine,maxColumn,validPrecedingLine,maxColumn),this._languageConfigurationService);return this.parseEnterResult(model,indentConverter,tabSize,line,enter)}trimStart(str){return str.replace(/^\s+/,"")}shouldAutoIndent(model,selection){if(this._autoIndent<4){return false}if(!model.tokenization.isCheapToTokenize(selection.startLineNumber)){return false}const languageAtSelectionStart=model.getLanguageIdAtPosition(selection.startLineNumber,1);const languageAtSelectionEnd=model.getLanguageIdAtPosition(selection.endLineNumber,1);if(languageAtSelectionStart!==languageAtSelectionEnd){return false}if(this._languageConfigurationService.getLanguageConfiguration(languageAtSelectionStart).indentRulesSupport===null){return false}return true}getIndentEditsOfMovingBlock(model,builder,s,tabSize,insertSpaces,offset){for(let i=s.startLineNumber;i<=s.endLineNumber;i++){const lineContent=model.getLineContent(i);const originalIndent=getLeadingWhitespace(lineContent);const originalSpacesCnt=getSpaceCnt(originalIndent,tabSize);const newSpacesCnt=originalSpacesCnt+offset;const newIndent=generateIndent(newSpacesCnt,tabSize,insertSpaces);if(newIndent!==originalIndent){builder.addEditOperation(new Range(i,1,i,originalIndent.length+1),newIndent);if(i===s.endLineNumber&&s.endColumn<=originalIndent.length+1&&newIndent===""){this._moveEndLineSelectionShrink=true}}}}computeCursorState(model,helper){let result=helper.getTrackedSelection(this._selectionId);if(this._moveEndPositionDown){result=result.setEndPosition(result.endLineNumber+1,1)}if(this._moveEndLineSelectionShrink&&result.startLineNumber<result.endLineNumber){result=result.setEndPosition(result.endLineNumber,2)}return result}};MoveLinesCommand=__decorate112([__param105(3,ILanguageConfigurationService)],MoveLinesCommand);init_editOperation();init_range();var SortLinesCommand=class{static getCollator(){if(!SortLinesCommand._COLLATOR){SortLinesCommand._COLLATOR=new Intl.Collator}return SortLinesCommand._COLLATOR}constructor(selection,descending){this.selection=selection;this.descending=descending;this.selectionId=null}getEditOperations(model,builder){const op=sortLines(model,this.selection,this.descending);if(op){builder.addEditOperation(op.range,op.text)}this.selectionId=builder.trackSelection(this.selection)}computeCursorState(model,helper){return helper.getTrackedSelection(this.selectionId)}static canRun(model,selection,descending){if(model===null){return false}const data=getSortData(model,selection,descending);if(!data){return false}for(let i=0,len=data.before.length;i<len;i++){if(data.before[i]!==data.after[i]){return true}}return false}};SortLinesCommand._COLLATOR=null;function getSortData(model,selection,descending){const startLineNumber=selection.startLineNumber;let endLineNumber=selection.endLineNumber;if(selection.endColumn===1){endLineNumber--}if(startLineNumber>=endLineNumber){return null}const linesToSort=[];for(let lineNumber=startLineNumber;lineNumber<=endLineNumber;lineNumber++){linesToSort.push(model.getLineContent(lineNumber))}let sorted=linesToSort.slice(0);sorted.sort(SortLinesCommand.getCollator().compare);if(descending===true){sorted=sorted.reverse()}return{startLineNumber:startLineNumber,endLineNumber:endLineNumber,before:linesToSort,after:sorted}}function sortLines(model,selection,descending){const data=getSortData(model,selection,descending);if(!data){return null}return EditOperation.replace(new Range(data.startLineNumber,1,data.endLineNumber,model.getLineMaxColumn(data.endLineNumber)),data.after.join("\n"))}init_nls();init_actions2();init_languageConfigurationRegistry();var AbstractCopyLinesAction=class extends EditorAction{constructor(down,opts){super(opts);this.down=down}run(_accessor,editor2){if(!editor2.hasModel()){return}const selections=editor2.getSelections().map(((selection,index)=>({selection:selection,index:index,ignore:false})));selections.sort(((a,b)=>Range.compareRangesUsingStarts(a.selection,b.selection)));let prev=selections[0];for(let i=1;i<selections.length;i++){const curr=selections[i];if(prev.selection.endLineNumber===curr.selection.startLineNumber){if(prev.index<curr.index){curr.ignore=true}else{prev.ignore=true;prev=curr}}}const commands=[];for(const selection of selections){commands.push(new CopyLinesCommand(selection.selection,this.down,selection.ignore))}editor2.pushUndoStop();editor2.executeCommands(this.id,commands);editor2.pushUndoStop()}};var CopyLinesUpAction=class extends AbstractCopyLinesAction{constructor(){super(false,{id:"editor.action.copyLinesUpAction",label:localize("lines.copyUp","Copy Line Up"),alias:"Copy Line Up",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:512|1024|16,linux:{primary:2048|512|1024|16},weight:100},menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"2_line",title:localize({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}};var CopyLinesDownAction=class extends AbstractCopyLinesAction{constructor(){super(true,{id:"editor.action.copyLinesDownAction",label:localize("lines.copyDown","Copy Line Down"),alias:"Copy Line Down",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:512|1024|18,linux:{primary:2048|512|1024|18},weight:100},menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"2_line",title:localize({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}};var DuplicateSelectionAction=class extends EditorAction{constructor(){super({id:"editor.action.duplicateSelection",label:localize("duplicateSelection","Duplicate Selection"),alias:"Duplicate Selection",precondition:EditorContextKeys.writable,menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"2_line",title:localize({key:"miDuplicateSelection",comment:["&& denotes a mnemonic"]},"&&Duplicate Selection"),order:5}})}run(accessor,editor2,args){if(!editor2.hasModel()){return}const commands=[];const selections=editor2.getSelections();const model=editor2.getModel();for(const selection of selections){if(selection.isEmpty()){commands.push(new CopyLinesCommand(selection,true))}else{const insertSelection=new Selection(selection.endLineNumber,selection.endColumn,selection.endLineNumber,selection.endColumn);commands.push(new ReplaceCommandThatSelectsText(insertSelection,model.getValueInRange(selection)))}}editor2.pushUndoStop();editor2.executeCommands(this.id,commands);editor2.pushUndoStop()}};var AbstractMoveLinesAction=class extends EditorAction{constructor(down,opts){super(opts);this.down=down}run(accessor,editor2){const languageConfigurationService=accessor.get(ILanguageConfigurationService);const commands=[];const selections=editor2.getSelections()||[];const autoIndent=editor2.getOption(11);for(const selection of selections){commands.push(new MoveLinesCommand(selection,this.down,autoIndent,languageConfigurationService))}editor2.pushUndoStop();editor2.executeCommands(this.id,commands);editor2.pushUndoStop()}};var MoveLinesUpAction=class extends AbstractMoveLinesAction{constructor(){super(false,{id:"editor.action.moveLinesUpAction",label:localize("lines.moveUp","Move Line Up"),alias:"Move Line Up",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:512|16,linux:{primary:512|16},weight:100},menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"2_line",title:localize({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}};var MoveLinesDownAction=class extends AbstractMoveLinesAction{constructor(){super(true,{id:"editor.action.moveLinesDownAction",label:localize("lines.moveDown","Move Line Down"),alias:"Move Line Down",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:512|18,linux:{primary:512|18},weight:100},menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"2_line",title:localize({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}};var AbstractSortLinesAction=class extends EditorAction{constructor(descending,opts){super(opts);this.descending=descending}run(_accessor,editor2){const selections=editor2.getSelections()||[];for(const selection of selections){if(!SortLinesCommand.canRun(editor2.getModel(),selection,this.descending)){return}}const commands=[];for(let i=0,len=selections.length;i<len;i++){commands[i]=new SortLinesCommand(selections[i],this.descending)}editor2.pushUndoStop();editor2.executeCommands(this.id,commands);editor2.pushUndoStop()}};var SortLinesAscendingAction=class extends AbstractSortLinesAction{constructor(){super(false,{id:"editor.action.sortLinesAscending",label:localize("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:EditorContextKeys.writable})}};var SortLinesDescendingAction=class extends AbstractSortLinesAction{constructor(){super(true,{id:"editor.action.sortLinesDescending",label:localize("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:EditorContextKeys.writable})}};var DeleteDuplicateLinesAction=class extends EditorAction{constructor(){super({id:"editor.action.removeDuplicateLines",label:localize("lines.deleteDuplicates","Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:EditorContextKeys.writable})}run(_accessor,editor2){if(!editor2.hasModel()){return}const model=editor2.getModel();if(model.getLineCount()===1&&model.getLineMaxColumn(1)===1){return}const edits=[];const endCursorState=[];let linesDeleted=0;for(const selection of editor2.getSelections()){const uniqueLines=new Set;const lines=[];for(let i=selection.startLineNumber;i<=selection.endLineNumber;i++){const line=model.getLineContent(i);if(uniqueLines.has(line)){continue}lines.push(line);uniqueLines.add(line)}const selectionToReplace=new Selection(selection.startLineNumber,1,selection.endLineNumber,model.getLineMaxColumn(selection.endLineNumber));const adjustedSelectionStart=selection.startLineNumber-linesDeleted;const finalSelection=new Selection(adjustedSelectionStart,1,adjustedSelectionStart+lines.length-1,lines[lines.length-1].length);edits.push(EditOperation.replace(selectionToReplace,lines.join("\n")));endCursorState.push(finalSelection);linesDeleted+=selection.endLineNumber-selection.startLineNumber+1-lines.length}editor2.pushUndoStop();editor2.executeEdits(this.id,edits,endCursorState);editor2.pushUndoStop()}};var TrimTrailingWhitespaceAction=class extends EditorAction{constructor(){super({id:TrimTrailingWhitespaceAction.ID,label:localize("lines.trimTrailingWhitespace","Trim Trailing Whitespace"),alias:"Trim Trailing Whitespace",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2048|41,2048|54),weight:100}})}run(_accessor,editor2,args){let cursors=[];if(args.reason==="auto-save"){cursors=(editor2.getSelections()||[]).map((s=>new Position(s.positionLineNumber,s.positionColumn)))}const selection=editor2.getSelection();if(selection===null){return}const command=new TrimTrailingWhitespaceCommand(selection,cursors);editor2.pushUndoStop();editor2.executeCommands(this.id,[command]);editor2.pushUndoStop()}};TrimTrailingWhitespaceAction.ID="editor.action.trimTrailingWhitespace";var DeleteLinesAction=class extends EditorAction{constructor(){super({id:"editor.action.deleteLines",label:localize("lines.delete","Delete Line"),alias:"Delete Line",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:2048|1024|41,weight:100}})}run(_accessor,editor2){if(!editor2.hasModel()){return}const ops=this._getLinesToRemove(editor2);const model=editor2.getModel();if(model.getLineCount()===1&&model.getLineMaxColumn(1)===1){return}let linesDeleted=0;const edits=[];const cursorState=[];for(let i=0,len=ops.length;i<len;i++){const op=ops[i];let startLineNumber=op.startLineNumber;let endLineNumber=op.endLineNumber;let startColumn=1;let endColumn=model.getLineMaxColumn(endLineNumber);if(endLineNumber<model.getLineCount()){endLineNumber+=1;endColumn=1}else if(startLineNumber>1){startLineNumber-=1;startColumn=model.getLineMaxColumn(startLineNumber)}edits.push(EditOperation.replace(new Selection(startLineNumber,startColumn,endLineNumber,endColumn),""));cursorState.push(new Selection(startLineNumber-linesDeleted,op.positionColumn,startLineNumber-linesDeleted,op.positionColumn));linesDeleted+=op.endLineNumber-op.startLineNumber+1}editor2.pushUndoStop();editor2.executeEdits(this.id,edits,cursorState);editor2.pushUndoStop()}_getLinesToRemove(editor2){const operations=editor2.getSelections().map((s=>{let endLineNumber=s.endLineNumber;if(s.startLineNumber<s.endLineNumber&&s.endColumn===1){endLineNumber-=1}return{startLineNumber:s.startLineNumber,selectionStartColumn:s.selectionStartColumn,endLineNumber:endLineNumber,positionColumn:s.positionColumn}}));operations.sort(((a,b)=>{if(a.startLineNumber===b.startLineNumber){return a.endLineNumber-b.endLineNumber}return a.startLineNumber-b.startLineNumber}));const mergedOperations=[];let previousOperation=operations[0];for(let i=1;i<operations.length;i++){if(previousOperation.endLineNumber+1>=operations[i].startLineNumber){previousOperation.endLineNumber=operations[i].endLineNumber}else{mergedOperations.push(previousOperation);previousOperation=operations[i]}}mergedOperations.push(previousOperation);return mergedOperations}};var IndentLinesAction=class extends EditorAction{constructor(){super({id:"editor.action.indentLines",label:localize("lines.indent","Indent Line"),alias:"Indent Line",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2048|94,weight:100}})}run(_accessor,editor2){const viewModel=editor2._getViewModel();if(!viewModel){return}editor2.pushUndoStop();editor2.executeCommands(this.id,TypeOperations.indent(viewModel.cursorConfig,editor2.getModel(),editor2.getSelections()));editor2.pushUndoStop()}};var OutdentLinesAction=class extends EditorAction{constructor(){super({id:"editor.action.outdentLines",label:localize("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2048|92,weight:100}})}run(_accessor,editor2){CoreEditingCommands.Outdent.runEditorCommand(_accessor,editor2,null)}};var InsertLineBeforeAction=class extends EditorAction{constructor(){super({id:"editor.action.insertLineBefore",label:localize("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2048|1024|3,weight:100}})}run(_accessor,editor2){const viewModel=editor2._getViewModel();if(!viewModel){return}editor2.pushUndoStop();editor2.executeCommands(this.id,TypeOperations.lineInsertBefore(viewModel.cursorConfig,editor2.getModel(),editor2.getSelections()))}};var InsertLineAfterAction=class extends EditorAction{constructor(){super({id:"editor.action.insertLineAfter",label:localize("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2048|3,weight:100}})}run(_accessor,editor2){const viewModel=editor2._getViewModel();if(!viewModel){return}editor2.pushUndoStop();editor2.executeCommands(this.id,TypeOperations.lineInsertAfter(viewModel.cursorConfig,editor2.getModel(),editor2.getSelections()))}};var AbstractDeleteAllToBoundaryAction=class extends EditorAction{run(_accessor,editor2){if(!editor2.hasModel()){return}const primaryCursor=editor2.getSelection();const rangesToDelete=this._getRangesToDelete(editor2);const effectiveRanges=[];for(let i=0,count=rangesToDelete.length-1;i<count;i++){const range2=rangesToDelete[i];const nextRange=rangesToDelete[i+1];if(Range.intersectRanges(range2,nextRange)===null){effectiveRanges.push(range2)}else{rangesToDelete[i+1]=Range.plusRange(range2,nextRange)}}effectiveRanges.push(rangesToDelete[rangesToDelete.length-1]);const endCursorState=this._getEndCursorState(primaryCursor,effectiveRanges);const edits=effectiveRanges.map((range2=>EditOperation.replace(range2,"")));editor2.pushUndoStop();editor2.executeEdits(this.id,edits,endCursorState);editor2.pushUndoStop()}};var DeleteAllLeftAction=class extends AbstractDeleteAllToBoundaryAction{constructor(){super({id:"deleteAllLeft",label:localize("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:2048|1},weight:100}})}_getEndCursorState(primaryCursor,rangesToDelete){let endPrimaryCursor=null;const endCursorState=[];let deletedLines=0;rangesToDelete.forEach((range2=>{let endCursor;if(range2.endColumn===1&&deletedLines>0){const newStartLine=range2.startLineNumber-deletedLines;endCursor=new Selection(newStartLine,range2.startColumn,newStartLine,range2.startColumn)}else{endCursor=new Selection(range2.startLineNumber,range2.startColumn,range2.startLineNumber,range2.startColumn)}deletedLines+=range2.endLineNumber-range2.startLineNumber;if(range2.intersectRanges(primaryCursor)){endPrimaryCursor=endCursor}else{endCursorState.push(endCursor)}}));if(endPrimaryCursor){endCursorState.unshift(endPrimaryCursor)}return endCursorState}_getRangesToDelete(editor2){const selections=editor2.getSelections();if(selections===null){return[]}let rangesToDelete=selections;const model=editor2.getModel();if(model===null){return[]}rangesToDelete.sort(Range.compareRangesUsingStarts);rangesToDelete=rangesToDelete.map((selection=>{if(selection.isEmpty()){if(selection.startColumn===1){const deleteFromLine=Math.max(1,selection.startLineNumber-1);const deleteFromColumn=selection.startLineNumber===1?1:model.getLineContent(deleteFromLine).length+1;return new Range(deleteFromLine,deleteFromColumn,selection.startLineNumber,1)}else{return new Range(selection.startLineNumber,1,selection.startLineNumber,selection.startColumn)}}else{return new Range(selection.startLineNumber,1,selection.endLineNumber,selection.endColumn)}}));return rangesToDelete}};var DeleteAllRightAction=class extends AbstractDeleteAllToBoundaryAction{constructor(){super({id:"deleteAllRight",label:localize("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|41,secondary:[2048|20]},weight:100}})}_getEndCursorState(primaryCursor,rangesToDelete){let endPrimaryCursor=null;const endCursorState=[];for(let i=0,len=rangesToDelete.length,offset=0;i<len;i++){const range2=rangesToDelete[i];const endCursor=new Selection(range2.startLineNumber-offset,range2.startColumn,range2.startLineNumber-offset,range2.startColumn);if(range2.intersectRanges(primaryCursor)){endPrimaryCursor=endCursor}else{endCursorState.push(endCursor)}}if(endPrimaryCursor){endCursorState.unshift(endPrimaryCursor)}return endCursorState}_getRangesToDelete(editor2){const model=editor2.getModel();if(model===null){return[]}const selections=editor2.getSelections();if(selections===null){return[]}const rangesToDelete=selections.map((sel=>{if(sel.isEmpty()){const maxColumn=model.getLineMaxColumn(sel.startLineNumber);if(sel.startColumn===maxColumn){return new Range(sel.startLineNumber,sel.startColumn,sel.startLineNumber+1,1)}else{return new Range(sel.startLineNumber,sel.startColumn,sel.startLineNumber,maxColumn)}}return sel}));rangesToDelete.sort(Range.compareRangesUsingStarts);return rangesToDelete}};var JoinLinesAction=class extends EditorAction{constructor(){super({id:"editor.action.joinLines",label:localize("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:0,mac:{primary:256|40},weight:100}})}run(_accessor,editor2){const selections=editor2.getSelections();if(selections===null){return}let primaryCursor=editor2.getSelection();if(primaryCursor===null){return}selections.sort(Range.compareRangesUsingStarts);const reducedSelections=[];const lastSelection=selections.reduce(((previousValue,currentValue)=>{if(previousValue.isEmpty()){if(previousValue.endLineNumber===currentValue.startLineNumber){if(primaryCursor.equalsSelection(previousValue)){primaryCursor=currentValue}return currentValue}if(currentValue.startLineNumber>previousValue.endLineNumber+1){reducedSelections.push(previousValue);return currentValue}else{return new Selection(previousValue.startLineNumber,previousValue.startColumn,currentValue.endLineNumber,currentValue.endColumn)}}else{if(currentValue.startLineNumber>previousValue.endLineNumber){reducedSelections.push(previousValue);return currentValue}else{return new Selection(previousValue.startLineNumber,previousValue.startColumn,currentValue.endLineNumber,currentValue.endColumn)}}}));reducedSelections.push(lastSelection);const model=editor2.getModel();if(model===null){return}const edits=[];const endCursorState=[];let endPrimaryCursor=primaryCursor;let lineOffset=0;for(let i=0,len=reducedSelections.length;i<len;i++){const selection=reducedSelections[i];const startLineNumber=selection.startLineNumber;const startColumn=1;let columnDeltaOffset=0;let endLineNumber,endColumn;const selectionEndPositionOffset=model.getLineContent(selection.endLineNumber).length-selection.endColumn;if(selection.isEmpty()||selection.startLineNumber===selection.endLineNumber){const position=selection.getStartPosition();if(position.lineNumber<model.getLineCount()){endLineNumber=startLineNumber+1;endColumn=model.getLineMaxColumn(endLineNumber)}else{endLineNumber=position.lineNumber;endColumn=model.getLineMaxColumn(position.lineNumber)}}else{endLineNumber=selection.endLineNumber;endColumn=model.getLineMaxColumn(endLineNumber)}let trimmedLinesContent=model.getLineContent(startLineNumber);for(let i2=startLineNumber+1;i2<=endLineNumber;i2++){const lineText=model.getLineContent(i2);const firstNonWhitespaceIdx=model.getLineFirstNonWhitespaceColumn(i2);if(firstNonWhitespaceIdx>=1){let insertSpace=true;if(trimmedLinesContent===""){insertSpace=false}if(insertSpace&&(trimmedLinesContent.charAt(trimmedLinesContent.length-1)===" "||trimmedLinesContent.charAt(trimmedLinesContent.length-1)==="\t")){insertSpace=false;trimmedLinesContent=trimmedLinesContent.replace(/[\s\uFEFF\xA0]+$/g," ")}const lineTextWithoutIndent=lineText.substr(firstNonWhitespaceIdx-1);trimmedLinesContent+=(insertSpace?" ":"")+lineTextWithoutIndent;if(insertSpace){columnDeltaOffset=lineTextWithoutIndent.length+1}else{columnDeltaOffset=lineTextWithoutIndent.length}}else{columnDeltaOffset=0}}const deleteSelection=new Range(startLineNumber,startColumn,endLineNumber,endColumn);if(!deleteSelection.isEmpty()){let resultSelection;if(selection.isEmpty()){edits.push(EditOperation.replace(deleteSelection,trimmedLinesContent));resultSelection=new Selection(deleteSelection.startLineNumber-lineOffset,trimmedLinesContent.length-columnDeltaOffset+1,startLineNumber-lineOffset,trimmedLinesContent.length-columnDeltaOffset+1)}else{if(selection.startLineNumber===selection.endLineNumber){edits.push(EditOperation.replace(deleteSelection,trimmedLinesContent));resultSelection=new Selection(selection.startLineNumber-lineOffset,selection.startColumn,selection.endLineNumber-lineOffset,selection.endColumn)}else{edits.push(EditOperation.replace(deleteSelection,trimmedLinesContent));resultSelection=new Selection(selection.startLineNumber-lineOffset,selection.startColumn,selection.startLineNumber-lineOffset,trimmedLinesContent.length-selectionEndPositionOffset)}}if(Range.intersectRanges(deleteSelection,primaryCursor)!==null){endPrimaryCursor=resultSelection}else{endCursorState.push(resultSelection)}}lineOffset+=deleteSelection.endLineNumber-deleteSelection.startLineNumber}endCursorState.unshift(endPrimaryCursor);editor2.pushUndoStop();editor2.executeEdits(this.id,edits,endCursorState);editor2.pushUndoStop()}};var TransposeAction=class extends EditorAction{constructor(){super({id:"editor.action.transpose",label:localize("editor.transpose","Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:EditorContextKeys.writable})}run(_accessor,editor2){const selections=editor2.getSelections();if(selections===null){return}const model=editor2.getModel();if(model===null){return}const commands=[];for(let i=0,len=selections.length;i<len;i++){const selection=selections[i];if(!selection.isEmpty()){continue}const cursor=selection.getStartPosition();const maxColumn=model.getLineMaxColumn(cursor.lineNumber);if(cursor.column>=maxColumn){if(cursor.lineNumber===model.getLineCount()){continue}const deleteSelection=new Range(cursor.lineNumber,Math.max(1,cursor.column-1),cursor.lineNumber+1,1);const chars=model.getValueInRange(deleteSelection).split("").reverse().join("");commands.push(new ReplaceCommand(new Selection(cursor.lineNumber,Math.max(1,cursor.column-1),cursor.lineNumber+1,1),chars))}else{const deleteSelection=new Range(cursor.lineNumber,Math.max(1,cursor.column-1),cursor.lineNumber,cursor.column+1);const chars=model.getValueInRange(deleteSelection).split("").reverse().join("");commands.push(new ReplaceCommandThatPreservesSelection(deleteSelection,chars,new Selection(cursor.lineNumber,cursor.column+1,cursor.lineNumber,cursor.column+1)))}}editor2.pushUndoStop();editor2.executeCommands(this.id,commands);editor2.pushUndoStop()}};var AbstractCaseAction=class extends EditorAction{run(_accessor,editor2){const selections=editor2.getSelections();if(selections===null){return}const model=editor2.getModel();if(model===null){return}const wordSeparators2=editor2.getOption(128);const textEdits=[];for(const selection of selections){if(selection.isEmpty()){const cursor=selection.getStartPosition();const word=editor2.getConfiguredWordAtPosition(cursor);if(!word){continue}const wordRange=new Range(cursor.lineNumber,word.startColumn,cursor.lineNumber,word.endColumn);const text2=model.getValueInRange(wordRange);textEdits.push(EditOperation.replace(wordRange,this._modifyText(text2,wordSeparators2)))}else{const text2=model.getValueInRange(selection);textEdits.push(EditOperation.replace(selection,this._modifyText(text2,wordSeparators2)))}}editor2.pushUndoStop();editor2.executeEdits(this.id,textEdits);editor2.pushUndoStop()}};var UpperCaseAction=class extends AbstractCaseAction{constructor(){super({id:"editor.action.transformToUppercase",label:localize("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:EditorContextKeys.writable})}_modifyText(text2,wordSeparators2){return text2.toLocaleUpperCase()}};var LowerCaseAction=class extends AbstractCaseAction{constructor(){super({id:"editor.action.transformToLowercase",label:localize("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:EditorContextKeys.writable})}_modifyText(text2,wordSeparators2){return text2.toLocaleLowerCase()}};var BackwardsCompatibleRegExp=class{constructor(_pattern,_flags){this._pattern=_pattern;this._flags=_flags;this._actual=null;this._evaluated=false}get(){if(!this._evaluated){this._evaluated=true;try{this._actual=new RegExp(this._pattern,this._flags)}catch(err){}}return this._actual}isSupported(){return this.get()!==null}};var TitleCaseAction=class extends AbstractCaseAction{constructor(){super({id:"editor.action.transformToTitlecase",label:localize("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:EditorContextKeys.writable})}_modifyText(text2,wordSeparators2){const titleBoundary=TitleCaseAction.titleBoundary.get();if(!titleBoundary){return text2}return text2.toLocaleLowerCase().replace(titleBoundary,(b=>b.toLocaleUpperCase()))}};TitleCaseAction.titleBoundary=new BackwardsCompatibleRegExp("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");var SnakeCaseAction=class extends AbstractCaseAction{constructor(){super({id:"editor.action.transformToSnakecase",label:localize("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:EditorContextKeys.writable})}_modifyText(text2,wordSeparators2){const caseBoundary=SnakeCaseAction.caseBoundary.get();const singleLetters=SnakeCaseAction.singleLetters.get();if(!caseBoundary||!singleLetters){return text2}return text2.replace(caseBoundary,"$1_$2").replace(singleLetters,"$1_$2$3").toLocaleLowerCase()}};SnakeCaseAction.caseBoundary=new BackwardsCompatibleRegExp("(\\p{Ll})(\\p{Lu})","gmu");SnakeCaseAction.singleLetters=new BackwardsCompatibleRegExp("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");var CamelCaseAction=class extends AbstractCaseAction{constructor(){super({id:"editor.action.transformToCamelcase",label:localize("editor.transformToCamelcase","Transform to Camel Case"),alias:"Transform to Camel Case",precondition:EditorContextKeys.writable})}_modifyText(text2,wordSeparators2){const wordBoundary=CamelCaseAction.wordBoundary.get();if(!wordBoundary){return text2}const words=text2.split(wordBoundary);const firstWord=words.shift();return firstWord+words.map((word=>word.substring(0,1).toLocaleUpperCase()+word.substring(1))).join("")}};CamelCaseAction.wordBoundary=new BackwardsCompatibleRegExp("[_\\s-]","gm");var KebabCaseAction=class extends AbstractCaseAction{static isSupported(){const areAllRegexpsSupported=[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every((regexp=>regexp.isSupported()));return areAllRegexpsSupported}constructor(){super({id:"editor.action.transformToKebabcase",label:localize("editor.transformToKebabcase","Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:EditorContextKeys.writable})}_modifyText(text2,_){const caseBoundary=KebabCaseAction.caseBoundary.get();const singleLetters=KebabCaseAction.singleLetters.get();const underscoreBoundary=KebabCaseAction.underscoreBoundary.get();if(!caseBoundary||!singleLetters||!underscoreBoundary){return text2}return text2.replace(underscoreBoundary,"$1-$3").replace(caseBoundary,"$1-$2").replace(singleLetters,"$1-$2").toLocaleLowerCase()}};KebabCaseAction.caseBoundary=new BackwardsCompatibleRegExp("(\\p{Ll})(\\p{Lu})","gmu");KebabCaseAction.singleLetters=new BackwardsCompatibleRegExp("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu");KebabCaseAction.underscoreBoundary=new BackwardsCompatibleRegExp("(\\S)(_)(\\S)","gm");registerEditorAction(CopyLinesUpAction);registerEditorAction(CopyLinesDownAction);registerEditorAction(DuplicateSelectionAction);registerEditorAction(MoveLinesUpAction);registerEditorAction(MoveLinesDownAction);registerEditorAction(SortLinesAscendingAction);registerEditorAction(SortLinesDescendingAction);registerEditorAction(DeleteDuplicateLinesAction);registerEditorAction(TrimTrailingWhitespaceAction);registerEditorAction(DeleteLinesAction);registerEditorAction(IndentLinesAction);registerEditorAction(OutdentLinesAction);registerEditorAction(InsertLineBeforeAction);registerEditorAction(InsertLineAfterAction);registerEditorAction(DeleteAllLeftAction);registerEditorAction(DeleteAllRightAction);registerEditorAction(JoinLinesAction);registerEditorAction(TransposeAction);registerEditorAction(UpperCaseAction);registerEditorAction(LowerCaseAction);if(SnakeCaseAction.caseBoundary.isSupported()&&SnakeCaseAction.singleLetters.isSupported()){registerEditorAction(SnakeCaseAction)}if(CamelCaseAction.wordBoundary.isSupported()){registerEditorAction(CamelCaseAction)}if(TitleCaseAction.titleBoundary.isSupported()){registerEditorAction(TitleCaseAction)}if(KebabCaseAction.isSupported()){registerEditorAction(KebabCaseAction)}init_arrays();init_async();init_cancellation();init_color();init_errors();init_event();init_lifecycle();init_strings();init_uri();init_editorExtensions();init_codeEditorService();init_position();init_range();init_editorContextKeys();init_textModel();init_languageConfigurationRegistry();init_nls();init_contextkey();init_languageFeatures();init_colorRegistry();init_languageFeatureDebounce();init_stopwatch();var __decorate113=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param106=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter82=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var LinkedEditingContribution_1;var CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE=new RawContextKey("LinkedEditingInputVisible",false);var DECORATION_CLASS_NAME="linked-editing-decoration";var LinkedEditingContribution=LinkedEditingContribution_1=class LinkedEditingContribution2 extends Disposable{static get(editor2){return editor2.getContribution(LinkedEditingContribution_1.ID)}constructor(editor2,contextKeyService,languageFeaturesService,languageConfigurationService,languageFeatureDebounceService){super();this.languageConfigurationService=languageConfigurationService;this._syncRangesToken=0;this._localToDispose=this._register(new DisposableStore);this._editor=editor2;this._providers=languageFeaturesService.linkedEditingRangeProvider;this._enabled=false;this._visibleContextKey=CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE.bindTo(contextKeyService);this._debounceInformation=languageFeatureDebounceService.for(this._providers,"Linked Editing",{max:200});this._currentDecorations=this._editor.createDecorationsCollection();this._languageWordPattern=null;this._currentWordPattern=null;this._ignoreChangeEvent=false;this._localToDispose=this._register(new DisposableStore);this._rangeUpdateTriggerPromise=null;this._rangeSyncTriggerPromise=null;this._currentRequest=null;this._currentRequestPosition=null;this._currentRequestModelVersion=null;this._register(this._editor.onDidChangeModel((()=>this.reinitialize(true))));this._register(this._editor.onDidChangeConfiguration((e=>{if(e.hasChanged(68)||e.hasChanged(91)){this.reinitialize(false)}})));this._register(this._providers.onDidChange((()=>this.reinitialize(false))));this._register(this._editor.onDidChangeModelLanguage((()=>this.reinitialize(true))));this.reinitialize(true)}reinitialize(forceRefresh){const model=this._editor.getModel();const isEnabled=model!==null&&(this._editor.getOption(68)||this._editor.getOption(91))&&this._providers.has(model);if(isEnabled===this._enabled&&!forceRefresh){return}this._enabled=isEnabled;this.clearRanges();this._localToDispose.clear();if(!isEnabled||model===null){return}this._localToDispose.add(Event.runAndSubscribe(model.onDidChangeLanguageConfiguration,(()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(model.getLanguageId()).getWordDefinition()})));const rangeUpdateScheduler=new Delayer(this._debounceInformation.get(model));const triggerRangeUpdate=()=>{var _a6;this._rangeUpdateTriggerPromise=rangeUpdateScheduler.trigger((()=>this.updateRanges()),(_a6=this._debounceDuration)!==null&&_a6!==void 0?_a6:this._debounceInformation.get(model))};const rangeSyncScheduler=new Delayer(0);const triggerRangeSync=token=>{this._rangeSyncTriggerPromise=rangeSyncScheduler.trigger((()=>this._syncRanges(token)))};this._localToDispose.add(this._editor.onDidChangeCursorPosition((()=>{triggerRangeUpdate()})));this._localToDispose.add(this._editor.onDidChangeModelContent((e=>{if(!this._ignoreChangeEvent){if(this._currentDecorations.length>0){const referenceRange=this._currentDecorations.getRange(0);if(referenceRange&&e.changes.every((c=>referenceRange.intersectRanges(c.range)))){triggerRangeSync(this._syncRangesToken);return}}}triggerRangeUpdate()})));this._localToDispose.add({dispose:()=>{rangeUpdateScheduler.dispose();rangeSyncScheduler.dispose()}});this.updateRanges()}_syncRanges(token){if(!this._editor.hasModel()||token!==this._syncRangesToken||this._currentDecorations.length===0){return}const model=this._editor.getModel();const referenceRange=this._currentDecorations.getRange(0);if(!referenceRange||referenceRange.startLineNumber!==referenceRange.endLineNumber){return this.clearRanges()}const referenceValue=model.getValueInRange(referenceRange);if(this._currentWordPattern){const match2=referenceValue.match(this._currentWordPattern);const matchLength=match2?match2[0].length:0;if(matchLength!==referenceValue.length){return this.clearRanges()}}const edits=[];for(let i=1,len=this._currentDecorations.length;i<len;i++){const mirrorRange=this._currentDecorations.getRange(i);if(!mirrorRange){continue}if(mirrorRange.startLineNumber!==mirrorRange.endLineNumber){edits.push({range:mirrorRange,text:referenceValue})}else{let oldValue=model.getValueInRange(mirrorRange);let newValue=referenceValue;let rangeStartColumn=mirrorRange.startColumn;let rangeEndColumn=mirrorRange.endColumn;const commonPrefixLength2=commonPrefixLength(oldValue,newValue);rangeStartColumn+=commonPrefixLength2;oldValue=oldValue.substr(commonPrefixLength2);newValue=newValue.substr(commonPrefixLength2);const commonSuffixLength2=commonSuffixLength(oldValue,newValue);rangeEndColumn-=commonSuffixLength2;oldValue=oldValue.substr(0,oldValue.length-commonSuffixLength2);newValue=newValue.substr(0,newValue.length-commonSuffixLength2);if(rangeStartColumn!==rangeEndColumn||newValue.length!==0){edits.push({range:new Range(mirrorRange.startLineNumber,rangeStartColumn,mirrorRange.endLineNumber,rangeEndColumn),text:newValue})}}}if(edits.length===0){return}try{this._editor.popUndoStop();this._ignoreChangeEvent=true;const prevEditOperationType=this._editor._getViewModel().getPrevEditOperationType();this._editor.executeEdits("linkedEditing",edits);this._editor._getViewModel().setPrevEditOperationType(prevEditOperationType)}finally{this._ignoreChangeEvent=false}}dispose(){this.clearRanges();super.dispose()}clearRanges(){this._visibleContextKey.set(false);this._currentDecorations.clear();if(this._currentRequest){this._currentRequest.cancel();this._currentRequest=null;this._currentRequestPosition=null}}updateRanges(force=false){return __awaiter82(this,void 0,void 0,(function*(){if(!this._editor.hasModel()){this.clearRanges();return}const position=this._editor.getPosition();if(!this._enabled&&!force||this._editor.getSelections().length>1){this.clearRanges();return}const model=this._editor.getModel();const modelVersionId=model.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===modelVersionId){if(position.equals(this._currentRequestPosition)){return}if(this._currentDecorations.length>0){const range2=this._currentDecorations.getRange(0);if(range2&&range2.containsPosition(position)){return}}}this.clearRanges();this._currentRequestPosition=position;this._currentRequestModelVersion=modelVersionId;const request=createCancelablePromise((token=>__awaiter82(this,void 0,void 0,(function*(){try{const sw=new StopWatch(false);const response=yield getLinkedEditingRanges(this._providers,model,position,token);this._debounceInformation.update(model,sw.elapsed());if(request!==this._currentRequest){return}this._currentRequest=null;if(modelVersionId!==model.getVersionId()){return}let ranges=[];if(response===null||response===void 0?void 0:response.ranges){ranges=response.ranges}this._currentWordPattern=(response===null||response===void 0?void 0:response.wordPattern)||this._languageWordPattern;let foundReferenceRange=false;for(let i=0,len=ranges.length;i<len;i++){if(Range.containsPosition(ranges[i],position)){foundReferenceRange=true;if(i!==0){const referenceRange=ranges[i];ranges.splice(i,1);ranges.unshift(referenceRange)}break}}if(!foundReferenceRange){this.clearRanges();return}const decorations=ranges.map((range2=>({range:range2,options:LinkedEditingContribution_1.DECORATION})));this._visibleContextKey.set(true);this._currentDecorations.set(decorations);this._syncRangesToken++}catch(err){if(!isCancellationError(err)){onUnexpectedError(err)}if(this._currentRequest===request||!this._currentRequest){this.clearRanges()}}}))));this._currentRequest=request;return request}))}};LinkedEditingContribution.ID="editor.contrib.linkedEditing";LinkedEditingContribution.DECORATION=ModelDecorationOptions.register({description:"linked-editing",stickiness:0,className:DECORATION_CLASS_NAME});LinkedEditingContribution=LinkedEditingContribution_1=__decorate113([__param106(1,IContextKeyService),__param106(2,ILanguageFeaturesService),__param106(3,ILanguageConfigurationService),__param106(4,ILanguageFeatureDebounceService)],LinkedEditingContribution);var LinkedEditingAction=class extends EditorAction{constructor(){super({id:"editor.action.linkedEditing",label:localize("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:ContextKeyExpr.and(EditorContextKeys.writable,EditorContextKeys.hasRenameProvider),kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2048|1024|60,weight:100}})}runCommand(accessor,args){const editorService=accessor.get(ICodeEditorService);const[uri,pos]=Array.isArray(args)&&args||[void 0,void 0];if(URI.isUri(uri)&&Position.isIPosition(pos)){return editorService.openCodeEditor({resource:uri},editorService.getActiveCodeEditor()).then((editor2=>{if(!editor2){return}editor2.setPosition(pos);editor2.invokeWithinContext((accessor2=>{this.reportTelemetry(accessor2,editor2);return this.run(accessor2,editor2)}))}),onUnexpectedError)}return super.runCommand(accessor,args)}run(_accessor,editor2){const controller=LinkedEditingContribution.get(editor2);if(controller){return Promise.resolve(controller.updateRanges(true))}return Promise.resolve()}};var LinkedEditingCommand=EditorCommand.bindToContribution(LinkedEditingContribution.get);registerEditorCommand(new LinkedEditingCommand({id:"cancelLinkedEditingInput",precondition:CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE,handler:x=>x.clearRanges(),kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,weight:100+99,primary:9,secondary:[1024|9]}}));function getLinkedEditingRanges(providers,model,position,token){const orderedByScore=providers.ordered(model);return first(orderedByScore.map((provider=>()=>__awaiter82(this,void 0,void 0,(function*(){try{return yield provider.provideLinkedEditingRanges(model,position,token)}catch(e){onUnexpectedExternalError(e);return void 0}})))),(result=>!!result&&isNonEmptyArray(result===null||result===void 0?void 0:result.ranges)))}var editorLinkedEditingBackground=registerColor("editor.linkedEditingBackground",{dark:Color.fromHex("#f00").transparent(.3),light:Color.fromHex("#f00").transparent(.3),hcDark:Color.fromHex("#f00").transparent(.3),hcLight:Color.white},localize("editorLinkedEditingBackground","Background color when the editor auto renames on type."));registerModelAndPositionCommand("_executeLinkedEditingProvider",((_accessor,model,position)=>{const{linkedEditingRangeProvider:linkedEditingRangeProvider}=_accessor.get(ILanguageFeaturesService);return getLinkedEditingRanges(linkedEditingRangeProvider,model,position,CancellationToken.None)}));registerEditorContribution(LinkedEditingContribution.ID,LinkedEditingContribution,1);registerEditorAction(LinkedEditingAction);init_async();init_cancellation();init_errors();init_htmlContent();init_lifecycle();init_network();init_platform();init_resources();init_stopwatch();init_uri();init_editorExtensions();init_textModel();init_languageFeatureDebounce();init_languageFeatures();init_arrays();init_cancellation();init_errors();init_lifecycle();init_types();init_uri();init_range();init_model2();init_commands();init_languageFeatures();var __awaiter83=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var Link=class{constructor(link,provider){this._link=link;this._provider=provider}toJSON(){return{range:this.range,url:this.url,tooltip:this.tooltip}}get range(){return this._link.range}get url(){return this._link.url}get tooltip(){return this._link.tooltip}resolve(token){return __awaiter83(this,void 0,void 0,(function*(){if(this._link.url){return this._link.url}if(typeof this._provider.resolveLink==="function"){return Promise.resolve(this._provider.resolveLink(this._link,token)).then((value=>{this._link=value||this._link;if(this._link.url){return this.resolve(token)}return Promise.reject(new Error("missing"))}))}return Promise.reject(new Error("missing"))}))}};var LinksList=class{constructor(tuples){this._disposables=new DisposableStore;let links=[];for(const[list,provider]of tuples){const newLinks=list.links.map((link=>new Link(link,provider)));links=LinksList._union(links,newLinks);if(isDisposable(list)){this._disposables.add(list)}}this.links=links}dispose(){this._disposables.dispose();this.links.length=0}static _union(oldLinks,newLinks){const result=[];let oldIndex;let oldLen;let newIndex;let newLen;for(oldIndex=0,newIndex=0,oldLen=oldLinks.length,newLen=newLinks.length;oldIndex<oldLen&&newIndex<newLen;){const oldLink=oldLinks[oldIndex];const newLink=newLinks[newIndex];if(Range.areIntersectingOrTouching(oldLink.range,newLink.range)){oldIndex++;continue}const comparisonResult=Range.compareRangesUsingStarts(oldLink.range,newLink.range);if(comparisonResult<0){result.push(oldLink);oldIndex++}else{result.push(newLink);newIndex++}}for(;oldIndex<oldLen;oldIndex++){result.push(oldLinks[oldIndex])}for(;newIndex<newLen;newIndex++){result.push(newLinks[newIndex])}return result}};function getLinks(providers,model,token){const lists=[];const promises=providers.ordered(model).reverse().map(((provider,i)=>Promise.resolve(provider.provideLinks(model,token)).then((result=>{if(result){lists[i]=[result,provider]}}),onUnexpectedExternalError)));return Promise.all(promises).then((()=>{const result=new LinksList(coalesce(lists));if(!token.isCancellationRequested){return result}result.dispose();return new LinksList([])}))}CommandsRegistry.registerCommand("_executeLinkProvider",((accessor,...args)=>__awaiter83(void 0,void 0,void 0,(function*(){let[uri,resolveCount]=args;assertType(uri instanceof URI);if(typeof resolveCount!=="number"){resolveCount=0}const{linkProvider:linkProvider}=accessor.get(ILanguageFeaturesService);const model=accessor.get(IModelService).getModel(uri);if(!model){return[]}const list=yield getLinks(linkProvider,model,CancellationToken.None);if(!list){return[]}for(let i=0;i<Math.min(resolveCount,list.links.length);i++){yield list.links[i].resolve(CancellationToken.None)}const result=list.links.slice(0);list.dispose();return result}))));init_nls();init_notification();init_opener();var __decorate114=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param107=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter84=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var LinkDetector_1;var LinkDetector=LinkDetector_1=class LinkDetector2 extends Disposable{static get(editor2){return editor2.getContribution(LinkDetector_1.ID)}constructor(editor2,openerService,notificationService,languageFeaturesService,languageFeatureDebounceService){super();this.editor=editor2;this.openerService=openerService;this.notificationService=notificationService;this.languageFeaturesService=languageFeaturesService;this.providers=this.languageFeaturesService.linkProvider;this.debounceInformation=languageFeatureDebounceService.for(this.providers,"Links",{min:1e3,max:4e3});this.computeLinks=this._register(new RunOnceScheduler((()=>this.computeLinksNow()),1e3));this.computePromise=null;this.activeLinksList=null;this.currentOccurrences={};this.activeLinkDecorationId=null;const clickLinkGesture=this._register(new ClickLinkGesture(editor2));this._register(clickLinkGesture.onMouseMoveOrRelevantKeyDown((([mouseEvent,keyboardEvent])=>{this._onEditorMouseMove(mouseEvent,keyboardEvent)})));this._register(clickLinkGesture.onExecute((e=>{this.onEditorMouseUp(e)})));this._register(clickLinkGesture.onCancel((e=>{this.cleanUpActiveLinkDecoration()})));this._register(editor2.onDidChangeConfiguration((e=>{if(!e.hasChanged(69)){return}this.updateDecorations([]);this.stop();this.computeLinks.schedule(0)})));this._register(editor2.onDidChangeModelContent((e=>{if(!this.editor.hasModel()){return}this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))})));this._register(editor2.onDidChangeModel((e=>{this.currentOccurrences={};this.activeLinkDecorationId=null;this.stop();this.computeLinks.schedule(0)})));this._register(editor2.onDidChangeModelLanguage((e=>{this.stop();this.computeLinks.schedule(0)})));this._register(this.providers.onDidChange((e=>{this.stop();this.computeLinks.schedule(0)})));this.computeLinks.schedule(0)}computeLinksNow(){return __awaiter84(this,void 0,void 0,(function*(){if(!this.editor.hasModel()||!this.editor.getOption(69)){return}const model=this.editor.getModel();if(!this.providers.has(model)){return}if(this.activeLinksList){this.activeLinksList.dispose();this.activeLinksList=null}this.computePromise=createCancelablePromise((token=>getLinks(this.providers,model,token)));try{const sw=new StopWatch(false);this.activeLinksList=yield this.computePromise;this.debounceInformation.update(model,sw.elapsed());if(model.isDisposed()){return}this.updateDecorations(this.activeLinksList.links)}catch(err){onUnexpectedError(err)}finally{this.computePromise=null}}))}updateDecorations(links){const useMetaKey=this.editor.getOption(76)==="altKey";const oldDecorations=[];const keys=Object.keys(this.currentOccurrences);for(const decorationId of keys){const occurence=this.currentOccurrences[decorationId];oldDecorations.push(occurence.decorationId)}const newDecorations=[];if(links){for(const link of links){newDecorations.push(LinkOccurrence.decoration(link,useMetaKey))}}this.editor.changeDecorations((changeAccessor=>{const decorations=changeAccessor.deltaDecorations(oldDecorations,newDecorations);this.currentOccurrences={};this.activeLinkDecorationId=null;for(let i=0,len=decorations.length;i<len;i++){const occurence=new LinkOccurrence(links[i],decorations[i]);this.currentOccurrences[occurence.decorationId]=occurence}}))}_onEditorMouseMove(mouseEvent,withKey){const useMetaKey=this.editor.getOption(76)==="altKey";if(this.isEnabled(mouseEvent,withKey)){this.cleanUpActiveLinkDecoration();const occurrence=this.getLinkOccurrence(mouseEvent.target.position);if(occurrence){this.editor.changeDecorations((changeAccessor=>{occurrence.activate(changeAccessor,useMetaKey);this.activeLinkDecorationId=occurrence.decorationId}))}}else{this.cleanUpActiveLinkDecoration()}}cleanUpActiveLinkDecoration(){const useMetaKey=this.editor.getOption(76)==="altKey";if(this.activeLinkDecorationId){const occurrence=this.currentOccurrences[this.activeLinkDecorationId];if(occurrence){this.editor.changeDecorations((changeAccessor=>{occurrence.deactivate(changeAccessor,useMetaKey)}))}this.activeLinkDecorationId=null}}onEditorMouseUp(mouseEvent){if(!this.isEnabled(mouseEvent)){return}const occurrence=this.getLinkOccurrence(mouseEvent.target.position);if(!occurrence){return}this.openLinkOccurrence(occurrence,mouseEvent.hasSideBySideModifier,true)}openLinkOccurrence(occurrence,openToSide,fromUserGesture=false){if(!this.openerService){return}const{link:link}=occurrence;link.resolve(CancellationToken.None).then((uri=>{if(typeof uri==="string"&&this.editor.hasModel()){const modelUri=this.editor.getModel().uri;if(modelUri.scheme===Schemas.file&&uri.startsWith(`${Schemas.file}:`)){const parsedUri=URI.parse(uri);if(parsedUri.scheme===Schemas.file){const fsPath=originalFSPath(parsedUri);let relativePath2=null;if(fsPath.startsWith("/./")){relativePath2=`.${fsPath.substr(1)}`}else if(fsPath.startsWith("//./")){relativePath2=`.${fsPath.substr(2)}`}if(relativePath2){uri=joinPath(modelUri,relativePath2)}}}}return this.openerService.open(uri,{openToSide:openToSide,fromUserGesture:fromUserGesture,allowContributedOpeners:true,allowCommands:true,fromWorkspace:true})}),(err=>{const messageOrError=err instanceof Error?err.message:err;if(messageOrError==="invalid"){this.notificationService.warn(localize("invalid.url","Failed to open this link because it is not well-formed: {0}",link.url.toString()))}else if(messageOrError==="missing"){this.notificationService.warn(localize("missing.url","Failed to open this link because its target is missing."))}else{onUnexpectedError(err)}}))}getLinkOccurrence(position){if(!this.editor.hasModel()||!position){return null}const decorations=this.editor.getModel().getDecorationsInRange({startLineNumber:position.lineNumber,startColumn:position.column,endLineNumber:position.lineNumber,endColumn:position.column},0,true);for(const decoration2 of decorations){const currentOccurrence=this.currentOccurrences[decoration2.id];if(currentOccurrence){return currentOccurrence}}return null}isEnabled(mouseEvent,withKey){return Boolean(mouseEvent.target.type===6&&(mouseEvent.hasTriggerModifier||withKey&&withKey.keyCodeIsTriggerKey))}stop(){var _a6;this.computeLinks.cancel();if(this.activeLinksList){(_a6=this.activeLinksList)===null||_a6===void 0?void 0:_a6.dispose();this.activeLinksList=null}if(this.computePromise){this.computePromise.cancel();this.computePromise=null}}dispose(){super.dispose();this.stop()}};LinkDetector.ID="editor.linkDetector";LinkDetector=LinkDetector_1=__decorate114([__param107(1,IOpenerService),__param107(2,INotificationService),__param107(3,ILanguageFeaturesService),__param107(4,ILanguageFeatureDebounceService)],LinkDetector);var decoration={general:ModelDecorationOptions.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:true,inlineClassName:"detected-link"}),active:ModelDecorationOptions.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:true,inlineClassName:"detected-link-active"})};var LinkOccurrence=class{static decoration(link,useMetaKey){return{range:link.range,options:LinkOccurrence._getOptions(link,useMetaKey,false)}}static _getOptions(link,useMetaKey,isActive){const options2=Object.assign({},isActive?decoration.active:decoration.general);options2.hoverMessage=getHoverMessage(link,useMetaKey);return options2}constructor(link,decorationId){this.link=link;this.decorationId=decorationId}activate(changeAccessor,useMetaKey){changeAccessor.changeDecorationOptions(this.decorationId,LinkOccurrence._getOptions(this.link,useMetaKey,true))}deactivate(changeAccessor,useMetaKey){changeAccessor.changeDecorationOptions(this.decorationId,LinkOccurrence._getOptions(this.link,useMetaKey,false))}};function getHoverMessage(link,useMetaKey){const executeCmd=link.url&&/^command:/i.test(link.url.toString());const label=link.tooltip?link.tooltip:executeCmd?localize("links.navigate.executeCmd","Execute command"):localize("links.navigate.follow","Follow link");const kb=useMetaKey?isMacintosh?localize("links.navigate.kb.meta.mac","cmd + click"):localize("links.navigate.kb.meta","ctrl + click"):isMacintosh?localize("links.navigate.kb.alt.mac","option + click"):localize("links.navigate.kb.alt","alt + click");if(link.url){let nativeLabel="";if(/^command:/i.test(link.url.toString())){const match2=link.url.toString().match(/^command:([^?#]+)/);if(match2){const commandId=match2[1];nativeLabel=localize("tooltip.explanation","Execute command {0}",commandId)}}const hoverMessage=new MarkdownString("",true).appendLink(link.url.toString(true).replace(/ /g,"%20"),label,nativeLabel).appendMarkdown(` (${kb})`);return hoverMessage}else{return(new MarkdownString).appendText(`${label} (${kb})`)}}var OpenLinkAction=class extends EditorAction{constructor(){super({id:"editor.action.openLink",label:localize("label","Open Link"),alias:"Open Link",precondition:void 0})}run(accessor,editor2){const linkDetector=LinkDetector.get(editor2);if(!linkDetector){return}if(!editor2.hasModel()){return}const selections=editor2.getSelections();for(const sel of selections){const link=linkDetector.getLinkOccurrence(sel.getEndPosition());if(link){linkDetector.openLinkOccurrence(link,false)}}}};registerEditorContribution(LinkDetector.ID,LinkDetector,1);registerEditorAction(OpenLinkAction);init_lifecycle();init_editorExtensions();var LongLinesHelper=class extends Disposable{constructor(_editor){super();this._editor=_editor;this._register(this._editor.onMouseDown((e=>{const stopRenderingLineAfter=this._editor.getOption(115);if(stopRenderingLineAfter>=0&&e.target.type===6&&e.target.position.column>=stopRenderingLineAfter){this._editor.updateOptions({stopRenderingLineAfter:-1})}})))}};LongLinesHelper.ID="editor.contrib.longLinesHelper";registerEditorContribution(LongLinesHelper.ID,LongLinesHelper,2);init_aria();init_async();init_keyCodes();init_lifecycle();init_editorExtensions();init_cursorMoveCommands();init_range();init_selection();init_editorContextKeys();init_nls();init_actions2();init_contextkey();init_languageFeatures();init_model();init_textModel();init_languages();init_nls();init_colorRegistry();init_themeService();var wordHighlightBackground=registerColor("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},localize("wordHighlight","Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations."),true);registerColor("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},localize("wordHighlightStrong","Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations."),true);registerColor("editor.wordHighlightTextBackground",{light:wordHighlightBackground,dark:wordHighlightBackground,hcDark:wordHighlightBackground,hcLight:wordHighlightBackground},localize("wordHighlightText","Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),true);var wordHighlightBorder=registerColor("editor.wordHighlightBorder",{light:null,dark:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));registerColor("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable."));registerColor("editor.wordHighlightTextBorder",{light:wordHighlightBorder,dark:wordHighlightBorder,hcDark:wordHighlightBorder,hcLight:wordHighlightBorder},localize("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));var overviewRulerWordHighlightForeground=registerColor("editorOverviewRuler.wordHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hcDark:"#A0A0A0CC",hcLight:"#A0A0A0CC"},localize("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),true);var overviewRulerWordHighlightStrongForeground=registerColor("editorOverviewRuler.wordHighlightStrongForeground",{dark:"#C0A0C0CC",light:"#C0A0C0CC",hcDark:"#C0A0C0CC",hcLight:"#C0A0C0CC"},localize("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),true);var overviewRulerWordHighlightTextForeground=registerColor("editorOverviewRuler.wordHighlightTextForeground",{dark:overviewRulerSelectionHighlightForeground,light:overviewRulerSelectionHighlightForeground,hcDark:overviewRulerSelectionHighlightForeground,hcLight:overviewRulerSelectionHighlightForeground},localize("overviewRulerWordHighlightTextForeground","Overview ruler marker color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),true);var _WRITE_OPTIONS=ModelDecorationOptions.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:themeColorFromId(overviewRulerWordHighlightStrongForeground),position:OverviewRulerLane2.Center},minimap:{color:themeColorFromId(minimapSelectionOccurrenceHighlight),position:MinimapPosition2.Inline}});var _TEXT_OPTIONS=ModelDecorationOptions.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:themeColorFromId(overviewRulerWordHighlightTextForeground),position:OverviewRulerLane2.Center},minimap:{color:themeColorFromId(minimapSelectionOccurrenceHighlight),position:MinimapPosition2.Inline}});var _SELECTION_HIGHLIGHT_OPTIONS=ModelDecorationOptions.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:themeColorFromId(overviewRulerSelectionHighlightForeground),position:OverviewRulerLane2.Center},minimap:{color:themeColorFromId(minimapSelectionOccurrenceHighlight),position:MinimapPosition2.Inline}});var _SELECTION_HIGHLIGHT_OPTIONS_NO_OVERVIEW=ModelDecorationOptions.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"});var _REGULAR_OPTIONS=ModelDecorationOptions.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:themeColorFromId(overviewRulerWordHighlightForeground),position:OverviewRulerLane2.Center},minimap:{color:themeColorFromId(minimapSelectionOccurrenceHighlight),position:MinimapPosition2.Inline}});function getHighlightDecorationOptions(kind){if(kind===DocumentHighlightKind.Write){return _WRITE_OPTIONS}else if(kind===DocumentHighlightKind.Text){return _TEXT_OPTIONS}else{return _REGULAR_OPTIONS}}function getSelectionHighlightDecorationOptions(hasSemanticHighlights){return hasSemanticHighlights?_SELECTION_HIGHLIGHT_OPTIONS_NO_OVERVIEW:_SELECTION_HIGHLIGHT_OPTIONS}registerThemingParticipant(((theme,collector)=>{const selectionHighlight=theme.getColor(editorSelectionHighlight);if(selectionHighlight){collector.addRule(`.monaco-editor .selectionHighlight { background-color: ${selectionHighlight.transparent(.5)}; }`)}}));init_instantiation();var __decorate115=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param108=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var SelectionHighlighter_1;function announceCursorChange(previousCursorState,cursorState){const cursorDiff=cursorState.filter((cs=>!previousCursorState.find((pcs=>pcs.equals(cs)))));if(cursorDiff.length>=1){const cursorPositions=cursorDiff.map((cs=>`line ${cs.viewState.position.lineNumber} column ${cs.viewState.position.column}`)).join(", ");const msg=cursorDiff.length===1?localize("cursorAdded","Cursor added: {0}",cursorPositions):localize("cursorsAdded","Cursors added: {0}",cursorPositions);status(msg)}}var InsertCursorAbove=class extends EditorAction{constructor(){super({id:"editor.action.insertCursorAbove",label:localize("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2048|512|16,linux:{primary:1024|512|16,secondary:[2048|1024|16]},weight:100},menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"3_multi",title:localize({key:"miInsertCursorAbove",comment:["&& denotes a mnemonic"]},"&&Add Cursor Above"),order:2}})}run(accessor,editor2,args){if(!editor2.hasModel()){return}let useLogicalLine=true;if(args&&args.logicalLine===false){useLogicalLine=false}const viewModel=editor2._getViewModel();if(viewModel.cursorConfig.readOnly){return}viewModel.model.pushStackElement();const previousCursorState=viewModel.getCursorStates();viewModel.setCursorStates(args.source,3,CursorMoveCommands.addCursorUp(viewModel,previousCursorState,useLogicalLine));viewModel.revealTopMostCursor(args.source);announceCursorChange(previousCursorState,viewModel.getCursorStates())}};var InsertCursorBelow=class extends EditorAction{constructor(){super({id:"editor.action.insertCursorBelow",label:localize("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2048|512|18,linux:{primary:1024|512|18,secondary:[2048|1024|18]},weight:100},menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"3_multi",title:localize({key:"miInsertCursorBelow",comment:["&& denotes a mnemonic"]},"A&&dd Cursor Below"),order:3}})}run(accessor,editor2,args){if(!editor2.hasModel()){return}let useLogicalLine=true;if(args&&args.logicalLine===false){useLogicalLine=false}const viewModel=editor2._getViewModel();if(viewModel.cursorConfig.readOnly){return}viewModel.model.pushStackElement();const previousCursorState=viewModel.getCursorStates();viewModel.setCursorStates(args.source,3,CursorMoveCommands.addCursorDown(viewModel,previousCursorState,useLogicalLine));viewModel.revealBottomMostCursor(args.source);announceCursorChange(previousCursorState,viewModel.getCursorStates())}};var InsertCursorAtEndOfEachLineSelected=class extends EditorAction{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:localize("mutlicursor.insertAtEndOfEachLineSelected","Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:1024|512|39,weight:100},menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"3_multi",title:localize({key:"miInsertCursorAtEndOfEachLineSelected",comment:["&& denotes a mnemonic"]},"Add C&&ursors to Line Ends"),order:4}})}getCursorsForSelection(selection,model,result){if(selection.isEmpty()){return}for(let i=selection.startLineNumber;i<selection.endLineNumber;i++){const currentLineMaxColumn=model.getLineMaxColumn(i);result.push(new Selection(i,currentLineMaxColumn,i,currentLineMaxColumn))}if(selection.endColumn>1){result.push(new Selection(selection.endLineNumber,selection.endColumn,selection.endLineNumber,selection.endColumn))}}run(accessor,editor2){if(!editor2.hasModel()){return}const model=editor2.getModel();const selections=editor2.getSelections();const viewModel=editor2._getViewModel();const previousCursorState=viewModel.getCursorStates();const newSelections=[];selections.forEach((sel=>this.getCursorsForSelection(sel,model,newSelections)));if(newSelections.length>0){editor2.setSelections(newSelections)}announceCursorChange(previousCursorState,viewModel.getCursorStates())}};var InsertCursorAtEndOfLineSelected=class extends EditorAction{constructor(){super({id:"editor.action.addCursorsToBottom",label:localize("mutlicursor.addCursorsToBottom","Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})}run(accessor,editor2){if(!editor2.hasModel()){return}const selections=editor2.getSelections();const lineCount=editor2.getModel().getLineCount();const newSelections=[];for(let i=selections[0].startLineNumber;i<=lineCount;i++){newSelections.push(new Selection(i,selections[0].startColumn,i,selections[0].endColumn))}const viewModel=editor2._getViewModel();const previousCursorState=viewModel.getCursorStates();if(newSelections.length>0){editor2.setSelections(newSelections)}announceCursorChange(previousCursorState,viewModel.getCursorStates())}};var InsertCursorAtTopOfLineSelected=class extends EditorAction{constructor(){super({id:"editor.action.addCursorsToTop",label:localize("mutlicursor.addCursorsToTop","Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})}run(accessor,editor2){if(!editor2.hasModel()){return}const selections=editor2.getSelections();const newSelections=[];for(let i=selections[0].startLineNumber;i>=1;i--){newSelections.push(new Selection(i,selections[0].startColumn,i,selections[0].endColumn))}const viewModel=editor2._getViewModel();const previousCursorState=viewModel.getCursorStates();if(newSelections.length>0){editor2.setSelections(newSelections)}announceCursorChange(previousCursorState,viewModel.getCursorStates())}};var MultiCursorSessionResult=class{constructor(selections,revealRange,revealScrollType){this.selections=selections;this.revealRange=revealRange;this.revealScrollType=revealScrollType}};var MultiCursorSession=class{static create(editor2,findController){if(!editor2.hasModel()){return null}const findState=findController.getState();if(!editor2.hasTextFocus()&&findState.isRevealed&&findState.searchString.length>0){return new MultiCursorSession(editor2,findController,false,findState.searchString,findState.wholeWord,findState.matchCase,null)}let isDisconnectedFromFindController=false;let wholeWord;let matchCase;const selections=editor2.getSelections();if(selections.length===1&&selections[0].isEmpty()){isDisconnectedFromFindController=true;wholeWord=true;matchCase=true}else{wholeWord=findState.wholeWord;matchCase=findState.matchCase}const s=editor2.getSelection();let searchText;let currentMatch=null;if(s.isEmpty()){const word=editor2.getConfiguredWordAtPosition(s.getStartPosition());if(!word){return null}searchText=word.word;currentMatch=new Selection(s.startLineNumber,word.startColumn,s.startLineNumber,word.endColumn)}else{searchText=editor2.getModel().getValueInRange(s).replace(/\r\n/g,"\n")}return new MultiCursorSession(editor2,findController,isDisconnectedFromFindController,searchText,wholeWord,matchCase,currentMatch)}constructor(_editor,findController,isDisconnectedFromFindController,searchText,wholeWord,matchCase,currentMatch){this._editor=_editor;this.findController=findController;this.isDisconnectedFromFindController=isDisconnectedFromFindController;this.searchText=searchText;this.wholeWord=wholeWord;this.matchCase=matchCase;this.currentMatch=currentMatch}addSelectionToNextFindMatch(){if(!this._editor.hasModel()){return null}const nextMatch=this._getNextMatch();if(!nextMatch){return null}const allSelections=this._editor.getSelections();return new MultiCursorSessionResult(allSelections.concat(nextMatch),nextMatch,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel()){return null}const nextMatch=this._getNextMatch();if(!nextMatch){return null}const allSelections=this._editor.getSelections();return new MultiCursorSessionResult(allSelections.slice(0,allSelections.length-1).concat(nextMatch),nextMatch,0)}_getNextMatch(){if(!this._editor.hasModel()){return null}if(this.currentMatch){const result=this.currentMatch;this.currentMatch=null;return result}this.findController.highlightFindOptions();const allSelections=this._editor.getSelections();const lastAddedSelection=allSelections[allSelections.length-1];const nextMatch=this._editor.getModel().findNextMatch(this.searchText,lastAddedSelection.getEndPosition(),false,this.matchCase,this.wholeWord?this._editor.getOption(128):null,false);if(!nextMatch){return null}return new Selection(nextMatch.range.startLineNumber,nextMatch.range.startColumn,nextMatch.range.endLineNumber,nextMatch.range.endColumn)}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel()){return null}const previousMatch=this._getPreviousMatch();if(!previousMatch){return null}const allSelections=this._editor.getSelections();return new MultiCursorSessionResult(allSelections.concat(previousMatch),previousMatch,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel()){return null}const previousMatch=this._getPreviousMatch();if(!previousMatch){return null}const allSelections=this._editor.getSelections();return new MultiCursorSessionResult(allSelections.slice(0,allSelections.length-1).concat(previousMatch),previousMatch,0)}_getPreviousMatch(){if(!this._editor.hasModel()){return null}if(this.currentMatch){const result=this.currentMatch;this.currentMatch=null;return result}this.findController.highlightFindOptions();const allSelections=this._editor.getSelections();const lastAddedSelection=allSelections[allSelections.length-1];const previousMatch=this._editor.getModel().findPreviousMatch(this.searchText,lastAddedSelection.getStartPosition(),false,this.matchCase,this.wholeWord?this._editor.getOption(128):null,false);if(!previousMatch){return null}return new Selection(previousMatch.range.startLineNumber,previousMatch.range.startColumn,previousMatch.range.endLineNumber,previousMatch.range.endColumn)}selectAll(searchScope){if(!this._editor.hasModel()){return[]}this.findController.highlightFindOptions();const editorModel=this._editor.getModel();if(searchScope){return editorModel.findMatches(this.searchText,searchScope,false,this.matchCase,this.wholeWord?this._editor.getOption(128):null,false,1073741824)}return editorModel.findMatches(this.searchText,true,false,this.matchCase,this.wholeWord?this._editor.getOption(128):null,false,1073741824)}};var MultiCursorSelectionController=class extends Disposable{static get(editor2){return editor2.getContribution(MultiCursorSelectionController.ID)}constructor(editor2){super();this._sessionDispose=this._register(new DisposableStore);this._editor=editor2;this._ignoreSelectionChange=false;this._session=null}dispose(){this._endSession();super.dispose()}_beginSessionIfNeeded(findController){if(!this._session){const session=MultiCursorSession.create(this._editor,findController);if(!session){return}this._session=session;const newState={searchString:this._session.searchText};if(this._session.isDisconnectedFromFindController){newState.wholeWordOverride=1;newState.matchCaseOverride=1;newState.isRegexOverride=2}findController.getState().change(newState,false);this._sessionDispose.add(this._editor.onDidChangeCursorSelection((e=>{if(this._ignoreSelectionChange){return}this._endSession()})));this._sessionDispose.add(this._editor.onDidBlurEditorText((()=>{this._endSession()})));this._sessionDispose.add(findController.getState().onFindReplaceStateChange((e=>{if(e.matchCase||e.wholeWord){this._endSession()}})))}}_endSession(){this._sessionDispose.clear();if(this._session&&this._session.isDisconnectedFromFindController){const newState={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(newState,false)}this._session=null}_setSelections(selections){this._ignoreSelectionChange=true;this._editor.setSelections(selections);this._ignoreSelectionChange=false}_expandEmptyToWord(model,selection){if(!selection.isEmpty()){return selection}const word=this._editor.getConfiguredWordAtPosition(selection.getStartPosition());if(!word){return selection}return new Selection(selection.startLineNumber,word.startColumn,selection.startLineNumber,word.endColumn)}_applySessionResult(result){if(!result){return}this._setSelections(result.selections);if(result.revealRange){this._editor.revealRangeInCenterIfOutsideViewport(result.revealRange,result.revealScrollType)}}getSession(findController){return this._session}addSelectionToNextFindMatch(findController){if(!this._editor.hasModel()){return}if(!this._session){const allSelections=this._editor.getSelections();if(allSelections.length>1){const findState=findController.getState();const matchCase=findState.matchCase;const selectionsContainSameText=modelRangesContainSameText(this._editor.getModel(),allSelections,matchCase);if(!selectionsContainSameText){const model=this._editor.getModel();const resultingSelections=[];for(let i=0,len=allSelections.length;i<len;i++){resultingSelections[i]=this._expandEmptyToWord(model,allSelections[i])}this._editor.setSelections(resultingSelections);return}}}this._beginSessionIfNeeded(findController);if(this._session){this._applySessionResult(this._session.addSelectionToNextFindMatch())}}addSelectionToPreviousFindMatch(findController){this._beginSessionIfNeeded(findController);if(this._session){this._applySessionResult(this._session.addSelectionToPreviousFindMatch())}}moveSelectionToNextFindMatch(findController){this._beginSessionIfNeeded(findController);if(this._session){this._applySessionResult(this._session.moveSelectionToNextFindMatch())}}moveSelectionToPreviousFindMatch(findController){this._beginSessionIfNeeded(findController);if(this._session){this._applySessionResult(this._session.moveSelectionToPreviousFindMatch())}}selectAll(findController){if(!this._editor.hasModel()){return}let matches=null;const findState=findController.getState();if(findState.isRevealed&&findState.searchString.length>0&&findState.isRegex){const editorModel=this._editor.getModel();if(findState.searchScope){matches=editorModel.findMatches(findState.searchString,findState.searchScope,findState.isRegex,findState.matchCase,findState.wholeWord?this._editor.getOption(128):null,false,1073741824)}else{matches=editorModel.findMatches(findState.searchString,true,findState.isRegex,findState.matchCase,findState.wholeWord?this._editor.getOption(128):null,false,1073741824)}}else{this._beginSessionIfNeeded(findController);if(!this._session){return}matches=this._session.selectAll(findState.searchScope)}if(matches.length>0){const editorSelection=this._editor.getSelection();for(let i=0,len=matches.length;i<len;i++){const match2=matches[i];const intersection=match2.range.intersectRanges(editorSelection);if(intersection){matches[i]=matches[0];matches[0]=match2;break}}this._setSelections(matches.map((m=>new Selection(m.range.startLineNumber,m.range.startColumn,m.range.endLineNumber,m.range.endColumn))))}}};MultiCursorSelectionController.ID="editor.contrib.multiCursorController";var MultiCursorSelectionControllerAction=class extends EditorAction{run(accessor,editor2){const multiCursorController=MultiCursorSelectionController.get(editor2);if(!multiCursorController){return}const viewModel=editor2._getViewModel();if(viewModel){const previousCursorState=viewModel.getCursorStates();const findController=CommonFindController.get(editor2);if(findController){this._run(multiCursorController,findController)}else{const newFindController=accessor.get(IInstantiationService).createInstance(CommonFindController,editor2);this._run(multiCursorController,newFindController);newFindController.dispose()}announceCursorChange(previousCursorState,viewModel.getCursorStates())}}};var AddSelectionToNextFindMatchAction=class extends MultiCursorSelectionControllerAction{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:localize("addSelectionToNextFindMatch","Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:2048|34,weight:100},menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"3_multi",title:localize({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(multiCursorController,findController){multiCursorController.addSelectionToNextFindMatch(findController)}};var AddSelectionToPreviousFindMatchAction=class extends MultiCursorSelectionControllerAction{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:localize("addSelectionToPreviousFindMatch","Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"3_multi",title:localize({key:"miAddSelectionToPreviousFindMatch",comment:["&& denotes a mnemonic"]},"Add P&&revious Occurrence"),order:6}})}_run(multiCursorController,findController){multiCursorController.addSelectionToPreviousFindMatch(findController)}};var MoveSelectionToNextFindMatchAction=class extends MultiCursorSelectionControllerAction{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:localize("moveSelectionToNextFindMatch","Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:KeyChord(2048|41,2048|34),weight:100}})}_run(multiCursorController,findController){multiCursorController.moveSelectionToNextFindMatch(findController)}};var MoveSelectionToPreviousFindMatchAction=class extends MultiCursorSelectionControllerAction{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:localize("moveSelectionToPreviousFindMatch","Move Last Selection To Previous Find Match"),alias:"Move Last Selection To Previous Find Match",precondition:void 0})}_run(multiCursorController,findController){multiCursorController.moveSelectionToPreviousFindMatch(findController)}};var SelectHighlightsAction=class extends MultiCursorSelectionControllerAction{constructor(){super({id:"editor.action.selectHighlights",label:localize("selectAllOccurrencesOfFindMatch","Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:2048|1024|42,weight:100},menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"3_multi",title:localize({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(multiCursorController,findController){multiCursorController.selectAll(findController)}};var CompatChangeAll=class extends MultiCursorSelectionControllerAction{constructor(){super({id:"editor.action.changeAll",label:localize("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:ContextKeyExpr.and(EditorContextKeys.writable,EditorContextKeys.editorTextFocus),kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2048|60,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(multiCursorController,findController){multiCursorController.selectAll(findController)}};var SelectionHighlighterState=class{constructor(_model,_searchText,_matchCase,_wordSeparators,prevState){this._model=_model;this._searchText=_searchText;this._matchCase=_matchCase;this._wordSeparators=_wordSeparators;this._modelVersionId=this._model.getVersionId();this._cachedFindMatches=null;if(prevState&&this._model===prevState._model&&this._searchText===prevState._searchText&&this._matchCase===prevState._matchCase&&this._wordSeparators===prevState._wordSeparators&&this._modelVersionId===prevState._modelVersionId){this._cachedFindMatches=prevState._cachedFindMatches}}findMatches(){if(this._cachedFindMatches===null){this._cachedFindMatches=this._model.findMatches(this._searchText,true,false,this._matchCase,this._wordSeparators,false).map((m=>m.range));this._cachedFindMatches.sort(Range.compareRangesUsingStarts)}return this._cachedFindMatches}};var SelectionHighlighter=SelectionHighlighter_1=class SelectionHighlighter2 extends Disposable{constructor(editor2,_languageFeaturesService){super();this._languageFeaturesService=_languageFeaturesService;this.editor=editor2;this._isEnabled=editor2.getOption(106);this._decorations=editor2.createDecorationsCollection();this.updateSoon=this._register(new RunOnceScheduler((()=>this._update()),300));this.state=null;this._register(editor2.onDidChangeConfiguration((e=>{this._isEnabled=editor2.getOption(106)})));this._register(editor2.onDidChangeCursorSelection((e=>{if(!this._isEnabled){return}if(e.selection.isEmpty()){if(e.reason===3){if(this.state){this._setState(null)}this.updateSoon.schedule()}else{this._setState(null)}}else{this._update()}})));this._register(editor2.onDidChangeModel((e=>{this._setState(null)})));this._register(editor2.onDidChangeModelContent((e=>{if(this._isEnabled){this.updateSoon.schedule()}})));const findController=CommonFindController.get(editor2);if(findController){this._register(findController.getState().onFindReplaceStateChange((e=>{this._update()})))}this.updateSoon.schedule()}_update(){this._setState(SelectionHighlighter_1._createState(this.state,this._isEnabled,this.editor))}static _createState(oldState,isEnabled,editor2){if(!isEnabled){return null}if(!editor2.hasModel()){return null}const s=editor2.getSelection();if(s.startLineNumber!==s.endLineNumber){return null}const multiCursorController=MultiCursorSelectionController.get(editor2);if(!multiCursorController){return null}const findController=CommonFindController.get(editor2);if(!findController){return null}let r=multiCursorController.getSession(findController);if(!r){const allSelections=editor2.getSelections();if(allSelections.length>1){const findState2=findController.getState();const matchCase=findState2.matchCase;const selectionsContainSameText=modelRangesContainSameText(editor2.getModel(),allSelections,matchCase);if(!selectionsContainSameText){return null}}r=MultiCursorSession.create(editor2,findController)}if(!r){return null}if(r.currentMatch){return null}if(/^[ \t]+$/.test(r.searchText)){return null}if(r.searchText.length>200){return null}const findState=findController.getState();const caseSensitive=findState.matchCase;if(findState.isRevealed){let findStateSearchString=findState.searchString;if(!caseSensitive){findStateSearchString=findStateSearchString.toLowerCase()}let mySearchString=r.searchText;if(!caseSensitive){mySearchString=mySearchString.toLowerCase()}if(findStateSearchString===mySearchString&&r.matchCase===findState.matchCase&&r.wholeWord===findState.wholeWord&&!findState.isRegex){return null}}return new SelectionHighlighterState(editor2.getModel(),r.searchText,r.matchCase,r.wholeWord?editor2.getOption(128):null,oldState)}_setState(newState){this.state=newState;if(!this.state){this._decorations.clear();return}if(!this.editor.hasModel()){return}const model=this.editor.getModel();if(model.isTooLargeForTokenization()){return}const allMatches=this.state.findMatches();const selections=this.editor.getSelections();selections.sort(Range.compareRangesUsingStarts);const matches=[];for(let i=0,j=0,len=allMatches.length,lenJ=selections.length;i<len;){const match2=allMatches[i];if(j>=lenJ){matches.push(match2);i++}else{const cmp3=Range.compareRangesUsingStarts(match2,selections[j]);if(cmp3<0){if(selections[j].isEmpty()||!Range.areIntersecting(match2,selections[j])){matches.push(match2)}i++}else if(cmp3>0){j++}else{i++;j++}}}const hasSemanticHighlights=this._languageFeaturesService.documentHighlightProvider.has(model)&&this.editor.getOption(79);const decorations=matches.map((r=>({range:r,options:getSelectionHighlightDecorationOptions(hasSemanticHighlights)})));this._decorations.set(decorations)}dispose(){this._setState(null);super.dispose()}};SelectionHighlighter.ID="editor.contrib.selectionHighlighter";SelectionHighlighter=SelectionHighlighter_1=__decorate115([__param108(1,ILanguageFeaturesService)],SelectionHighlighter);function modelRangesContainSameText(model,ranges,matchCase){const selectedText=getValueInRange(model,ranges[0],!matchCase);for(let i=1,len=ranges.length;i<len;i++){const range2=ranges[i];if(range2.isEmpty()){return false}const thisSelectedText=getValueInRange(model,range2,!matchCase);if(selectedText!==thisSelectedText){return false}}return true}function getValueInRange(model,range2,toLowerCase){const text2=model.getValueInRange(range2);return toLowerCase?text2.toLowerCase():text2}var FocusNextCursor=class extends EditorAction{constructor(){super({id:"editor.action.focusNextCursor",label:localize("mutlicursor.focusNextCursor","Focus Next Cursor"),description:{description:localize("mutlicursor.focusNextCursor.description","Focuses the next cursor"),args:[]},alias:"Focus Next Cursor",precondition:void 0})}run(accessor,editor2,args){if(!editor2.hasModel()){return}const viewModel=editor2._getViewModel();if(viewModel.cursorConfig.readOnly){return}viewModel.model.pushStackElement();const previousCursorState=Array.from(viewModel.getCursorStates());const firstCursor=previousCursorState.shift();if(!firstCursor){return}previousCursorState.push(firstCursor);viewModel.setCursorStates(args.source,3,previousCursorState);viewModel.revealPrimaryCursor(args.source,true);announceCursorChange(previousCursorState,viewModel.getCursorStates())}};var FocusPreviousCursor=class extends EditorAction{constructor(){super({id:"editor.action.focusPreviousCursor",label:localize("mutlicursor.focusPreviousCursor","Focus Previous Cursor"),description:{description:localize("mutlicursor.focusPreviousCursor.description","Focuses the previous cursor"),args:[]},alias:"Focus Previous Cursor",precondition:void 0})}run(accessor,editor2,args){if(!editor2.hasModel()){return}const viewModel=editor2._getViewModel();if(viewModel.cursorConfig.readOnly){return}viewModel.model.pushStackElement();const previousCursorState=Array.from(viewModel.getCursorStates());const firstCursor=previousCursorState.pop();if(!firstCursor){return}previousCursorState.unshift(firstCursor);viewModel.setCursorStates(args.source,3,previousCursorState);viewModel.revealPrimaryCursor(args.source,true);announceCursorChange(previousCursorState,viewModel.getCursorStates())}};registerEditorContribution(MultiCursorSelectionController.ID,MultiCursorSelectionController,4);registerEditorContribution(SelectionHighlighter.ID,SelectionHighlighter,1);registerEditorAction(InsertCursorAbove);registerEditorAction(InsertCursorBelow);registerEditorAction(InsertCursorAtEndOfEachLineSelected);registerEditorAction(AddSelectionToNextFindMatchAction);registerEditorAction(AddSelectionToPreviousFindMatchAction);registerEditorAction(MoveSelectionToNextFindMatchAction);registerEditorAction(MoveSelectionToPreviousFindMatchAction);registerEditorAction(SelectHighlightsAction);registerEditorAction(CompatChangeAll);registerEditorAction(InsertCursorAtEndOfLineSelected);registerEditorAction(InsertCursorAtTopOfLineSelected);registerEditorAction(FocusNextCursor);registerEditorAction(FocusPreviousCursor);init_lazy();init_lifecycle();init_editorExtensions();init_editorContextKeys();init_languages();init_languageFeatures();init_async();init_errors();init_event();init_lifecycle();init_characterClassifier();init_languages();init_cancellation();init_errors();init_types();init_uri();init_position();init_languages();init_languageFeatures();init_resolverService();init_commands();init_contextkey();var __awaiter85=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var Context3={Visible:new RawContextKey("parameterHintsVisible",false),MultipleSignatures:new RawContextKey("parameterHintsMultipleSignatures",false)};function provideSignatureHelp(registry,model,position,context,token){return __awaiter85(this,void 0,void 0,(function*(){const supports=registry.ordered(model);for(const support of supports){try{const result=yield support.provideSignatureHelp(model,position,token,context);if(result){return result}}catch(err){onUnexpectedExternalError(err)}}return void 0}))}CommandsRegistry.registerCommand("_executeSignatureHelpProvider",((accessor,...args)=>__awaiter85(void 0,void 0,void 0,(function*(){const[uri,position,triggerCharacter]=args;assertType(URI.isUri(uri));assertType(Position.isIPosition(position));assertType(typeof triggerCharacter==="string"||!triggerCharacter);const languageFeaturesService=accessor.get(ILanguageFeaturesService);const ref=yield accessor.get(ITextModelService).createModelReference(uri);try{const result=yield provideSignatureHelp(languageFeaturesService.signatureHelpProvider,ref.object.textEditorModel,Position.lift(position),{triggerKind:SignatureHelpTriggerKind.Invoke,isRetrigger:false,triggerCharacter:triggerCharacter},CancellationToken.None);if(!result){return void 0}setTimeout((()=>result.dispose()),0);return result.value}finally{ref.dispose()}}))));var __awaiter86=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var ParameterHintState;(function(ParameterHintState2){ParameterHintState2.Default={type:0};class Pending{constructor(request,previouslyActiveHints){this.request=request;this.previouslyActiveHints=previouslyActiveHints;this.type=2}}ParameterHintState2.Pending=Pending;class Active{constructor(hints){this.hints=hints;this.type=1}}ParameterHintState2.Active=Active})(ParameterHintState||(ParameterHintState={}));var ParameterHintsModel=class extends Disposable{constructor(editor2,providers,delay=ParameterHintsModel.DEFAULT_DELAY){super();this._onChangedHints=this._register(new Emitter);this.onChangedHints=this._onChangedHints.event;this.triggerOnType=false;this._state=ParameterHintState.Default;this._pendingTriggers=[];this._lastSignatureHelpResult=this._register(new MutableDisposable);this.triggerChars=new CharacterSet;this.retriggerChars=new CharacterSet;this.triggerId=0;this.editor=editor2;this.providers=providers;this.throttledDelayer=new Delayer(delay);this._register(this.editor.onDidBlurEditorWidget((()=>this.cancel())));this._register(this.editor.onDidChangeConfiguration((()=>this.onEditorConfigurationChange())));this._register(this.editor.onDidChangeModel((e=>this.onModelChanged())));this._register(this.editor.onDidChangeModelLanguage((_=>this.onModelChanged())));this._register(this.editor.onDidChangeCursorSelection((e=>this.onCursorChange(e))));this._register(this.editor.onDidChangeModelContent((e=>this.onModelContentChange())));this._register(this.providers.onDidChange(this.onModelChanged,this));this._register(this.editor.onDidType((text2=>this.onDidType(text2))));this.onEditorConfigurationChange();this.onModelChanged()}get state(){return this._state}set state(value){if(this._state.type===2){this._state.request.cancel()}this._state=value}cancel(silent=false){this.state=ParameterHintState.Default;this.throttledDelayer.cancel();if(!silent){this._onChangedHints.fire(void 0)}}trigger(context,delay){const model=this.editor.getModel();if(!model||!this.providers.has(model)){return}const triggerId=++this.triggerId;this._pendingTriggers.push(context);this.throttledDelayer.trigger((()=>this.doTrigger(triggerId)),delay).catch(onUnexpectedError)}next(){if(this.state.type!==1){return}const length2=this.state.hints.signatures.length;const activeSignature=this.state.hints.activeSignature;const last=activeSignature%length2===length2-1;const cycle=this.editor.getOption(84).cycle;if((length2<2||last)&&!cycle){this.cancel();return}this.updateActiveSignature(last&&cycle?0:activeSignature+1)}previous(){if(this.state.type!==1){return}const length2=this.state.hints.signatures.length;const activeSignature=this.state.hints.activeSignature;const first2=activeSignature===0;const cycle=this.editor.getOption(84).cycle;if((length2<2||first2)&&!cycle){this.cancel();return}this.updateActiveSignature(first2&&cycle?length2-1:activeSignature-1)}updateActiveSignature(activeSignature){if(this.state.type!==1){return}this.state=new ParameterHintState.Active(Object.assign(Object.assign({},this.state.hints),{activeSignature:activeSignature}));this._onChangedHints.fire(this.state.hints)}doTrigger(triggerId){return __awaiter86(this,void 0,void 0,(function*(){const isRetrigger=this.state.type===1||this.state.type===2;const activeSignatureHelp=this.getLastActiveHints();this.cancel(true);if(this._pendingTriggers.length===0){return false}const context=this._pendingTriggers.reduce(mergeTriggerContexts);this._pendingTriggers=[];const triggerContext={triggerKind:context.triggerKind,triggerCharacter:context.triggerCharacter,isRetrigger:isRetrigger,activeSignatureHelp:activeSignatureHelp};if(!this.editor.hasModel()){return false}const model=this.editor.getModel();const position=this.editor.getPosition();this.state=new ParameterHintState.Pending(createCancelablePromise((token=>provideSignatureHelp(this.providers,model,position,triggerContext,token))),activeSignatureHelp);try{const result=yield this.state.request;if(triggerId!==this.triggerId){result===null||result===void 0?void 0:result.dispose();return false}if(!result||!result.value.signatures||result.value.signatures.length===0){result===null||result===void 0?void 0:result.dispose();this._lastSignatureHelpResult.clear();this.cancel();return false}else{this.state=new ParameterHintState.Active(result.value);this._lastSignatureHelpResult.value=result;this._onChangedHints.fire(this.state.hints);return true}}catch(error){if(triggerId===this.triggerId){this.state=ParameterHintState.Default}onUnexpectedError(error);return false}}))}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return void 0}}get isTriggered(){return this.state.type===1||this.state.type===2||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel();this.triggerChars.clear();this.retriggerChars.clear();const model=this.editor.getModel();if(!model){return}for(const support of this.providers.ordered(model)){for(const ch of support.signatureHelpTriggerCharacters||[]){if(ch.length){const charCode=ch.charCodeAt(0);this.triggerChars.add(charCode);this.retriggerChars.add(charCode)}}for(const ch of support.signatureHelpRetriggerCharacters||[]){if(ch.length){this.retriggerChars.add(ch.charCodeAt(0))}}}}onDidType(text2){if(!this.triggerOnType){return}const lastCharIndex=text2.length-1;const triggerCharCode=text2.charCodeAt(lastCharIndex);if(this.triggerChars.has(triggerCharCode)||this.isTriggered&&this.retriggerChars.has(triggerCharCode)){this.trigger({triggerKind:SignatureHelpTriggerKind.TriggerCharacter,triggerCharacter:text2.charAt(lastCharIndex)})}}onCursorChange(e){if(e.source==="mouse"){this.cancel()}else if(this.isTriggered){this.trigger({triggerKind:SignatureHelpTriggerKind.ContentChange})}}onModelContentChange(){if(this.isTriggered){this.trigger({triggerKind:SignatureHelpTriggerKind.ContentChange})}}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(84).enabled;if(!this.triggerOnType){this.cancel()}}dispose(){this.cancel(true);super.dispose()}};ParameterHintsModel.DEFAULT_DELAY=120;function mergeTriggerContexts(previous,current){switch(current.triggerKind){case SignatureHelpTriggerKind.Invoke:return current;case SignatureHelpTriggerKind.ContentChange:return previous;case SignatureHelpTriggerKind.TriggerCharacter:default:return current}}init_nls();init_contextkey();init_instantiation();init_dom();init_aria();init_scrollableElement();init_codicons();init_event();init_lifecycle();init_strings();init_types();init_language();init_nls();init_contextkey();init_opener();init_colorRegistry();init_iconRegistry();init_themables();var __decorate116=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param109=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var ParameterHintsWidget_1;var $14=$;var parameterHintsNextIcon=registerIcon("parameter-hints-next",Codicon.chevronDown,localize("parameterHintsNextIcon","Icon for show next parameter hint."));var parameterHintsPreviousIcon=registerIcon("parameter-hints-previous",Codicon.chevronUp,localize("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var ParameterHintsWidget=ParameterHintsWidget_1=class ParameterHintsWidget2 extends Disposable{constructor(editor2,model,contextKeyService,openerService,languageService){super();this.editor=editor2;this.model=model;this.renderDisposeables=this._register(new DisposableStore);this.visible=false;this.announcedLabel=null;this.allowEditorOverflow=true;this.markdownRenderer=this._register(new MarkdownRenderer({editor:editor2},languageService,openerService));this.keyVisible=Context3.Visible.bindTo(contextKeyService);this.keyMultipleSignatures=Context3.MultipleSignatures.bindTo(contextKeyService)}createParameterHintDOMNodes(){const element=$14(".editor-widget.parameter-hints-widget");const wrapper=append(element,$14(".phwrapper"));wrapper.tabIndex=-1;const controls=append(wrapper,$14(".controls"));const previous=append(controls,$14(".button"+ThemeIcon.asCSSSelector(parameterHintsPreviousIcon)));const overloads=append(controls,$14(".overloads"));const next=append(controls,$14(".button"+ThemeIcon.asCSSSelector(parameterHintsNextIcon)));this._register(addDisposableListener(previous,"click",(e=>{EventHelper.stop(e);this.previous()})));this._register(addDisposableListener(next,"click",(e=>{EventHelper.stop(e);this.next()})));const body=$14(".body");const scrollbar=new DomScrollableElement(body,{alwaysConsumeMouseWheel:true});this._register(scrollbar);wrapper.appendChild(scrollbar.getDomNode());const signature=append(body,$14(".signature"));const docs=append(body,$14(".docs"));element.style.userSelect="text";this.domNodes={element:element,signature:signature,overloads:overloads,docs:docs,scrollbar:scrollbar};this.editor.addContentWidget(this);this.hide();this._register(this.editor.onDidChangeCursorSelection((e=>{if(this.visible){this.editor.layoutContentWidget(this)}})));const updateFont=()=>{if(!this.domNodes){return}const fontInfo=this.editor.getOption(49);this.domNodes.element.style.fontSize=`${fontInfo.fontSize}px`;this.domNodes.element.style.lineHeight=`${fontInfo.lineHeight/fontInfo.fontSize}`};updateFont();this._register(Event.chain(this.editor.onDidChangeConfiguration.bind(this.editor)).filter((e=>e.hasChanged(49))).on(updateFont,null));this._register(this.editor.onDidLayoutChange((e=>this.updateMaxHeight())));this.updateMaxHeight()}show(){if(this.visible){return}if(!this.domNodes){this.createParameterHintDOMNodes()}this.keyVisible.set(true);this.visible=true;setTimeout((()=>{var _a6;(_a6=this.domNodes)===null||_a6===void 0?void 0:_a6.element.classList.add("visible")}),100);this.editor.layoutContentWidget(this)}hide(){var _a6;this.renderDisposeables.clear();if(!this.visible){return}this.keyVisible.reset();this.visible=false;this.announcedLabel=null;(_a6=this.domNodes)===null||_a6===void 0?void 0:_a6.element.classList.remove("visible");this.editor.layoutContentWidget(this)}getPosition(){if(this.visible){return{position:this.editor.getPosition(),preference:[1,2]}}return null}render(hints){var _a6;this.renderDisposeables.clear();if(!this.domNodes){return}const multiple=hints.signatures.length>1;this.domNodes.element.classList.toggle("multiple",multiple);this.keyMultipleSignatures.set(multiple);this.domNodes.signature.innerText="";this.domNodes.docs.innerText="";const signature=hints.signatures[hints.activeSignature];if(!signature){return}const code=append(this.domNodes.signature,$14(".code"));const fontInfo=this.editor.getOption(49);code.style.fontSize=`${fontInfo.fontSize}px`;code.style.fontFamily=fontInfo.fontFamily;const hasParameters=signature.parameters.length>0;const activeParameterIndex=(_a6=signature.activeParameter)!==null&&_a6!==void 0?_a6:hints.activeParameter;if(!hasParameters){const label=append(code,$14("span"));label.textContent=signature.label}else{this.renderParameters(code,signature,activeParameterIndex)}const activeParameter=signature.parameters[activeParameterIndex];if(activeParameter===null||activeParameter===void 0?void 0:activeParameter.documentation){const documentation=$14("span.documentation");if(typeof activeParameter.documentation==="string"){documentation.textContent=activeParameter.documentation}else{const renderedContents=this.renderMarkdownDocs(activeParameter.documentation);documentation.appendChild(renderedContents.element)}append(this.domNodes.docs,$14("p",{},documentation))}if(signature.documentation===void 0){}else if(typeof signature.documentation==="string"){append(this.domNodes.docs,$14("p",{},signature.documentation))}else{const renderedContents=this.renderMarkdownDocs(signature.documentation);append(this.domNodes.docs,renderedContents.element)}const hasDocs=this.hasDocs(signature,activeParameter);this.domNodes.signature.classList.toggle("has-docs",hasDocs);this.domNodes.docs.classList.toggle("empty",!hasDocs);this.domNodes.overloads.textContent=String(hints.activeSignature+1).padStart(hints.signatures.length.toString().length,"0")+"/"+hints.signatures.length;if(activeParameter){let labelToAnnounce="";const param=signature.parameters[activeParameterIndex];if(Array.isArray(param.label)){labelToAnnounce=signature.label.substring(param.label[0],param.label[1])}else{labelToAnnounce=param.label}if(param.documentation){labelToAnnounce+=typeof param.documentation==="string"?`, ${param.documentation}`:`, ${param.documentation.value}`}if(signature.documentation){labelToAnnounce+=typeof signature.documentation==="string"?`, ${signature.documentation}`:`, ${signature.documentation.value}`}if(this.announcedLabel!==labelToAnnounce){alert(localize("hint","{0}, hint",labelToAnnounce));this.announcedLabel=labelToAnnounce}}this.editor.layoutContentWidget(this);this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(markdown){const renderedContents=this.renderDisposeables.add(this.markdownRenderer.render(markdown,{asyncRenderCallback:()=>{var _a6;(_a6=this.domNodes)===null||_a6===void 0?void 0:_a6.scrollbar.scanDomNode()}}));renderedContents.element.classList.add("markdown-docs");return renderedContents}hasDocs(signature,activeParameter){if(activeParameter&&typeof activeParameter.documentation==="string"&&assertIsDefined(activeParameter.documentation).length>0){return true}if(activeParameter&&typeof activeParameter.documentation==="object"&&assertIsDefined(activeParameter.documentation).value.length>0){return true}if(signature.documentation&&typeof signature.documentation==="string"&&assertIsDefined(signature.documentation).length>0){return true}if(signature.documentation&&typeof signature.documentation==="object"&&assertIsDefined(signature.documentation.value).length>0){return true}return false}renderParameters(parent,signature,activeParameterIndex){const[start,end]=this.getParameterLabelOffsets(signature,activeParameterIndex);const beforeSpan=document.createElement("span");beforeSpan.textContent=signature.label.substring(0,start);const paramSpan=document.createElement("span");paramSpan.textContent=signature.label.substring(start,end);paramSpan.className="parameter active";const afterSpan=document.createElement("span");afterSpan.textContent=signature.label.substring(end);append(parent,beforeSpan,paramSpan,afterSpan)}getParameterLabelOffsets(signature,paramIdx){const param=signature.parameters[paramIdx];if(!param){return[0,0]}else if(Array.isArray(param.label)){return param.label}else if(!param.label.length){return[0,0]}else{const regex=new RegExp(`(\\W|^)${escapeRegExpCharacters(param.label)}(?=\\W|$)`,"g");regex.test(signature.label);const idx=regex.lastIndex-param.label.length;return idx>=0?[idx,regex.lastIndex]:[0,0]}}next(){this.editor.focus();this.model.next()}previous(){this.editor.focus();this.model.previous()}getDomNode(){if(!this.domNodes){this.createParameterHintDOMNodes()}return this.domNodes.element}getId(){return ParameterHintsWidget_1.ID}updateMaxHeight(){if(!this.domNodes){return}const height=Math.max(this.editor.getLayoutInfo().height/4,250);const maxHeight=`${height}px`;this.domNodes.element.style.maxHeight=maxHeight;const wrapper=this.domNodes.element.getElementsByClassName("phwrapper");if(wrapper.length){wrapper[0].style.maxHeight=maxHeight}}};ParameterHintsWidget.ID="editor.widget.parameterHintsWidget";ParameterHintsWidget=ParameterHintsWidget_1=__decorate116([__param109(2,IContextKeyService),__param109(3,IOpenerService),__param109(4,ILanguageService)],ParameterHintsWidget);registerColor("editorHoverWidget.highlightForeground",{dark:listHighlightForeground,light:listHighlightForeground,hcDark:listHighlightForeground,hcLight:listHighlightForeground},localize("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));var __decorate117=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param110=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var ParameterHintsController_1;var ParameterHintsController=ParameterHintsController_1=class ParameterHintsController2 extends Disposable{static get(editor2){return editor2.getContribution(ParameterHintsController_1.ID)}constructor(editor2,instantiationService,languageFeaturesService){super();this.editor=editor2;this.model=this._register(new ParameterHintsModel(editor2,languageFeaturesService.signatureHelpProvider));this._register(this.model.onChangedHints((newParameterHints=>{var _a6;if(newParameterHints){this.widget.value.show();this.widget.value.render(newParameterHints)}else{(_a6=this.widget.rawValue)===null||_a6===void 0?void 0:_a6.hide()}})));this.widget=new Lazy((()=>this._register(instantiationService.createInstance(ParameterHintsWidget,this.editor,this.model))))}cancel(){this.model.cancel()}previous(){var _a6;(_a6=this.widget.rawValue)===null||_a6===void 0?void 0:_a6.previous()}next(){var _a6;(_a6=this.widget.rawValue)===null||_a6===void 0?void 0:_a6.next()}trigger(context){this.model.trigger(context,0)}};ParameterHintsController.ID="editor.controller.parameterHints";ParameterHintsController=ParameterHintsController_1=__decorate117([__param110(1,IInstantiationService),__param110(2,ILanguageFeaturesService)],ParameterHintsController);var TriggerParameterHintsAction=class extends EditorAction{constructor(){super({id:"editor.action.triggerParameterHints",label:localize("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:EditorContextKeys.hasSignatureHelpProvider,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2048|1024|10,weight:100}})}run(accessor,editor2){const controller=ParameterHintsController.get(editor2);controller===null||controller===void 0?void 0:controller.trigger({triggerKind:SignatureHelpTriggerKind.Invoke})}};registerEditorContribution(ParameterHintsController.ID,ParameterHintsController,2);registerEditorAction(TriggerParameterHintsAction);var weight3=100+75;var ParameterHintsCommand=EditorCommand.bindToContribution(ParameterHintsController.get);registerEditorCommand(new ParameterHintsCommand({id:"closeParameterHints",precondition:Context3.Visible,handler:x=>x.cancel(),kbOpts:{weight:weight3,kbExpr:EditorContextKeys.focus,primary:9,secondary:[1024|9]}}));registerEditorCommand(new ParameterHintsCommand({id:"showPrevParameterHint",precondition:ContextKeyExpr.and(Context3.Visible,Context3.MultipleSignatures),handler:x=>x.previous(),kbOpts:{weight:weight3,kbExpr:EditorContextKeys.focus,primary:16,secondary:[512|16],mac:{primary:16,secondary:[512|16,256|46]}}}));registerEditorCommand(new ParameterHintsCommand({id:"showNextParameterHint",precondition:ContextKeyExpr.and(Context3.Visible,Context3.MultipleSignatures),handler:x=>x.next(),kbOpts:{weight:weight3,kbExpr:EditorContextKeys.focus,primary:18,secondary:[512|18],mac:{primary:18,secondary:[512|18,256|44]}}}));init_aria();init_async();init_cancellation();init_errors();init_lifecycle();init_types();init_uri();init_editorState();init_editorExtensions();init_bulkEditService();init_codeEditorService();init_position();init_range();init_editorContextKeys();init_textResourceConfiguration();init_nls();init_configurationRegistry();init_contextkey();init_instantiation();init_log();init_notification();init_progress();init_platform2();init_lifecycle();init_position();init_nls();init_contextkey();init_keybinding();init_colorRegistry();init_themeService();var __decorate118=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param111=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var CONTEXT_RENAME_INPUT_VISIBLE=new RawContextKey("renameInputVisible",false,localize("renameInputVisible","Whether the rename input widget is visible"));var RenameInputField=class RenameInputField2{constructor(_editor,_acceptKeybindings,_themeService,_keybindingService,contextKeyService){this._editor=_editor;this._acceptKeybindings=_acceptKeybindings;this._themeService=_themeService;this._keybindingService=_keybindingService;this._disposables=new DisposableStore;this.allowEditorOverflow=true;this._visibleContextKey=CONTEXT_RENAME_INPUT_VISIBLE.bindTo(contextKeyService);this._editor.addContentWidget(this);this._disposables.add(this._editor.onDidChangeConfiguration((e=>{if(e.hasChanged(49)){this._updateFont()}})));this._disposables.add(_themeService.onDidColorThemeChange(this._updateStyles,this))}dispose(){this._disposables.dispose();this._editor.removeContentWidget(this)}getId(){return"__renameInputWidget"}getDomNode(){if(!this._domNode){this._domNode=document.createElement("div");this._domNode.className="monaco-editor rename-box";this._input=document.createElement("input");this._input.className="rename-input";this._input.type="text";this._input.setAttribute("aria-label",localize("renameAriaLabel","Rename input. Type new name and press Enter to commit."));this._domNode.appendChild(this._input);this._label=document.createElement("div");this._label.className="rename-label";this._domNode.appendChild(this._label);this._updateFont();this._updateStyles(this._themeService.getColorTheme())}return this._domNode}_updateStyles(theme){var _a6,_b3,_c2,_d2;if(!this._input||!this._domNode){return}const widgetShadowColor=theme.getColor(widgetShadow);const widgetBorderColor=theme.getColor(widgetBorder);this._domNode.style.backgroundColor=String((_a6=theme.getColor(editorWidgetBackground))!==null&&_a6!==void 0?_a6:"");this._domNode.style.boxShadow=widgetShadowColor?` 0 0 8px 2px ${widgetShadowColor}`:"";this._domNode.style.border=widgetBorderColor?`1px solid ${widgetBorderColor}`:"";this._domNode.style.color=String((_b3=theme.getColor(inputForeground))!==null&&_b3!==void 0?_b3:"");this._input.style.backgroundColor=String((_c2=theme.getColor(inputBackground))!==null&&_c2!==void 0?_c2:"");const border=theme.getColor(inputBorder);this._input.style.borderWidth=border?"1px":"0px";this._input.style.borderStyle=border?"solid":"none";this._input.style.borderColor=(_d2=border===null||border===void 0?void 0:border.toString())!==null&&_d2!==void 0?_d2:"none"}_updateFont(){if(!this._input||!this._label){return}const fontInfo=this._editor.getOption(49);this._input.style.fontFamily=fontInfo.fontFamily;this._input.style.fontWeight=fontInfo.fontWeight;this._input.style.fontSize=`${fontInfo.fontSize}px`;this._label.style.fontSize=`${fontInfo.fontSize*.8}px`}getPosition(){if(!this._visible){return null}return{position:this._position,preference:[2,1]}}beforeRender(){var _a6,_b3;const[accept,preview]=this._acceptKeybindings;this._label.innerText=localize({key:"label",comment:['placeholders are keybindings, e.g "F2 to Rename, Shift+F2 to Preview"']},"{0} to Rename, {1} to Preview",(_a6=this._keybindingService.lookupKeybinding(accept))===null||_a6===void 0?void 0:_a6.getLabel(),(_b3=this._keybindingService.lookupKeybinding(preview))===null||_b3===void 0?void 0:_b3.getLabel());return null}afterRender(position){if(!position){this.cancelInput(true)}}acceptInput(wantsPreview){var _a6;(_a6=this._currentAcceptInput)===null||_a6===void 0?void 0:_a6.call(this,wantsPreview)}cancelInput(focusEditor){var _a6;(_a6=this._currentCancelInput)===null||_a6===void 0?void 0:_a6.call(this,focusEditor)}getInput(where,value,selectionStart,selectionEnd,supportPreview,token){this._domNode.classList.toggle("preview",supportPreview);this._position=new Position(where.startLineNumber,where.startColumn);this._input.value=value;this._input.setAttribute("selectionStart",selectionStart.toString());this._input.setAttribute("selectionEnd",selectionEnd.toString());this._input.size=Math.max((where.endColumn-where.startColumn)*1.1,20);const disposeOnDone=new DisposableStore;return new Promise((resolve2=>{this._currentCancelInput=focusEditor=>{this._currentAcceptInput=void 0;this._currentCancelInput=void 0;resolve2(focusEditor);return true};this._currentAcceptInput=wantsPreview=>{if(this._input.value.trim().length===0||this._input.value===value){this.cancelInput(true);return}this._currentAcceptInput=void 0;this._currentCancelInput=void 0;resolve2({newName:this._input.value,wantsPreview:supportPreview&&wantsPreview})};disposeOnDone.add(token.onCancellationRequested((()=>this.cancelInput(true))));disposeOnDone.add(this._editor.onDidBlurEditorWidget((()=>this.cancelInput(!document.hasFocus()))));this._show()})).finally((()=>{disposeOnDone.dispose();this._hide()}))}_show(){this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0);this._visible=true;this._visibleContextKey.set(true);this._editor.layoutContentWidget(this);setTimeout((()=>{this._input.focus();this._input.setSelectionRange(parseInt(this._input.getAttribute("selectionStart")),parseInt(this._input.getAttribute("selectionEnd")))}),100)}_hide(){this._visible=false;this._visibleContextKey.reset();this._editor.layoutContentWidget(this)}};RenameInputField=__decorate118([__param111(2,IThemeService),__param111(3,IKeybindingService),__param111(4,IContextKeyService)],RenameInputField);init_languageFeatures();var __decorate119=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param112=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter87=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var RenameController_1;var RenameSkeleton=class{constructor(model,position,registry){this.model=model;this.position=position;this._providerRenameIdx=0;this._providers=registry.ordered(model)}hasProvider(){return this._providers.length>0}resolveRenameLocation(token){return __awaiter87(this,void 0,void 0,(function*(){const rejects=[];for(this._providerRenameIdx=0;this._providerRenameIdx<this._providers.length;this._providerRenameIdx++){const provider=this._providers[this._providerRenameIdx];if(!provider.resolveRenameLocation){break}const res=yield provider.resolveRenameLocation(this.model,this.position,token);if(!res){continue}if(res.rejectReason){rejects.push(res.rejectReason);continue}return res}const word=this.model.getWordAtPosition(this.position);if(!word){return{range:Range.fromPositions(this.position),text:"",rejectReason:rejects.length>0?rejects.join("\n"):void 0}}return{range:new Range(this.position.lineNumber,word.startColumn,this.position.lineNumber,word.endColumn),text:word.word,rejectReason:rejects.length>0?rejects.join("\n"):void 0}}))}provideRenameEdits(newName,token){return __awaiter87(this,void 0,void 0,(function*(){return this._provideRenameEdits(newName,this._providerRenameIdx,[],token)}))}_provideRenameEdits(newName,i,rejects,token){return __awaiter87(this,void 0,void 0,(function*(){const provider=this._providers[i];if(!provider){return{edits:[],rejectReason:rejects.join("\n")}}const result=yield provider.provideRenameEdits(this.model,this.position,newName,token);if(!result){return this._provideRenameEdits(newName,i+1,rejects.concat(localize("no result","No result.")),token)}else if(result.rejectReason){return this._provideRenameEdits(newName,i+1,rejects.concat(result.rejectReason),token)}return result}))}};function rename(registry,model,position,newName){return __awaiter87(this,void 0,void 0,(function*(){const skeleton=new RenameSkeleton(model,position,registry);const loc=yield skeleton.resolveRenameLocation(CancellationToken.None);if(loc===null||loc===void 0?void 0:loc.rejectReason){return{edits:[],rejectReason:loc.rejectReason}}return skeleton.provideRenameEdits(newName,CancellationToken.None)}))}var RenameController=RenameController_1=class RenameController2{static get(editor2){return editor2.getContribution(RenameController_1.ID)}constructor(editor2,_instaService,_notificationService,_bulkEditService,_progressService,_logService,_configService,_languageFeaturesService){this.editor=editor2;this._instaService=_instaService;this._notificationService=_notificationService;this._bulkEditService=_bulkEditService;this._progressService=_progressService;this._logService=_logService;this._configService=_configService;this._languageFeaturesService=_languageFeaturesService;this._disposableStore=new DisposableStore;this._cts=new CancellationTokenSource;this._renameInputField=this._disposableStore.add(this._instaService.createInstance(RenameInputField,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose();this._cts.dispose(true)}run(){var _a6,_b3;return __awaiter87(this,void 0,void 0,(function*(){this._cts.dispose(true);this._cts=new CancellationTokenSource;if(!this.editor.hasModel()){return void 0}const position=this.editor.getPosition();const skeleton=new RenameSkeleton(this.editor.getModel(),position,this._languageFeaturesService.renameProvider);if(!skeleton.hasProvider()){return void 0}const cts1=new EditorStateCancellationTokenSource(this.editor,4|1,void 0,this._cts.token);let loc;try{const resolveLocationOperation=skeleton.resolveRenameLocation(cts1.token);this._progressService.showWhile(resolveLocationOperation,250);loc=yield resolveLocationOperation}catch(e){(_a6=MessageController.get(this.editor))===null||_a6===void 0?void 0:_a6.showMessage(e||localize("resolveRenameLocationFailed","An unknown error occurred while resolving rename location"),position);return void 0}finally{cts1.dispose()}if(!loc){return void 0}if(loc.rejectReason){(_b3=MessageController.get(this.editor))===null||_b3===void 0?void 0:_b3.showMessage(loc.rejectReason,position);return void 0}if(cts1.token.isCancellationRequested){return void 0}const cts2=new EditorStateCancellationTokenSource(this.editor,4|1,loc.range,this._cts.token);const selection=this.editor.getSelection();let selectionStart=0;let selectionEnd=loc.text.length;if(!Range.isEmpty(selection)&&!Range.spansMultipleLines(selection)&&Range.containsRange(loc.range,selection)){selectionStart=Math.max(0,selection.startColumn-loc.range.startColumn);selectionEnd=Math.min(loc.range.endColumn,selection.endColumn)-loc.range.startColumn}const supportPreview=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview");const inputFieldResult=yield this._renameInputField.getInput(loc.range,loc.text,selectionStart,selectionEnd,supportPreview,cts2.token);if(typeof inputFieldResult==="boolean"){if(inputFieldResult){this.editor.focus()}cts2.dispose();return void 0}this.editor.focus();const renameOperation=raceCancellation(skeleton.provideRenameEdits(inputFieldResult.newName,cts2.token),cts2.token).then((renameResult=>__awaiter87(this,void 0,void 0,(function*(){if(!renameResult||!this.editor.hasModel()){return}if(renameResult.rejectReason){this._notificationService.info(renameResult.rejectReason);return}this.editor.setSelection(Range.fromPositions(this.editor.getSelection().getPosition()));this._bulkEditService.apply(renameResult,{editor:this.editor,showPreview:inputFieldResult.wantsPreview,label:localize("label","Renaming '{0}' to '{1}'",loc===null||loc===void 0?void 0:loc.text,inputFieldResult.newName),code:"undoredo.rename",quotableLabel:localize("quotableLabel","Renaming {0} to {1}",loc===null||loc===void 0?void 0:loc.text,inputFieldResult.newName),respectAutoSaveConfig:true}).then((result=>{if(result.ariaSummary){alert(localize("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",loc.text,inputFieldResult.newName,result.ariaSummary))}})).catch((err=>{this._notificationService.error(localize("rename.failedApply","Rename failed to apply edits"));this._logService.error(err)}))}))),(err=>{this._notificationService.error(localize("rename.failed","Rename failed to compute edits"));this._logService.error(err)})).finally((()=>{cts2.dispose()}));this._progressService.showWhile(renameOperation,250);return renameOperation}))}acceptRenameInput(wantsPreview){this._renameInputField.acceptInput(wantsPreview)}cancelRenameInput(){this._renameInputField.cancelInput(true)}};RenameController.ID="editor.contrib.renameController";RenameController=RenameController_1=__decorate119([__param112(1,IInstantiationService),__param112(2,INotificationService),__param112(3,IBulkEditService),__param112(4,IEditorProgressService),__param112(5,ILogService),__param112(6,ITextResourceConfigurationService),__param112(7,ILanguageFeaturesService)],RenameController);var RenameAction=class extends EditorAction{constructor(){super({id:"editor.action.rename",label:localize("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:ContextKeyExpr.and(EditorContextKeys.writable,EditorContextKeys.hasRenameProvider),kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(accessor,args){const editorService=accessor.get(ICodeEditorService);const[uri,pos]=Array.isArray(args)&&args||[void 0,void 0];if(URI.isUri(uri)&&Position.isIPosition(pos)){return editorService.openCodeEditor({resource:uri},editorService.getActiveCodeEditor()).then((editor2=>{if(!editor2){return}editor2.setPosition(pos);editor2.invokeWithinContext((accessor2=>{this.reportTelemetry(accessor2,editor2);return this.run(accessor2,editor2)}))}),onUnexpectedError)}return super.runCommand(accessor,args)}run(accessor,editor2){const controller=RenameController.get(editor2);if(controller){return controller.run()}return Promise.resolve()}};registerEditorContribution(RenameController.ID,RenameController,4);registerEditorAction(RenameAction);var RenameCommand=EditorCommand.bindToContribution(RenameController.get);registerEditorCommand(new RenameCommand({id:"acceptRenameInput",precondition:CONTEXT_RENAME_INPUT_VISIBLE,handler:x=>x.acceptRenameInput(false),kbOpts:{weight:100+99,kbExpr:ContextKeyExpr.and(EditorContextKeys.focus,ContextKeyExpr.not("isComposing")),primary:3}}));registerEditorCommand(new RenameCommand({id:"acceptRenameInputWithPreview",precondition:ContextKeyExpr.and(CONTEXT_RENAME_INPUT_VISIBLE,ContextKeyExpr.has("config.editor.rename.enablePreview")),handler:x=>x.acceptRenameInput(true),kbOpts:{weight:100+99,kbExpr:ContextKeyExpr.and(EditorContextKeys.focus,ContextKeyExpr.not("isComposing")),primary:1024+3}}));registerEditorCommand(new RenameCommand({id:"cancelRenameInput",precondition:CONTEXT_RENAME_INPUT_VISIBLE,handler:x=>x.cancelRenameInput(),kbOpts:{weight:100+99,kbExpr:EditorContextKeys.focus,primary:9,secondary:[1024|9]}}));registerModelAndPositionCommand("_executeDocumentRenameProvider",(function(accessor,model,position,...args){const[newName]=args;assertType(typeof newName==="string");const{renameProvider:renameProvider}=accessor.get(ILanguageFeaturesService);return rename(renameProvider,model,position,newName)}));registerModelAndPositionCommand("_executePrepareRename",(function(accessor,model,position){return __awaiter87(this,void 0,void 0,(function*(){const{renameProvider:renameProvider}=accessor.get(ILanguageFeaturesService);const skeleton=new RenameSkeleton(model,position,renameProvider);const loc=yield skeleton.resolveRenameLocation(CancellationToken.None);if(loc===null||loc===void 0?void 0:loc.rejectReason){throw new Error(loc.rejectReason)}return loc}))}));Registry.as(Extensions2.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:localize("enablePreview","Enable/disable the ability to preview changes before renaming"),default:true,type:"boolean"}}});init_lifecycle();init_errors();init_model2();init_configuration();init_async();init_cancellation();init_themeService();init_semanticTokensProviderStyling();init_cancellation();init_errors();init_uri();init_model2();init_commands();init_types();init_buffer();init_platform();function reverseEndianness(arr){for(let i=0,len=arr.length;i<len;i+=4){const b0=arr[i+0];const b1=arr[i+1];const b2=arr[i+2];const b3=arr[i+3];arr[i+0]=b3;arr[i+1]=b2;arr[i+2]=b1;arr[i+3]=b0}}function toLittleEndianBuffer(arr){const uint8Arr=new Uint8Array(arr.buffer,arr.byteOffset,arr.length*4);if(!isLittleEndian()){reverseEndianness(uint8Arr)}return VSBuffer.wrap(uint8Arr)}function encodeSemanticTokensDto(semanticTokens){const dest=new Uint32Array(encodeSemanticTokensDtoSize(semanticTokens));let offset=0;dest[offset++]=semanticTokens.id;if(semanticTokens.type==="full"){dest[offset++]=1;dest[offset++]=semanticTokens.data.length;dest.set(semanticTokens.data,offset);offset+=semanticTokens.data.length}else{dest[offset++]=2;dest[offset++]=semanticTokens.deltas.length;for(const delta of semanticTokens.deltas){dest[offset++]=delta.start;dest[offset++]=delta.deleteCount;if(delta.data){dest[offset++]=delta.data.length;dest.set(delta.data,offset);offset+=delta.data.length}else{dest[offset++]=0}}}return toLittleEndianBuffer(dest)}function encodeSemanticTokensDtoSize(semanticTokens){let result=0;result+=1+1;if(semanticTokens.type==="full"){result+=1+semanticTokens.data.length}else{result+=1;result+=(1+1+1)*semanticTokens.deltas.length;for(const delta of semanticTokens.deltas){if(delta.data){result+=delta.data.length}}}return result}init_range();init_languageFeatures();var __awaiter88=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};function isSemanticTokens(v){return v&&!!v.data}function isSemanticTokensEdits(v){return v&&Array.isArray(v.edits)}var DocumentSemanticTokensResult=class{constructor(provider,tokens,error){this.provider=provider;this.tokens=tokens;this.error=error}};function hasDocumentSemanticTokensProvider(registry,model){return registry.has(model)}function getDocumentSemanticTokensProviders(registry,model){const groups=registry.orderedGroups(model);return groups.length>0?groups[0]:[]}function getDocumentSemanticTokens(registry,model,lastProvider,lastResultId,token){return __awaiter88(this,void 0,void 0,(function*(){const providers=getDocumentSemanticTokensProviders(registry,model);const results=yield Promise.all(providers.map((provider=>__awaiter88(this,void 0,void 0,(function*(){let result;let error=null;try{result=yield provider.provideDocumentSemanticTokens(model,provider===lastProvider?lastResultId:null,token)}catch(err){error=err;result=null}if(!result||!isSemanticTokens(result)&&!isSemanticTokensEdits(result)){result=null}return new DocumentSemanticTokensResult(provider,result,error)})))));for(const result of results){if(result.error){throw result.error}if(result.tokens){return result}}if(results.length>0){return results[0]}return null}))}function _getDocumentSemanticTokensProviderHighestGroup(registry,model){const result=registry.orderedGroups(model);return result.length>0?result[0]:null}var DocumentRangeSemanticTokensResult=class{constructor(provider,tokens){this.provider=provider;this.tokens=tokens}};function hasDocumentRangeSemanticTokensProvider(providers,model){return providers.has(model)}function getDocumentRangeSemanticTokensProviders(providers,model){const groups=providers.orderedGroups(model);return groups.length>0?groups[0]:[]}function getDocumentRangeSemanticTokens(registry,model,range2,token){return __awaiter88(this,void 0,void 0,(function*(){const providers=getDocumentRangeSemanticTokensProviders(registry,model);const results=yield Promise.all(providers.map((provider=>__awaiter88(this,void 0,void 0,(function*(){let result;try{result=yield provider.provideDocumentRangeSemanticTokens(model,range2,token)}catch(err){onUnexpectedExternalError(err);result=null}if(!result||!isSemanticTokens(result)){result=null}return new DocumentRangeSemanticTokensResult(provider,result)})))));for(const result of results){if(result.tokens){return result}}if(results.length>0){return results[0]}return null}))}CommandsRegistry.registerCommand("_provideDocumentSemanticTokensLegend",((accessor,...args)=>__awaiter88(void 0,void 0,void 0,(function*(){const[uri]=args;assertType(uri instanceof URI);const model=accessor.get(IModelService).getModel(uri);if(!model){return void 0}const{documentSemanticTokensProvider:documentSemanticTokensProvider}=accessor.get(ILanguageFeaturesService);const providers=_getDocumentSemanticTokensProviderHighestGroup(documentSemanticTokensProvider,model);if(!providers){return accessor.get(ICommandService).executeCommand("_provideDocumentRangeSemanticTokensLegend",uri)}return providers[0].getLegend()}))));CommandsRegistry.registerCommand("_provideDocumentSemanticTokens",((accessor,...args)=>__awaiter88(void 0,void 0,void 0,(function*(){const[uri]=args;assertType(uri instanceof URI);const model=accessor.get(IModelService).getModel(uri);if(!model){return void 0}const{documentSemanticTokensProvider:documentSemanticTokensProvider}=accessor.get(ILanguageFeaturesService);if(!hasDocumentSemanticTokensProvider(documentSemanticTokensProvider,model)){return accessor.get(ICommandService).executeCommand("_provideDocumentRangeSemanticTokens",uri,model.getFullModelRange())}const r=yield getDocumentSemanticTokens(documentSemanticTokensProvider,model,null,null,CancellationToken.None);if(!r){return void 0}const{provider:provider,tokens:tokens}=r;if(!tokens||!isSemanticTokens(tokens)){return void 0}const buff=encodeSemanticTokensDto({id:0,type:"full",data:tokens.data});if(tokens.resultId){provider.releaseDocumentSemanticTokens(tokens.resultId)}return buff}))));CommandsRegistry.registerCommand("_provideDocumentRangeSemanticTokensLegend",((accessor,...args)=>__awaiter88(void 0,void 0,void 0,(function*(){const[uri,range2]=args;assertType(uri instanceof URI);const model=accessor.get(IModelService).getModel(uri);if(!model){return void 0}const{documentRangeSemanticTokensProvider:documentRangeSemanticTokensProvider}=accessor.get(ILanguageFeaturesService);const providers=getDocumentRangeSemanticTokensProviders(documentRangeSemanticTokensProvider,model);if(providers.length===0){return void 0}if(providers.length===1){return providers[0].getLegend()}if(!range2||!Range.isIRange(range2)){console.warn(`provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in`);return providers[0].getLegend()}const result=yield getDocumentRangeSemanticTokens(documentRangeSemanticTokensProvider,model,Range.lift(range2),CancellationToken.None);if(!result){return void 0}return result.provider.getLegend()}))));CommandsRegistry.registerCommand("_provideDocumentRangeSemanticTokens",((accessor,...args)=>__awaiter88(void 0,void 0,void 0,(function*(){const[uri,range2]=args;assertType(uri instanceof URI);assertType(Range.isIRange(range2));const model=accessor.get(IModelService).getModel(uri);if(!model){return void 0}const{documentRangeSemanticTokensProvider:documentRangeSemanticTokensProvider}=accessor.get(ILanguageFeaturesService);const result=yield getDocumentRangeSemanticTokens(documentRangeSemanticTokensProvider,model,Range.lift(range2),CancellationToken.None);if(!result||!result.tokens){return void 0}return encodeSemanticTokensDto({id:0,type:"full",data:result.tokens.data})}))));init_languageFeatureDebounce();init_stopwatch();init_languageFeatures();init_semanticTokensStyling();init_editorFeatures();var SEMANTIC_HIGHLIGHTING_SETTING_ID="editor.semanticHighlighting";function isSemanticColoringEnabled(model,themeService,configurationService){var _a6;const setting=(_a6=configurationService.getValue(SEMANTIC_HIGHLIGHTING_SETTING_ID,{overrideIdentifier:model.getLanguageId(),resource:model.uri}))===null||_a6===void 0?void 0:_a6.enabled;if(typeof setting==="boolean"){return setting}return themeService.getColorTheme().semanticHighlighting}var __decorate120=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param113=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var ModelSemanticColoring_1;var DocumentSemanticTokensFeature=class DocumentSemanticTokensFeature2 extends Disposable{constructor(semanticTokensStylingService,modelService,themeService,configurationService,languageFeatureDebounceService,languageFeaturesService){super();this._watchers=Object.create(null);const register4=model=>{this._watchers[model.uri.toString()]=new ModelSemanticColoring(model,semanticTokensStylingService,themeService,languageFeatureDebounceService,languageFeaturesService)};const deregister=(model,modelSemanticColoring)=>{modelSemanticColoring.dispose();delete this._watchers[model.uri.toString()]};const handleSettingOrThemeChange=()=>{for(const model of modelService.getModels()){const curr=this._watchers[model.uri.toString()];if(isSemanticColoringEnabled(model,themeService,configurationService)){if(!curr){register4(model)}}else{if(curr){deregister(model,curr)}}}};this._register(modelService.onModelAdded((model=>{if(isSemanticColoringEnabled(model,themeService,configurationService)){register4(model)}})));this._register(modelService.onModelRemoved((model=>{const curr=this._watchers[model.uri.toString()];if(curr){deregister(model,curr)}})));this._register(configurationService.onDidChangeConfiguration((e=>{if(e.affectsConfiguration(SEMANTIC_HIGHLIGHTING_SETTING_ID)){handleSettingOrThemeChange()}})));this._register(themeService.onDidColorThemeChange(handleSettingOrThemeChange))}dispose(){for(const watcher of Object.values(this._watchers)){watcher.dispose()}super.dispose()}};DocumentSemanticTokensFeature=__decorate120([__param113(0,ISemanticTokensStylingService),__param113(1,IModelService),__param113(2,IThemeService),__param113(3,IConfigurationService),__param113(4,ILanguageFeatureDebounceService),__param113(5,ILanguageFeaturesService)],DocumentSemanticTokensFeature);var ModelSemanticColoring=ModelSemanticColoring_1=class ModelSemanticColoring2 extends Disposable{constructor(model,_semanticTokensStylingService,themeService,languageFeatureDebounceService,languageFeaturesService){super();this._semanticTokensStylingService=_semanticTokensStylingService;this._isDisposed=false;this._model=model;this._provider=languageFeaturesService.documentSemanticTokensProvider;this._debounceInformation=languageFeatureDebounceService.for(this._provider,"DocumentSemanticTokens",{min:ModelSemanticColoring_1.REQUEST_MIN_DELAY,max:ModelSemanticColoring_1.REQUEST_MAX_DELAY});this._fetchDocumentSemanticTokens=this._register(new RunOnceScheduler((()=>this._fetchDocumentSemanticTokensNow()),ModelSemanticColoring_1.REQUEST_MIN_DELAY));this._currentDocumentResponse=null;this._currentDocumentRequestCancellationTokenSource=null;this._documentProvidersChangeListeners=[];this._providersChangedDuringRequest=false;this._register(this._model.onDidChangeContent((()=>{if(!this._fetchDocumentSemanticTokens.isScheduled()){this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}})));this._register(this._model.onDidChangeAttached((()=>{if(!this._fetchDocumentSemanticTokens.isScheduled()){this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}})));this._register(this._model.onDidChangeLanguage((()=>{if(this._currentDocumentResponse){this._currentDocumentResponse.dispose();this._currentDocumentResponse=null}if(this._currentDocumentRequestCancellationTokenSource){this._currentDocumentRequestCancellationTokenSource.cancel();this._currentDocumentRequestCancellationTokenSource=null}this._setDocumentSemanticTokens(null,null,null,[]);this._fetchDocumentSemanticTokens.schedule(0)})));const bindDocumentChangeListeners=()=>{dispose(this._documentProvidersChangeListeners);this._documentProvidersChangeListeners=[];for(const provider of this._provider.all(model)){if(typeof provider.onDidChange==="function"){this._documentProvidersChangeListeners.push(provider.onDidChange((()=>{if(this._currentDocumentRequestCancellationTokenSource){this._providersChangedDuringRequest=true;return}this._fetchDocumentSemanticTokens.schedule(0)})))}}};bindDocumentChangeListeners();this._register(this._provider.onDidChange((()=>{bindDocumentChangeListeners();this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})));this._register(themeService.onDidColorThemeChange((_=>{this._setDocumentSemanticTokens(null,null,null,[]);this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})));this._fetchDocumentSemanticTokens.schedule(0)}dispose(){if(this._currentDocumentResponse){this._currentDocumentResponse.dispose();this._currentDocumentResponse=null}if(this._currentDocumentRequestCancellationTokenSource){this._currentDocumentRequestCancellationTokenSource.cancel();this._currentDocumentRequestCancellationTokenSource=null}dispose(this._documentProvidersChangeListeners);this._documentProvidersChangeListeners=[];this._setDocumentSemanticTokens(null,null,null,[]);this._isDisposed=true;super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource){return}if(!hasDocumentSemanticTokensProvider(this._provider,this._model)){if(this._currentDocumentResponse){this._model.tokenization.setSemanticTokens(null,false)}return}if(!this._model.isAttachedToEditor()){return}const cancellationTokenSource=new CancellationTokenSource;const lastProvider=this._currentDocumentResponse?this._currentDocumentResponse.provider:null;const lastResultId=this._currentDocumentResponse?this._currentDocumentResponse.resultId||null:null;const request=getDocumentSemanticTokens(this._provider,this._model,lastProvider,lastResultId,cancellationTokenSource.token);this._currentDocumentRequestCancellationTokenSource=cancellationTokenSource;this._providersChangedDuringRequest=false;const pendingChanges=[];const contentChangeListener=this._model.onDidChangeContent((e=>{pendingChanges.push(e)}));const sw=new StopWatch(false);request.then((res=>{this._debounceInformation.update(this._model,sw.elapsed());this._currentDocumentRequestCancellationTokenSource=null;contentChangeListener.dispose();if(!res){this._setDocumentSemanticTokens(null,null,null,pendingChanges)}else{const{provider:provider,tokens:tokens}=res;const styling=this._semanticTokensStylingService.getStyling(provider);this._setDocumentSemanticTokens(provider,tokens||null,styling,pendingChanges)}}),(err=>{const isExpectedError=err&&(isCancellationError(err)||typeof err.message==="string"&&err.message.indexOf("busy")!==-1);if(!isExpectedError){onUnexpectedError(err)}this._currentDocumentRequestCancellationTokenSource=null;contentChangeListener.dispose();if(pendingChanges.length>0||this._providersChangedDuringRequest){if(!this._fetchDocumentSemanticTokens.isScheduled()){this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}}}))}static _copy(src,srcOffset,dest,destOffset,length2){length2=Math.min(length2,dest.length-destOffset,src.length-srcOffset);for(let i=0;i<length2;i++){dest[destOffset+i]=src[srcOffset+i]}}_setDocumentSemanticTokens(provider,tokens,styling,pendingChanges){const currentResponse=this._currentDocumentResponse;const rescheduleIfNeeded=()=>{if((pendingChanges.length>0||this._providersChangedDuringRequest)&&!this._fetchDocumentSemanticTokens.isScheduled()){this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}};if(this._currentDocumentResponse){this._currentDocumentResponse.dispose();this._currentDocumentResponse=null}if(this._isDisposed){if(provider&&tokens){provider.releaseDocumentSemanticTokens(tokens.resultId)}return}if(!provider||!styling){this._model.tokenization.setSemanticTokens(null,false);return}if(!tokens){this._model.tokenization.setSemanticTokens(null,true);rescheduleIfNeeded();return}if(isSemanticTokensEdits(tokens)){if(!currentResponse){this._model.tokenization.setSemanticTokens(null,true);return}if(tokens.edits.length===0){tokens={resultId:tokens.resultId,data:currentResponse.data}}else{let deltaLength=0;for(const edit of tokens.edits){deltaLength+=(edit.data?edit.data.length:0)-edit.deleteCount}const srcData=currentResponse.data;const destData=new Uint32Array(srcData.length+deltaLength);let srcLastStart=srcData.length;let destLastStart=destData.length;for(let i=tokens.edits.length-1;i>=0;i--){const edit=tokens.edits[i];if(edit.start>srcData.length){styling.warnInvalidEditStart(currentResponse.resultId,tokens.resultId,i,edit.start,srcData.length);this._model.tokenization.setSemanticTokens(null,true);return}const copyCount=srcLastStart-(edit.start+edit.deleteCount);if(copyCount>0){ModelSemanticColoring_1._copy(srcData,srcLastStart-copyCount,destData,destLastStart-copyCount,copyCount);destLastStart-=copyCount}if(edit.data){ModelSemanticColoring_1._copy(edit.data,0,destData,destLastStart-edit.data.length,edit.data.length);destLastStart-=edit.data.length}srcLastStart=edit.start}if(srcLastStart>0){ModelSemanticColoring_1._copy(srcData,0,destData,0,srcLastStart)}tokens={resultId:tokens.resultId,data:destData}}}if(isSemanticTokens(tokens)){this._currentDocumentResponse=new SemanticTokensResponse(provider,tokens.resultId,tokens.data);const result=toMultilineTokens2(tokens,styling,this._model.getLanguageId());if(pendingChanges.length>0){for(const change of pendingChanges){for(const area of result){for(const singleChange of change.changes){area.applyEdit(singleChange.range,singleChange.text)}}}}this._model.tokenization.setSemanticTokens(result,true)}else{this._model.tokenization.setSemanticTokens(null,true)}rescheduleIfNeeded()}};ModelSemanticColoring.REQUEST_MIN_DELAY=300;ModelSemanticColoring.REQUEST_MAX_DELAY=2e3;ModelSemanticColoring=ModelSemanticColoring_1=__decorate120([__param113(1,ISemanticTokensStylingService),__param113(2,IThemeService),__param113(3,ILanguageFeatureDebounceService),__param113(4,ILanguageFeaturesService)],ModelSemanticColoring);var SemanticTokensResponse=class{constructor(provider,resultId,data){this.provider=provider;this.resultId=resultId;this.data=data}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}};registerEditorFeature(DocumentSemanticTokensFeature);init_async();init_lifecycle();init_editorExtensions();init_semanticTokensProviderStyling();init_configuration();init_themeService();init_languageFeatureDebounce();init_stopwatch();init_languageFeatures();init_semanticTokensStyling();var __decorate121=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param114=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var ViewportSemanticTokensContribution=class ViewportSemanticTokensContribution2 extends Disposable{constructor(editor2,_semanticTokensStylingService,_themeService,_configurationService,languageFeatureDebounceService,languageFeaturesService){super();this._semanticTokensStylingService=_semanticTokensStylingService;this._themeService=_themeService;this._configurationService=_configurationService;this._editor=editor2;this._provider=languageFeaturesService.documentRangeSemanticTokensProvider;this._debounceInformation=languageFeatureDebounceService.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500});this._tokenizeViewport=this._register(new RunOnceScheduler((()=>this._tokenizeViewportNow()),100));this._outstandingRequests=[];const scheduleTokenizeViewport=()=>{if(this._editor.hasModel()){this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))}};this._register(this._editor.onDidScrollChange((()=>{scheduleTokenizeViewport()})));this._register(this._editor.onDidChangeModel((()=>{this._cancelAll();scheduleTokenizeViewport()})));this._register(this._editor.onDidChangeModelContent((e=>{this._cancelAll();scheduleTokenizeViewport()})));this._register(this._provider.onDidChange((()=>{this._cancelAll();scheduleTokenizeViewport()})));this._register(this._configurationService.onDidChangeConfiguration((e=>{if(e.affectsConfiguration(SEMANTIC_HIGHLIGHTING_SETTING_ID)){this._cancelAll();scheduleTokenizeViewport()}})));this._register(this._themeService.onDidColorThemeChange((()=>{this._cancelAll();scheduleTokenizeViewport()})));scheduleTokenizeViewport()}_cancelAll(){for(const request of this._outstandingRequests){request.cancel()}this._outstandingRequests=[]}_removeOutstandingRequest(req){for(let i=0,len=this._outstandingRequests.length;i<len;i++){if(this._outstandingRequests[i]===req){this._outstandingRequests.splice(i,1);return}}}_tokenizeViewportNow(){if(!this._editor.hasModel()){return}const model=this._editor.getModel();if(model.tokenization.hasCompleteSemanticTokens()){return}if(!isSemanticColoringEnabled(model,this._themeService,this._configurationService)){if(model.tokenization.hasSomeSemanticTokens()){model.tokenization.setSemanticTokens(null,false)}return}if(!hasDocumentRangeSemanticTokensProvider(this._provider,model)){if(model.tokenization.hasSomeSemanticTokens()){model.tokenization.setSemanticTokens(null,false)}return}const visibleRanges=this._editor.getVisibleRangesPlusViewportAboveBelow();this._outstandingRequests=this._outstandingRequests.concat(visibleRanges.map((range2=>this._requestRange(model,range2))))}_requestRange(model,range2){const requestVersionId=model.getVersionId();const request=createCancelablePromise((token=>Promise.resolve(getDocumentRangeSemanticTokens(this._provider,model,range2,token))));const sw=new StopWatch(false);request.then((r=>{this._debounceInformation.update(model,sw.elapsed());if(!r||!r.tokens||model.isDisposed()||model.getVersionId()!==requestVersionId){return}const{provider:provider,tokens:result}=r;const styling=this._semanticTokensStylingService.getStyling(provider);model.tokenization.setPartialSemanticTokens(range2,toMultilineTokens2(result,styling,model.getLanguageId()))})).then((()=>this._removeOutstandingRequest(request)),(()=>this._removeOutstandingRequest(request)));return request}};ViewportSemanticTokensContribution.ID="editor.contrib.viewportSemanticTokens";ViewportSemanticTokensContribution=__decorate121([__param114(1,ISemanticTokensStylingService),__param114(2,IThemeService),__param114(3,IConfigurationService),__param114(4,ILanguageFeatureDebounceService),__param114(5,ILanguageFeaturesService)],ViewportSemanticTokensContribution);registerEditorContribution(ViewportSemanticTokensContribution.ID,ViewportSemanticTokensContribution,1);init_arrays();init_cancellation();init_errors();init_editorExtensions();init_position();init_range();init_selection();init_editorContextKeys();init_strings();init_range();var WordSelectionRangeProvider=class{constructor(selectSubwords=true){this.selectSubwords=selectSubwords}provideSelectionRanges(model,positions){const result=[];for(const position of positions){const bucket=[];result.push(bucket);if(this.selectSubwords){this._addInWordRanges(bucket,model,position)}this._addWordRanges(bucket,model,position);this._addWhitespaceLine(bucket,model,position);bucket.push({range:model.getFullModelRange()})}return result}_addInWordRanges(bucket,model,pos){const obj=model.getWordAtPosition(pos);if(!obj){return}const{word:word,startColumn:startColumn}=obj;const offset=pos.column-startColumn;let start=offset;let end=offset;let lastCh=0;for(;start>=0;start--){const ch=word.charCodeAt(start);if(start!==offset&&(ch===95||ch===45)){break}else if(isLowerAsciiLetter(ch)&&isUpperAsciiLetter(lastCh)){break}lastCh=ch}start+=1;for(;end<word.length;end++){const ch=word.charCodeAt(end);if(isUpperAsciiLetter(ch)&&isLowerAsciiLetter(lastCh)){break}else if(ch===95||ch===45){break}lastCh=ch}if(start<end){bucket.push({range:new Range(pos.lineNumber,startColumn+start,pos.lineNumber,startColumn+end)})}}_addWordRanges(bucket,model,pos){const word=model.getWordAtPosition(pos);if(word){bucket.push({range:new Range(pos.lineNumber,word.startColumn,pos.lineNumber,word.endColumn)})}}_addWhitespaceLine(bucket,model,pos){if(model.getLineLength(pos.lineNumber)>0&&model.getLineFirstNonWhitespaceColumn(pos.lineNumber)===0&&model.getLineLastNonWhitespaceColumn(pos.lineNumber)===0){bucket.push({range:new Range(pos.lineNumber,1,pos.lineNumber,model.getLineMaxColumn(pos.lineNumber))})}}};init_nls();init_actions2();init_commands();init_languageFeatures();init_resolverService();init_types();init_uri();var __decorate122=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param115=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter89=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var SmartSelectController_1;var SelectionRanges=class{constructor(index,ranges){this.index=index;this.ranges=ranges}mov(fwd){const index=this.index+(fwd?1:-1);if(index<0||index>=this.ranges.length){return this}const res=new SelectionRanges(index,this.ranges);if(res.ranges[index].equalsRange(this.ranges[this.index])){return res.mov(fwd)}return res}};var SmartSelectController=SmartSelectController_1=class SmartSelectController2{static get(editor2){return editor2.getContribution(SmartSelectController_1.ID)}constructor(_editor,_languageFeaturesService){this._editor=_editor;this._languageFeaturesService=_languageFeaturesService;this._ignoreSelection=false}dispose(){var _a6;(_a6=this._selectionListener)===null||_a6===void 0?void 0:_a6.dispose()}run(forward){return __awaiter89(this,void 0,void 0,(function*(){if(!this._editor.hasModel()){return}const selections=this._editor.getSelections();const model=this._editor.getModel();if(!this._state){yield provideSelectionRanges(this._languageFeaturesService.selectionRangeProvider,model,selections.map((s=>s.getPosition())),this._editor.getOption(111),CancellationToken.None).then((ranges=>{var _a6;if(!isNonEmptyArray(ranges)||ranges.length!==selections.length){return}if(!this._editor.hasModel()||!equals(this._editor.getSelections(),selections,((a,b)=>a.equalsSelection(b)))){return}for(let i=0;i<ranges.length;i++){ranges[i]=ranges[i].filter((range2=>range2.containsPosition(selections[i].getStartPosition())&&range2.containsPosition(selections[i].getEndPosition())));ranges[i].unshift(selections[i])}this._state=ranges.map((ranges2=>new SelectionRanges(0,ranges2)));(_a6=this._selectionListener)===null||_a6===void 0?void 0:_a6.dispose();this._selectionListener=this._editor.onDidChangeCursorPosition((()=>{var _a7;if(!this._ignoreSelection){(_a7=this._selectionListener)===null||_a7===void 0?void 0:_a7.dispose();this._state=void 0}}))}))}if(!this._state){return}this._state=this._state.map((state=>state.mov(forward)));const newSelections=this._state.map((state=>Selection.fromPositions(state.ranges[state.index].getStartPosition(),state.ranges[state.index].getEndPosition())));this._ignoreSelection=true;try{this._editor.setSelections(newSelections)}finally{this._ignoreSelection=false}}))}};SmartSelectController.ID="editor.contrib.smartSelectController";SmartSelectController=SmartSelectController_1=__decorate122([__param115(1,ILanguageFeaturesService)],SmartSelectController);var AbstractSmartSelect=class extends EditorAction{constructor(forward,opts){super(opts);this._forward=forward}run(_accessor,editor2){return __awaiter89(this,void 0,void 0,(function*(){const controller=SmartSelectController.get(editor2);if(controller){yield controller.run(this._forward)}}))}};var GrowSelectionAction=class extends AbstractSmartSelect{constructor(){super(true,{id:"editor.action.smartSelect.expand",label:localize("smartSelect.expand","Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:1024|512|17,mac:{primary:2048|256|1024|17,secondary:[256|1024|17]},weight:100},menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"1_basic",title:localize({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}};CommandsRegistry.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");var ShrinkSelectionAction=class extends AbstractSmartSelect{constructor(){super(false,{id:"editor.action.smartSelect.shrink",label:localize("smartSelect.shrink","Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:1024|512|15,mac:{primary:2048|256|1024|15,secondary:[256|1024|15]},weight:100},menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"1_basic",title:localize({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}};registerEditorContribution(SmartSelectController.ID,SmartSelectController,4);registerEditorAction(GrowSelectionAction);registerEditorAction(ShrinkSelectionAction);function provideSelectionRanges(registry,model,positions,options2,token){return __awaiter89(this,void 0,void 0,(function*(){const providers=registry.all(model).concat(new WordSelectionRangeProvider(options2.selectSubwords));if(providers.length===1){providers.unshift(new BracketSelectionRangeProvider)}const work=[];const allRawRanges=[];for(const provider of providers){work.push(Promise.resolve(provider.provideSelectionRanges(model,positions,token)).then((allProviderRanges=>{if(isNonEmptyArray(allProviderRanges)&&allProviderRanges.length===positions.length){for(let i=0;i<positions.length;i++){if(!allRawRanges[i]){allRawRanges[i]=[]}for(const oneProviderRanges of allProviderRanges[i]){if(Range.isIRange(oneProviderRanges.range)&&Range.containsPosition(oneProviderRanges.range,positions[i])){allRawRanges[i].push(Range.lift(oneProviderRanges.range))}}}}}),onUnexpectedExternalError))}yield Promise.all(work);return allRawRanges.map((oneRawRanges=>{if(oneRawRanges.length===0){return[]}oneRawRanges.sort(((a,b)=>{if(Position.isBefore(a.getStartPosition(),b.getStartPosition())){return 1}else if(Position.isBefore(b.getStartPosition(),a.getStartPosition())){return-1}else if(Position.isBefore(a.getEndPosition(),b.getEndPosition())){return-1}else if(Position.isBefore(b.getEndPosition(),a.getEndPosition())){return 1}else{return 0}}));const oneRanges=[];let last;for(const range2 of oneRawRanges){if(!last||Range.containsRange(range2,last)&&!Range.equalsRange(range2,last)){oneRanges.push(range2);last=range2}}if(!options2.selectLeadingAndTrailingWhitespace){return oneRanges}const oneRangesWithTrivia=[oneRanges[0]];for(let i=1;i<oneRanges.length;i++){const prev=oneRanges[i-1];const cur=oneRanges[i];if(cur.startLineNumber!==prev.startLineNumber||cur.endLineNumber!==prev.endLineNumber){const rangeNoWhitespace=new Range(prev.startLineNumber,model.getLineFirstNonWhitespaceColumn(prev.startLineNumber),prev.endLineNumber,model.getLineLastNonWhitespaceColumn(prev.endLineNumber));if(rangeNoWhitespace.containsRange(prev)&&!rangeNoWhitespace.equalsRange(prev)&&cur.containsRange(rangeNoWhitespace)&&!cur.equalsRange(rangeNoWhitespace)){oneRangesWithTrivia.push(rangeNoWhitespace)}const rangeFull=new Range(prev.startLineNumber,1,prev.endLineNumber,model.getLineMaxColumn(prev.endLineNumber));if(rangeFull.containsRange(prev)&&!rangeFull.equalsRange(rangeNoWhitespace)&&cur.containsRange(rangeFull)&&!cur.equalsRange(rangeFull)){oneRangesWithTrivia.push(rangeFull)}}oneRangesWithTrivia.push(cur)}return oneRangesWithTrivia}))}))}CommandsRegistry.registerCommand("_executeSelectionRangeProvider",(function(accessor,...args){return __awaiter89(this,void 0,void 0,(function*(){const[resource,positions]=args;assertType(URI.isUri(resource));const registry=accessor.get(ILanguageFeaturesService).selectionRangeProvider;const reference=yield accessor.get(ITextModelService).createModelReference(resource);try{return provideSelectionRanges(registry,reference.object.textEditorModel,positions,{selectLeadingAndTrailingWhitespace:true,selectSubwords:true},CancellationToken.None)}finally{reference.dispose()}}))}));init_editorExtensions();init_editorExtensions();init_nls();init_nls();var Categories=Object.freeze({View:{value:localize("view","View"),original:"View"},Help:{value:localize("help","Help"),original:"Help"},Test:{value:localize("test","Test"),original:"Test"},File:{value:localize("file","File"),original:"File"},Preferences:{value:localize("preferences","Preferences"),original:"Preferences"},Developer:{value:localize({key:"developer",comment:["A developer on Code itself or someone diagnosing issues in Code"]},"Developer"),original:"Developer"}});init_actions2();init_configuration();init_contextkey();init_editorContextKeys();init_lifecycle();init_languageFeatures();init_dom();init_trustedTypes();init_lifecycle();init_themables();init_viewLine();init_position();init_stringBuilder();init_lineDecorations();init_viewLineRenderer();var __awaiter90=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var StickyScrollWidgetState=class{constructor(startLineNumbers,endLineNumbers,lastLineRelativePosition,showEndForLine=null){this.startLineNumbers=startLineNumbers;this.endLineNumbers=endLineNumbers;this.lastLineRelativePosition=lastLineRelativePosition;this.showEndForLine=showEndForLine}};var _ttPolicy=createTrustedTypesPolicy("stickyScrollViewLayer",{createHTML:value=>value});var STICKY_LINE_INDEX_ATTR="data-sticky-line-index";var StickyScrollWidget=class extends Disposable{constructor(_editor){super();this._editor=_editor;this._foldingIconStore=new DisposableStore;this._rootDomNode=document.createElement("div");this._lineNumbersDomNode=document.createElement("div");this._linesDomNodeScrollable=document.createElement("div");this._linesDomNode=document.createElement("div");this._lineHeight=this._editor.getOption(65);this._stickyLines=[];this._lineNumbers=[];this._lastLineRelativePosition=0;this._minContentWidthInPx=0;this._isOnGlyphMargin=false;this._lineNumbersDomNode.className="sticky-widget-line-numbers";this._lineNumbersDomNode.setAttribute("role","none");this._linesDomNode.className="sticky-widget-lines";this._linesDomNode.setAttribute("role","list");this._linesDomNodeScrollable.className="sticky-widget-lines-scrollable";this._linesDomNodeScrollable.appendChild(this._linesDomNode);this._rootDomNode.className="sticky-widget";this._rootDomNode.classList.toggle("peek",_editor instanceof EmbeddedCodeEditorWidget);this._rootDomNode.appendChild(this._lineNumbersDomNode);this._rootDomNode.appendChild(this._linesDomNodeScrollable);const updateScrollLeftPosition=()=>{this._linesDomNode.style.left=this._editor.getOption(113).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:"0px"};this._register(this._editor.onDidChangeConfiguration((e=>{if(e.hasChanged(113)){updateScrollLeftPosition()}if(e.hasChanged(65)){this._lineHeight=this._editor.getOption(65)}})));this._register(this._editor.onDidScrollChange((e=>{if(e.scrollLeftChanged){updateScrollLeftPosition()}if(e.scrollWidthChanged){this._updateWidgetWidth()}})));this._register(this._editor.onDidChangeModel((()=>{updateScrollLeftPosition();this._updateWidgetWidth()})));this._register(this._foldingIconStore);updateScrollLeftPosition();this._register(this._editor.onDidLayoutChange((e=>{this._updateWidgetWidth()})));this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getCurrentLines(){return this._lineNumbers}setState(state){this._clearStickyWidget();if(!state||!this._editor._getViewModel()){return}const futureWidgetHeight=state.startLineNumbers.length*this._lineHeight+state.lastLineRelativePosition;if(futureWidgetHeight>0){this._lastLineRelativePosition=state.lastLineRelativePosition;const lineNumbers=[...state.startLineNumbers];if(state.showEndForLine!==null){lineNumbers[state.showEndForLine]=state.endLineNumbers[state.showEndForLine]}this._lineNumbers=lineNumbers}else{this._lastLineRelativePosition=0;this._lineNumbers=[]}this._renderRootNode()}_updateWidgetWidth(){const layoutInfo=this._editor.getLayoutInfo();const minimapSide=this._editor.getOption(71).side;const lineNumbersWidth=minimapSide==="left"?layoutInfo.contentLeft-layoutInfo.minimap.minimapCanvasOuterWidth:layoutInfo.contentLeft;this._lineNumbersDomNode.style.width=`${lineNumbersWidth}px`;this._linesDomNodeScrollable.style.setProperty("--vscode-editorStickyScroll-scrollableWidth",`${this._editor.getScrollWidth()-layoutInfo.verticalScrollbarWidth}px`);this._rootDomNode.style.width=`${layoutInfo.width-layoutInfo.minimap.minimapCanvasOuterWidth-layoutInfo.verticalScrollbarWidth}px`}_clearStickyWidget(){this._stickyLines=[];this._foldingIconStore.clear();clearNode(this._lineNumbersDomNode);clearNode(this._linesDomNode);this._rootDomNode.style.display="none"}_useFoldingOpacityTransition(requireTransitions){this._lineNumbersDomNode.style.setProperty("--vscode-editorStickyScroll-foldingOpacityTransition",`opacity ${requireTransitions?.5:0}s`)}_setFoldingIconsVisibility(allVisible){for(const line of this._stickyLines){const foldingIcon=line.foldingIcon;if(!foldingIcon){continue}foldingIcon.setVisible(allVisible?true:foldingIcon.isCollapsed)}}_renderRootNode(){var _a6;return __awaiter90(this,void 0,void 0,(function*(){const foldingModel=yield(_a6=FoldingController.get(this._editor))===null||_a6===void 0?void 0:_a6.getFoldingModel();const layoutInfo=this._editor.getLayoutInfo();for(const[index,line]of this._lineNumbers.entries()){const renderedStickyLine=this._renderChildNode(index,line,layoutInfo,foldingModel);this._linesDomNode.appendChild(renderedStickyLine.lineDomNode);this._lineNumbersDomNode.appendChild(renderedStickyLine.lineNumberDomNode);this._stickyLines.push(renderedStickyLine)}if(foldingModel){this._setFoldingHoverListeners();this._useFoldingOpacityTransition(!this._isOnGlyphMargin)}const widgetHeight=this._lineNumbers.length*this._lineHeight+this._lastLineRelativePosition;if(widgetHeight===0){this._clearStickyWidget();return}this._rootDomNode.style.display="block";this._lineNumbersDomNode.style.height=`${widgetHeight}px`;this._linesDomNodeScrollable.style.height=`${widgetHeight}px`;this._rootDomNode.style.height=`${widgetHeight}px`;const minimapSide=this._editor.getOption(71).side;if(minimapSide==="left"){this._rootDomNode.style.marginLeft=layoutInfo.minimap.minimapCanvasOuterWidth+"px"}else{this._rootDomNode.style.marginLeft="0px"}this._updateMinContentWidth();this._editor.layoutOverlayWidget(this)}))}_setFoldingHoverListeners(){const showFoldingControls=this._editor.getOption(108);if(showFoldingControls!=="mouseover"){return}this._foldingIconStore.add(addDisposableListener(this._lineNumbersDomNode,EventType.MOUSE_ENTER,(e=>{this._isOnGlyphMargin=true;this._setFoldingIconsVisibility(true)})));this._foldingIconStore.add(addDisposableListener(this._lineNumbersDomNode,EventType.MOUSE_LEAVE,(()=>{this._isOnGlyphMargin=false;this._useFoldingOpacityTransition(true);this._setFoldingIconsVisibility(false)})))}_renderChildNode(index,line,layoutInfo,foldingModel){const viewModel=this._editor._getViewModel();const viewLineNumber=viewModel.coordinatesConverter.convertModelPositionToViewPosition(new Position(line,1)).lineNumber;const lineRenderingData=viewModel.getViewLineRenderingData(viewLineNumber);const minimapSide=this._editor.getOption(71).side;const lineNumberOption=this._editor.getOption(66);let actualInlineDecorations;try{actualInlineDecorations=LineDecoration.filter(lineRenderingData.inlineDecorations,viewLineNumber,lineRenderingData.minColumn,lineRenderingData.maxColumn)}catch(err){actualInlineDecorations=[]}const renderLineInput=new RenderLineInput(true,true,lineRenderingData.content,lineRenderingData.continuesWithWrappedLine,lineRenderingData.isBasicASCII,lineRenderingData.containsRTL,0,lineRenderingData.tokens,actualInlineDecorations,lineRenderingData.tabSize,lineRenderingData.startVisibleColumn,1,1,1,500,"none",true,true,null);const sb=new StringBuilder(2e3);const renderOutput=renderViewLine(renderLineInput,sb);let newLine;if(_ttPolicy){newLine=_ttPolicy.createHTML(sb.build())}else{newLine=sb.build()}const lineHTMLNode=document.createElement("span");lineHTMLNode.className="sticky-line-content";lineHTMLNode.classList.add(`stickyLine${line}`);lineHTMLNode.style.lineHeight=`${this._lineHeight}px`;lineHTMLNode.innerHTML=newLine;const lineNumberHTMLNode=document.createElement("span");lineNumberHTMLNode.className="sticky-line-number";lineNumberHTMLNode.style.lineHeight=`${this._lineHeight}px`;const lineNumbersWidth=minimapSide==="left"?layoutInfo.contentLeft-layoutInfo.minimap.minimapCanvasOuterWidth:layoutInfo.contentLeft;lineNumberHTMLNode.style.width=`${lineNumbersWidth}px`;const innerLineNumberHTML=document.createElement("span");if(lineNumberOption.renderType===1||lineNumberOption.renderType===3&&line%10===0){innerLineNumberHTML.innerText=line.toString()}else if(lineNumberOption.renderType===2){innerLineNumberHTML.innerText=Math.abs(line-this._editor.getPosition().lineNumber).toString()}innerLineNumberHTML.className="sticky-line-number-inner";innerLineNumberHTML.style.lineHeight=`${this._lineHeight}px`;innerLineNumberHTML.style.width=`${layoutInfo.lineNumbersWidth}px`;innerLineNumberHTML.style.float="left";if(minimapSide==="left"){innerLineNumberHTML.style.paddingLeft=`${layoutInfo.lineNumbersLeft-layoutInfo.minimap.minimapCanvasOuterWidth}px`}else if(minimapSide==="right"){innerLineNumberHTML.style.paddingLeft=`${layoutInfo.lineNumbersLeft}px`}lineNumberHTMLNode.appendChild(innerLineNumberHTML);const foldingIcon=this._renderFoldingIconForLine(lineNumberHTMLNode,foldingModel,index,line);this._editor.applyFontInfo(lineHTMLNode);this._editor.applyFontInfo(innerLineNumberHTML);lineHTMLNode.setAttribute("role","listitem");lineHTMLNode.setAttribute(STICKY_LINE_INDEX_ATTR,String(index));lineHTMLNode.tabIndex=0;lineNumberHTMLNode.style.lineHeight=`${this._lineHeight}px`;lineHTMLNode.style.lineHeight=`${this._lineHeight}px`;lineNumberHTMLNode.style.height=`${this._lineHeight}px`;lineHTMLNode.style.height=`${this._lineHeight}px`;const isLastLine=index===this._lineNumbers.length-1;const lastLineZIndex="0";const intermediateLineZIndex="1";lineHTMLNode.style.zIndex=isLastLine?lastLineZIndex:intermediateLineZIndex;lineNumberHTMLNode.style.zIndex=isLastLine?lastLineZIndex:intermediateLineZIndex;const lastLineTop=`${index*this._lineHeight+this._lastLineRelativePosition+((foldingIcon===null||foldingIcon===void 0?void 0:foldingIcon.isCollapsed)?1:0)}px`;const intermediateLineTop=`${index*this._lineHeight}px`;lineHTMLNode.style.top=isLastLine?lastLineTop:intermediateLineTop;lineNumberHTMLNode.style.top=isLastLine?lastLineTop:intermediateLineTop;return new RenderedStickyLine(line,lineHTMLNode,lineNumberHTMLNode,foldingIcon,renderOutput.characterMapping)}_renderFoldingIconForLine(container,foldingModel,index,line){const showFoldingControls=this._editor.getOption(108);if(!foldingModel||showFoldingControls==="never"){return}const foldingRegions=foldingModel.regions;const indexOfFoldingRegion=foldingRegions.findRange(line);const startLineNumber=foldingRegions.getStartLineNumber(indexOfFoldingRegion);const isFoldingScope=line===startLineNumber;if(!isFoldingScope){return}const isCollapsed=foldingRegions.isCollapsed(indexOfFoldingRegion);const foldingIcon=new StickyFoldingIcon(isCollapsed,this._lineHeight);container.append(foldingIcon.domNode);foldingIcon.setVisible(this._isOnGlyphMargin?true:isCollapsed||showFoldingControls==="always");this._foldingIconStore.add(addDisposableListener(foldingIcon.domNode,EventType.CLICK,(()=>{toggleCollapseState(foldingModel,Number.MAX_VALUE,[line]);foldingIcon.isCollapsed=!isCollapsed;const scrollTop=(isCollapsed?this._editor.getTopForLineNumber(startLineNumber):this._editor.getTopForLineNumber(foldingRegions.getEndLineNumber(indexOfFoldingRegion)))-this._lineHeight*index+1;this._editor.setScrollTop(scrollTop)})));return foldingIcon}_updateMinContentWidth(){this._minContentWidthInPx=0;for(const stickyLine of this._stickyLines){if(stickyLine.lineDomNode.scrollWidth>this._minContentWidthInPx){this._minContentWidthInPx=stickyLine.lineDomNode.scrollWidth}}this._minContentWidthInPx+=this._editor.getLayoutInfo().verticalScrollbarWidth}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:null}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(index){if(0<=index&&index<this._stickyLines.length){this._stickyLines[index].lineDomNode.focus()}}getEditorPositionFromNode(spanDomNode){if(!spanDomNode||spanDomNode.children.length>0){return null}const renderedStickyLine=this._getRenderedStickyLineFromChildDomNode(spanDomNode);if(!renderedStickyLine){return null}const column=getColumnOfNodeOffset(renderedStickyLine.characterMapping,spanDomNode,0);return new Position(renderedStickyLine.lineNumber,column)}getLineNumberFromChildDomNode(domNode){var _a6,_b3;return(_b3=(_a6=this._getRenderedStickyLineFromChildDomNode(domNode))===null||_a6===void 0?void 0:_a6.lineNumber)!==null&&_b3!==void 0?_b3:null}_getRenderedStickyLineFromChildDomNode(domNode){const index=this.getStickyLineIndexFromChildDomNode(domNode);if(index===null||index<0||index>=this._stickyLines.length){return null}return this._stickyLines[index]}getStickyLineIndexFromChildDomNode(domNode){while(domNode&&domNode!==this._rootDomNode){const line=domNode.getAttribute(STICKY_LINE_INDEX_ATTR);if(line){return parseInt(line,10)}domNode=domNode.parentElement}return null}};var RenderedStickyLine=class{constructor(lineNumber,lineDomNode,lineNumberDomNode,foldingIcon,characterMapping){this.lineNumber=lineNumber;this.lineDomNode=lineDomNode;this.lineNumberDomNode=lineNumberDomNode;this.foldingIcon=foldingIcon;this.characterMapping=characterMapping}};var StickyFoldingIcon=class{constructor(isCollapsed,dimension){this.isCollapsed=isCollapsed;this.dimension=dimension;this.domNode=document.createElement("div");this.domNode.style.width=`${dimension}px`;this.domNode.style.height=`${dimension}px`;this.domNode.className=ThemeIcon.asClassName(isCollapsed?foldingCollapsedIcon:foldingExpandedIcon)}setVisible(visible){this.domNode.style.cursor=visible?"pointer":"default";this.domNode.style.opacity=visible?"1":"0"}};init_lifecycle();init_languageFeatures();init_cancellation();init_async();init_arrays();init_event();init_languageConfigurationRegistry();init_lifecycle();init_languageFeatures();init_outlineModel2();init_async();init_languageConfigurationRegistry();init_errors();var StickyRange=class{constructor(startLineNumber,endLineNumber){this.startLineNumber=startLineNumber;this.endLineNumber=endLineNumber}};var StickyElement=class{constructor(range2,children,parent){this.range=range2;this.children=children;this.parent=parent}};var StickyModel=class{constructor(uri,version2,element,outlineProviderId){this.uri=uri;this.version=version2;this.element=element;this.outlineProviderId=outlineProviderId}};init_iterator();var __decorate123=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param116=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter91=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var ModelProvider;(function(ModelProvider2){ModelProvider2["OUTLINE_MODEL"]="outlineModel";ModelProvider2["FOLDING_PROVIDER_MODEL"]="foldingProviderModel";ModelProvider2["INDENTATION_MODEL"]="indentationModel"})(ModelProvider||(ModelProvider={}));var Status;(function(Status2){Status2[Status2["VALID"]=0]="VALID";Status2[Status2["INVALID"]=1]="INVALID";Status2[Status2["CANCELED"]=2]="CANCELED"})(Status||(Status={}));var StickyModelProvider=class StickyModelProvider2 extends Disposable{constructor(_editor,_languageConfigurationService,_languageFeaturesService,defaultModel){super();this._editor=_editor;this._languageConfigurationService=_languageConfigurationService;this._languageFeaturesService=_languageFeaturesService;this._modelProviders=[];this._modelPromise=null;this._updateScheduler=this._register(new Delayer(300));this._updateOperation=this._register(new DisposableStore);const stickyModelFromCandidateOutlineProvider=new StickyModelFromCandidateOutlineProvider(_languageFeaturesService);const stickyModelFromSyntaxFoldingProvider=new StickyModelFromCandidateSyntaxFoldingProvider(this._editor,_languageFeaturesService);const stickyModelFromIndentationFoldingProvider=new StickyModelFromCandidateIndentationFoldingProvider(this._editor,_languageConfigurationService);switch(defaultModel){case ModelProvider.OUTLINE_MODEL:this._modelProviders.push(stickyModelFromCandidateOutlineProvider);this._modelProviders.push(stickyModelFromSyntaxFoldingProvider);this._modelProviders.push(stickyModelFromIndentationFoldingProvider);break;case ModelProvider.FOLDING_PROVIDER_MODEL:this._modelProviders.push(stickyModelFromSyntaxFoldingProvider);this._modelProviders.push(stickyModelFromIndentationFoldingProvider);break;case ModelProvider.INDENTATION_MODEL:this._modelProviders.push(stickyModelFromIndentationFoldingProvider);break}}_cancelModelPromise(){if(this._modelPromise){this._modelPromise.cancel();this._modelPromise=null}}update(textModel,textModelVersionId,token){return __awaiter91(this,void 0,void 0,(function*(){this._updateOperation.clear();this._updateOperation.add({dispose:()=>{this._cancelModelPromise();this._updateScheduler.cancel()}});this._cancelModelPromise();return yield this._updateScheduler.trigger((()=>__awaiter91(this,void 0,void 0,(function*(){for(const modelProvider of this._modelProviders){const{statusPromise:statusPromise,modelPromise:modelPromise}=modelProvider.computeStickyModel(textModel,textModelVersionId,token);this._modelPromise=modelPromise;const status2=yield statusPromise;if(this._modelPromise!==modelPromise){return null}switch(status2){case Status.CANCELED:this._updateOperation.clear();return null;case Status.VALID:return modelProvider.stickyModel}}return null})))).catch((error=>{onUnexpectedError(error);return null}))}))}};StickyModelProvider=__decorate123([__param116(1,ILanguageConfigurationService),__param116(2,ILanguageFeaturesService)],StickyModelProvider);var StickyModelCandidateProvider=class{constructor(){this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){this._stickyModel=null;return Status.INVALID}computeStickyModel(textModel,modelVersionId,token){if(token.isCancellationRequested||!this.isProviderValid(textModel)){return{statusPromise:this._invalid(),modelPromise:null}}const providerModelPromise=createCancelablePromise((token2=>this.createModelFromProvider(textModel,modelVersionId,token2)));return{statusPromise:providerModelPromise.then((providerModel=>{if(!this.isModelValid(providerModel)){return this._invalid()}if(token.isCancellationRequested){return Status.CANCELED}this._stickyModel=this.createStickyModel(textModel,modelVersionId,token,providerModel);return Status.VALID})).then(void 0,(err=>{onUnexpectedError(err);return Status.CANCELED})),modelPromise:providerModelPromise}}isModelValid(model){return true}isProviderValid(textModel){return true}};var StickyModelFromCandidateOutlineProvider=class StickyModelFromCandidateOutlineProvider2 extends StickyModelCandidateProvider{constructor(_languageFeaturesService){super();this._languageFeaturesService=_languageFeaturesService}createModelFromProvider(textModel,modelVersionId,token){return OutlineModel2.create(this._languageFeaturesService.documentSymbolProvider,textModel,token)}createStickyModel(textModel,modelVersionId,token,model){var _a6;const{stickyOutlineElement:stickyOutlineElement,providerID:providerID}=this._stickyModelFromOutlineModel(model,(_a6=this._stickyModel)===null||_a6===void 0?void 0:_a6.outlineProviderId);return new StickyModel(textModel.uri,modelVersionId,stickyOutlineElement,providerID)}isModelValid(model){return model&&model.children.size>0}_stickyModelFromOutlineModel(outlineModel,preferredProvider){let outlineElements;if(Iterable.first(outlineModel.children.values())instanceof OutlineGroup2){const provider=Iterable.find(outlineModel.children.values(),(outlineGroupOfModel=>outlineGroupOfModel.id===preferredProvider));if(provider){outlineElements=provider.children}else{let tempID="";let maxTotalSumOfRanges=-1;let optimalOutlineGroup=void 0;for(const[_key,outlineGroup]of outlineModel.children.entries()){const totalSumRanges=this._findSumOfRangesOfGroup(outlineGroup);if(totalSumRanges>maxTotalSumOfRanges){optimalOutlineGroup=outlineGroup;maxTotalSumOfRanges=totalSumRanges;tempID=outlineGroup.id}}preferredProvider=tempID;outlineElements=optimalOutlineGroup.children}}else{outlineElements=outlineModel.children}const stickyChildren=[];const outlineElementsArray=Array.from(outlineElements.values()).sort(((element1,element2)=>{const range1=new StickyRange(element1.symbol.range.startLineNumber,element1.symbol.range.endLineNumber);const range2=new StickyRange(element2.symbol.range.startLineNumber,element2.symbol.range.endLineNumber);return this._comparator(range1,range2)}));for(const outlineElement of outlineElementsArray){stickyChildren.push(this._stickyModelFromOutlineElement(outlineElement,outlineElement.symbol.selectionRange.startLineNumber))}const stickyOutlineElement=new StickyElement(void 0,stickyChildren,void 0);return{stickyOutlineElement:stickyOutlineElement,providerID:preferredProvider}}_stickyModelFromOutlineElement(outlineElement,previousStartLine){const children=[];for(const child of outlineElement.children.values()){if(child.symbol.selectionRange.startLineNumber!==child.symbol.range.endLineNumber){if(child.symbol.selectionRange.startLineNumber!==previousStartLine){children.push(this._stickyModelFromOutlineElement(child,child.symbol.selectionRange.startLineNumber))}else{for(const subchild of child.children.values()){children.push(this._stickyModelFromOutlineElement(subchild,child.symbol.selectionRange.startLineNumber))}}}}children.sort(((child1,child2)=>this._comparator(child1.range,child2.range)));const range2=new StickyRange(outlineElement.symbol.selectionRange.startLineNumber,outlineElement.symbol.range.endLineNumber);return new StickyElement(range2,children,void 0)}_comparator(range1,range2){if(range1.startLineNumber!==range2.startLineNumber){return range1.startLineNumber-range2.startLineNumber}else{return range2.endLineNumber-range1.endLineNumber}}_findSumOfRangesOfGroup(outline){let res=0;for(const child of outline.children.values()){res+=this._findSumOfRangesOfGroup(child)}if(outline instanceof OutlineElement2){return res+outline.symbol.range.endLineNumber-outline.symbol.selectionRange.startLineNumber}else{return res}}};StickyModelFromCandidateOutlineProvider=__decorate123([__param116(0,ILanguageFeaturesService)],StickyModelFromCandidateOutlineProvider);var StickyModelFromCandidateFoldingProvider=class extends StickyModelCandidateProvider{constructor(editor2){super();this._foldingLimitReporter=new RangesLimitReporter(editor2)}createStickyModel(textModel,modelVersionId,token,model){const foldingElement=this._fromFoldingRegions(model);return new StickyModel(textModel.uri,modelVersionId,foldingElement,void 0)}isModelValid(model){return model!==null}_fromFoldingRegions(foldingRegions){const length2=foldingRegions.length;const orderedStickyElements=[];const stickyOutlineElement=new StickyElement(void 0,[],void 0);for(let i=0;i<length2;i++){const parentIndex=foldingRegions.getParentIndex(i);let parentNode;if(parentIndex!==-1){parentNode=orderedStickyElements[parentIndex]}else{parentNode=stickyOutlineElement}const child=new StickyElement(new StickyRange(foldingRegions.getStartLineNumber(i),foldingRegions.getEndLineNumber(i)+1),[],parentNode);parentNode.children.push(child);orderedStickyElements.push(child)}return stickyOutlineElement}};var StickyModelFromCandidateIndentationFoldingProvider=class StickyModelFromCandidateIndentationFoldingProvider2 extends StickyModelFromCandidateFoldingProvider{constructor(editor2,_languageConfigurationService){super(editor2);this._languageConfigurationService=_languageConfigurationService}createModelFromProvider(textModel,modelVersionId,token){const provider=new IndentRangeProvider(textModel,this._languageConfigurationService,this._foldingLimitReporter);return provider.compute(token)}};StickyModelFromCandidateIndentationFoldingProvider=__decorate123([__param116(1,ILanguageConfigurationService)],StickyModelFromCandidateIndentationFoldingProvider);var StickyModelFromCandidateSyntaxFoldingProvider=class StickyModelFromCandidateSyntaxFoldingProvider2 extends StickyModelFromCandidateFoldingProvider{constructor(editor2,_languageFeaturesService){super(editor2);this._languageFeaturesService=_languageFeaturesService}isProviderValid(textModel){const selectedProviders=FoldingController.getFoldingRangeProviders(this._languageFeaturesService,textModel);return selectedProviders.length>0}createModelFromProvider(textModel,modelVersionId,token){const selectedProviders=FoldingController.getFoldingRangeProviders(this._languageFeaturesService,textModel);const provider=new SyntaxRangeProvider(textModel,selectedProviders,(()=>this.createModelFromProvider(textModel,modelVersionId,token)),this._foldingLimitReporter,void 0);return provider.compute(token)}};StickyModelFromCandidateSyntaxFoldingProvider=__decorate123([__param116(1,ILanguageFeaturesService)],StickyModelFromCandidateSyntaxFoldingProvider);var __decorate124=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param117=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter92=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var StickyLineCandidate=class{constructor(startLineNumber,endLineNumber,nestingDepth){this.startLineNumber=startLineNumber;this.endLineNumber=endLineNumber;this.nestingDepth=nestingDepth}};var StickyLineCandidateProvider=class StickyLineCandidateProvider2 extends Disposable{constructor(editor2,_languageFeaturesService,_languageConfigurationService){super();this._languageFeaturesService=_languageFeaturesService;this._languageConfigurationService=_languageConfigurationService;this._onDidChangeStickyScroll=this._register(new Emitter);this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event;this._options=null;this._model=null;this._cts=null;this._stickyModelProvider=null;this._editor=editor2;this._sessionStore=this._register(new DisposableStore);this._updateSoon=this._register(new RunOnceScheduler((()=>this.update()),50));this._register(this._editor.onDidChangeConfiguration((e=>{if(e.hasChanged(113)){this.readConfiguration()}})));this.readConfiguration()}readConfiguration(){this._stickyModelProvider=null;this._sessionStore.clear();this._options=this._editor.getOption(113);if(!this._options.enabled){return}this._stickyModelProvider=this._sessionStore.add(new StickyModelProvider(this._editor,this._languageConfigurationService,this._languageFeaturesService,this._options.defaultModel));this._sessionStore.add(this._editor.onDidChangeModel((()=>{this._model=null;this._onDidChangeStickyScroll.fire();this.update()})));this._sessionStore.add(this._editor.onDidChangeHiddenAreas((()=>this.update())));this._sessionStore.add(this._editor.onDidChangeModelContent((()=>this._updateSoon.schedule())));this._sessionStore.add(this._languageFeaturesService.documentSymbolProvider.onDidChange((()=>this.update())));this.update()}getVersionId(){var _a6;return(_a6=this._model)===null||_a6===void 0?void 0:_a6.version}update(){var _a6;return __awaiter92(this,void 0,void 0,(function*(){(_a6=this._cts)===null||_a6===void 0?void 0:_a6.dispose(true);this._cts=new CancellationTokenSource;yield this.updateStickyModel(this._cts.token);this._onDidChangeStickyScroll.fire()}))}updateStickyModel(token){return __awaiter92(this,void 0,void 0,(function*(){if(!this._editor.hasModel()||!this._stickyModelProvider){this._model=null;return}const textModel=this._editor.getModel();const modelVersionId=textModel.getVersionId();const model=yield this._stickyModelProvider.update(textModel,modelVersionId,token);if(token.isCancellationRequested){return}this._model=model}))}updateIndex(index){if(index===-1){index=0}else if(index<0){index=-index-2}return index}getCandidateStickyLinesIntersectingFromStickyModel(range2,outlineModel,result,depth,lastStartLineNumber){if(outlineModel.children.length===0){return}let lastLine=lastStartLineNumber;const childrenStartLines=[];for(let i=0;i<outlineModel.children.length;i++){const child=outlineModel.children[i];if(child.range){childrenStartLines.push(child.range.startLineNumber)}}const lowerBound=this.updateIndex(binarySearch(childrenStartLines,range2.startLineNumber,((a,b)=>a-b)));const upperBound=this.updateIndex(binarySearch(childrenStartLines,range2.startLineNumber+depth,((a,b)=>a-b)));for(let i=lowerBound;i<=upperBound;i++){const child=outlineModel.children[i];if(!child){return}if(child.range){const childStartLine=child.range.startLineNumber;const childEndLine=child.range.endLineNumber;if(range2.startLineNumber<=childEndLine+1&&childStartLine-1<=range2.endLineNumber&&childStartLine!==lastLine){lastLine=childStartLine;result.push(new StickyLineCandidate(childStartLine,childEndLine-1,depth+1));this.getCandidateStickyLinesIntersectingFromStickyModel(range2,child,result,depth+1,childStartLine)}}else{this.getCandidateStickyLinesIntersectingFromStickyModel(range2,child,result,depth,lastStartLineNumber)}}}getCandidateStickyLinesIntersecting(range2){var _a6,_b3;if(!((_a6=this._model)===null||_a6===void 0?void 0:_a6.element)){return[]}let stickyLineCandidates=[];this.getCandidateStickyLinesIntersectingFromStickyModel(range2,this._model.element,stickyLineCandidates,0,-1);const hiddenRanges=(_b3=this._editor._getViewModel())===null||_b3===void 0?void 0:_b3.getHiddenAreas();if(hiddenRanges){for(const hiddenRange of hiddenRanges){stickyLineCandidates=stickyLineCandidates.filter((stickyLine=>!(stickyLine.startLineNumber>=hiddenRange.startLineNumber&&stickyLine.endLineNumber<=hiddenRange.endLineNumber+1)))}}return stickyLineCandidates}};StickyLineCandidateProvider=__decorate124([__param117(1,ILanguageFeaturesService),__param117(2,ILanguageConfigurationService)],StickyLineCandidateProvider);init_instantiation();init_contextView();init_actions2();init_contextkey();init_editorContextKeys();init_range();init_position();init_cancellation();init_languageConfigurationRegistry();init_languageFeatureDebounce();init_dom();init_mouseEvent();var __decorate125=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param118=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter93=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var StickyScrollController_1;var StickyScrollController=StickyScrollController_1=class StickyScrollController2 extends Disposable{constructor(_editor,_contextMenuService,_languageFeaturesService,_instaService,_languageConfigurationService,_languageFeatureDebounceService,_contextKeyService){super();this._editor=_editor;this._contextMenuService=_contextMenuService;this._languageFeaturesService=_languageFeaturesService;this._instaService=_instaService;this._contextKeyService=_contextKeyService;this._sessionStore=new DisposableStore;this._maxStickyLines=Number.MAX_SAFE_INTEGER;this._candidateDefinitionsLength=-1;this._focusedStickyElementIndex=-1;this._enabled=false;this._focused=false;this._positionRevealed=false;this._onMouseDown=false;this._endLineNumbers=[];this._showEndForLine=null;this._stickyScrollWidget=new StickyScrollWidget(this._editor);this._stickyLineCandidateProvider=new StickyLineCandidateProvider(this._editor,_languageFeaturesService,_languageConfigurationService);this._register(this._stickyScrollWidget);this._register(this._stickyLineCandidateProvider);this._widgetState=new StickyScrollWidgetState([],[],0);this._readConfiguration();const stickyScrollDomNode=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration((e=>{if(e.hasChanged(113)||e.hasChanged(71)||e.hasChanged(65)||e.hasChanged(108)){this._readConfiguration()}})));this._register(addDisposableListener(stickyScrollDomNode,EventType.CONTEXT_MENU,(event=>__awaiter93(this,void 0,void 0,(function*(){this._onContextMenu(event)})))));this._stickyScrollFocusedContextKey=EditorContextKeys.stickyScrollFocused.bindTo(this._contextKeyService);this._stickyScrollVisibleContextKey=EditorContextKeys.stickyScrollVisible.bindTo(this._contextKeyService);const focusTracker=this._register(trackFocus(stickyScrollDomNode));this._register(focusTracker.onDidBlur((_=>{if(this._positionRevealed===false&&stickyScrollDomNode.clientHeight===0){this._focusedStickyElementIndex=-1;this.focus()}else{this._disposeFocusStickyScrollStore()}})));this._register(focusTracker.onDidFocus((_=>{this.focus()})));this._registerMouseListeners();this._register(addDisposableListener(stickyScrollDomNode,EventType.MOUSE_DOWN,(e=>{this._onMouseDown=true})))}static get(editor2){return editor2.getContribution(StickyScrollController_1.ID)}_disposeFocusStickyScrollStore(){var _a6;this._stickyScrollFocusedContextKey.set(false);(_a6=this._focusDisposableStore)===null||_a6===void 0?void 0:_a6.dispose();this._focused=false;this._positionRevealed=false;this._onMouseDown=false}focus(){if(this._onMouseDown){this._onMouseDown=false;this._editor.focus();return}const focusState=this._stickyScrollFocusedContextKey.get();if(focusState===true){return}this._focused=true;this._focusDisposableStore=new DisposableStore;this._stickyScrollFocusedContextKey.set(true);this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1;this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}focusNext(){if(this._focusedStickyElementIndex<this._stickyScrollWidget.lineNumberCount-1){this._focusNav(true)}}focusPrevious(){if(this._focusedStickyElementIndex>0){this._focusNav(false)}}selectEditor(){this._editor.focus()}_focusNav(direction){this._focusedStickyElementIndex=direction?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1;this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){const lineNumbers=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore();this._revealPosition({lineNumber:lineNumbers[this._focusedStickyElementIndex],column:1})}_revealPosition(position){this._reveaInEditor(position,(()=>this._editor.revealPosition(position)))}_revealLineInCenterIfOutsideViewport(position){this._reveaInEditor(position,(()=>this._editor.revealLineInCenterIfOutsideViewport(position.lineNumber,0)))}_reveaInEditor(position,revealFunction){if(this._focused){this._disposeFocusStickyScrollStore()}this._positionRevealed=true;revealFunction();this._editor.setSelection(Range.fromPositions(position));this._editor.focus()}_registerMouseListeners(){const sessionStore=this._register(new DisposableStore);const gesture=this._register(new ClickLinkGesture(this._editor,{extractLineNumberFromMouseEvent:e=>{const position=this._stickyScrollWidget.getEditorPositionFromNode(e.target.element);return position?position.lineNumber:0}}));const getMouseEventTarget=mouseEvent=>{if(!this._editor.hasModel()){return null}if(mouseEvent.target.type!==12||mouseEvent.target.detail!==this._stickyScrollWidget.getId()){return null}const mouseTargetElement=mouseEvent.target.element;if(!mouseTargetElement||mouseTargetElement.innerText!==mouseTargetElement.innerHTML){return null}const position=this._stickyScrollWidget.getEditorPositionFromNode(mouseTargetElement);if(!position){return null}return{range:new Range(position.lineNumber,position.column,position.lineNumber,position.column+mouseTargetElement.innerText.length),textElement:mouseTargetElement}};const stickyScrollWidgetDomNode=this._stickyScrollWidget.getDomNode();this._register(addStandardDisposableListener(stickyScrollWidgetDomNode,EventType.CLICK,(mouseEvent=>{if(mouseEvent.ctrlKey||mouseEvent.altKey||mouseEvent.metaKey){return}if(!mouseEvent.leftButton){return}if(mouseEvent.shiftKey){const lineIndex=this._stickyScrollWidget.getStickyLineIndexFromChildDomNode(mouseEvent.target);if(lineIndex===null){return}const position2=new Position(this._endLineNumbers[lineIndex],1);this._revealLineInCenterIfOutsideViewport(position2);return}let position=this._stickyScrollWidget.getEditorPositionFromNode(mouseEvent.target);if(!position){const lineNumber=this._stickyScrollWidget.getLineNumberFromChildDomNode(mouseEvent.target);if(lineNumber===null){return}position=new Position(lineNumber,1)}this._revealPosition(position)})));this._register(addStandardDisposableListener(stickyScrollWidgetDomNode,EventType.MOUSE_MOVE,(mouseEvent=>{if(mouseEvent.shiftKey){const currentEndForLineIndex=this._stickyScrollWidget.getStickyLineIndexFromChildDomNode(mouseEvent.target);if(currentEndForLineIndex===null||this._showEndForLine!==null&&this._showEndForLine===currentEndForLineIndex){return}this._showEndForLine=currentEndForLineIndex;this._renderStickyScroll();return}if(this._showEndForLine!==null){this._showEndForLine=null;this._renderStickyScroll()}})));this._register(addDisposableListener(stickyScrollWidgetDomNode,EventType.MOUSE_LEAVE,(e=>{if(this._showEndForLine!==null){this._showEndForLine=null;this._renderStickyScroll()}})));this._register(gesture.onMouseMoveOrRelevantKeyDown((([mouseEvent,_keyboardEvent])=>{const mouseTarget=getMouseEventTarget(mouseEvent);if(!mouseTarget||!mouseEvent.hasTriggerModifier||!this._editor.hasModel()){sessionStore.clear();return}const{range:range2,textElement:textElement}=mouseTarget;if(!range2.equalsRange(this._stickyRangeProjectedOnEditor)){this._stickyRangeProjectedOnEditor=range2;sessionStore.clear()}else if(textElement.style.textDecoration==="underline"){return}const cancellationToken=new CancellationTokenSource;sessionStore.add(toDisposable((()=>cancellationToken.dispose(true))));let currentHTMLChild;getDefinitionsAtPosition(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new Position(range2.startLineNumber,range2.startColumn+1),cancellationToken.token).then((candidateDefinitions=>{if(cancellationToken.token.isCancellationRequested){return}if(candidateDefinitions.length!==0){this._candidateDefinitionsLength=candidateDefinitions.length;const childHTML=textElement;if(currentHTMLChild!==childHTML){sessionStore.clear();currentHTMLChild=childHTML;currentHTMLChild.style.textDecoration="underline";sessionStore.add(toDisposable((()=>{currentHTMLChild.style.textDecoration="none"})))}else if(!currentHTMLChild){currentHTMLChild=childHTML;currentHTMLChild.style.textDecoration="underline";sessionStore.add(toDisposable((()=>{currentHTMLChild.style.textDecoration="none"})))}}else{sessionStore.clear()}}))})));this._register(gesture.onCancel((()=>{sessionStore.clear()})));this._register(gesture.onExecute((e=>__awaiter93(this,void 0,void 0,(function*(){if(e.target.type!==12||e.target.detail!==this._stickyScrollWidget.getId()){return}const position=this._stickyScrollWidget.getEditorPositionFromNode(e.target.element);if(!position){return}if(this._candidateDefinitionsLength>1){if(this._focused){this._disposeFocusStickyScrollStore()}this._revealPosition({lineNumber:position.lineNumber,column:1})}this._instaService.invokeFunction(goToDefinitionWithLocation,e,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})})))))}_onContextMenu(e){const event=new StandardMouseEvent(e);this._contextMenuService.showContextMenu({menuId:MenuId.StickyScrollContext,getAnchor:()=>event})}_readConfiguration(){const options2=this._editor.getOption(113);if(options2.enabled===false){this._editor.removeOverlayWidget(this._stickyScrollWidget);this._sessionStore.clear();this._enabled=false;return}else if(options2.enabled&&!this._enabled){this._editor.addOverlayWidget(this._stickyScrollWidget);this._sessionStore.add(this._editor.onDidScrollChange((e=>{if(e.scrollTopChanged){this._showEndForLine=null;this._renderStickyScroll()}})));this._sessionStore.add(this._editor.onDidLayoutChange((()=>this._onDidResize())));this._sessionStore.add(this._editor.onDidChangeModelTokens((e=>this._onTokensChange(e))));this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll((()=>{this._showEndForLine=null;this._renderStickyScroll()})));this._enabled=true}const lineNumberOption=this._editor.getOption(66);if(lineNumberOption.renderType===2){this._sessionStore.add(this._editor.onDidChangeCursorPosition((()=>{this._showEndForLine=null;this._renderStickyScroll()})))}}_needsUpdate(event){const stickyLineNumbers=this._stickyScrollWidget.getCurrentLines();for(const stickyLineNumber of stickyLineNumbers){for(const range2 of event.ranges){if(stickyLineNumber>=range2.fromLineNumber&&stickyLineNumber<=range2.toLineNumber){return true}}}return false}_onTokensChange(event){if(this._needsUpdate(event)){this._renderStickyScroll()}}_onDidResize(){const layoutInfo=this._editor.getLayoutInfo();const theoreticalLines=layoutInfo.height/this._editor.getOption(65);this._maxStickyLines=Math.round(theoreticalLines*.25)}_renderStickyScroll(){const model=this._editor.getModel();if(!model||model.isTooLargeForTokenization()){this._stickyScrollWidget.setState(void 0);return}const stickyLineVersion=this._stickyLineCandidateProvider.getVersionId();if(stickyLineVersion===void 0||stickyLineVersion===model.getVersionId()){this._widgetState=this.findScrollWidgetState();this._stickyScrollVisibleContextKey.set(!(this._widgetState.startLineNumbers.length===0));if(!this._focused){this._stickyScrollWidget.setState(this._widgetState)}else{if(this._focusedStickyElementIndex===-1){this._stickyScrollWidget.setState(this._widgetState);this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1;if(this._focusedStickyElementIndex!==-1){this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}}else{const focusedStickyElementLineNumber=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];this._stickyScrollWidget.setState(this._widgetState);if(this._stickyScrollWidget.lineNumberCount===0){this._focusedStickyElementIndex=-1}else{const previousFocusedLineNumberExists=this._stickyScrollWidget.lineNumbers.includes(focusedStickyElementLineNumber);if(!previousFocusedLineNumberExists){this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1}this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}}}}}findScrollWidgetState(){const lineHeight=this._editor.getOption(65);const maxNumberStickyLines=Math.min(this._maxStickyLines,this._editor.getOption(113).maxLineCount);const scrollTop=this._editor.getScrollTop();let lastLineRelativePosition=0;const startLineNumbers=[];const endLineNumbers=[];const arrayVisibleRanges=this._editor.getVisibleRanges();if(arrayVisibleRanges.length!==0){const fullVisibleRange=new StickyRange(arrayVisibleRanges[0].startLineNumber,arrayVisibleRanges[arrayVisibleRanges.length-1].endLineNumber);const candidateRanges=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(fullVisibleRange);for(const range2 of candidateRanges){const start=range2.startLineNumber;const end=range2.endLineNumber;const depth=range2.nestingDepth;if(end-start>0){const topOfElementAtDepth=(depth-1)*lineHeight;const bottomOfElementAtDepth=depth*lineHeight;const bottomOfBeginningLine=this._editor.getBottomForLineNumber(start)-scrollTop;const topOfEndLine=this._editor.getTopForLineNumber(end)-scrollTop;const bottomOfEndLine=this._editor.getBottomForLineNumber(end)-scrollTop;if(topOfElementAtDepth>topOfEndLine&&topOfElementAtDepth<=bottomOfEndLine){startLineNumbers.push(start);endLineNumbers.push(end+1);lastLineRelativePosition=bottomOfEndLine-bottomOfElementAtDepth;break}else if(bottomOfElementAtDepth>bottomOfBeginningLine&&bottomOfElementAtDepth<=bottomOfEndLine){startLineNumbers.push(start);endLineNumbers.push(end+1)}if(startLineNumbers.length===maxNumberStickyLines){break}}}}this._endLineNumbers=endLineNumbers;return new StickyScrollWidgetState(startLineNumbers,endLineNumbers,lastLineRelativePosition,this._showEndForLine)}dispose(){super.dispose();this._sessionStore.dispose()}};StickyScrollController.ID="store.contrib.stickyScrollController";StickyScrollController=StickyScrollController_1=__decorate125([__param118(1,IContextMenuService),__param118(2,ILanguageFeaturesService),__param118(3,IInstantiationService),__param118(4,ILanguageConfigurationService),__param118(5,ILanguageFeatureDebounceService),__param118(6,IContextKeyService)],StickyScrollController);var __awaiter94=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var ToggleStickyScroll=class extends Action2{constructor(){super({id:"editor.action.toggleStickyScroll",title:{value:localize("toggleStickyScroll","Toggle Sticky Scroll"),mnemonicTitle:localize({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Sticky Scroll"),original:"Toggle Sticky Scroll"},category:Categories.View,toggled:{condition:ContextKeyExpr.equals("config.editor.stickyScroll.enabled",true),title:localize("stickyScroll","Sticky Scroll"),mnemonicTitle:localize({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:MenuId.CommandPalette},{id:MenuId.MenubarAppearanceMenu,group:"4_editor",order:3},{id:MenuId.StickyScrollContext}]})}run(accessor){return __awaiter94(this,void 0,void 0,(function*(){const configurationService=accessor.get(IConfigurationService);const newValue=!configurationService.getValue("editor.stickyScroll.enabled");return configurationService.updateValue("editor.stickyScroll.enabled",newValue)}))}};var weight4=100;var FocusStickyScroll=class extends EditorAction2{constructor(){super({id:"editor.action.focusStickyScroll",title:{value:localize("focusStickyScroll","Focus Sticky Scroll"),mnemonicTitle:localize({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll"),original:"Focus Sticky Scroll"},precondition:ContextKeyExpr.and(ContextKeyExpr.has("config.editor.stickyScroll.enabled"),EditorContextKeys.stickyScrollVisible),menu:[{id:MenuId.CommandPalette}]})}runEditorCommand(_accessor,editor2){var _a6;(_a6=StickyScrollController.get(editor2))===null||_a6===void 0?void 0:_a6.focus()}};var SelectNextStickyScrollLine=class extends EditorAction2{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:{value:localize("selectNextStickyScrollLine.title","Select next sticky scroll line"),original:"Select next sticky scroll line"},precondition:EditorContextKeys.stickyScrollFocused.isEqualTo(true),keybinding:{weight:weight4,primary:18}})}runEditorCommand(_accessor,editor2){var _a6;(_a6=StickyScrollController.get(editor2))===null||_a6===void 0?void 0:_a6.focusNext()}};var SelectPreviousStickyScrollLine=class extends EditorAction2{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:{value:localize("selectPreviousStickyScrollLine.title","Select previous sticky scroll line"),original:"Select previous sticky scroll line"},precondition:EditorContextKeys.stickyScrollFocused.isEqualTo(true),keybinding:{weight:weight4,primary:16}})}runEditorCommand(_accessor,editor2){var _a6;(_a6=StickyScrollController.get(editor2))===null||_a6===void 0?void 0:_a6.focusPrevious()}};var GoToStickyScrollLine=class extends EditorAction2{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:{value:localize("goToFocusedStickyScrollLine.title","Go to focused sticky scroll line"),original:"Go to focused sticky scroll line"},precondition:EditorContextKeys.stickyScrollFocused.isEqualTo(true),keybinding:{weight:weight4,primary:3}})}runEditorCommand(_accessor,editor2){var _a6;(_a6=StickyScrollController.get(editor2))===null||_a6===void 0?void 0:_a6.goToFocused()}};var SelectEditor=class extends EditorAction2{constructor(){super({id:"editor.action.selectEditor",title:{value:localize("selectEditor.title","Select Editor"),original:"Select Editor"},precondition:EditorContextKeys.stickyScrollFocused.isEqualTo(true),keybinding:{weight:weight4,primary:9}})}runEditorCommand(_accessor,editor2){var _a6;(_a6=StickyScrollController.get(editor2))===null||_a6===void 0?void 0:_a6.selectEditor()}};init_actions2();registerEditorContribution(StickyScrollController.ID,StickyScrollController,1);registerAction2(ToggleStickyScroll);registerAction2(FocusStickyScroll);registerAction2(SelectPreviousStickyScrollLine);registerAction2(SelectNextStickyScrollLine);registerAction2(GoToStickyScrollLine);registerAction2(SelectEditor);init_cancellation();init_filters();init_iterator();init_lifecycle();init_editorExtensions();init_codeEditorService();init_range();init_languageFeatures();init_clipboardService();init_instantiation();var __decorate126=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param119=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter95=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var EditorContribution_1;var SuggestInlineCompletion=class{constructor(range2,insertText,filterText,additionalTextEdits,command,completion){this.range=range2;this.insertText=insertText;this.filterText=filterText;this.additionalTextEdits=additionalTextEdits;this.command=command;this.completion=completion}};var InlineCompletionResults=class InlineCompletionResults2 extends RefCountedDisposable{constructor(model,line,word,completionModel,completions,_suggestMemoryService){super(completions.disposable);this.model=model;this.line=line;this.word=word;this.completionModel=completionModel;this._suggestMemoryService=_suggestMemoryService}canBeReused(model,line,word){return this.model===model&&this.line===line&&this.word.word.length>0&&this.word.startColumn===word.startColumn&&this.word.endColumn<word.endColumn&&this.completionModel.getIncompleteProvider().size===0}get items(){var _a6;const result=[];const{items:items}=this.completionModel;const selectedIndex=this._suggestMemoryService.select(this.model,{lineNumber:this.line,column:this.word.endColumn+this.completionModel.lineContext.characterCountDelta},items);const first2=Iterable.slice(items,selectedIndex);const second=Iterable.slice(items,0,selectedIndex);let resolveCount=5;for(const item of Iterable.concat(first2,second)){if(item.score===FuzzyScore.Default){continue}const range2=new Range(item.editStart.lineNumber,item.editStart.column,item.editInsertEnd.lineNumber,item.editInsertEnd.column+this.completionModel.lineContext.characterCountDelta);const insertText=item.completion.insertTextRules&&item.completion.insertTextRules&4?{snippet:item.completion.insertText}:item.completion.insertText;result.push(new SuggestInlineCompletion(range2,insertText,(_a6=item.filterTextLow)!==null&&_a6!==void 0?_a6:item.labelLow,item.completion.additionalTextEdits,item.completion.command,item));if(resolveCount-- >=0){item.resolve(CancellationToken.None)}}return result}};InlineCompletionResults=__decorate126([__param119(5,ISuggestMemoryService)],InlineCompletionResults);var SuggestInlineCompletions=class SuggestInlineCompletions2{constructor(_getEditorOption,_languageFeatureService,_clipboardService,_suggestMemoryService){this._getEditorOption=_getEditorOption;this._languageFeatureService=_languageFeatureService;this._clipboardService=_clipboardService;this._suggestMemoryService=_suggestMemoryService}provideInlineCompletions(model,position,context,token){var _a6;return __awaiter95(this,void 0,void 0,(function*(){if(context.selectedSuggestionInfo){return}const config=this._getEditorOption(87,model);if(QuickSuggestionsOptions.isAllOff(config)){return}model.tokenization.tokenizeIfCheap(position.lineNumber);const lineTokens=model.tokenization.getLineTokens(position.lineNumber);const tokenType=lineTokens.getStandardTokenType(lineTokens.findTokenIndexAtOffset(Math.max(position.column-1-1,0)));if(QuickSuggestionsOptions.valueFor(config,tokenType)!=="inline"){return void 0}let wordInfo=model.getWordAtPosition(position);let triggerCharacterInfo;if(!(wordInfo===null||wordInfo===void 0?void 0:wordInfo.word)){triggerCharacterInfo=this._getTriggerCharacterInfo(model,position)}if(!(wordInfo===null||wordInfo===void 0?void 0:wordInfo.word)&&!triggerCharacterInfo){return}if(!wordInfo){wordInfo=model.getWordUntilPosition(position)}if(wordInfo.endColumn!==position.column){return}let result;const leadingLineContents=model.getValueInRange(new Range(position.lineNumber,1,position.lineNumber,position.column));if(!triggerCharacterInfo&&((_a6=this._lastResult)===null||_a6===void 0?void 0:_a6.canBeReused(model,position.lineNumber,wordInfo))){const newLineContext=new LineContext(leadingLineContents,position.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=newLineContext;this._lastResult.acquire();result=this._lastResult}else{const completions=yield provideSuggestionItems(this._languageFeatureService.completionProvider,model,position,new CompletionOptions(void 0,void 0,triggerCharacterInfo===null||triggerCharacterInfo===void 0?void 0:triggerCharacterInfo.providers),triggerCharacterInfo&&{triggerKind:1,triggerCharacter:triggerCharacterInfo.ch},token);let clipboardText;if(completions.needsClipboard){clipboardText=yield this._clipboardService.readText()}const completionModel=new CompletionModel(completions.items,position.column,new LineContext(leadingLineContents,0),WordDistance.None,this._getEditorOption(116,model),this._getEditorOption(110,model),{boostFullMatch:false,firstMatchCanBeWeak:false},clipboardText);result=new InlineCompletionResults(model,position.lineNumber,wordInfo,completionModel,completions,this._suggestMemoryService)}this._lastResult=result;return result}))}handleItemDidShow(_completions,item){item.completion.resolve(CancellationToken.None)}freeInlineCompletions(result){result.release()}_getTriggerCharacterInfo(model,position){var _a6;const ch=model.getValueInRange(Range.fromPositions({lineNumber:position.lineNumber,column:position.column-1},position));const providers=new Set;for(const provider of this._languageFeatureService.completionProvider.all(model)){if((_a6=provider.triggerCharacters)===null||_a6===void 0?void 0:_a6.includes(ch)){providers.add(provider)}}if(providers.size===0){return void 0}return{providers:providers,ch:ch}}};SuggestInlineCompletions=__decorate126([__param119(1,ILanguageFeaturesService),__param119(2,IClipboardService),__param119(3,ISuggestMemoryService)],SuggestInlineCompletions);var EditorContribution=EditorContribution_1=class EditorContribution2{constructor(_editor,languageFeatureService,editorService,instaService){if(++EditorContribution_1._counter===1){const provider=instaService.createInstance(SuggestInlineCompletions,((id,model)=>{var _a6;const editor2=(_a6=editorService.listCodeEditors().find((editor3=>editor3.getModel()===model)))!==null&&_a6!==void 0?_a6:_editor;return editor2.getOption(id)}));EditorContribution_1._disposable=languageFeatureService.inlineCompletionsProvider.register("*",provider)}}dispose(){var _a6;if(--EditorContribution_1._counter===0){(_a6=EditorContribution_1._disposable)===null||_a6===void 0?void 0:_a6.dispose();EditorContribution_1._disposable=void 0}}};EditorContribution._counter=0;EditorContribution=EditorContribution_1=__decorate126([__param119(1,ILanguageFeaturesService),__param119(2,ICodeEditorService),__param119(3,IInstantiationService)],EditorContribution);registerEditorContribution("suggest.inlineCompletionsProvider",EditorContribution,0);init_stopwatch();init_editorExtensions();init_nls();var ForceRetokenizeAction=class extends EditorAction{constructor(){super({id:"editor.action.forceRetokenize",label:localize("forceRetokenize","Developer: Force Retokenize"),alias:"Developer: Force Retokenize",precondition:void 0})}run(accessor,editor2){if(!editor2.hasModel()){return}const model=editor2.getModel();model.tokenization.resetTokenization();const sw=new StopWatch;model.tokenization.forceTokenization(model.getLineCount());sw.stop();console.log(`tokenization took ${sw.elapsed()}`)}};registerEditorAction(ForceRetokenizeAction);init_aria();init_tabFocus();init_nls();init_actions2();init_contextkey();var ToggleTabFocusModeAction=class extends Action2{constructor(){super({id:ToggleTabFocusModeAction.ID,title:{value:localize({key:"toggle.tabMovesFocus",comment:["Turn on/off use of tab key for moving focus around VS Code"]},"Toggle Tab Key Moves Focus"),original:"Toggle Tab Key Moves Focus"},precondition:void 0,keybinding:{primary:2048|43,mac:{primary:256|1024|43},weight:100},f1:true})}run(accessor){const context=accessor.get(IContextKeyService).getContextKeyValue("focusedView")==="terminal"?"terminalFocus":"editorFocus";const oldValue=TabFocus.getTabFocusMode(context);const newValue=!oldValue;TabFocus.setTabFocusMode(newValue,context);if(newValue){alert(localize("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element"))}else{alert(localize("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}}};ToggleTabFocusModeAction.ID="editor.action.toggleTabFocusMode";registerAction2(ToggleTabFocusModeAction);init_async();init_codicons();init_htmlContent();init_lifecycle();init_platform();init_strings();init_editorExtensions();init_editorOptions();init_textModel();init_unicodeTextModelHighlighter();init_editorWorker();init_language();init_viewModelDecorations();init_dom();init_actionbar();init_actions();init_lifecycle();init_instantiation();init_dom();init_event2();init_keyboardEvent();init_touch();init_event();init_lifecycle();init_opener();var __decorate127=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param120=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var Link2=class Link3 extends Disposable{get enabled(){return this._enabled}set enabled(enabled){if(enabled){this.el.setAttribute("aria-disabled","false");this.el.tabIndex=0;this.el.style.pointerEvents="auto";this.el.style.opacity="1";this.el.style.cursor="pointer";this._enabled=false}else{this.el.setAttribute("aria-disabled","true");this.el.tabIndex=-1;this.el.style.pointerEvents="none";this.el.style.opacity="0.4";this.el.style.cursor="default";this._enabled=true}this._enabled=enabled}constructor(container,_link,options2={},openerService){var _a6;super();this._link=_link;this._enabled=true;this.el=append(container,$("a.monaco-link",{tabIndex:(_a6=_link.tabIndex)!==null&&_a6!==void 0?_a6:0,href:_link.href,title:_link.title},_link.label));this.el.setAttribute("role","button");const onClickEmitter=this._register(new DomEmitter(this.el,"click"));const onKeyPress=this._register(new DomEmitter(this.el,"keypress"));const onEnterPress=Event.chain(onKeyPress.event).map((e=>new StandardKeyboardEvent(e))).filter((e=>e.keyCode===3)).event;const onTap=this._register(new DomEmitter(this.el,EventType2.Tap)).event;this._register(Gesture.addTarget(this.el));const onOpen=Event.any(onClickEmitter.event,onEnterPress,onTap);this._register(onOpen((e=>{if(!this.enabled){return}EventHelper.stop(e,true);if(options2===null||options2===void 0?void 0:options2.opener){options2.opener(this._link.href)}else{openerService.open(this._link.href,{allowCommands:true})}})));this.enabled=true}};Link2=__decorate127([__param120(3,IOpenerService)],Link2);init_iconRegistry();init_themables();var __decorate128=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param121=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var BANNER_ELEMENT_HEIGHT=26;var BannerController=class BannerController2 extends Disposable{constructor(_editor,instantiationService){super();this._editor=_editor;this.instantiationService=instantiationService;this.banner=this._register(this.instantiationService.createInstance(Banner))}hide(){this._editor.setBanner(null,0);this.banner.clear()}show(item){this.banner.show(Object.assign(Object.assign({},item),{onClose:()=>{var _a6;this.hide();(_a6=item.onClose)===null||_a6===void 0?void 0:_a6.call(item)}}));this._editor.setBanner(this.banner.element,BANNER_ELEMENT_HEIGHT)}};BannerController=__decorate128([__param121(1,IInstantiationService)],BannerController);var Banner=class Banner2 extends Disposable{constructor(instantiationService){super();this.instantiationService=instantiationService;this.markdownRenderer=this.instantiationService.createInstance(MarkdownRenderer,{});this.element=$("div.editor-banner");this.element.tabIndex=0}getAriaLabel(item){if(item.ariaLabel){return item.ariaLabel}if(typeof item.message==="string"){return item.message}return void 0}getBannerMessage(message){if(typeof message==="string"){const element=$("span");element.innerText=message;return element}return this.markdownRenderer.render(message).element}clear(){clearNode(this.element)}show(item){clearNode(this.element);const ariaLabel=this.getAriaLabel(item);if(ariaLabel){this.element.setAttribute("aria-label",ariaLabel)}const iconContainer=append(this.element,$("div.icon-container"));iconContainer.setAttribute("aria-hidden","true");if(item.icon){iconContainer.appendChild($(`div${ThemeIcon.asCSSSelector(item.icon)}`))}const messageContainer=append(this.element,$("div.message-container"));messageContainer.setAttribute("aria-hidden","true");messageContainer.appendChild(this.getBannerMessage(item.message));this.messageActionsContainer=append(this.element,$("div.message-actions-container"));if(item.actions){for(const action of item.actions){this._register(this.instantiationService.createInstance(Link2,this.messageActionsContainer,Object.assign(Object.assign({},action),{tabIndex:-1}),{}))}}const actionBarContainer=append(this.element,$("div.action-container"));this.actionBar=this._register(new ActionBar(actionBarContainer));this.actionBar.push(this._register(new Action("banner.close","Close Banner",ThemeIcon.asClassName(widgetClose),true,(()=>{if(typeof item.onClose==="function"){item.onClose()}}))),{icon:true,label:false});this.actionBar.setFocusable(false)}};Banner=__decorate128([__param121(0,IInstantiationService)],Banner);init_nls();init_configuration();init_instantiation();init_opener();init_quickInput();init_iconRegistry();init_workspaceTrust();var __decorate129=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param122=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter96=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var warningIcon=registerIcon("extensions-warning-message",Codicon.warning,localize("warningIcon","Icon shown with a warning message in the extensions editor."));var UnicodeHighlighter=class UnicodeHighlighter2 extends Disposable{constructor(_editor,_editorWorkerService,_workspaceTrustService,instantiationService){super();this._editor=_editor;this._editorWorkerService=_editorWorkerService;this._workspaceTrustService=_workspaceTrustService;this._highlighter=null;this._bannerClosed=false;this._updateState=state=>{if(state&&state.hasMore){if(this._bannerClosed){return}const max=Math.max(state.ambiguousCharacterCount,state.nonBasicAsciiCharacterCount,state.invisibleCharacterCount);let data;if(state.nonBasicAsciiCharacterCount>=max){data={message:localize("unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters","This document contains many non-basic ASCII unicode characters"),command:new DisableHighlightingOfNonBasicAsciiCharactersAction}}else if(state.ambiguousCharacterCount>=max){data={message:localize("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new DisableHighlightingOfAmbiguousCharactersAction}}else if(state.invisibleCharacterCount>=max){data={message:localize("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new DisableHighlightingOfInvisibleCharactersAction}}else{throw new Error("Unreachable")}this._bannerController.show({id:"unicodeHighlightBanner",message:data.message,icon:warningIcon,actions:[{label:data.command.shortLabel,href:`command:${data.command.id}`}],onClose:()=>{this._bannerClosed=true}})}else{this._bannerController.hide()}};this._bannerController=this._register(instantiationService.createInstance(BannerController,_editor));this._register(this._editor.onDidChangeModel((()=>{this._bannerClosed=false;this._updateHighlighter()})));this._options=_editor.getOption(123);this._register(_workspaceTrustService.onDidChangeTrust((e=>{this._updateHighlighter()})));this._register(_editor.onDidChangeConfiguration((e=>{if(e.hasChanged(123)){this._options=_editor.getOption(123);this._updateHighlighter()}})));this._updateHighlighter()}dispose(){if(this._highlighter){this._highlighter.dispose();this._highlighter=null}super.dispose()}_updateHighlighter(){this._updateState(null);if(this._highlighter){this._highlighter.dispose();this._highlighter=null}if(!this._editor.hasModel()){return}const options2=resolveOptions2(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([options2.nonBasicASCII,options2.ambiguousCharacters,options2.invisibleCharacters].every((option=>option===false))){return}const highlightOptions={nonBasicASCII:options2.nonBasicASCII,ambiguousCharacters:options2.ambiguousCharacters,invisibleCharacters:options2.invisibleCharacters,includeComments:options2.includeComments,includeStrings:options2.includeStrings,allowedCodePoints:Object.keys(options2.allowedCharacters).map((c=>c.codePointAt(0))),allowedLocales:Object.keys(options2.allowedLocales).map((locale2=>{if(locale2==="_os"){const osLocale=(new Intl.NumberFormat).resolvedOptions().locale;return osLocale}else if(locale2==="_vscode"){return language}return locale2}))};if(this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)){this._highlighter=new DocumentUnicodeHighlighter(this._editor,highlightOptions,this._updateState,this._editorWorkerService)}else{this._highlighter=new ViewportUnicodeHighlighter(this._editor,highlightOptions,this._updateState)}}getDecorationInfo(decoration2){if(this._highlighter){return this._highlighter.getDecorationInfo(decoration2)}return null}};UnicodeHighlighter.ID="editor.contrib.unicodeHighlighter";UnicodeHighlighter=__decorate129([__param122(1,IEditorWorkerService),__param122(2,IWorkspaceTrustManagementService),__param122(3,IInstantiationService)],UnicodeHighlighter);function resolveOptions2(trusted,options2){return{nonBasicASCII:options2.nonBasicASCII===inUntrustedWorkspace?!trusted:options2.nonBasicASCII,ambiguousCharacters:options2.ambiguousCharacters,invisibleCharacters:options2.invisibleCharacters,includeComments:options2.includeComments===inUntrustedWorkspace?!trusted:options2.includeComments,includeStrings:options2.includeStrings===inUntrustedWorkspace?!trusted:options2.includeStrings,allowedCharacters:options2.allowedCharacters,allowedLocales:options2.allowedLocales}}var DocumentUnicodeHighlighter=class DocumentUnicodeHighlighter2 extends Disposable{constructor(_editor,_options,_updateState,_editorWorkerService){super();this._editor=_editor;this._options=_options;this._updateState=_updateState;this._editorWorkerService=_editorWorkerService;this._model=this._editor.getModel();this._decorations=this._editor.createDecorationsCollection();this._updateSoon=this._register(new RunOnceScheduler((()=>this._update()),250));this._register(this._editor.onDidChangeModelContent((()=>{this._updateSoon.schedule()})));this._updateSoon.schedule()}dispose(){this._decorations.clear();super.dispose()}_update(){if(this._model.isDisposed()){return}if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const modelVersionId=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then((info=>{if(this._model.isDisposed()){return}if(this._model.getVersionId()!==modelVersionId){return}this._updateState(info);const decorations=[];if(!info.hasMore){for(const range2 of info.ranges){decorations.push({range:range2,options:Decorations.instance.getDecorationFromOptions(this._options)})}}this._decorations.set(decorations)}))}getDecorationInfo(decoration2){if(!this._decorations.has(decoration2)){return null}const model=this._editor.getModel();if(!isModelDecorationVisible(model,decoration2)){return null}const text2=model.getValueInRange(decoration2.range);return{reason:computeReason(text2,this._options),inComment:isModelDecorationInComment(model,decoration2),inString:isModelDecorationInString(model,decoration2)}}};DocumentUnicodeHighlighter=__decorate129([__param122(3,IEditorWorkerService)],DocumentUnicodeHighlighter);var ViewportUnicodeHighlighter=class extends Disposable{constructor(_editor,_options,_updateState){super();this._editor=_editor;this._options=_options;this._updateState=_updateState;this._model=this._editor.getModel();this._decorations=this._editor.createDecorationsCollection();this._updateSoon=this._register(new RunOnceScheduler((()=>this._update()),250));this._register(this._editor.onDidLayoutChange((()=>{this._updateSoon.schedule()})));this._register(this._editor.onDidScrollChange((()=>{this._updateSoon.schedule()})));this._register(this._editor.onDidChangeHiddenAreas((()=>{this._updateSoon.schedule()})));this._register(this._editor.onDidChangeModelContent((()=>{this._updateSoon.schedule()})));this._updateSoon.schedule()}dispose(){this._decorations.clear();super.dispose()}_update(){if(this._model.isDisposed()){return}if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const ranges=this._editor.getVisibleRanges();const decorations=[];const totalResult={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:false};for(const range2 of ranges){const result=UnicodeTextModelHighlighter.computeUnicodeHighlights(this._model,this._options,range2);for(const r of result.ranges){totalResult.ranges.push(r)}totalResult.ambiguousCharacterCount+=totalResult.ambiguousCharacterCount;totalResult.invisibleCharacterCount+=totalResult.invisibleCharacterCount;totalResult.nonBasicAsciiCharacterCount+=totalResult.nonBasicAsciiCharacterCount;totalResult.hasMore=totalResult.hasMore||result.hasMore}if(!totalResult.hasMore){for(const range2 of totalResult.ranges){decorations.push({range:range2,options:Decorations.instance.getDecorationFromOptions(this._options)})}}this._updateState(totalResult);this._decorations.set(decorations)}getDecorationInfo(decoration2){if(!this._decorations.has(decoration2)){return null}const model=this._editor.getModel();const text2=model.getValueInRange(decoration2.range);if(!isModelDecorationVisible(model,decoration2)){return null}return{reason:computeReason(text2,this._options),inComment:isModelDecorationInComment(model,decoration2),inString:isModelDecorationInString(model,decoration2)}}};var UnicodeHighlighterHoverParticipant=class UnicodeHighlighterHoverParticipant2{constructor(_editor,_languageService,_openerService){this._editor=_editor;this._languageService=_languageService;this._openerService=_openerService;this.hoverOrdinal=5}computeSync(anchor,lineDecorations){if(!this._editor.hasModel()||anchor.type!==1){return[]}const model=this._editor.getModel();const unicodeHighlighter=this._editor.getContribution(UnicodeHighlighter.ID);if(!unicodeHighlighter){return[]}const result=[];const existedReason=new Set;let index=300;for(const d of lineDecorations){const highlightInfo=unicodeHighlighter.getDecorationInfo(d);if(!highlightInfo){continue}const char=model.getValueInRange(d.range);const codePoint=char.codePointAt(0);const codePointStr=formatCodePointMarkdown(codePoint);let reason;switch(highlightInfo.reason.kind){case 0:{if(isBasicASCII(highlightInfo.reason.confusableWith)){reason=localize("unicodeHighlight.characterIsAmbiguousASCII","The character {0} could be confused with the ASCII character {1}, which is more common in source code.",codePointStr,formatCodePointMarkdown(highlightInfo.reason.confusableWith.codePointAt(0)))}else{reason=localize("unicodeHighlight.characterIsAmbiguous","The character {0} could be confused with the character {1}, which is more common in source code.",codePointStr,formatCodePointMarkdown(highlightInfo.reason.confusableWith.codePointAt(0)))}break}case 1:reason=localize("unicodeHighlight.characterIsInvisible","The character {0} is invisible.",codePointStr);break;case 2:reason=localize("unicodeHighlight.characterIsNonBasicAscii","The character {0} is not a basic ASCII character.",codePointStr);break}if(existedReason.has(reason)){continue}existedReason.add(reason);const adjustSettingsArgs={codePoint:codePoint,reason:highlightInfo.reason,inComment:highlightInfo.inComment,inString:highlightInfo.inString};const adjustSettings=localize("unicodeHighlight.adjustSettings","Adjust settings");const uri=`command:${ShowExcludeOptions.ID}?${encodeURIComponent(JSON.stringify(adjustSettingsArgs))}`;const markdown=new MarkdownString("",true).appendMarkdown(reason).appendText(" ").appendLink(uri,adjustSettings);result.push(new MarkdownHover(this,d.range,[markdown],false,index++))}return result}renderHoverParts(context,hoverParts){return renderMarkdownHovers(context,hoverParts,this._editor,this._languageService,this._openerService)}};UnicodeHighlighterHoverParticipant=__decorate129([__param122(1,ILanguageService),__param122(2,IOpenerService)],UnicodeHighlighterHoverParticipant);function codePointToHex(codePoint){return`U+${codePoint.toString(16).padStart(4,"0")}`}function formatCodePointMarkdown(codePoint){let value=`\`${codePointToHex(codePoint)}\``;if(!InvisibleCharacters.isInvisibleCharacter(codePoint)){value+=` "${`${renderCodePointAsInlineCode(codePoint)}`}"`}return value}function renderCodePointAsInlineCode(codePoint){if(codePoint===96){return"`` ` ``"}return"`"+String.fromCodePoint(codePoint)+"`"}function computeReason(char,options2){return UnicodeTextModelHighlighter.computeUnicodeHighlightReason(char,options2)}var Decorations=class{constructor(){this.map=new Map}getDecorationFromOptions(options2){return this.getDecoration(!options2.includeComments,!options2.includeStrings)}getDecoration(hideInComments,hideInStrings){const key=`${hideInComments}${hideInStrings}`;let options2=this.map.get(key);if(!options2){options2=ModelDecorationOptions.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:true,overviewRuler:null,minimap:null,hideInCommentTokens:hideInComments,hideInStringTokens:hideInStrings});this.map.set(key,options2)}return options2}};Decorations.instance=new Decorations;var DisableHighlightingInCommentsAction=class extends EditorAction{constructor(){super({id:DisableHighlightingOfAmbiguousCharactersAction.ID,label:localize("action.unicodeHighlight.disableHighlightingInComments","Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0});this.shortLabel=localize("unicodeHighlight.disableHighlightingInComments.shortLabel","Disable Highlight In Comments")}run(accessor,editor2,args){return __awaiter96(this,void 0,void 0,(function*(){const configurationService=accessor===null||accessor===void 0?void 0:accessor.get(IConfigurationService);if(configurationService){this.runAction(configurationService)}}))}runAction(configurationService){return __awaiter96(this,void 0,void 0,(function*(){yield configurationService.updateValue(unicodeHighlightConfigKeys.includeComments,false,2)}))}};var DisableHighlightingInStringsAction=class extends EditorAction{constructor(){super({id:DisableHighlightingOfAmbiguousCharactersAction.ID,label:localize("action.unicodeHighlight.disableHighlightingInStrings","Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0});this.shortLabel=localize("unicodeHighlight.disableHighlightingInStrings.shortLabel","Disable Highlight In Strings")}run(accessor,editor2,args){return __awaiter96(this,void 0,void 0,(function*(){const configurationService=accessor===null||accessor===void 0?void 0:accessor.get(IConfigurationService);if(configurationService){this.runAction(configurationService)}}))}runAction(configurationService){return __awaiter96(this,void 0,void 0,(function*(){yield configurationService.updateValue(unicodeHighlightConfigKeys.includeStrings,false,2)}))}};var DisableHighlightingOfAmbiguousCharactersAction=class extends EditorAction{constructor(){super({id:DisableHighlightingOfAmbiguousCharactersAction.ID,label:localize("action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters","Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0});this.shortLabel=localize("unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel","Disable Ambiguous Highlight")}run(accessor,editor2,args){return __awaiter96(this,void 0,void 0,(function*(){const configurationService=accessor===null||accessor===void 0?void 0:accessor.get(IConfigurationService);if(configurationService){this.runAction(configurationService)}}))}runAction(configurationService){return __awaiter96(this,void 0,void 0,(function*(){yield configurationService.updateValue(unicodeHighlightConfigKeys.ambiguousCharacters,false,2)}))}};DisableHighlightingOfAmbiguousCharactersAction.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";var DisableHighlightingOfInvisibleCharactersAction=class extends EditorAction{constructor(){super({id:DisableHighlightingOfInvisibleCharactersAction.ID,label:localize("action.unicodeHighlight.disableHighlightingOfInvisibleCharacters","Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0});this.shortLabel=localize("unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel","Disable Invisible Highlight")}run(accessor,editor2,args){return __awaiter96(this,void 0,void 0,(function*(){const configurationService=accessor===null||accessor===void 0?void 0:accessor.get(IConfigurationService);if(configurationService){this.runAction(configurationService)}}))}runAction(configurationService){return __awaiter96(this,void 0,void 0,(function*(){yield configurationService.updateValue(unicodeHighlightConfigKeys.invisibleCharacters,false,2)}))}};DisableHighlightingOfInvisibleCharactersAction.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";var DisableHighlightingOfNonBasicAsciiCharactersAction=class extends EditorAction{constructor(){super({id:DisableHighlightingOfNonBasicAsciiCharactersAction.ID,label:localize("action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters","Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0});this.shortLabel=localize("unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel","Disable Non ASCII Highlight")}run(accessor,editor2,args){return __awaiter96(this,void 0,void 0,(function*(){const configurationService=accessor===null||accessor===void 0?void 0:accessor.get(IConfigurationService);if(configurationService){this.runAction(configurationService)}}))}runAction(configurationService){return __awaiter96(this,void 0,void 0,(function*(){yield configurationService.updateValue(unicodeHighlightConfigKeys.nonBasicASCII,false,2)}))}};DisableHighlightingOfNonBasicAsciiCharactersAction.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";var ShowExcludeOptions=class extends EditorAction{constructor(){super({id:ShowExcludeOptions.ID,label:localize("action.unicodeHighlight.showExcludeOptions","Show Exclude Options"),alias:"Show Exclude Options",precondition:void 0})}run(accessor,editor2,args){return __awaiter96(this,void 0,void 0,(function*(){const{codePoint:codePoint,reason:reason,inString:inString,inComment:inComment}=args;const char=String.fromCodePoint(codePoint);const quickPickService=accessor.get(IQuickInputService);const configurationService=accessor.get(IConfigurationService);function getExcludeCharFromBeingHighlightedLabel(codePoint2){if(InvisibleCharacters.isInvisibleCharacter(codePoint2)){return localize("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",codePointToHex(codePoint2))}return localize("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${codePointToHex(codePoint2)} "${char}"`)}const options2=[];if(reason.kind===0){for(const locale2 of reason.notAmbiguousInLocales){options2.push({label:localize("unicodeHighlight.allowCommonCharactersInLanguage",'Allow unicode characters that are more common in the language "{0}".',locale2),run:()=>__awaiter96(this,void 0,void 0,(function*(){excludeLocaleFromBeingHighlighted(configurationService,[locale2])}))})}}options2.push({label:getExcludeCharFromBeingHighlightedLabel(codePoint),run:()=>excludeCharFromBeingHighlighted(configurationService,[codePoint])});if(inComment){const action=new DisableHighlightingInCommentsAction;options2.push({label:action.label,run:()=>__awaiter96(this,void 0,void 0,(function*(){return action.runAction(configurationService)}))})}else if(inString){const action=new DisableHighlightingInStringsAction;options2.push({label:action.label,run:()=>__awaiter96(this,void 0,void 0,(function*(){return action.runAction(configurationService)}))})}if(reason.kind===0){const action=new DisableHighlightingOfAmbiguousCharactersAction;options2.push({label:action.label,run:()=>__awaiter96(this,void 0,void 0,(function*(){return action.runAction(configurationService)}))})}else if(reason.kind===1){const action=new DisableHighlightingOfInvisibleCharactersAction;options2.push({label:action.label,run:()=>__awaiter96(this,void 0,void 0,(function*(){return action.runAction(configurationService)}))})}else if(reason.kind===2){const action=new DisableHighlightingOfNonBasicAsciiCharactersAction;options2.push({label:action.label,run:()=>__awaiter96(this,void 0,void 0,(function*(){return action.runAction(configurationService)}))})}else{expectNever(reason)}const result=yield quickPickService.pick(options2,{title:localize("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options")});if(result){yield result.run()}}))}};ShowExcludeOptions.ID="editor.action.unicodeHighlight.showExcludeOptions";function excludeCharFromBeingHighlighted(configurationService,charCodes){return __awaiter96(this,void 0,void 0,(function*(){const existingValue=configurationService.getValue(unicodeHighlightConfigKeys.allowedCharacters);let value;if(typeof existingValue==="object"&&existingValue){value=existingValue}else{value={}}for(const charCode of charCodes){value[String.fromCodePoint(charCode)]=true}yield configurationService.updateValue(unicodeHighlightConfigKeys.allowedCharacters,value,2)}))}function excludeLocaleFromBeingHighlighted(configurationService,locales){var _a6;return __awaiter96(this,void 0,void 0,(function*(){const existingValue=(_a6=configurationService.inspect(unicodeHighlightConfigKeys.allowedLocales).user)===null||_a6===void 0?void 0:_a6.value;let value;if(typeof existingValue==="object"&&existingValue){value=Object.assign({},existingValue)}else{value={}}for(const locale2 of locales){value[locale2]=true}yield configurationService.updateValue(unicodeHighlightConfigKeys.allowedLocales,value,2)}))}function expectNever(value){throw new Error(`Unexpected value: ${value}`)}registerEditorAction(DisableHighlightingOfAmbiguousCharactersAction);registerEditorAction(DisableHighlightingOfInvisibleCharactersAction);registerEditorAction(DisableHighlightingOfNonBasicAsciiCharactersAction);registerEditorAction(ShowExcludeOptions);registerEditorContribution(UnicodeHighlighter.ID,UnicodeHighlighter,1);HoverParticipantRegistry.register(UnicodeHighlighterHoverParticipant);init_lifecycle();init_resources();init_editorExtensions();init_codeEditorService();init_nls();init_dialogs();var __decorate130=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param123=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter97=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var ignoreUnusualLineTerminators="ignoreUnusualLineTerminators";function writeIgnoreState(codeEditorService,model,state){codeEditorService.setModelProperty(model.uri,ignoreUnusualLineTerminators,state)}function readIgnoreState(codeEditorService,model){return codeEditorService.getModelProperty(model.uri,ignoreUnusualLineTerminators)}var UnusualLineTerminatorsDetector=class UnusualLineTerminatorsDetector2 extends Disposable{constructor(_editor,_dialogService,_codeEditorService){super();this._editor=_editor;this._dialogService=_dialogService;this._codeEditorService=_codeEditorService;this._isPresentingDialog=false;this._config=this._editor.getOption(124);this._register(this._editor.onDidChangeConfiguration((e=>{if(e.hasChanged(124)){this._config=this._editor.getOption(124);this._checkForUnusualLineTerminators()}})));this._register(this._editor.onDidChangeModel((()=>{this._checkForUnusualLineTerminators()})));this._register(this._editor.onDidChangeModelContent((e=>{if(e.isUndoing){return}this._checkForUnusualLineTerminators()})));this._checkForUnusualLineTerminators()}_checkForUnusualLineTerminators(){return __awaiter97(this,void 0,void 0,(function*(){if(this._config==="off"){return}if(!this._editor.hasModel()){return}const model=this._editor.getModel();if(!model.mightContainUnusualLineTerminators()){return}const ignoreState=readIgnoreState(this._codeEditorService,model);if(ignoreState===true){return}if(this._editor.getOption(89)){return}if(this._config==="auto"){model.removeUnusualLineTerminators(this._editor.getSelections());return}if(this._isPresentingDialog){return}let result;try{this._isPresentingDialog=true;result=yield this._dialogService.confirm({title:localize("unusualLineTerminators.title","Unusual Line Terminators"),message:localize("unusualLineTerminators.message","Detected unusual line terminators"),detail:localize("unusualLineTerminators.detail","The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.",basename2(model.uri)),primaryButton:localize({key:"unusualLineTerminators.fix",comment:["&& denotes a mnemonic"]},"&&Remove Unusual Line Terminators"),cancelButton:localize("unusualLineTerminators.ignore","Ignore")})}finally{this._isPresentingDialog=false}if(!result.confirmed){writeIgnoreState(this._codeEditorService,model,true);return}model.removeUnusualLineTerminators(this._editor.getSelections())}))}};UnusualLineTerminatorsDetector.ID="editor.contrib.unusualLineTerminatorsDetector";UnusualLineTerminatorsDetector=__decorate130([__param123(1,IDialogService),__param123(2,ICodeEditorService)],UnusualLineTerminatorsDetector);registerEditorContribution(UnusualLineTerminatorsDetector.ID,UnusualLineTerminatorsDetector,1);init_aria();init_arrays();init_async();init_cancellation();init_errors();init_lifecycle();init_editorExtensions();init_range();init_editorContextKeys();init_languages();init_nls();init_contextkey();init_languageFeatures();init_iterator();var __decorate131=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param124=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var WordHighlighterContribution_1;var ctxHasWordHighlights=new RawContextKey("hasWordHighlights",false);function getOccurrencesAtPosition(registry,model,position,token){const orderedByScore=registry.ordered(model);return first(orderedByScore.map((provider=>()=>Promise.resolve(provider.provideDocumentHighlights(model,position,token)).then(void 0,onUnexpectedExternalError))),isNonEmptyArray)}var OccurenceAtPositionRequest=class{constructor(_model,_selection,_wordSeparators){this._model=_model;this._selection=_selection;this._wordSeparators=_wordSeparators;this._wordRange=this._getCurrentWordRange(_model,_selection);this._result=null}get result(){if(!this._result){this._result=createCancelablePromise((token=>this._compute(this._model,this._selection,this._wordSeparators,token)))}return this._result}_getCurrentWordRange(model,selection){const word=model.getWordAtPosition(selection.getPosition());if(word){return new Range(selection.startLineNumber,word.startColumn,selection.startLineNumber,word.endColumn)}return null}isValid(model,selection,decorations){const lineNumber=selection.startLineNumber;const startColumn=selection.startColumn;const endColumn=selection.endColumn;const currentWordRange=this._getCurrentWordRange(model,selection);let requestIsValid=Boolean(this._wordRange&&this._wordRange.equalsRange(currentWordRange));for(let i=0,len=decorations.length;!requestIsValid&&i<len;i++){const range2=decorations.getRange(i);if(range2&&range2.startLineNumber===lineNumber){if(range2.startColumn<=startColumn&&range2.endColumn>=endColumn){requestIsValid=true}}}return requestIsValid}cancel(){this.result.cancel()}};var SemanticOccurenceAtPositionRequest=class extends OccurenceAtPositionRequest{constructor(model,selection,wordSeparators2,providers){super(model,selection,wordSeparators2);this._providers=providers}_compute(model,selection,wordSeparators2,token){return getOccurrencesAtPosition(this._providers,model,selection.getPosition(),token).then((value=>value||[]))}};var TextualOccurenceAtPositionRequest=class extends OccurenceAtPositionRequest{constructor(model,selection,wordSeparators2){super(model,selection,wordSeparators2);this._selectionIsEmpty=selection.isEmpty()}_compute(model,selection,wordSeparators2,token){return timeout(250,token).then((()=>{if(!selection.isEmpty()){return[]}const word=model.getWordAtPosition(selection.getPosition());if(!word||word.word.length>1e3){return[]}const matches=model.findMatches(word.word,true,false,true,wordSeparators2,false);return matches.map((m=>({range:m.range,kind:DocumentHighlightKind.Text})))}))}isValid(model,selection,decorations){const currentSelectionIsEmpty=selection.isEmpty();if(this._selectionIsEmpty!==currentSelectionIsEmpty){return false}return super.isValid(model,selection,decorations)}};function computeOccurencesAtPosition(registry,model,selection,wordSeparators2){if(registry.has(model)){return new SemanticOccurenceAtPositionRequest(model,selection,wordSeparators2,registry)}return new TextualOccurenceAtPositionRequest(model,selection,wordSeparators2)}registerModelAndPositionCommand("_executeDocumentHighlights",((accessor,model,position)=>{const languageFeaturesService=accessor.get(ILanguageFeaturesService);return getOccurrencesAtPosition(languageFeaturesService.documentHighlightProvider,model,position,CancellationToken.None)}));var WordHighlighter=class{constructor(editor2,providers,linkedHighlighters,contextKeyService){this.toUnhook=new DisposableStore;this.workerRequestTokenId=0;this.workerRequestCompleted=false;this.workerRequestValue=[];this.lastCursorPositionChangeTime=0;this.renderDecorationsTimer=-1;this.editor=editor2;this.providers=providers;this.linkedHighlighters=linkedHighlighters;this._hasWordHighlights=ctxHasWordHighlights.bindTo(contextKeyService);this._ignorePositionChangeEvent=false;this.occurrencesHighlight=this.editor.getOption(79);this.model=this.editor.getModel();this.toUnhook.add(editor2.onDidChangeCursorPosition((e=>{if(this._ignorePositionChangeEvent){return}if(!this.occurrencesHighlight){return}this._onPositionChanged(e)})));this.toUnhook.add(editor2.onDidChangeModelContent((e=>{this._stopAll()})));this.toUnhook.add(editor2.onDidChangeConfiguration((e=>{const newValue=this.editor.getOption(79);if(this.occurrencesHighlight!==newValue){this.occurrencesHighlight=newValue;this._stopAll()}})));this.decorations=this.editor.createDecorationsCollection();this.workerRequestTokenId=0;this.workerRequest=null;this.workerRequestCompleted=false;this.lastCursorPositionChangeTime=0;this.renderDecorationsTimer=-1}hasDecorations(){return this.decorations.length>0}restore(){if(!this.occurrencesHighlight){return}this._run()}_getSortedHighlights(){return this.decorations.getRanges().sort(Range.compareRangesUsingStarts)}moveNext(){const highlights=this._getSortedHighlights();const index=highlights.findIndex((range2=>range2.containsPosition(this.editor.getPosition())));const newIndex=(index+1)%highlights.length;const dest=highlights[newIndex];try{this._ignorePositionChangeEvent=true;this.editor.setPosition(dest.getStartPosition());this.editor.revealRangeInCenterIfOutsideViewport(dest);const word=this._getWord();if(word){const lineContent=this.editor.getModel().getLineContent(dest.startLineNumber);alert(`${lineContent}, ${newIndex+1} of ${highlights.length} for '${word.word}'`)}}finally{this._ignorePositionChangeEvent=false}}moveBack(){const highlights=this._getSortedHighlights();const index=highlights.findIndex((range2=>range2.containsPosition(this.editor.getPosition())));const newIndex=(index-1+highlights.length)%highlights.length;const dest=highlights[newIndex];try{this._ignorePositionChangeEvent=true;this.editor.setPosition(dest.getStartPosition());this.editor.revealRangeInCenterIfOutsideViewport(dest);const word=this._getWord();if(word){const lineContent=this.editor.getModel().getLineContent(dest.startLineNumber);alert(`${lineContent}, ${newIndex+1} of ${highlights.length} for '${word.word}'`)}}finally{this._ignorePositionChangeEvent=false}}_removeDecorations(){if(this.decorations.length>0){this.decorations.clear();this._hasWordHighlights.set(false)}}_stopAll(){this._removeDecorations();if(this.renderDecorationsTimer!==-1){clearTimeout(this.renderDecorationsTimer);this.renderDecorationsTimer=-1}if(this.workerRequest!==null){this.workerRequest.cancel();this.workerRequest=null}if(!this.workerRequestCompleted){this.workerRequestTokenId++;this.workerRequestCompleted=true}}_onPositionChanged(e){if(!this.occurrencesHighlight){this._stopAll();return}if(e.reason!==3){this._stopAll();return}this._run()}_getWord(){const editorSelection=this.editor.getSelection();const lineNumber=editorSelection.startLineNumber;const startColumn=editorSelection.startColumn;return this.model.getWordAtPosition({lineNumber:lineNumber,column:startColumn})}_run(){const editorSelection=this.editor.getSelection();if(editorSelection.startLineNumber!==editorSelection.endLineNumber){this._stopAll();return}const startColumn=editorSelection.startColumn;const endColumn=editorSelection.endColumn;const word=this._getWord();if(!word||word.startColumn>startColumn||word.endColumn<endColumn){this._stopAll();return}const workerRequestIsValid=this.workerRequest&&this.workerRequest.isValid(this.model,editorSelection,this.decorations);this.lastCursorPositionChangeTime=(new Date).getTime();if(workerRequestIsValid){if(this.workerRequestCompleted&&this.renderDecorationsTimer!==-1){clearTimeout(this.renderDecorationsTimer);this.renderDecorationsTimer=-1;this._beginRenderDecorations()}}else{this._stopAll();const myRequestId=++this.workerRequestTokenId;this.workerRequestCompleted=false;this.workerRequest=computeOccurencesAtPosition(this.providers,this.model,this.editor.getSelection(),this.editor.getOption(128));this.workerRequest.result.then((data=>{if(myRequestId===this.workerRequestTokenId){this.workerRequestCompleted=true;this.workerRequestValue=data||[];this._beginRenderDecorations()}}),onUnexpectedError)}}_beginRenderDecorations(){const currentTime=(new Date).getTime();const minimumRenderTime=this.lastCursorPositionChangeTime+250;if(currentTime>=minimumRenderTime){this.renderDecorationsTimer=-1;this.renderDecorations()}else{this.renderDecorationsTimer=setTimeout((()=>{this.renderDecorations()}),minimumRenderTime-currentTime)}}renderDecorations(){this.renderDecorationsTimer=-1;const decorations=[];for(const info of this.workerRequestValue){if(info.range){decorations.push({range:info.range,options:getHighlightDecorationOptions(info.kind)})}}this.decorations.set(decorations);this._hasWordHighlights.set(this.hasDecorations());for(const other of this.linkedHighlighters()){if((other===null||other===void 0?void 0:other.editor.getModel())===this.editor.getModel()){other._stopAll();other.decorations.set(decorations);other._hasWordHighlights.set(other.hasDecorations())}}}dispose(){this._stopAll();this.toUnhook.dispose()}};var WordHighlighterContribution=WordHighlighterContribution_1=class WordHighlighterContribution2 extends Disposable{static get(editor2){return editor2.getContribution(WordHighlighterContribution_1.ID)}constructor(editor2,contextKeyService,languageFeaturesService){super();this.wordHighlighter=null;this.linkedContributions=new Set;const createWordHighlighterIfPossible=()=>{if(editor2.hasModel()){this.wordHighlighter=new WordHighlighter(editor2,languageFeaturesService.documentHighlightProvider,(()=>Iterable.map(this.linkedContributions,(c=>c.wordHighlighter))),contextKeyService)}};this._register(editor2.onDidChangeModel((e=>{if(this.wordHighlighter){this.wordHighlighter.dispose();this.wordHighlighter=null}createWordHighlighterIfPossible()})));createWordHighlighterIfPossible()}saveViewState(){if(this.wordHighlighter&&this.wordHighlighter.hasDecorations()){return true}return false}moveNext(){var _a6;(_a6=this.wordHighlighter)===null||_a6===void 0?void 0:_a6.moveNext()}moveBack(){var _a6;(_a6=this.wordHighlighter)===null||_a6===void 0?void 0:_a6.moveBack()}restoreViewState(state){if(this.wordHighlighter&&state){this.wordHighlighter.restore()}}dispose(){if(this.wordHighlighter){this.wordHighlighter.dispose();this.wordHighlighter=null}super.dispose()}};WordHighlighterContribution.ID="editor.contrib.wordHighlighter";WordHighlighterContribution=WordHighlighterContribution_1=__decorate131([__param124(1,IContextKeyService),__param124(2,ILanguageFeaturesService)],WordHighlighterContribution);var WordHighlightNavigationAction=class extends EditorAction{constructor(next,opts){super(opts);this._isNext=next}run(accessor,editor2){const controller=WordHighlighterContribution.get(editor2);if(!controller){return}if(this._isNext){controller.moveNext()}else{controller.moveBack()}}};var NextWordHighlightAction=class extends WordHighlightNavigationAction{constructor(){super(true,{id:"editor.action.wordHighlight.next",label:localize("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:ctxHasWordHighlights,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:65,weight:100}})}};var PrevWordHighlightAction=class extends WordHighlightNavigationAction{constructor(){super(false,{id:"editor.action.wordHighlight.prev",label:localize("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:ctxHasWordHighlights,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:1024|65,weight:100}})}};var TriggerWordHighlightAction=class extends EditorAction{constructor(){super({id:"editor.action.wordHighlight.trigger",label:localize("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:ctxHasWordHighlights.toNegated(),kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:0,weight:100}})}run(accessor,editor2,args){const controller=WordHighlighterContribution.get(editor2);if(!controller){return}controller.restoreViewState(true)}};registerEditorContribution(WordHighlighterContribution.ID,WordHighlighterContribution,0);registerEditorAction(NextWordHighlightAction);registerEditorAction(PrevWordHighlightAction);registerEditorAction(TriggerWordHighlightAction);init_editorExtensions();init_replaceCommand();init_editorOptions();init_cursorCommon();init_cursorWordOperations();init_wordCharacterClassifier();init_position();init_range();init_selection();init_editorContextKeys();init_languageConfigurationRegistry();init_nls();init_accessibility();init_contextkey();init_contextkeys();var MoveWordCommand=class extends EditorCommand{constructor(opts){super(opts);this._inSelectionMode=opts.inSelectionMode;this._wordNavigationType=opts.wordNavigationType}runEditorCommand(accessor,editor2,args){if(!editor2.hasModel()){return}const wordSeparators2=getMapForWordSeparators(editor2.getOption(128));const model=editor2.getModel();const selections=editor2.getSelections();const result=selections.map((sel=>{const inPosition=new Position(sel.positionLineNumber,sel.positionColumn);const outPosition=this._move(wordSeparators2,model,inPosition,this._wordNavigationType);return this._moveTo(sel,outPosition,this._inSelectionMode)}));model.pushStackElement();editor2._getViewModel().setCursorStates("moveWordCommand",3,result.map((r=>CursorState.fromModelSelection(r))));if(result.length===1){const pos=new Position(result[0].positionLineNumber,result[0].positionColumn);editor2.revealPosition(pos,0)}}_moveTo(from,to,inSelectionMode){if(inSelectionMode){return new Selection(from.selectionStartLineNumber,from.selectionStartColumn,to.lineNumber,to.column)}else{return new Selection(to.lineNumber,to.column,to.lineNumber,to.column)}}};var WordLeftCommand=class extends MoveWordCommand{_move(wordSeparators2,model,position,wordNavigationType){return WordOperations.moveWordLeft(wordSeparators2,model,position,wordNavigationType)}};var WordRightCommand=class extends MoveWordCommand{_move(wordSeparators2,model,position,wordNavigationType){return WordOperations.moveWordRight(wordSeparators2,model,position,wordNavigationType)}};var CursorWordStartLeft=class extends WordLeftCommand{constructor(){super({inSelectionMode:false,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}};var CursorWordEndLeft=class extends WordLeftCommand{constructor(){super({inSelectionMode:false,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}};var CursorWordLeft=class extends WordLeftCommand{constructor(){var _a6;super({inSelectionMode:false,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:ContextKeyExpr.and(EditorContextKeys.textInputFocus,(_a6=ContextKeyExpr.and(CONTEXT_ACCESSIBILITY_MODE_ENABLED,IsWindowsContext))===null||_a6===void 0?void 0:_a6.negate()),primary:2048|15,mac:{primary:512|15},weight:100}})}};var CursorWordStartLeftSelect=class extends WordLeftCommand{constructor(){super({inSelectionMode:true,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}};var CursorWordEndLeftSelect=class extends WordLeftCommand{constructor(){super({inSelectionMode:true,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}};var CursorWordLeftSelect=class extends WordLeftCommand{constructor(){var _a6;super({inSelectionMode:true,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:ContextKeyExpr.and(EditorContextKeys.textInputFocus,(_a6=ContextKeyExpr.and(CONTEXT_ACCESSIBILITY_MODE_ENABLED,IsWindowsContext))===null||_a6===void 0?void 0:_a6.negate()),primary:2048|1024|15,mac:{primary:512|1024|15},weight:100}})}};var CursorWordAccessibilityLeft=class extends WordLeftCommand{constructor(){super({inSelectionMode:false,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(_,model,position,wordNavigationType){return super._move(getMapForWordSeparators(EditorOptions.wordSeparators.defaultValue),model,position,wordNavigationType)}};var CursorWordAccessibilityLeftSelect=class extends WordLeftCommand{constructor(){super({inSelectionMode:true,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(_,model,position,wordNavigationType){return super._move(getMapForWordSeparators(EditorOptions.wordSeparators.defaultValue),model,position,wordNavigationType)}};var CursorWordStartRight=class extends WordRightCommand{constructor(){super({inSelectionMode:false,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}};var CursorWordEndRight=class extends WordRightCommand{constructor(){var _a6;super({inSelectionMode:false,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:ContextKeyExpr.and(EditorContextKeys.textInputFocus,(_a6=ContextKeyExpr.and(CONTEXT_ACCESSIBILITY_MODE_ENABLED,IsWindowsContext))===null||_a6===void 0?void 0:_a6.negate()),primary:2048|17,mac:{primary:512|17},weight:100}})}};var CursorWordRight=class extends WordRightCommand{constructor(){super({inSelectionMode:false,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}};var CursorWordStartRightSelect=class extends WordRightCommand{constructor(){super({inSelectionMode:true,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}};var CursorWordEndRightSelect=class extends WordRightCommand{constructor(){var _a6;super({inSelectionMode:true,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:ContextKeyExpr.and(EditorContextKeys.textInputFocus,(_a6=ContextKeyExpr.and(CONTEXT_ACCESSIBILITY_MODE_ENABLED,IsWindowsContext))===null||_a6===void 0?void 0:_a6.negate()),primary:2048|1024|17,mac:{primary:512|1024|17},weight:100}})}};var CursorWordRightSelect=class extends WordRightCommand{constructor(){super({inSelectionMode:true,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}};var CursorWordAccessibilityRight=class extends WordRightCommand{constructor(){super({inSelectionMode:false,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(_,model,position,wordNavigationType){return super._move(getMapForWordSeparators(EditorOptions.wordSeparators.defaultValue),model,position,wordNavigationType)}};var CursorWordAccessibilityRightSelect=class extends WordRightCommand{constructor(){super({inSelectionMode:true,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(_,model,position,wordNavigationType){return super._move(getMapForWordSeparators(EditorOptions.wordSeparators.defaultValue),model,position,wordNavigationType)}};var DeleteWordCommand=class extends EditorCommand{constructor(opts){super(opts);this._whitespaceHeuristics=opts.whitespaceHeuristics;this._wordNavigationType=opts.wordNavigationType}runEditorCommand(accessor,editor2,args){const languageConfigurationService=accessor.get(ILanguageConfigurationService);if(!editor2.hasModel()){return}const wordSeparators2=getMapForWordSeparators(editor2.getOption(128));const model=editor2.getModel();const selections=editor2.getSelections();const autoClosingBrackets=editor2.getOption(6);const autoClosingQuotes=editor2.getOption(10);const autoClosingPairs=languageConfigurationService.getLanguageConfiguration(model.getLanguageId()).getAutoClosingPairs();const viewModel=editor2._getViewModel();const commands=selections.map((sel=>{const deleteRange=this._delete({wordSeparators:wordSeparators2,model:model,selection:sel,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:editor2.getOption(8),autoClosingBrackets:autoClosingBrackets,autoClosingQuotes:autoClosingQuotes,autoClosingPairs:autoClosingPairs,autoClosedCharacters:viewModel.getCursorAutoClosedCharacters()},this._wordNavigationType);return new ReplaceCommand(deleteRange,"")}));editor2.pushUndoStop();editor2.executeCommands(this.id,commands);editor2.pushUndoStop()}};var DeleteWordLeftCommand=class extends DeleteWordCommand{_delete(ctx,wordNavigationType){const r=WordOperations.deleteWordLeft(ctx,wordNavigationType);if(r){return r}return new Range(1,1,1,1)}};var DeleteWordRightCommand=class extends DeleteWordCommand{_delete(ctx,wordNavigationType){const r=WordOperations.deleteWordRight(ctx,wordNavigationType);if(r){return r}const lineCount=ctx.model.getLineCount();const maxColumn=ctx.model.getLineMaxColumn(lineCount);return new Range(lineCount,maxColumn,lineCount,maxColumn)}};var DeleteWordStartLeft=class extends DeleteWordLeftCommand{constructor(){super({whitespaceHeuristics:false,wordNavigationType:0,id:"deleteWordStartLeft",precondition:EditorContextKeys.writable})}};var DeleteWordEndLeft=class extends DeleteWordLeftCommand{constructor(){super({whitespaceHeuristics:false,wordNavigationType:2,id:"deleteWordEndLeft",precondition:EditorContextKeys.writable})}};var DeleteWordLeft=class extends DeleteWordLeftCommand{constructor(){super({whitespaceHeuristics:true,wordNavigationType:0,id:"deleteWordLeft",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:2048|1,mac:{primary:512|1},weight:100}})}};var DeleteWordStartRight=class extends DeleteWordRightCommand{constructor(){super({whitespaceHeuristics:false,wordNavigationType:0,id:"deleteWordStartRight",precondition:EditorContextKeys.writable})}};var DeleteWordEndRight=class extends DeleteWordRightCommand{constructor(){super({whitespaceHeuristics:false,wordNavigationType:2,id:"deleteWordEndRight",precondition:EditorContextKeys.writable})}};var DeleteWordRight=class extends DeleteWordRightCommand{constructor(){super({whitespaceHeuristics:true,wordNavigationType:2,id:"deleteWordRight",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:2048|20,mac:{primary:512|20},weight:100}})}};var DeleteInsideWord=class extends EditorAction{constructor(){super({id:"deleteInsideWord",precondition:EditorContextKeys.writable,label:localize("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(accessor,editor2,args){if(!editor2.hasModel()){return}const wordSeparators2=getMapForWordSeparators(editor2.getOption(128));const model=editor2.getModel();const selections=editor2.getSelections();const commands=selections.map((sel=>{const deleteRange=WordOperations.deleteInsideWord(wordSeparators2,model,sel);return new ReplaceCommand(deleteRange,"")}));editor2.pushUndoStop();editor2.executeCommands(this.id,commands);editor2.pushUndoStop()}};registerEditorCommand(new CursorWordStartLeft);registerEditorCommand(new CursorWordEndLeft);registerEditorCommand(new CursorWordLeft);registerEditorCommand(new CursorWordStartLeftSelect);registerEditorCommand(new CursorWordEndLeftSelect);registerEditorCommand(new CursorWordLeftSelect);registerEditorCommand(new CursorWordStartRight);registerEditorCommand(new CursorWordEndRight);registerEditorCommand(new CursorWordRight);registerEditorCommand(new CursorWordStartRightSelect);registerEditorCommand(new CursorWordEndRightSelect);registerEditorCommand(new CursorWordRightSelect);registerEditorCommand(new CursorWordAccessibilityLeft);registerEditorCommand(new CursorWordAccessibilityLeftSelect);registerEditorCommand(new CursorWordAccessibilityRight);registerEditorCommand(new CursorWordAccessibilityRightSelect);registerEditorCommand(new DeleteWordStartLeft);registerEditorCommand(new DeleteWordEndLeft);registerEditorCommand(new DeleteWordLeft);registerEditorCommand(new DeleteWordStartRight);registerEditorCommand(new DeleteWordEndRight);registerEditorCommand(new DeleteWordRight);registerEditorAction(DeleteInsideWord);init_editorExtensions();init_cursorWordOperations();init_range();init_editorContextKeys();init_commands();var DeleteWordPartLeft=class extends DeleteWordCommand{constructor(){super({whitespaceHeuristics:true,wordNavigationType:0,id:"deleteWordPartLeft",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|512|1},weight:100}})}_delete(ctx,wordNavigationType){const r=WordPartOperations.deleteWordPartLeft(ctx);if(r){return r}return new Range(1,1,1,1)}};var DeleteWordPartRight=class extends DeleteWordCommand{constructor(){super({whitespaceHeuristics:true,wordNavigationType:2,id:"deleteWordPartRight",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|512|20},weight:100}})}_delete(ctx,wordNavigationType){const r=WordPartOperations.deleteWordPartRight(ctx);if(r){return r}const lineCount=ctx.model.getLineCount();const maxColumn=ctx.model.getLineMaxColumn(lineCount);return new Range(lineCount,maxColumn,lineCount,maxColumn)}};var WordPartLeftCommand=class extends MoveWordCommand{_move(wordSeparators2,model,position,wordNavigationType){return WordPartOperations.moveWordPartLeft(wordSeparators2,model,position)}};var CursorWordPartLeft=class extends WordPartLeftCommand{constructor(){super({inSelectionMode:false,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|512|15},weight:100}})}};CommandsRegistry.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");var CursorWordPartLeftSelect=class extends WordPartLeftCommand{constructor(){super({inSelectionMode:true,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|512|1024|15},weight:100}})}};CommandsRegistry.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");var WordPartRightCommand=class extends MoveWordCommand{_move(wordSeparators2,model,position,wordNavigationType){return WordPartOperations.moveWordPartRight(wordSeparators2,model,position)}};var CursorWordPartRight=class extends WordPartRightCommand{constructor(){super({inSelectionMode:false,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|512|17},weight:100}})}};var CursorWordPartRightSelect=class extends WordPartRightCommand{constructor(){super({inSelectionMode:true,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:256|512|1024|17},weight:100}})}};registerEditorCommand(new DeleteWordPartLeft);registerEditorCommand(new DeleteWordPartRight);registerEditorCommand(new CursorWordPartLeft);registerEditorCommand(new CursorWordPartLeftSelect);registerEditorCommand(new CursorWordPartRight);registerEditorCommand(new CursorWordPartRightSelect);init_htmlContent();init_lifecycle();init_editorExtensions();init_nls();var ReadOnlyMessageController=class extends Disposable{constructor(editor2){super();this.editor=editor2;this._register(this.editor.onDidAttemptReadOnlyEdit((()=>this._onDidAttemptReadOnlyEdit())))}_onDidAttemptReadOnlyEdit(){const messageController=MessageController.get(this.editor);if(messageController&&this.editor.hasModel()){let message=this.editor.getOptions().get(90);if(!message){if(this.editor.isSimpleWidget){message=new MarkdownString(localize("editor.simple.readonly","Cannot edit in read-only input"))}else{message=new MarkdownString(localize("editor.readonly","Cannot edit in read-only editor"))}}messageController.showMessage(message,this.editor.getPosition())}}};ReadOnlyMessageController.ID="editor.contrib.readOnlyMessageController";registerEditorContribution(ReadOnlyMessageController.ID,ReadOnlyMessageController,2);init_standaloneStrings();init_dom();init_lifecycle();init_editorExtensions();init_platform();var IPadShowKeyboard=class extends Disposable{constructor(editor2){super();this.editor=editor2;this.widget=null;if(isIOS){this._register(editor2.onDidChangeConfiguration((()=>this.update())));this.update()}}update(){const shouldHaveWidget=!this.editor.getOption(89);if(!this.widget&&shouldHaveWidget){this.widget=new ShowKeyboardWidget(this.editor)}else if(this.widget&&!shouldHaveWidget){this.widget.dispose();this.widget=null}}dispose(){super.dispose();if(this.widget){this.widget.dispose();this.widget=null}}};IPadShowKeyboard.ID="editor.contrib.iPadShowKeyboard";var ShowKeyboardWidget=class extends Disposable{constructor(editor2){super();this.editor=editor2;this._domNode=document.createElement("textarea");this._domNode.className="iPadShowKeyboard";this._register(addDisposableListener(this._domNode,"touchstart",(e=>{this.editor.focus()})));this._register(addDisposableListener(this._domNode,"focus",(e=>{this.editor.focus()})));this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this);super.dispose()}getId(){return ShowKeyboardWidget.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}};ShowKeyboardWidget.ID="editor.contrib.ShowKeyboardWidget";registerEditorContribution(IPadShowKeyboard.ID,IPadShowKeyboard,3);var import_inspectTokens=__toESM(require_inspectTokens());init_platform2();init_quickAccess();init_standaloneStrings();init_nls();init_platform2();init_lifecycle();init_keybinding();init_quickAccess();init_quickInput();var __decorate132=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param125=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var HelpQuickAccessProvider_1;var HelpQuickAccessProvider=HelpQuickAccessProvider_1=class HelpQuickAccessProvider2{constructor(quickInputService,keybindingService){this.quickInputService=quickInputService;this.keybindingService=keybindingService;this.registry=Registry.as(Extensions9.Quickaccess)}provide(picker){const disposables=new DisposableStore;disposables.add(picker.onDidAccept((()=>{const[item]=picker.selectedItems;if(item){this.quickInputService.quickAccess.show(item.prefix,{preserveValue:true})}})));disposables.add(picker.onDidChangeValue((value=>{const providerDescriptor=this.registry.getQuickAccessProvider(value.substr(HelpQuickAccessProvider_1.PREFIX.length));if(providerDescriptor&&providerDescriptor.prefix&&providerDescriptor.prefix!==HelpQuickAccessProvider_1.PREFIX){this.quickInputService.quickAccess.show(providerDescriptor.prefix,{preserveValue:true})}})));picker.items=this.getQuickAccessProviders().filter((p=>p.prefix!==HelpQuickAccessProvider_1.PREFIX));return disposables}getQuickAccessProviders(){const providers=this.registry.getQuickAccessProviders().sort(((providerA,providerB)=>providerA.prefix.localeCompare(providerB.prefix))).flatMap((provider=>this.createPicks(provider)));return providers}createPicks(provider){return provider.helpEntries.map((helpEntry=>{const prefix=helpEntry.prefix||provider.prefix;const label=prefix||"…";return{prefix:prefix,label:label,keybinding:helpEntry.commandId?this.keybindingService.lookupKeybinding(helpEntry.commandId):void 0,ariaLabel:localize("helpPickAriaLabel","{0}, {1}",label,helpEntry.description),description:helpEntry.description}}))}};HelpQuickAccessProvider.PREFIX="?";HelpQuickAccessProvider=HelpQuickAccessProvider_1=__decorate132([__param125(0,IQuickInputService),__param125(1,IKeybindingService)],HelpQuickAccessProvider);Registry.as(Extensions9.Quickaccess).registerQuickAccessProvider({ctor:HelpQuickAccessProvider,prefix:"",helpEntries:[{description:QuickHelpNLS.helpQuickAccessActionLabel}]});init_lifecycle();init_editorBrowser();init_functional();init_lifecycle();init_editorBrowser();init_model();init_editorColorRegistry();init_themeService();init_aria();var AbstractEditorNavigationQuickAccessProvider=class{constructor(options2){this.options=options2;this.rangeHighlightDecorationId=void 0}provide(picker,token){var _a6;const disposables=new DisposableStore;picker.canAcceptInBackground=!!((_a6=this.options)===null||_a6===void 0?void 0:_a6.canAcceptInBackground);picker.matchOnLabel=picker.matchOnDescription=picker.matchOnDetail=picker.sortByLabel=false;const pickerDisposable=disposables.add(new MutableDisposable);pickerDisposable.value=this.doProvide(picker,token);disposables.add(this.onDidActiveTextEditorControlChange((()=>{pickerDisposable.value=void 0;pickerDisposable.value=this.doProvide(picker,token)})));return disposables}doProvide(picker,token){var _a6;const disposables=new DisposableStore;const editor2=this.activeTextEditorControl;if(editor2&&this.canProvideWithTextEditor(editor2)){const context={editor:editor2};const codeEditor=getCodeEditor(editor2);if(codeEditor){let lastKnownEditorViewState=(_a6=editor2.saveViewState())!==null&&_a6!==void 0?_a6:void 0;disposables.add(codeEditor.onDidChangeCursorPosition((()=>{var _a7;lastKnownEditorViewState=(_a7=editor2.saveViewState())!==null&&_a7!==void 0?_a7:void 0})));context.restoreViewState=()=>{if(lastKnownEditorViewState&&editor2===this.activeTextEditorControl){editor2.restoreViewState(lastKnownEditorViewState)}};disposables.add(once(token.onCancellationRequested)((()=>{var _a7;return(_a7=context.restoreViewState)===null||_a7===void 0?void 0:_a7.call(context)})))}disposables.add(toDisposable((()=>this.clearDecorations(editor2))));disposables.add(this.provideWithTextEditor(context,picker,token))}else{disposables.add(this.provideWithoutTextEditor(picker,token))}return disposables}canProvideWithTextEditor(editor2){return true}gotoLocation({editor:editor2},options2){editor2.setSelection(options2.range);editor2.revealRangeInCenter(options2.range,0);if(!options2.preserveFocus){editor2.focus()}const model=editor2.getModel();if(model&&"getLineContent"in model){status(`${model.getLineContent(options2.range.startLineNumber)}`)}}getModel(editor2){var _a6;return isDiffEditor(editor2)?(_a6=editor2.getModel())===null||_a6===void 0?void 0:_a6.modified:editor2.getModel()}addDecorations(editor2,range2){editor2.changeDecorations((changeAccessor=>{const deleteDecorations=[];if(this.rangeHighlightDecorationId){deleteDecorations.push(this.rangeHighlightDecorationId.overviewRulerDecorationId);deleteDecorations.push(this.rangeHighlightDecorationId.rangeHighlightId);this.rangeHighlightDecorationId=void 0}const newDecorations=[{range:range2,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:true}},{range:range2,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:themeColorFromId(overviewRulerRangeHighlight),position:OverviewRulerLane2.Full}}}];const[rangeHighlightId,overviewRulerDecorationId]=changeAccessor.deltaDecorations(deleteDecorations,newDecorations);this.rangeHighlightDecorationId={rangeHighlightId:rangeHighlightId,overviewRulerDecorationId:overviewRulerDecorationId}}))}clearDecorations(editor2){const rangeHighlightDecorationId=this.rangeHighlightDecorationId;if(rangeHighlightDecorationId){editor2.changeDecorations((changeAccessor=>{changeAccessor.deltaDecorations([rangeHighlightDecorationId.overviewRulerDecorationId,rangeHighlightDecorationId.rangeHighlightId],[])}));this.rangeHighlightDecorationId=void 0}}};init_nls();var AbstractGotoLineQuickAccessProvider=class extends AbstractEditorNavigationQuickAccessProvider{constructor(){super({canAcceptInBackground:true})}provideWithoutTextEditor(picker){const label=localize("cannotRunGotoLine","Open a text editor first to go to a line.");picker.items=[{label:label}];picker.ariaLabel=label;return Disposable.None}provideWithTextEditor(context,picker,token){const editor2=context.editor;const disposables=new DisposableStore;disposables.add(picker.onDidAccept((event=>{const[item]=picker.selectedItems;if(item){if(!this.isValidLineNumber(editor2,item.lineNumber)){return}this.gotoLocation(context,{range:this.toRange(item.lineNumber,item.column),keyMods:picker.keyMods,preserveFocus:event.inBackground});if(!event.inBackground){picker.hide()}}})));const updatePickerAndEditor=()=>{const position=this.parsePosition(editor2,picker.value.trim().substr(AbstractGotoLineQuickAccessProvider.PREFIX.length));const label=this.getPickLabel(editor2,position.lineNumber,position.column);picker.items=[{lineNumber:position.lineNumber,column:position.column,label:label}];picker.ariaLabel=label;if(!this.isValidLineNumber(editor2,position.lineNumber)){this.clearDecorations(editor2);return}const range2=this.toRange(position.lineNumber,position.column);editor2.revealRangeInCenter(range2,0);this.addDecorations(editor2,range2)};updatePickerAndEditor();disposables.add(picker.onDidChangeValue((()=>updatePickerAndEditor())));const codeEditor=getCodeEditor(editor2);if(codeEditor){const options2=codeEditor.getOptions();const lineNumbers=options2.get(66);if(lineNumbers.renderType===2){codeEditor.updateOptions({lineNumbers:"on"});disposables.add(toDisposable((()=>codeEditor.updateOptions({lineNumbers:"relative"}))))}}return disposables}toRange(lineNumber=1,column=1){return{startLineNumber:lineNumber,startColumn:column,endLineNumber:lineNumber,endColumn:column}}parsePosition(editor2,value){const numbers=value.split(/,|:|#/).map((part=>parseInt(part,10))).filter((part=>!isNaN(part)));const endLine=this.lineCount(editor2)+1;return{lineNumber:numbers[0]>0?numbers[0]:endLine+numbers[0],column:numbers[1]}}getPickLabel(editor2,lineNumber,column){if(this.isValidLineNumber(editor2,lineNumber)){if(this.isValidColumn(editor2,lineNumber,column)){return localize("gotoLineColumnLabel","Go to line {0} and character {1}.",lineNumber,column)}return localize("gotoLineLabel","Go to line {0}.",lineNumber)}const position=editor2.getPosition()||{lineNumber:1,column:1};const lineCount=this.lineCount(editor2);if(lineCount>1){return localize("gotoLineLabelEmptyWithLimit","Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",position.lineNumber,position.column,lineCount)}return localize("gotoLineLabelEmpty","Current Line: {0}, Character: {1}. Type a line number to navigate to.",position.lineNumber,position.column)}isValidLineNumber(editor2,lineNumber){if(!lineNumber||typeof lineNumber!=="number"){return false}return lineNumber>0&&lineNumber<=this.lineCount(editor2)}isValidColumn(editor2,lineNumber,column){if(!column||typeof column!=="number"){return false}const model=this.getModel(editor2);if(!model){return false}const positionCandidate={lineNumber:lineNumber,column:column};return model.validatePosition(positionCandidate).equals(positionCandidate)}lineCount(editor2){var _a6,_b3;return(_b3=(_a6=this.getModel(editor2))===null||_a6===void 0?void 0:_a6.getLineCount())!==null&&_b3!==void 0?_b3:0}};AbstractGotoLineQuickAccessProvider.PREFIX=":";init_platform2();init_quickAccess();init_codeEditorService();init_standaloneStrings();init_event();init_editorExtensions();init_editorContextKeys();init_quickInput();var __decorate133=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param126=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var StandaloneGotoLineQuickAccessProvider=class StandaloneGotoLineQuickAccessProvider2 extends AbstractGotoLineQuickAccessProvider{constructor(editorService){super();this.editorService=editorService;this.onDidActiveTextEditorControlChange=Event.None}get activeTextEditorControl(){var _a6;return(_a6=this.editorService.getFocusedCodeEditor())!==null&&_a6!==void 0?_a6:void 0}};StandaloneGotoLineQuickAccessProvider=__decorate133([__param126(0,ICodeEditorService)],StandaloneGotoLineQuickAccessProvider);var GotoLineAction=class extends EditorAction{constructor(){super({id:GotoLineAction.ID,label:GoToLineNLS.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:2048|37,mac:{primary:256|37},weight:100}})}run(accessor){accessor.get(IQuickInputService).quickAccess.show(StandaloneGotoLineQuickAccessProvider.PREFIX)}};GotoLineAction.ID="editor.action.gotoLine";registerEditorAction(GotoLineAction);Registry.as(Extensions9.Quickaccess).registerQuickAccessProvider({ctor:StandaloneGotoLineQuickAccessProvider,prefix:StandaloneGotoLineQuickAccessProvider.PREFIX,helpEntries:[{description:GoToLineNLS.gotoLineActionLabel,commandId:GotoLineAction.ID}]});init_async();init_cancellation();init_codicons();init_themables();init_filters();init_path();init_platform();init_strings();var NO_SCORE2=[void 0,[]];function scoreFuzzy2(target,query,patternStart=0,wordStart=0){const preparedQuery=query;if(preparedQuery.values&&preparedQuery.values.length>1){return doScoreFuzzy2Multiple(target,preparedQuery.values,patternStart,wordStart)}return doScoreFuzzy2Single(target,query,patternStart,wordStart)}function doScoreFuzzy2Multiple(target,query,patternStart,wordStart){let totalScore=0;const totalMatches=[];for(const queryPiece of query){const[score3,matches]=doScoreFuzzy2Single(target,queryPiece,patternStart,wordStart);if(typeof score3!=="number"){return NO_SCORE2}totalScore+=score3;totalMatches.push(...matches)}return[totalScore,normalizeMatches(totalMatches)]}function doScoreFuzzy2Single(target,query,patternStart,wordStart){const score3=fuzzyScore(query.original,query.originalLowercase,patternStart,target,target.toLowerCase(),wordStart,{firstMatchCanBeWeak:true,boostFullMatch:true});if(!score3){return NO_SCORE2}return[score3[0],createMatches(score3)]}var NO_ITEM_SCORE=Object.freeze({score:0});function normalizeMatches(matches){const sortedMatches=matches.sort(((matchA,matchB)=>matchA.start-matchB.start));const normalizedMatches=[];let currentMatch=void 0;for(const match2 of sortedMatches){if(!currentMatch||!matchOverlaps(currentMatch,match2)){currentMatch=match2;normalizedMatches.push(match2)}else{currentMatch.start=Math.min(currentMatch.start,match2.start);currentMatch.end=Math.max(currentMatch.end,match2.end)}}return normalizedMatches}function matchOverlaps(matchA,matchB){if(matchA.end<matchB.start){return false}if(matchB.end<matchA.start){return false}return true}function queryExpectsExactMatch(query){return query.startsWith('"')&&query.endsWith('"')}var MULTIPLE_QUERY_VALUES_SEPARATOR=" ";function prepareQuery(original){if(typeof original!=="string"){original=""}const originalLowercase=original.toLowerCase();const{pathNormalized:pathNormalized,normalized:normalized,normalizedLowercase:normalizedLowercase}=normalizeQuery(original);const containsPathSeparator=pathNormalized.indexOf(sep)>=0;const expectExactMatch=queryExpectsExactMatch(original);let values=void 0;const originalSplit=original.split(MULTIPLE_QUERY_VALUES_SEPARATOR);if(originalSplit.length>1){for(const originalPiece of originalSplit){const expectExactMatchPiece=queryExpectsExactMatch(originalPiece);const{pathNormalized:pathNormalizedPiece,normalized:normalizedPiece,normalizedLowercase:normalizedLowercasePiece}=normalizeQuery(originalPiece);if(normalizedPiece){if(!values){values=[]}values.push({original:originalPiece,originalLowercase:originalPiece.toLowerCase(),pathNormalized:pathNormalizedPiece,normalized:normalizedPiece,normalizedLowercase:normalizedLowercasePiece,expectContiguousMatch:expectExactMatchPiece})}}}return{original:original,originalLowercase:originalLowercase,pathNormalized:pathNormalized,normalized:normalized,normalizedLowercase:normalizedLowercase,values:values,containsPathSeparator:containsPathSeparator,expectContiguousMatch:expectExactMatch}}function normalizeQuery(original){let pathNormalized;if(isWindows){pathNormalized=original.replace(/\//g,sep)}else{pathNormalized=original.replace(/\\/g,sep)}const normalized=stripWildcards(pathNormalized).replace(/\s|"/g,"");return{pathNormalized:pathNormalized,normalized:normalized,normalizedLowercase:normalized.toLowerCase()}}function pieceToQuery(arg1){if(Array.isArray(arg1)){return prepareQuery(arg1.map((piece=>piece.original)).join(MULTIPLE_QUERY_VALUES_SEPARATOR))}return prepareQuery(arg1.original)}init_lifecycle();init_strings();init_range();init_languages();init_outlineModel2();init_nls();init_languageFeatures();init_arrays();var __decorate134=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param127=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter98=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var AbstractGotoSymbolQuickAccessProvider_1;var AbstractGotoSymbolQuickAccessProvider=AbstractGotoSymbolQuickAccessProvider_1=class AbstractGotoSymbolQuickAccessProvider2 extends AbstractEditorNavigationQuickAccessProvider{constructor(_languageFeaturesService,_outlineModelService,options2=Object.create(null)){super(options2);this._languageFeaturesService=_languageFeaturesService;this._outlineModelService=_outlineModelService;this.options=options2;this.options.canAcceptInBackground=true}provideWithoutTextEditor(picker){this.provideLabelPick(picker,localize("cannotRunGotoSymbolWithoutEditor","To go to a symbol, first open a text editor with symbol information."));return Disposable.None}provideWithTextEditor(context,picker,token){const editor2=context.editor;const model=this.getModel(editor2);if(!model){return Disposable.None}if(this._languageFeaturesService.documentSymbolProvider.has(model)){return this.doProvideWithEditorSymbols(context,model,picker,token)}return this.doProvideWithoutEditorSymbols(context,model,picker,token)}doProvideWithoutEditorSymbols(context,model,picker,token){const disposables=new DisposableStore;this.provideLabelPick(picker,localize("cannotRunGotoSymbolWithoutSymbolProvider","The active text editor does not provide symbol information."));(()=>__awaiter98(this,void 0,void 0,(function*(){const result=yield this.waitForLanguageSymbolRegistry(model,disposables);if(!result||token.isCancellationRequested){return}disposables.add(this.doProvideWithEditorSymbols(context,model,picker,token))})))();return disposables}provideLabelPick(picker,label){picker.items=[{label:label,index:0,kind:14}];picker.ariaLabel=label}waitForLanguageSymbolRegistry(model,disposables){return __awaiter98(this,void 0,void 0,(function*(){if(this._languageFeaturesService.documentSymbolProvider.has(model)){return true}const symbolProviderRegistryPromise=new DeferredPromise;const symbolProviderListener=disposables.add(this._languageFeaturesService.documentSymbolProvider.onDidChange((()=>{if(this._languageFeaturesService.documentSymbolProvider.has(model)){symbolProviderListener.dispose();symbolProviderRegistryPromise.complete(true)}})));disposables.add(toDisposable((()=>symbolProviderRegistryPromise.complete(false))));return symbolProviderRegistryPromise.p}))}doProvideWithEditorSymbols(context,model,picker,token){var _a6;const editor2=context.editor;const disposables=new DisposableStore;disposables.add(picker.onDidAccept((event=>{const[item]=picker.selectedItems;if(item&&item.range){this.gotoLocation(context,{range:item.range.selection,keyMods:picker.keyMods,preserveFocus:event.inBackground});if(!event.inBackground){picker.hide()}}})));disposables.add(picker.onDidTriggerItemButton((({item:item})=>{if(item&&item.range){this.gotoLocation(context,{range:item.range.selection,keyMods:picker.keyMods,forceSideBySide:true});picker.hide()}})));const symbolsPromise=this.getDocumentSymbols(model,token);let picksCts=void 0;const updatePickerItems=positionToEnclose=>__awaiter98(this,void 0,void 0,(function*(){picksCts===null||picksCts===void 0?void 0:picksCts.dispose(true);picker.busy=false;picksCts=new CancellationTokenSource(token);picker.busy=true;try{const query=prepareQuery(picker.value.substr(AbstractGotoSymbolQuickAccessProvider_1.PREFIX.length).trim());const items=yield this.doGetSymbolPicks(symbolsPromise,query,void 0,picksCts.token);if(token.isCancellationRequested){return}if(items.length>0){picker.items=items;if(positionToEnclose&&query.original.length===0){const candidate=findLast(items,(item=>Boolean(item.type!=="separator"&&item.range&&Range.containsPosition(item.range.decoration,positionToEnclose))));if(candidate){picker.activeItems=[candidate]}}}else{if(query.original.length>0){this.provideLabelPick(picker,localize("noMatchingSymbolResults","No matching editor symbols"))}else{this.provideLabelPick(picker,localize("noSymbolResults","No editor symbols"))}}}finally{if(!token.isCancellationRequested){picker.busy=false}}}));disposables.add(picker.onDidChangeValue((()=>updatePickerItems(void 0))));updatePickerItems((_a6=editor2.getSelection())===null||_a6===void 0?void 0:_a6.getPosition());disposables.add(picker.onDidChangeActive((()=>{const[item]=picker.activeItems;if(item&&item.range){editor2.revealRangeInCenter(item.range.selection,0);this.addDecorations(editor2,item.range.decoration)}})));return disposables}doGetSymbolPicks(symbolsPromise,query,options2,token){var _a6,_b3;return __awaiter98(this,void 0,void 0,(function*(){const symbols=yield symbolsPromise;if(token.isCancellationRequested){return[]}const filterBySymbolKind=query.original.indexOf(AbstractGotoSymbolQuickAccessProvider_1.SCOPE_PREFIX)===0;const filterPos=filterBySymbolKind?1:0;let symbolQuery;let containerQuery;if(query.values&&query.values.length>1){symbolQuery=pieceToQuery(query.values[0]);containerQuery=pieceToQuery(query.values.slice(1))}else{symbolQuery=query}let buttons;const openSideBySideDirection=(_b3=(_a6=this.options)===null||_a6===void 0?void 0:_a6.openSideBySideDirection)===null||_b3===void 0?void 0:_b3.call(_a6);if(openSideBySideDirection){buttons=[{iconClass:openSideBySideDirection==="right"?ThemeIcon.asClassName(Codicon.splitHorizontal):ThemeIcon.asClassName(Codicon.splitVertical),tooltip:openSideBySideDirection==="right"?localize("openToSide","Open to the Side"):localize("openToBottom","Open to the Bottom")}]}const filteredSymbolPicks=[];for(let index=0;index<symbols.length;index++){const symbol=symbols[index];const symbolLabel=trim(symbol.name);const symbolLabelWithIcon=`$(${SymbolKinds.toIcon(symbol.kind).id}) ${symbolLabel}`;const symbolLabelIconOffset=symbolLabelWithIcon.length-symbolLabel.length;let containerLabel=symbol.containerName;if(options2===null||options2===void 0?void 0:options2.extraContainerLabel){if(containerLabel){containerLabel=`${options2.extraContainerLabel} • ${containerLabel}`}else{containerLabel=options2.extraContainerLabel}}let symbolScore=void 0;let symbolMatches=void 0;let containerScore=void 0;let containerMatches=void 0;if(query.original.length>filterPos){let skipContainerQuery=false;if(symbolQuery!==query){[symbolScore,symbolMatches]=scoreFuzzy2(symbolLabelWithIcon,Object.assign(Object.assign({},query),{values:void 0}),filterPos,symbolLabelIconOffset);if(typeof symbolScore==="number"){skipContainerQuery=true}}if(typeof symbolScore!=="number"){[symbolScore,symbolMatches]=scoreFuzzy2(symbolLabelWithIcon,symbolQuery,filterPos,symbolLabelIconOffset);if(typeof symbolScore!=="number"){continue}}if(!skipContainerQuery&&containerQuery){if(containerLabel&&containerQuery.original.length>0){[containerScore,containerMatches]=scoreFuzzy2(containerLabel,containerQuery)}if(typeof containerScore!=="number"){continue}if(typeof symbolScore==="number"){symbolScore+=containerScore}}}const deprecated=symbol.tags&&symbol.tags.indexOf(1)>=0;filteredSymbolPicks.push({index:index,kind:symbol.kind,score:symbolScore,label:symbolLabelWithIcon,ariaLabel:getAriaLabelForSymbol(symbol.name,symbol.kind),description:containerLabel,highlights:deprecated?void 0:{label:symbolMatches,description:containerMatches},range:{selection:Range.collapseToStart(symbol.selectionRange),decoration:symbol.range},strikethrough:deprecated,buttons:buttons})}const sortedFilteredSymbolPicks=filteredSymbolPicks.sort(((symbolA,symbolB)=>filterBySymbolKind?this.compareByKindAndScore(symbolA,symbolB):this.compareByScore(symbolA,symbolB)));let symbolPicks=[];if(filterBySymbolKind){let updateLastSeparatorLabel=function(){if(lastSeparator&&typeof lastSymbolKind==="number"&&lastSymbolKindCounter>0){lastSeparator.label=format(NLS_SYMBOL_KIND_CACHE[lastSymbolKind]||FALLBACK_NLS_SYMBOL_KIND,lastSymbolKindCounter)}};let lastSymbolKind=void 0;let lastSeparator=void 0;let lastSymbolKindCounter=0;for(const symbolPick of sortedFilteredSymbolPicks){if(lastSymbolKind!==symbolPick.kind){updateLastSeparatorLabel();lastSymbolKind=symbolPick.kind;lastSymbolKindCounter=1;lastSeparator={type:"separator"};symbolPicks.push(lastSeparator)}else{lastSymbolKindCounter++}symbolPicks.push(symbolPick)}updateLastSeparatorLabel()}else if(sortedFilteredSymbolPicks.length>0){symbolPicks=[{label:localize("symbols","symbols ({0})",filteredSymbolPicks.length),type:"separator"},...sortedFilteredSymbolPicks]}return symbolPicks}))}compareByScore(symbolA,symbolB){if(typeof symbolA.score!=="number"&&typeof symbolB.score==="number"){return 1}else if(typeof symbolA.score==="number"&&typeof symbolB.score!=="number"){return-1}if(typeof symbolA.score==="number"&&typeof symbolB.score==="number"){if(symbolA.score>symbolB.score){return-1}else if(symbolA.score<symbolB.score){return 1}}if(symbolA.index<symbolB.index){return-1}else if(symbolA.index>symbolB.index){return 1}return 0}compareByKindAndScore(symbolA,symbolB){const kindA=NLS_SYMBOL_KIND_CACHE[symbolA.kind]||FALLBACK_NLS_SYMBOL_KIND;const kindB=NLS_SYMBOL_KIND_CACHE[symbolB.kind]||FALLBACK_NLS_SYMBOL_KIND;const result=kindA.localeCompare(kindB);if(result===0){return this.compareByScore(symbolA,symbolB)}return result}getDocumentSymbols(document2,token){return __awaiter98(this,void 0,void 0,(function*(){const model=yield this._outlineModelService.getOrCreate(document2,token);return token.isCancellationRequested?[]:model.asListOfDocumentSymbols()}))}};AbstractGotoSymbolQuickAccessProvider.PREFIX="@";AbstractGotoSymbolQuickAccessProvider.SCOPE_PREFIX=":";AbstractGotoSymbolQuickAccessProvider.PREFIX_BY_CATEGORY=`${AbstractGotoSymbolQuickAccessProvider_1.PREFIX}${AbstractGotoSymbolQuickAccessProvider_1.SCOPE_PREFIX}`;AbstractGotoSymbolQuickAccessProvider=AbstractGotoSymbolQuickAccessProvider_1=__decorate134([__param127(0,ILanguageFeaturesService),__param127(1,IOutlineModelService)],AbstractGotoSymbolQuickAccessProvider);var FALLBACK_NLS_SYMBOL_KIND=localize("property","properties ({0})");var NLS_SYMBOL_KIND_CACHE={[5]:localize("method","methods ({0})"),[11]:localize("function","functions ({0})"),[8]:localize("_constructor","constructors ({0})"),[12]:localize("variable","variables ({0})"),[4]:localize("class","classes ({0})"),[22]:localize("struct","structs ({0})"),[23]:localize("event","events ({0})"),[24]:localize("operator","operators ({0})"),[10]:localize("interface","interfaces ({0})"),[2]:localize("namespace","namespaces ({0})"),[3]:localize("package","packages ({0})"),[25]:localize("typeParameter","type parameters ({0})"),[1]:localize("modules","modules ({0})"),[6]:localize("property","properties ({0})"),[9]:localize("enum","enumerations ({0})"),[21]:localize("enumMember","enumeration members ({0})"),[14]:localize("string","strings ({0})"),[0]:localize("file","files ({0})"),[17]:localize("array","arrays ({0})"),[15]:localize("number","numbers ({0})"),[16]:localize("boolean","booleans ({0})"),[18]:localize("object","objects ({0})"),[19]:localize("key","keys ({0})"),[7]:localize("field","fields ({0})"),[13]:localize("constant","constants ({0})")};init_platform2();init_quickAccess();init_codeEditorService();init_standaloneStrings();init_event();init_editorExtensions();init_editorContextKeys();init_quickInput();init_outlineModel2();init_languageFeatures();var __decorate135=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param128=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var StandaloneGotoSymbolQuickAccessProvider=class StandaloneGotoSymbolQuickAccessProvider2 extends AbstractGotoSymbolQuickAccessProvider{constructor(editorService,languageFeaturesService,outlineModelService){super(languageFeaturesService,outlineModelService);this.editorService=editorService;this.onDidActiveTextEditorControlChange=Event.None}get activeTextEditorControl(){var _a6;return(_a6=this.editorService.getFocusedCodeEditor())!==null&&_a6!==void 0?_a6:void 0}};StandaloneGotoSymbolQuickAccessProvider=__decorate135([__param128(0,ICodeEditorService),__param128(1,ILanguageFeaturesService),__param128(2,IOutlineModelService)],StandaloneGotoSymbolQuickAccessProvider);var GotoSymbolAction=class extends EditorAction{constructor(){super({id:GotoSymbolAction.ID,label:QuickOutlineNLS.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:EditorContextKeys.hasDocumentSymbolProvider,kbOpts:{kbExpr:EditorContextKeys.focus,primary:2048|1024|45,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(accessor){accessor.get(IQuickInputService).quickAccess.show(AbstractGotoSymbolQuickAccessProvider.PREFIX,{itemActivation:ItemActivation.NONE})}};GotoSymbolAction.ID="editor.action.quickOutline";registerEditorAction(GotoSymbolAction);Registry.as(Extensions9.Quickaccess).registerQuickAccessProvider({ctor:StandaloneGotoSymbolQuickAccessProvider,prefix:AbstractGotoSymbolQuickAccessProvider.PREFIX,helpEntries:[{description:QuickOutlineNLS.quickOutlineActionLabel,prefix:AbstractGotoSymbolQuickAccessProvider.PREFIX,commandId:GotoSymbolAction.ID},{description:QuickOutlineNLS.quickOutlineByCategoryActionLabel,prefix:AbstractGotoSymbolQuickAccessProvider.PREFIX_BY_CATEGORY}]});init_platform2();init_quickAccess();init_standaloneStrings();init_codeEditorService();init_iconLabels();init_arrays();init_types();init_nls();function exceptionToErrorMessage(exception,verbose){if(verbose&&(exception.stack||exception.stacktrace)){return localize("stackTrace.format","{0}: {1}",detectSystemErrorMessage(exception),stackToString(exception.stack)||stackToString(exception.stacktrace))}return detectSystemErrorMessage(exception)}function stackToString(stack){if(Array.isArray(stack)){return stack.join("\n")}return stack}function detectSystemErrorMessage(exception){if(exception.code==="ERR_UNC_HOST_NOT_ALLOWED"){return`${exception.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`}if(typeof exception.code==="string"&&typeof exception.errno==="number"&&typeof exception.syscall==="string"){return localize("nodeExceptionMessage","A system error occurred ({0})",exception.message)}return exception.message||localize("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}function toErrorMessage(error=null,verbose=false){if(!error){return localize("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}if(Array.isArray(error)){const errors=coalesce(error);const msg=toErrorMessage(errors[0],verbose);if(errors.length>1){return localize("error.moreErrors","{0} ({1} errors in total)",msg,errors.length)}return msg}if(isString(error)){return error}if(error.detail){const detail=error.detail;if(detail.error){return exceptionToErrorMessage(detail.error,verbose)}if(detail.exception){return exceptionToErrorMessage(detail.exception,verbose)}}if(error.stack){return exceptionToErrorMessage(error,verbose)}if(error.message){return error.message}return localize("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}init_errors();init_filters();init_lifecycle();init_map();init_nls();init_commands();init_configuration();init_dialogs();init_instantiation();init_keybinding();init_async();init_cancellation();init_lifecycle();init_types();var __awaiter99=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var TriggerAction;(function(TriggerAction2){TriggerAction2[TriggerAction2["NO_ACTION"]=0]="NO_ACTION";TriggerAction2[TriggerAction2["CLOSE_PICKER"]=1]="CLOSE_PICKER";TriggerAction2[TriggerAction2["REFRESH_PICKER"]=2]="REFRESH_PICKER";TriggerAction2[TriggerAction2["REMOVE_ITEM"]=3]="REMOVE_ITEM"})(TriggerAction||(TriggerAction={}));function isPicksWithActive(obj){const candidate=obj;return Array.isArray(candidate.items)}function isFastAndSlowPicks(obj){const candidate=obj;return!!candidate.picks&&candidate.additionalPicks instanceof Promise}var PickerQuickAccessProvider=class extends Disposable{constructor(prefix,options2){super();this.prefix=prefix;this.options=options2}provide(picker,token,runOptions){var _a6;const disposables=new DisposableStore;picker.canAcceptInBackground=!!((_a6=this.options)===null||_a6===void 0?void 0:_a6.canAcceptInBackground);picker.matchOnLabel=picker.matchOnDescription=picker.matchOnDetail=picker.sortByLabel=false;let picksCts=void 0;const picksDisposable=disposables.add(new MutableDisposable);const updatePickerItems=()=>__awaiter99(this,void 0,void 0,(function*(){const picksDisposables=picksDisposable.value=new DisposableStore;picksCts===null||picksCts===void 0?void 0:picksCts.dispose(true);picker.busy=false;picksCts=new CancellationTokenSource(token);const picksToken=picksCts.token;const picksFilter=picker.value.substr(this.prefix.length).trim();const providedPicks=this._getPicks(picksFilter,picksDisposables,picksToken,runOptions);const applyPicks=(picks,skipEmpty)=>{var _a7;let items;let activeItem=void 0;if(isPicksWithActive(picks)){items=picks.items;activeItem=picks.active}else{items=picks}if(items.length===0){if(skipEmpty){return false}if((picksFilter.length>0||picker.hideInput)&&((_a7=this.options)===null||_a7===void 0?void 0:_a7.noResultsPick)){if(isFunction(this.options.noResultsPick)){items=[this.options.noResultsPick(picksFilter)]}else{items=[this.options.noResultsPick]}}}picker.items=items;if(activeItem){picker.activeItems=[activeItem]}return true};const applyFastAndSlowPicks=fastAndSlowPicks=>__awaiter99(this,void 0,void 0,(function*(){let fastPicksApplied=false;let slowPicksApplied=false;yield Promise.all([(()=>__awaiter99(this,void 0,void 0,(function*(){if(typeof fastAndSlowPicks.mergeDelay==="number"){yield timeout(fastAndSlowPicks.mergeDelay);if(picksToken.isCancellationRequested){return}}if(!slowPicksApplied){fastPicksApplied=applyPicks(fastAndSlowPicks.picks,true)}})))(),(()=>__awaiter99(this,void 0,void 0,(function*(){picker.busy=true;try{const awaitedAdditionalPicks=yield fastAndSlowPicks.additionalPicks;if(picksToken.isCancellationRequested){return}let picks;let activePick=void 0;if(isPicksWithActive(fastAndSlowPicks.picks)){picks=fastAndSlowPicks.picks.items;activePick=fastAndSlowPicks.picks.active}else{picks=fastAndSlowPicks.picks}let additionalPicks;let additionalActivePick=void 0;if(isPicksWithActive(awaitedAdditionalPicks)){additionalPicks=awaitedAdditionalPicks.items;additionalActivePick=awaitedAdditionalPicks.active}else{additionalPicks=awaitedAdditionalPicks}if(additionalPicks.length>0||!fastPicksApplied){let fallbackActivePick=void 0;if(!activePick&&!additionalActivePick){const fallbackActivePickCandidate=picker.activeItems[0];if(fallbackActivePickCandidate&&picks.indexOf(fallbackActivePickCandidate)!==-1){fallbackActivePick=fallbackActivePickCandidate}}applyPicks({items:[...picks,...additionalPicks],active:activePick||additionalActivePick||fallbackActivePick})}}finally{if(!picksToken.isCancellationRequested){picker.busy=false}slowPicksApplied=true}})))()])}));if(providedPicks===null){}else if(isFastAndSlowPicks(providedPicks)){yield applyFastAndSlowPicks(providedPicks)}else if(!(providedPicks instanceof Promise)){applyPicks(providedPicks)}else{picker.busy=true;try{const awaitedPicks=yield providedPicks;if(picksToken.isCancellationRequested){return}if(isFastAndSlowPicks(awaitedPicks)){yield applyFastAndSlowPicks(awaitedPicks)}else{applyPicks(awaitedPicks)}}finally{if(!picksToken.isCancellationRequested){picker.busy=false}}}}));disposables.add(picker.onDidChangeValue((()=>updatePickerItems())));updatePickerItems();disposables.add(picker.onDidAccept((event=>{const[item]=picker.selectedItems;if(typeof(item===null||item===void 0?void 0:item.accept)==="function"){if(!event.inBackground){picker.hide()}item.accept(picker.keyMods,event)}})));disposables.add(picker.onDidTriggerItemButton((({button:button,item:item})=>__awaiter99(this,void 0,void 0,(function*(){var _b3,_c2;if(typeof item.trigger==="function"){const buttonIndex=(_c2=(_b3=item.buttons)===null||_b3===void 0?void 0:_b3.indexOf(button))!==null&&_c2!==void 0?_c2:-1;if(buttonIndex>=0){const result=item.trigger(buttonIndex,picker.keyMods);const action=typeof result==="number"?result:yield result;if(token.isCancellationRequested){return}switch(action){case TriggerAction.NO_ACTION:break;case TriggerAction.CLOSE_PICKER:picker.hide();break;case TriggerAction.REFRESH_PICKER:updatePickerItems();break;case TriggerAction.REMOVE_ITEM:{const index=picker.items.indexOf(item);if(index!==-1){const items=picker.items.slice();const removed=items.splice(index,1);const activeItems=picker.activeItems.filter((activeItem=>activeItem!==removed[0]));const keepScrollPositionBefore=picker.keepScrollPosition;picker.keepScrollPosition=true;picker.items=items;if(activeItems){picker.activeItems=activeItems}picker.keepScrollPosition=keepScrollPositionBefore}break}}}}})))));return disposables}};init_storage2();init_telemetry();var __decorate136=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param129=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter100=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var AbstractCommandsQuickAccessProvider_1;var CommandsHistory_1;var AbstractCommandsQuickAccessProvider=AbstractCommandsQuickAccessProvider_1=class AbstractCommandsQuickAccessProvider2 extends PickerQuickAccessProvider{constructor(options2,instantiationService,keybindingService,commandService,telemetryService,dialogService){super(AbstractCommandsQuickAccessProvider_1.PREFIX,options2);this.instantiationService=instantiationService;this.keybindingService=keybindingService;this.commandService=commandService;this.telemetryService=telemetryService;this.dialogService=dialogService;this.commandsHistory=this._register(this.instantiationService.createInstance(CommandsHistory));this.options=options2}_getPicks(filter,_disposables,token,runOptions){var _a6,_b3,_c2,_d2;return __awaiter100(this,void 0,void 0,(function*(){const allCommandPicks=yield this.getCommandPicks(token);if(token.isCancellationRequested){return[]}const filteredCommandPicks=[];for(const commandPick of allCommandPicks){const labelHighlights=(_a6=AbstractCommandsQuickAccessProvider_1.WORD_FILTER(filter,commandPick.label))!==null&&_a6!==void 0?_a6:void 0;const aliasHighlights=commandPick.commandAlias?(_b3=AbstractCommandsQuickAccessProvider_1.WORD_FILTER(filter,commandPick.commandAlias))!==null&&_b3!==void 0?_b3:void 0:void 0;if(labelHighlights||aliasHighlights){commandPick.highlights={label:labelHighlights,detail:this.options.showAlias?aliasHighlights:void 0};filteredCommandPicks.push(commandPick)}else if(filter===commandPick.commandId){filteredCommandPicks.push(commandPick)}}const mapLabelToCommand=new Map;for(const commandPick of filteredCommandPicks){const existingCommandForLabel=mapLabelToCommand.get(commandPick.label);if(existingCommandForLabel){commandPick.description=commandPick.commandId;existingCommandForLabel.description=existingCommandForLabel.commandId}else{mapLabelToCommand.set(commandPick.label,commandPick)}}filteredCommandPicks.sort(((commandPickA,commandPickB)=>{const commandACounter=this.commandsHistory.peek(commandPickA.commandId);const commandBCounter=this.commandsHistory.peek(commandPickB.commandId);if(commandACounter&&commandBCounter){return commandACounter>commandBCounter?-1:1}if(commandACounter){return-1}if(commandBCounter){return 1}if(this.options.suggestedCommandIds){const commandASuggestion=this.options.suggestedCommandIds.has(commandPickA.commandId);const commandBSuggestion=this.options.suggestedCommandIds.has(commandPickB.commandId);if(commandASuggestion&&commandBSuggestion){return 0}if(commandASuggestion){return-1}if(commandBSuggestion){return 1}}return commandPickA.label.localeCompare(commandPickB.label)}));const commandPicks=[];let addOtherSeparator=false;let addCommonlyUsedSeparator=!!this.options.suggestedCommandIds;for(let i=0;i<filteredCommandPicks.length;i++){const commandPick=filteredCommandPicks[i];if(i===0&&this.commandsHistory.peek(commandPick.commandId)){commandPicks.push({type:"separator",label:localize("recentlyUsed","recently used")});addOtherSeparator=true}if(addCommonlyUsedSeparator&&!this.commandsHistory.peek(commandPick.commandId)&&((_c2=this.options.suggestedCommandIds)===null||_c2===void 0?void 0:_c2.has(commandPick.commandId))){commandPicks.push({type:"separator",label:localize("commonlyUsed","commonly used")});addOtherSeparator=true;addCommonlyUsedSeparator=false}if(addOtherSeparator&&!this.commandsHistory.peek(commandPick.commandId)&&!((_d2=this.options.suggestedCommandIds)===null||_d2===void 0?void 0:_d2.has(commandPick.commandId))){commandPicks.push({type:"separator",label:localize("morecCommands","other commands")});addOtherSeparator=false}commandPicks.push(this.toCommandPick(commandPick,runOptions))}if(!this.hasAdditionalCommandPicks(filter,token)){return commandPicks}return{picks:commandPicks,additionalPicks:(()=>__awaiter100(this,void 0,void 0,(function*(){const additionalCommandPicks=yield this.getAdditionalCommandPicks(allCommandPicks,filteredCommandPicks,filter,token);if(token.isCancellationRequested){return[]}return additionalCommandPicks.map((commandPick=>this.toCommandPick(commandPick,runOptions)))})))()}}))}toCommandPick(commandPick,runOptions){if(commandPick.type==="separator"){return commandPick}const keybinding=this.keybindingService.lookupKeybinding(commandPick.commandId);const ariaLabel=keybinding?localize("commandPickAriaLabelWithKeybinding","{0}, {1}",commandPick.label,keybinding.getAriaLabel()):commandPick.label;return Object.assign(Object.assign({},commandPick),{ariaLabel:ariaLabel,detail:this.options.showAlias&&commandPick.commandAlias!==commandPick.label?commandPick.commandAlias:void 0,keybinding:keybinding,accept:()=>__awaiter100(this,void 0,void 0,(function*(){var _a6,_b3;this.commandsHistory.push(commandPick.commandId);this.telemetryService.publicLog2("workbenchActionExecuted",{id:commandPick.commandId,from:(_a6=runOptions===null||runOptions===void 0?void 0:runOptions.from)!==null&&_a6!==void 0?_a6:"quick open"});try{((_b3=commandPick.args)===null||_b3===void 0?void 0:_b3.length)?yield this.commandService.executeCommand(commandPick.commandId,...commandPick.args):yield this.commandService.executeCommand(commandPick.commandId)}catch(error){if(!isCancellationError(error)){this.dialogService.error(localize("canNotRun","Command '{0}' resulted in an error",commandPick.label),toErrorMessage(error))}}}))})}};AbstractCommandsQuickAccessProvider.PREFIX=">";AbstractCommandsQuickAccessProvider.WORD_FILTER=or(matchesPrefix,matchesWords,matchesContiguousSubString);AbstractCommandsQuickAccessProvider=AbstractCommandsQuickAccessProvider_1=__decorate136([__param129(1,IInstantiationService),__param129(2,IKeybindingService),__param129(3,ICommandService),__param129(4,ITelemetryService),__param129(5,IDialogService)],AbstractCommandsQuickAccessProvider);var CommandsHistory=CommandsHistory_1=class CommandsHistory2 extends Disposable{constructor(storageService,configurationService){super();this.storageService=storageService;this.configurationService=configurationService;this.configuredCommandsHistoryLength=0;this.updateConfiguration();this.load();this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration((e=>this.updateConfiguration(e))))}updateConfiguration(e){if(e&&!e.affectsConfiguration("workbench.commandPalette.history")){return}this.configuredCommandsHistoryLength=CommandsHistory_1.getConfiguredCommandHistoryLength(this.configurationService);if(CommandsHistory_1.cache&&CommandsHistory_1.cache.limit!==this.configuredCommandsHistoryLength){CommandsHistory_1.cache.limit=this.configuredCommandsHistoryLength;CommandsHistory_1.saveState(this.storageService)}}load(){const raw=this.storageService.get(CommandsHistory_1.PREF_KEY_CACHE,0);let serializedCache;if(raw){try{serializedCache=JSON.parse(raw)}catch(error){}}const cache=CommandsHistory_1.cache=new LRUCache(this.configuredCommandsHistoryLength,1);if(serializedCache){let entries2;if(serializedCache.usesLRU){entries2=serializedCache.entries}else{entries2=serializedCache.entries.sort(((a,b)=>a.value-b.value))}entries2.forEach((entry=>cache.set(entry.key,entry.value)))}CommandsHistory_1.counter=this.storageService.getNumber(CommandsHistory_1.PREF_KEY_COUNTER,0,CommandsHistory_1.counter)}push(commandId){if(!CommandsHistory_1.cache){return}CommandsHistory_1.cache.set(commandId,CommandsHistory_1.counter++);CommandsHistory_1.saveState(this.storageService)}peek(commandId){var _a6;return(_a6=CommandsHistory_1.cache)===null||_a6===void 0?void 0:_a6.peek(commandId)}static saveState(storageService){if(!CommandsHistory_1.cache){return}const serializedCache={usesLRU:true,entries:[]};CommandsHistory_1.cache.forEach(((value,key)=>serializedCache.entries.push({key:key,value:value})));storageService.store(CommandsHistory_1.PREF_KEY_CACHE,JSON.stringify(serializedCache),0,0);storageService.store(CommandsHistory_1.PREF_KEY_COUNTER,CommandsHistory_1.counter,0,0)}static getConfiguredCommandHistoryLength(configurationService){var _a6,_b3;const config=configurationService.getValue();const configuredCommandHistoryLength=(_b3=(_a6=config.workbench)===null||_a6===void 0?void 0:_a6.commandPalette)===null||_b3===void 0?void 0:_b3.history;if(typeof configuredCommandHistoryLength==="number"){return configuredCommandHistoryLength}return CommandsHistory_1.DEFAULT_COMMANDS_HISTORY_LENGTH}};CommandsHistory.DEFAULT_COMMANDS_HISTORY_LENGTH=50;CommandsHistory.PREF_KEY_CACHE="commandPalette.mru.cache";CommandsHistory.PREF_KEY_COUNTER="commandPalette.mru.counter";CommandsHistory.counter=1;CommandsHistory=CommandsHistory_1=__decorate136([__param129(0,IStorageService),__param129(1,IConfigurationService)],CommandsHistory);var AbstractEditorCommandsQuickAccessProvider=class extends AbstractCommandsQuickAccessProvider{constructor(options2,instantiationService,keybindingService,commandService,telemetryService,dialogService){super(options2,instantiationService,keybindingService,commandService,telemetryService,dialogService)}getCodeEditorCommandPicks(){const activeTextEditorControl=this.activeTextEditorControl;if(!activeTextEditorControl){return[]}const editorCommandPicks=[];for(const editorAction of activeTextEditorControl.getSupportedActions()){editorCommandPicks.push({commandId:editorAction.id,commandAlias:editorAction.alias,label:stripIcons(editorAction.label)||editorAction.id})}return editorCommandPicks}};init_instantiation();init_keybinding();init_commands();init_telemetry();init_dialogs();init_editorExtensions();init_editorContextKeys();init_quickInput();var __decorate137=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param130=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var __awaiter101=function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P((function(resolve2){resolve2(value)}))}return new(P||(P=Promise))((function(resolve2,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve2(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())}))};var StandaloneCommandsQuickAccessProvider=class StandaloneCommandsQuickAccessProvider2 extends AbstractEditorCommandsQuickAccessProvider{get activeTextEditorControl(){var _a6;return(_a6=this.codeEditorService.getFocusedCodeEditor())!==null&&_a6!==void 0?_a6:void 0}constructor(instantiationService,codeEditorService,keybindingService,commandService,telemetryService,dialogService){super({showAlias:false},instantiationService,keybindingService,commandService,telemetryService,dialogService);this.codeEditorService=codeEditorService}getCommandPicks(){return __awaiter101(this,void 0,void 0,(function*(){return this.getCodeEditorCommandPicks()}))}hasAdditionalCommandPicks(){return false}getAdditionalCommandPicks(){return __awaiter101(this,void 0,void 0,(function*(){return[]}))}};StandaloneCommandsQuickAccessProvider=__decorate137([__param130(0,IInstantiationService),__param130(1,ICodeEditorService),__param130(2,IKeybindingService),__param130(3,ICommandService),__param130(4,ITelemetryService),__param130(5,IDialogService)],StandaloneCommandsQuickAccessProvider);var GotoLineAction2=class extends EditorAction{constructor(){super({id:GotoLineAction2.ID,label:QuickCommandNLS.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(accessor){accessor.get(IQuickInputService).quickAccess.show(StandaloneCommandsQuickAccessProvider.PREFIX)}};GotoLineAction2.ID="editor.action.quickCommand";registerEditorAction(GotoLineAction2);Registry.as(Extensions9.Quickaccess).registerQuickAccessProvider({ctor:StandaloneCommandsQuickAccessProvider,prefix:StandaloneCommandsQuickAccessProvider.PREFIX,helpEntries:[{description:QuickCommandNLS.quickCommandHelp,commandId:GotoLineAction2.ID}]});init_editorExtensions();init_codeEditorService();init_configuration();init_contextkey();init_instantiation();init_notification();init_storage2();var __decorate138=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r};var __param131=function(paramIndex,decorator){return function(target,key){decorator(target,key,paramIndex)}};var StandaloneReferencesController=class StandaloneReferencesController2 extends ReferencesController{constructor(editor2,contextKeyService,editorService,notificationService,instantiationService,storageService,configurationService){super(true,editor2,contextKeyService,editorService,notificationService,instantiationService,storageService,configurationService)}};StandaloneReferencesController=__decorate138([__param131(1,IContextKeyService),__param131(2,ICodeEditorService),__param131(3,INotificationService),__param131(4,IInstantiationService),__param131(5,IStorageService),__param131(6,IConfigurationService)],StandaloneReferencesController);registerEditorContribution(ReferencesController.ID,StandaloneReferencesController,4);init_editorExtensions();init_standaloneTheme();init_standaloneStrings();init_theme();init_standaloneThemeService();var ToggleHighContrast=class extends EditorAction{constructor(){super({id:"editor.action.toggleHighContrast",label:ToggleHighContrastNLS.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0});this._originalThemeName=null}run(accessor,editor2){const standaloneThemeService=accessor.get(IStandaloneThemeService);const currentTheme=standaloneThemeService.getColorTheme();if(isHighContrast(currentTheme.type)){standaloneThemeService.setTheme(this._originalThemeName||(isDark(currentTheme.type)?VS_DARK_THEME_NAME:VS_LIGHT_THEME_NAME));this._originalThemeName=null}else{standaloneThemeService.setTheme(isDark(currentTheme.type)?HC_BLACK_THEME_NAME:HC_LIGHT_THEME_NAME);this._originalThemeName=currentTheme.themeName}}};registerEditorAction(ToggleHighContrast);init_editor_api();var isObsidianThemeDark=()=>document.body.classList.contains("theme-dark");function getThemeColor(themeColor){let theme="vs";if(themeColor==="AUTO"){theme=isObsidianThemeDark()===true?"vs-dark":"vs"}else if(themeColor==="DARK"){theme="vs-dark"}else if(themeColor==="LIGHT"){theme="vs"}return theme}function genEditorSettings(setting,language81,minimap=true,wordwrap=false){let minimapFlag=setting.minimap;if(minimap===false){minimapFlag=false}const minmap={enabled:minimapFlag};let wordwrapFlag=setting.wordWrap;if(wordwrap===true){wordwrapFlag=wordwrap}let settings={automaticLayout:true,language:getLanguage(language81),theme:getThemeColor(setting.themeColor),lineNumbers:setting.lineNumbers?"on":"off",wordWrap:wordwrapFlag?"on":"off",minimap:minmap,folding:setting.folding,fontSize:setting.fontSize,unicodeHighlight:{ambiguousCharacters:false,invisibleCharacters:false},scrollBeyondLastLine:false,"semanticHighlighting.enabled":true};return settings}function getLanguage(extension){switch(extension){case"js":case"es6":case"jsx":case"cjs":case"mjs":return"javascript";case"ts":case"tsx":case"cts":case"mts":return"typescript";case"json":return"json";case"py":case"rpy":case"pyu":case"cpy":case"gyp":case"gypi":return"python";case"css":return"css";case"html":case"htm":case"shtml":case"xhtml":case"mdoc":case"jsp":case"asp":case"aspx":case"jshtm":return"html";case"cpp":case"c++":case"cc":case"cxx":case"hpp":case"hh":case"hxx":return"cpp";case"graphql":case"gql":return"graphql";case"java":case"jav":return"java";case"php":case"php4":case"php5":case"phtml":case"ctp":return"php";case"sql":return"sql";case"yaml":case"yml":return"yaml";case"bat":case"batch":return"bat";case"lua":return"lua";case"rb":case"rbx":case"rjs":case"gemspec":return"ruby";case"markdown":case"mdown":case"mkdn":case"mkd":case"mdwn":case"mdtxt":case"mdtext":case"mdx":return"markdown";case"r":case"rhistory":case"rmd":case"rprofile":case"rt":return"r";case"ftl":case"ftlh":case"ftlx":return"freemarker2";case"rst":return"restructuredtext";case"hcl":case"tf":case"tfvars":return"hcl";case"ini":case"properties":case"gitconfig":return"ini";case"pug":case"jade":return"pug";case"dart":return"dart";case"rs":case"rlib":return"rust";case"less":return"less";case"cls":return"apex";case"tcl":return"tcl";case"abap":return"abap";case"ecl":return"ecl";case"pla":return"pla";case"cmd":return"bat";case"vb":return"vb";case"sb":return"sb";case"m3":case"i3":case"mg":case"ig":return"m3";case"go":return"go";case"s":return"mips";case"pl":case"pm":return"perl";case"wgsl":return"wgsl";case"twig":return"twig";case"scss":return"scss";case"redis":return"redis";case"sh":case"bash":return"shell";case"scala":case"sc":case"sbt":return"scala";case"jl":return"julia";case"dax":case"msdax":return"msdax";case"lex":return"lexon";case"cshtml":return"razor";case"bicep":return"bicep";case"azcli":return"azcli";case"swift":case"Swift":return"swift";case"flow":return"flow9";case"xml":case"xsd":case"dtd":case"ascx":case"csproj":case"config":case"props":case"targets":case"wxi":case"wxl":case"wxs":case"xaml":case"svgz":case"opf":case"xslt":case"xsl":return"xml";case"kt":case"kts":return"kotlin";case"cypher":case"cyp":return"cypher";case"coffee":return"coffeescript";case"fs":case"fsi":case"ml":case"mli":case"fsx":case"fsscript":return"fsharp";case"scm":case"ss":case"sch":case"rkt":return"scheme";case"rq":return"sparql";case"aes":return"aes";case"liquid":case"html.liquid":return"liquid";case"pas":case"p":case"pp":return"pascal";case"ex":case"exs":return"elixir";case"qs":return"qsharp";case"cs":case"csx":case"cake":return"csharp";case"clj":case"cljs":case"cljc":case"edn":return"clojure";case"mligo":return"cameligo";case"sol":return"sol";case"proto":return"proto";case"dats":case"sats":case"hats":return"postiats";case"ligo":return"pascaligo";case"dockerfile":return"dockerfile";case"handlebars":case"hbs":return"handlebars";case"pq":case"pqm":return"powerquery";case"m":return"objective-c";case"sv":case"svh":return"systemverilog";case"v":case"vh":return"verilog";case"st":case"iecst":case"iecplc":case"lc3lib":return"st";case"c":case"h":return"c";default:return"plaintext"}}var CodeEditorView=class extends import_obsidian.TextFileView{constructor(leaf,plugin){super(leaf);this.plugin=plugin;this.value="";this.getViewData=()=>this.monacoEditor.getValue();this.setViewData=(data,clear)=>{var _a6;if(clear){(_a6=this.monacoEditor.getModel())==null?void 0:_a6.setValue(data)}else{this.monacoEditor.setValue(data)}};this.clear=()=>{this.monacoEditor.setValue("")};this.addKeyEvents=()=>{window.addEventListener("keydown",this.keyHandle,true)};this.addCtrlKeyWheelEvents=()=>{this.containerEl.addEventListener("wheel",this.mousewheelHandle,true)};this.keyHandle=event=>{const ctrlMap=new Map([["f","actions.find"],["h","editor.action.startFindReplaceAction"],["/","editor.action.commentLine"],["Enter","editor.action.insertLineAfter"],["[","editor.action.outdentLines"],["]","editor.action.indentLines"],["d","editor.action.copyLinesDownAction"]]);if(event.ctrlKey){const triggerName=ctrlMap.get(event.key);if(triggerName){this.monacoEditor.trigger("",triggerName,null)}}if(event.altKey){if(event.key==="z"){this.plugin.settings.wordWrap=!this.plugin.settings.wordWrap;this.plugin.saveSettings();this.monacoEditor.updateOptions({wordWrap:this.plugin.settings.wordWrap?"on":"off"})}}};this.mousewheelHandle=event=>{if(event.ctrlKey){let delta=0<event.deltaY?1:-1;this.plugin.settings.fontSize+=delta;this.plugin.saveSettings();this.monacoEditor.updateOptions({fontSize:this.plugin.settings.fontSize});event.stopPropagation()}}}async onOpen(){await super.onOpen()}async onLoadFile(file){var _a6,_b3;let setting=genEditorSettings(this.plugin.settings,(_b3=(_a6=this.file)==null?void 0:_a6.extension)!=null?_b3:"");this.monacoEditor=editor.create(this.contentEl,setting);this.monacoEditor.onDidChangeModelContent((()=>{this.requestSave()}));this.addCtrlKeyWheelEvents();this.addKeyEvents();await super.onLoadFile(file)}async onUnloadFile(file){window.removeEventListener("keydown",this.keyHandle,true);await super.onUnloadFile(file);this.monacoEditor.dispose()}async onClose(){await super.onClose()}onResize(){this.monacoEditor.layout()}getViewType(){return viewType}getContext(file){var _a6,_b3;return(_b3=file==null?void 0:file.path)!=null?_b3:(_a6=this.file)==null?void 0:_a6.path}};var import_obsidian2=require("obsidian");var CreateCodeFileModal=class extends import_obsidian2.Modal{constructor(plugin,parent){super(plugin.app);this.plugin=plugin;this.fileName="My code file";this.fileExtension=this.plugin.settings.extensions[0];this.parent=parent!=null?parent:this.plugin.app.vault.getRoot()}onOpen(){const{contentEl:contentEl}=this;contentEl.addClass("create-code-file-modal");const fileNameInput=new import_obsidian2.TextComponent(contentEl);fileNameInput.inputEl.addClass("modal_input");fileNameInput.setValue(this.fileName);fileNameInput.inputEl.addEventListener("keypress",(e=>{if(e.key==="Enter"){this.complete()}}));fileNameInput.onChange((value=>this.fileName=value));const fileExtensionInput=new import_obsidian2.DropdownComponent(contentEl);fileExtensionInput.selectEl.addClass("modal_select");fileExtensionInput.addOptions(this.plugin.settings.extensions.reduce(((acc,ext)=>{acc[ext]=ext;return acc}),{}));fileExtensionInput.setValue(this.fileExtension);fileExtensionInput.onChange((value=>this.fileExtension=value));fileExtensionInput.selectEl.addEventListener("keypress",(e=>{if(e.key==="Enter"){this.complete()}}));const submitButton=new import_obsidian2.ButtonComponent(contentEl);submitButton.setCta();submitButton.setButtonText("Create");submitButton.onClick((()=>this.complete()));fileNameInput.inputEl.focus()}async complete(){this.close();const parent=this.parent instanceof import_obsidian2.TFile?this.parent.parent:this.parent;const newPath=`${parent.path}/${this.fileName}.${this.fileExtension}`;const existingFile=this.app.vault.getAbstractFileByPath((0,import_obsidian2.normalizePath)(newPath));if(existingFile&&existingFile instanceof import_obsidian2.TFile){new import_obsidian2.Notice("File already exists");const leaf2=this.app.workspace.getLeaf(true);leaf2.openFile(existingFile);return}const newFile=await this.app.vault.create(newPath,"",{});const leaf=this.app.workspace.getLeaf(true);leaf.openFile(newFile)}onClose(){const{contentEl:contentEl}=this;contentEl.empty()}};var import_obsidian4=require("obsidian");var import_obsidian3=require("obsidian");var ar_default={};var cz_default={};var da_default={};var de_default={};var en_default={AUTO:"Following system",LIGHT:"Light",DARK:"Dark",BASE_COLOR:"Base color",BASE_COLOR_DESC:"Choose a base color for the code editor, the base color defaults to follow the base color of obsidian.",CODE_SETTING:"VSCode editor settings",FONT_SIZE:"Font size",FONT_SIZE_DESC:'Set the font size of the code editor.You can also use "ctrl + mouse wheel" to zoom in and out of the code editor.',FILE_EXTENSIONS:"File extensions",FILE_EXTENSIONS_DESC:"Files with these extensions will show up in the sidebar, and will be available to create new files from. Seperated by commas. Changes to the file extensions need a restart to take effect.",FOLDING:"Code block folding",FOLDING_DESC:"Editor will support code block folding.",LINE_NUMBERS:"Line numbers",LINE_NUMBERS_DESC:"Show line numbers in the code editor.",MINIMAP:"Minimap",MINIMAP_DESC:"Editor will show a minimap.",WORDWRAP:"Word wrap",WORDWRAP_DESC:"Editor will wrap long lines.",CREATE_CODE:"Create Code File",REGISTE_ERROR:"VSCode Editor Plugin Error",REGISTE_ERROR_DESC:"{0}\nThere may already be other plugins registered with the same file extension. Please change the extension in the settings of the VSCode Editor Plugin or disable conflicting plugins.",EDIT_FENCE:"Edit Code Block in VSCode Editor Plugin"};var en_gb_default={};var es_default={};var fr_default={};var hi_default={};var id_default={};var it_default={};var ja_default={};var ko_default={};var nl_default={};var no_default={};var pl_default={};var pt_default={};var pt_br_default={};var ro_default={};var ru_default={};var tr_default={};var zh_cn_default={AUTO:"跟随系统",LIGHT:"浅色",DARK:"深色",BASE_COLOR:"基础颜色",BASE_COLOR_DESC:"为代码编辑器选择一个基础颜色基础颜色默认跟随obsidian的基础颜色。",CODE_SETTING:"VSCode 编辑器设置",FONT_SIZE:"字体大小",FONT_SIZE_DESC:'设置代码编辑器的字体大小。你也可以使用"Ctrl +鼠标滚轮"来放大和缩小代码编辑器。',FILE_EXTENSIONS:"文件扩展名",FILE_EXTENSIONS_DESC:"这些扩展名的文件将显示在侧边栏中,并可以从中创建新文件。用逗号分隔。更改文件扩展名需要重新启动才能生效。",FOLDING:"代码块折叠",FOLDING_DESC:"编辑器将支持代码块折叠。",LINE_NUMBERS:"行号",LINE_NUMBERS_DESC:"在代码编辑器中显示行号。",MINIMAP:"代码缩略图",MINIMAP_DESC:"编辑器将显示代码缩略图。",WORDWRAP:"自动折行",WORDWRAP_DESC:"过长的代码行将自动折行。",CREATE_CODE:"新建代码文件",REGISTE_ERROR:"VSCode Editor Plugin 错误",REGISTE_ERROR_DESC:"{0}\n可能已经有其他插件注册了相同的文件扩展名。请在 VSCode Editor Plugin的设置中更改扩展名或者禁用冲突的插件。",EDIT_FENCE:"在VSCode Editor Plugin中编辑代码块"};var zh_tw_default={AUTO:"跟隨系統",LIGHT:"淺色",DARK:"深色",BASE_COLOR:"基礎顏色",BASE_COLOR_DESC:"為代碼編輯器選擇一個基礎顏色,基礎顏色默認跟隨 Obsidian 的基礎顏色。",CODE_SETTING:"VSCode 編輯器設置",FONT_SIZE:"字體大小",FONT_SIZE_DESC:'設置代碼編輯器的字體大小。您也可以使用 "Ctrl + 滑鼠滾輪" 來放大和縮小代碼編輯器。',FILE_EXTENSIONS:"文件擴展名",FILE_EXTENSIONS_DESC:"這些擴展名的文件將顯示在側邊欄中,並可以從中創建新文件。用逗號分隔。更改文件擴展名需要重新啟動才能生效。",FOLDING:"代碼塊折疊",FOLDING_DESC:"編輯器將支持代碼塊折疊。",LINE_NUMBERS:"行號",LINE_NUMBERS_DESC:"在代碼編輯器中顯示行號。",MINIMAP:"代碼縮略圖",MINIMAP_DESC:"編輯器將顯示代碼縮略圖。",WORDWRAP:"自動換行",WORDWRAP_DESC:"過長的程式碼行將自動換行。",CREATE_CODE:"新建程式碼檔案",REGISTE_ERROR:"VSCode Editor Plugin 錯誤",REGISTE_ERROR_DESC:"{0}\n可能已經有其他插件註冊了相同的檔案擴展名。請在 VSCode Editor Plugin 的設置中更改擴展名,或者停用衝突的插件。",EDIT_FENCE:"在 VSCode 編輯器插件中編輯程式碼區塊"};var localeMap={ar:ar_default,cs:cz_default,da:da_default,de:de_default,en:en_default,"en-gb":en_gb_default,es:es_default,fr:fr_default,hi:hi_default,id:id_default,it:it_default,ja:ja_default,ko:ko_default,nl:nl_default,nn:no_default,pl:pl_default,pt:pt_default,"pt-br":pt_br_default,ro:ro_default,ru:ru_default,tr:tr_default,"zh-cn":zh_cn_default,"zh-tw":zh_tw_default};var locale=localeMap[import_obsidian3.moment.locale()];function t(str,...args){if(!locale){console.error("vscode editor plugin locale not found",import_obsidian3.moment.locale())}let s=locale&&locale[str]||en_default[str];return s.replace(/{(\d+)}/g,((match2,index)=>{const replacement=args[index];return typeof replacement!=="undefined"?replacement:match2}))}var THEME_COLOR={AUTO:"AUTO",LIGHT:"LIGHT",DARK:"DARK"};var CodeFilesSettingsTab=class extends import_obsidian4.PluginSettingTab{constructor(app,plugin){super(app,plugin);this.plugin=plugin}display(){const{containerEl:containerEl}=this;containerEl.empty();containerEl.createEl("h2",{text:t("CODE_SETTING")});new import_obsidian4.Setting(containerEl).setName(t("BASE_COLOR")).setDesc(t("BASE_COLOR_DESC")).addDropdown((async dropdown=>{for(const key in THEME_COLOR){dropdown.addOption(key,t(key))}dropdown.setValue(this.plugin.settings.themeColor);dropdown.onChange((async option=>{this.plugin.settings.themeColor=option;await this.plugin.saveSettings()}))}));let fontSizeText;new import_obsidian4.Setting(containerEl).setName(t("FONT_SIZE")).setDesc(t("FONT_SIZE_DESC")).addSlider((slider=>slider.setLimits(5,30,1).setValue(this.plugin.settings.fontSize).onChange((async value=>{fontSizeText.innerText=" "+value.toString();this.plugin.settings.fontSize=value;this.plugin.saveSettings()})))).settingEl.createDiv("",(el=>{fontSizeText=el;el.style.minWidth="2.3em";el.style.textAlign="right";el.innerText=" "+this.plugin.settings.fontSize.toString()}));new import_obsidian4.Setting(containerEl).setName(t("FILE_EXTENSIONS")).setDesc(t("FILE_EXTENSIONS_DESC")).addTextArea((text2=>text2.setValue(this.plugin.settings.extensions.join(",")).onChange((async value=>{this.plugin.settings.extensions=value.split(",");await this.plugin.saveSettings()})))).setClass("setting_ext");new import_obsidian4.Setting(containerEl).setName(t("WORDWRAP")).setDesc(t("WORDWRAP_DESC")).addToggle((toggle=>toggle.setValue(this.plugin.settings.wordWrap).onChange((async value=>{this.plugin.settings.wordWrap=value;await this.plugin.saveSettings()}))));new import_obsidian4.Setting(containerEl).setName(t("MINIMAP")).setDesc(t("MINIMAP_DESC")).addToggle((toggle=>toggle.setValue(this.plugin.settings.minimap).onChange((async value=>{this.plugin.settings.minimap=value;await this.plugin.saveSettings()}))));new import_obsidian4.Setting(containerEl).setName(t("LINE_NUMBERS")).setDesc(t("LINE_NUMBERS_DESC")).addToggle((toggle=>toggle.setValue(this.plugin.settings.lineNumbers).onChange((async value=>{this.plugin.settings.lineNumbers=value;await this.plugin.saveSettings()}))));new import_obsidian4.Setting(containerEl).setName(t("FOLDING")).setDesc(t("FOLDING_DESC")).addToggle((toggle=>toggle.setValue(this.plugin.settings.folding).onChange((async value=>{this.plugin.settings.folding=value;await this.plugin.saveSettings()}))))}};var import_obsidian5=require("obsidian");var mountCodeEditor=class{constructor(contentEl,plugin,code,language81,miniMap=true,wordWrap=false){this.value="";this.contentEl=contentEl;this.plugin=plugin;this.value=code;let setting=genEditorSettings(this.plugin.settings,language81,miniMap,wordWrap);this.monacoEditor=editor.create(this.contentEl,setting);this.monacoEditor.setValue(this.value)}getValue(){return this.monacoEditor.getValue()}};var FenceEditContext=class{constructor(plugin){this.plugin=plugin;this.start=0;this.end=0;this.isInValidFence=false;this.initializeStartAndEnd();this.validateFence()}static create(plugin){return new FenceEditContext(plugin)}initializeStartAndEnd(){var _a6,_b3;this.editor=(_a6=this.plugin.app.workspace.activeEditor)==null?void 0:_a6.editor;const cursor=(_b3=this.editor)==null?void 0:_b3.getCursor();if(!this.editor||!cursor)return;this.start=cursor.line;this.end=cursor.line;do{this.start--}while(this.start>=0&&!this.editor.getLine(this.start).startsWith("```"));do{this.end++}while(this.end<this.editor.lineCount()&&!this.editor.getLine(this.end).startsWith("```"))}validateFence(){if(!this.editor){return}if(this.start<0||this.end>=this.editor.lineCount()){return}let fenceLines=0;for(let i=0;i<this.start;i++){if(this.editor.getLine(i).startsWith("```")){fenceLines++}}if(fenceLines%2===1){return}this.isInValidFence=true}isInFence(){return this.isInValidFence}getFenceData(){if(!this.editor||!this.isInValidFence)return null;let editorContent="";for(let i=this.start+1;i<this.end;i++){editorContent+=`${this.editor.getLine(i)}\n`}const content=editorContent.slice(0,editorContent.length-1);const langKey=this.editor.getLine(this.start).slice(3).trim();const language81=getLanguage(langKey);return{content:content,language:language81}}getEditor(){return this.editor}getBounds(){return[this.start,this.end]}replaceFenceContent(value){var _a6;(_a6=this.editor)==null?void 0:_a6.replaceRange(`${value}\n`,{line:this.start+1,ch:0},{line:this.end,ch:0})}};var FenceEditModal=class extends import_obsidian5.Modal{constructor(plugin,code,language81,onSave){super(plugin.app);this.plugin=plugin;this.code=code;this.language=language81;this.onSave=onSave}onOpen(){super.onOpen();this.codeEditor=new mountCodeEditor(this.contentEl,this.plugin,this.code,this.language);this.modalEl.setCssProps({"--dialog-width":"90vw","--dialog-height":"90vh"});this.modalEl.style.height="var(--dialog-height)";let closeButton=this.modalEl.querySelector(".modal-close-button");closeButton.style.background="var(--modal-background)";closeButton.style.zIndex="9999"}onClose(){super.onClose();this.onSave(this.codeEditor.getValue())}static openOnCurrentCode(plugin){const context=FenceEditContext.create(plugin);if(!context.isInFence()){new import_obsidian5.Notice("Your cursor is currently not in a valid code block.");return}const fenceData=context.getFenceData();if(!fenceData){return}new FenceEditModal(plugin,fenceData.content,fenceData.language,(value=>context.replaceFenceContent(value))).open()}};var CodeFilesPlugin=class extends import_obsidian6.Plugin{constructor(){super(...arguments);this.hover={linkText:"",sourcePath:"",event:new MouseEvent("")}}async onload(){await this.loadSettings();this.registerView(viewType,(leaf=>new CodeEditorView(leaf,this)));try{this.registerExtensions(this.settings.extensions,viewType)}catch(e){let exts=this.settings.extensions.join(", ");new Notification(t("REGISTE_ERROR"),{body:t("REGISTE_ERROR_DESC",e.message)})}this.registerEvent(this.app.workspace.on("file-menu",((menu,file)=>{menu.addItem((item=>{item.setTitle(t("CREATE_CODE")).setIcon("file-json").onClick((async()=>{new CreateCodeFileModal(this,file).open()}))}))})));this.addRibbonIcon("file-json",t("CREATE_CODE"),(()=>{new CreateCodeFileModal(this).open()}));this.addCommand({id:"create",name:"Create new code file",callback:()=>{new CreateCodeFileModal(this).open()}});this.registerEvent(this.app.workspace.on("editor-menu",(menu=>{if(!FenceEditContext.create(this).isInFence()){return}menu.addItem((item=>{item.setTitle(t("EDIT_FENCE")).setIcon("code").onClick((()=>{FenceEditModal.openOnCurrentCode(this)}))}))})));this.observer=new MutationObserver((async mutation=>{if(mutation.length!==1)return;if(mutation[0].addedNodes.length!==1)return;if(this.hover.linkText===null)return;if(mutation[0].addedNodes[0].className!=="popover hover-popover")return;const file=this.app.metadataCache.getFirstLinkpathDest(this.hover.linkText,this.hover.sourcePath);if(!file)return;let valid=this.settings.extensions.includes(file.extension);if(valid===false)return;const fileContent=await this.app.vault.read(file);const node=mutation[0].addedNodes[0];const contentEl=createDiv();new mountCodeEditor(contentEl,this,fileContent,file.extension,false,true);let w=700;let h2=500;let gep=10;if(node instanceof HTMLDivElement){let x=this.hover.event.clientX;let y=this.hover.event.clientY;let target=this.hover.event.target;let targetRect=target.getBoundingClientRect();let targetTop=targetRect.top;let targetBottom=targetRect.bottom;let targeRight=targetRect.right;node.style.position="absolute";node.style.left=`${x+gep}px`;let spaceBelow=window.innerHeight-y-gep*3;let spaceAbove=y-gep*3;if(spaceBelow>h2){node.style.top=`${targetBottom+gep}px`}else if(spaceAbove>h2){node.style.top=`${targetTop-h2-gep}px`}else{node.style.top=`${targetTop-h2/2-gep}px`;node.style.left=`${targeRight+gep*2}px`}}contentEl.setCssProps({width:`${w}px`,height:`${h2}px`,"padding-top":"10px","padding-bottom":"10px"});node.empty();node.appendChild(contentEl)}));this.registerEvent(this.app.workspace.on("hover-link",(async event=>{const linkText=event.linktext;const sourcePath=event.sourcePath;if(!linkText||!sourcePath)return;this.hover.linkText=linkText;this.hover.sourcePath=sourcePath;this.hover.event=event.event})));this.observer.observe(document,{childList:true,subtree:true});this.addSettingTab(new CodeFilesSettingsTab(this.app,this))}onunload(){this.observer.disconnect()}async loadSettings(){this.settings=Object.assign({},DEFAULT_SETTINGS,await this.loadData())}async saveSettings(){await this.saveData(this.settings)}};
/*! Bundled license information:
monaco-editor/esm/vs/base/browser/dompurify/dompurify.js:
(*! @license DOMPurify 3.0.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.5/LICENSE *)
monaco-editor/esm/vs/basic-languages/abap/abap.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/apex/apex.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/azcli/azcli.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/bat/bat.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/bicep/bicep.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/cameligo/cameligo.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/clojure/clojure.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/coffee/coffee.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/cpp/cpp.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/csharp/csharp.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/csp/csp.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/css/css.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/cypher/cypher.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/dart/dart.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/ecl/ecl.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/elixir/elixir.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/flow9/flow9.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/fsharp/fsharp.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/go/go.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/graphql/graphql.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/handlebars/handlebars.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/hcl/hcl.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/html/html.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/ini/ini.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/java/java.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/typescript/typescript.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/javascript/javascript.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/julia/julia.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/kotlin/kotlin.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/less/less.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/lexon/lexon.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/lua/lua.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/liquid/liquid.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/m3/m3.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/markdown/markdown.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/mdx/mdx.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/mips/mips.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/msdax/msdax.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/mysql/mysql.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/objective-c/objective-c.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/pascal/pascal.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/pascaligo/pascaligo.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/perl/perl.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/pgsql/pgsql.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/php/php.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/pla/pla.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/postiats/postiats.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/powerquery/powerquery.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/powershell/powershell.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/protobuf/protobuf.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/pug/pug.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/python/python.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/qsharp/qsharp.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/r/r.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/razor/razor.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/redis/redis.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/redshift/redshift.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/restructuredtext/restructuredtext.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/ruby/ruby.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/rust/rust.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/sb/sb.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/scala/scala.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/scheme/scheme.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/scss/scss.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/shell/shell.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/solidity/solidity.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/sophia/sophia.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/sparql/sparql.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/sql/sql.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/st/st.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/swift/swift.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
(*!---------------------------------------------------------------------------------------------
* Copyright (C) David Owens II, owensd.io. All rights reserved.
*--------------------------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/tcl/tcl.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/twig/twig.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/vb/vb.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/wgsl/wgsl.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/xml/xml.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/yaml/yaml.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/language/css/cssMode.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/language/html/htmlMode.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/language/json/jsonMode.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/language/typescript/tsMode.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/language/typescript/monaco.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/_.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/abap/abap.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/apex/apex.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/azcli/azcli.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/bat/bat.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/bicep/bicep.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/cameligo/cameligo.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/clojure/clojure.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/coffee/coffee.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/cpp/cpp.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/csharp/csharp.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/csp/csp.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/css/css.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/cypher/cypher.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/dart/dart.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/ecl/ecl.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/elixir/elixir.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/flow9/flow9.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/fsharp/fsharp.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/go/go.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/graphql/graphql.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/handlebars/handlebars.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/hcl/hcl.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/html/html.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/ini/ini.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/java/java.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/julia/julia.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/kotlin/kotlin.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/less/less.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/lexon/lexon.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/lua/lua.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/liquid/liquid.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/m3/m3.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/markdown/markdown.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/mdx/mdx.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/mips/mips.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/msdax/msdax.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/mysql/mysql.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/objective-c/objective-c.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/pascal/pascal.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/pascaligo/pascaligo.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/perl/perl.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/pgsql/pgsql.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/php/php.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/pla/pla.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/postiats/postiats.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/powerquery/powerquery.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/powershell/powershell.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/protobuf/protobuf.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/pug/pug.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/python/python.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/qsharp/qsharp.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/r/r.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/razor/razor.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/redis/redis.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/redshift/redshift.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/restructuredtext/restructuredtext.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/ruby/ruby.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/rust/rust.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/sb/sb.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/scala/scala.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/scheme/scheme.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/scss/scss.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/shell/shell.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/solidity/solidity.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/sophia/sophia.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/sparql/sparql.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/sql/sql.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/st/st.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/swift/swift.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/tcl/tcl.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/twig/twig.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/vb/vb.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/wgsl/wgsl.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/xml/xml.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/yaml/yaml.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/basic-languages/monaco.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/language/css/monaco.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/language/html/monaco.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
monaco-editor/esm/vs/language/json/monaco.contribution.js:
(*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*)
*/